From 161a4e49944325e9a7551cde2f0ec0a998fc5583 Mon Sep 17 00:00:00 2001 From: Daniel Ari Friedman Date: Wed, 28 Oct 2026 12:09:46 -0700 Subject: [PATCH 1/3] Make FEP_Formal canonical with deprecated 2.x aliases and explicit Q7 refresh --- .aii/config.yaml | 4 +- .github/AGENTS.md | 2 +- .github/README.md | 21 +- .github/workflows/ci.yml | 110 +- .gitignore | 11 +- AGENTS.md | 74 +- CHANGELOG.md | 14 + CONTRIBUTING.md | 6 +- ISA.md | 31 +- PAI.md | 24 +- README.md | 21 +- SPEC.md | 10 +- compat/fep-lean/README.md | 9 + compat/fep-lean/pyproject.toml | 22 + config/AGENTS.md | 4 +- config/README.md | 24 +- config/SPEC.md | 4 +- config/catalogue_metadata.yaml | 2 +- config/settings.yaml | 4 +- config/theorem_maturity.yaml | 2 +- config/topics.yaml | 2 +- docs/AGENTS.md | 6 +- docs/README.md | 8 +- docs/SPEC.md | 4 +- docs/api.md | 84 +- docs/architecture.md | 6 +- docs/authorship-guide.md | 14 +- docs/check_coverage_floors.py | 2 +- docs/check_links.py | 2 +- docs/check_orphan_compiles.py | 10 +- docs/cli-reference.md | 54 +- docs/cold-start-and-cleanup.md | 24 +- docs/configuration.md | 30 +- docs/coverage-branch.md | 19 +- docs/coverage-floors.json | 106 +- .../horizon-1-finite-synthesis.md | 4 +- .../horizon-3-scientific-case-study.md | 4 +- .../fep-research-program/next-improvements.md | 8 +- .../fep-research-program/research-contract.md | 2 +- docs/design/gnn-bridge/README.md | 36 +- docs/design/gnn-bridge/bridge-contract.md | 53 +- .../gnn-bridge/direction-1-lean-to-gnn.md | 10 +- .../gnn-bridge/direction-2-gnn-to-lean.md | 10 +- docs/development.md | 68 +- docs/fep-background.md | 2 +- docs/formal-kernel-methods.md | 14 +- docs/getting-started.md | 38 +- docs/identity-migration-status.md | 88 + docs/identity-migration.md | 212 + docs/lean-landscape.md | 4 +- docs/lean4.md | 24 +- docs/mahakala-review.md | 22 +- docs/mathematical-methods.md | 32 +- docs/mathematical-positioning/AGENTS.md | 6 +- .../mathematical-map.html | 334 +- .../mathematical-positioning/positioning.json | 5194 ++++++++--------- docs/mathematical-positioning/positioning.md | 366 +- .../visual-model.json | 5192 ++++++++-------- docs/pin_audit.py | 3 +- docs/pipeline.md | 2 +- docs/prove2me.md | 4 +- docs/publication-consistency-review.md | 2 +- docs/quality.md | 2 +- docs/quickref.md | 22 +- docs/relations-endpoint-adjudication.md | 6 +- docs/release.md | 16 +- docs/release_check.py | 38 +- docs/render-acceptance.json | 34 +- docs/reporter.md | 4 +- docs/scaffold-portability.md | 14 +- docs/test-suite-review.md | 8 +- docs/testing.md | 8 +- docs/theorem-maturity-audit.md | 6 +- docs/theorem_ref_audit.py | 6 +- docs/topics-reference.md | 16 +- docs/troubleshooting.md | 10 +- docs/xref_audit.py | 8 +- lean/AGENTS.md | 10 +- .../causal_blankets_interventions.lean | 2 +- .../families/closed_loop_policy_trees.lean | 2 +- .../families/collective_inference.lean | 2 +- .../continuous_time_thermodynamics.lean | 2 +- .../families/controlled_markov.lean | 2 +- .../families/core_active_inference.lean | 2 +- .../families/core_bayesian_mechanics.lean | 2 +- .../families/core_free_energy.lean | 2 +- .../families/core_information_geometry.lean | 2 +- .../families/core_thermodynamics.lean | 2 +- .../families/exponential_family_geometry.lean | 2 +- .../finite_sample_risk_calibration.lean | 2 +- .../families/geometric_mechanics.lean | 2 +- .../families/geometric_optimization.lean | 2 +- .../FepSketches/families/learning_theory.lean | 2 +- .../families/measure_bayesian_inversion.lean | 2 +- .../families/native_blanket_independence.lean | 2 +- .../families/path_thermodynamics.lean | 2 +- .../predictive_coding_generalized.lean | 2 +- .../standalone_efe_formalizations.lean | 2 +- .../families/temporal_inference.lean | 2 +- .../families/variational_duality.lean | 2 +- lean/README.md | 16 +- manuscript/02a_introduction.md | 2 +- manuscript/03_methodology.md | 44 +- manuscript/03a_lean4_primer.md | 4 +- manuscript/03c_sorry_maturity.md | 4 +- manuscript/03d_hermes_llm_pipeline.md | 4 +- manuscript/03e_lean_compilation.md | 4 +- manuscript/03f_pipeline_architecture.md | 10 +- manuscript/04a_framework_fep.md | 2 +- manuscript/04b_framework_active_inference.md | 2 +- .../04f_semantic_closure_and_validation.md | 2 +- manuscript/05b_execution_integrity.md | 4 +- manuscript/05d_comparative_analysis.md | 2 +- manuscript/06_conclusion.md | 12 +- manuscript/08_appendix_a_overview.md | 8 +- manuscript/AGENTS.md | 20 +- manuscript/README.md | 6 +- manuscript/preamble.md | 2 +- pyproject.toml | 24 +- scripts/00b_install_opengauss_cli.sh | 6 +- scripts/01_fep_catalogue_and_figures.py | 2 +- scripts/02_run_single_topic.py | 4 +- scripts/03_lean_verify_only.py | 6 +- scripts/04_generate_reports.py | 2 +- scripts/AGENTS.md | 26 +- scripts/README.md | 60 +- scripts/_maint_bootstrap_lean_toolchain.sh | 2 +- scripts/_maint_build_fep_all_lean.py | 6 +- scripts/_maint_build_formal_modules.py | 4 +- scripts/_maint_build_lean_landscape.py | 14 +- scripts/_maint_build_topics_catalogue.py | 2 +- scripts/audit_formalisms.py | 2 +- scripts/build_formal_kernel_dashboard.py | 4 +- scripts/build_formalism_atlas.py | 4 +- scripts/build_formalism_coverage.py | 4 +- scripts/build_graphical_abstract.py | 6 +- scripts/build_manuscript_figures.py | 12 +- scripts/build_release_bundle.py | 4 +- scripts/build_render_fonts.py | 4 +- scripts/capture_browser_acceptance.py | 2 +- scripts/check_render_log.py | 6 +- scripts/prove2me.py | 8 +- scripts/render_manuscript.py | 12 +- scripts/render_publication.py | 11 +- scripts/setup_checkout.sh | 10 +- scripts/theorem_maturity_audit.py | 4 +- scripts/verify_report_receipt.py | 6 +- specs/AGENTS.md | 2 +- .../capture-roster-guard/test_roster_guard.py | 2 +- .../cascadia_diagnostic_evidence.py | 6 +- specs/cascadia-experiments/proof_impact.py | 2 +- .../verify_diagnostic_bounds.py | 2 +- .../reviews/fep88-20261026/README.md | 6 +- .../theorem-proxy-review-20261022/README.md | 2 +- .../dirichlet-counts-20261020/README.md | 2 +- .../exact-information-20261020/README.md | 4 +- .../capture_h2_evidence.py | 7 +- .../test_capture_h2_evidence.py | 5 +- specs/gnn-bridge-p3-certificates/certify.py | 6 +- .../generate_probe.py | 57 +- .../refresh_render.py | 10 +- .../verify_native.py | 4 +- .../README.md | 8 +- .../generate_probe.py | 20 +- .../refresh_render.py | 15 +- .../verify_native.py | 8 +- .../README.md | 58 +- .../generate_probe.py | 251 +- .../refresh_render.py | 15 +- .../verify_native.py | 8 +- .../bridge_status.py | 6 +- .../audit_composition.py | 2 +- .../verify_composition_native.py | 4 +- .../gnn-semantic-witness-v1/verify_native.py | 4 +- specs/h3-reference-study/bundle_study.py | 34 +- specs/h3-reference-study/eligibility.py | 2 +- specs/h3-reference-study/export_native.py | 8 +- specs/h3-reference-study/run_synthetic.py | 10 +- specs/identity-cutover/README.md | 17 + .../baseline/q5-gnn-artifact-proof.py.txt | 0 .../public-integration-20261028/README.md | 16 + .../local-artifact-hashes.json | 1646 ++++++ .../public-integration-20261028/summary.json | 76 + .../identity-cutover/generate_legacy_stubs.py | 114 + .../generate_package_methods.py | 10 +- specs/openai-math-methods/methods.py | 32 +- .../test_distribution_methods.py | 14 +- specs/openai-math-methods/test_methods.py | 10 +- .../openai-math-methods/test_visualization.py | 6 +- specs/openai-math-methods/visualization.py | 4 +- .../native_supplement.py | 6 +- .../test_validate_acceptance.py | 6 +- .../AGENTS.md | 2 +- src/AGENTS.md | 14 +- src/README.md | 38 +- src/{fep_lean => fep_formal}/AGENTS.md | 11 +- src/fep_formal/README.md | 37 + src/fep_formal/__init__.py | 324 + src/fep_formal/__main__.py | 6 + src/{fep_lean => fep_formal}/_paths.py | 53 +- src/{fep_lean => fep_formal}/bridge/AGENTS.md | 2 +- src/{fep_lean => fep_formal}/bridge/README.md | 4 +- .../bridge/__init__.py | 4 +- .../bridge/certificates.py | 8 +- src/{fep_lean => fep_formal}/bridge/cli.py | 8 +- .../bridge/custody.py | 2 +- .../bridge/operations.py | 26 +- .../catalogue/AGENTS.md | 4 +- .../catalogue/README.md | 10 +- .../catalogue/__init__.py | 16 +- .../catalogue/bodies/__init__.py | 2 +- .../bodies/causal_blankets_interventions.py | 0 .../bodies/closed_loop_policy_trees.py | 0 .../catalogue/bodies/collective_inference.py | 0 .../bodies/continuous_time_thermodynamics.py | 0 .../catalogue/bodies/controlled_markov.py | 0 .../catalogue/bodies/core_active_inference.py | 0 .../bodies/core_bayesian_mechanics.py | 0 .../catalogue/bodies/core_free_energy.py | 0 .../bodies/core_information_geometry.py | 0 .../catalogue/bodies/core_thermodynamics.py | 0 .../bodies/exponential_family_geometry.py | 0 .../bodies/finite_sample_risk_calibration.py | 0 .../catalogue/bodies/geometric_mechanics.py | 0 .../bodies/geometric_optimization.py | 0 .../catalogue/bodies/learning_theory.py | 0 .../bodies/measure_bayesian_inversion.py | 0 .../bodies/native_blanket_independence.py | 0 .../catalogue/bodies/path_thermodynamics.py | 0 .../bodies/predictive_coding_generalized.py | 0 .../bodies/standalone_efe_formalizations.py | 0 .../catalogue/bodies/temporal_inference.py | 0 .../catalogue/bodies/variational_duality.py | 0 .../catalogue/coverage.py | 6 +- .../catalogue/generation.py | 10 +- .../catalogue/latex.py | 4 +- .../catalogue/novelty.py | 6 +- .../catalogue/references.py | 6 +- .../catalogue/registry.py | 10 +- .../catalogue/relations.py | 0 .../catalogue/schema.py | 0 .../catalogue/semantics.py | 6 +- .../catalogue/theorem_maturity_projection.py | 8 +- .../catalogue/topics.py | 14 +- src/{fep_lean => fep_formal}/cli.py | 71 +- .../custody/AGENTS.md | 6 +- .../custody/README.md | 6 +- .../custody/__init__.py | 6 +- src/{fep_lean => fep_formal}/custody/apply.py | 27 +- .../custody/census.py | 10 +- src/{fep_lean => fep_formal}/custody/cli.py | 18 +- src/{fep_lean => fep_formal}/custody/model.py | 0 .../custody/refresh.py | 179 +- .../custody/verify.py | 8 +- src/{fep_lean => fep_formal}/data/AGENTS.md | 0 src/{fep_lean => fep_formal}/data/README.md | 0 src/{fep_lean => fep_formal}/data/__init__.py | 0 .../data/catalogue_metadata.yaml | 2 +- .../data/formalism_relations.yaml | 0 .../data/positioning.yaml | 0 .../data/theorem_maturity.yaml | 2 +- src/{fep_lean => fep_formal}/data/topics.yaml | 2 +- src/{fep_lean => fep_formal}/formal/AGENTS.md | 0 src/{fep_lean => fep_formal}/formal/README.md | 0 .../formal/__init__.py | 6 +- .../formal/active_inference.lean | 0 .../formal/bayesian_model_reduction.lean | 0 .../formal/causal_dynamics.lean | 0 .../formal/collective_inference.lean | 0 .../formal/composed.lean | 0 .../bayesian_model_reduction.lean | 0 .../compositions/causal_predictive.lean | 0 .../compositions/collective_learning.lean | 0 .../formal/compositions/continuous_time.lean | 0 .../formal/compositions/control_temporal.lean | 0 .../formal/compositions/core.lean | 0 .../compositions/efe_policy_selection.lean | 0 .../efe_time_scale_separation.lean | 0 .../compositions/exponential_family.lean | 0 .../compositions/finite_kernel_category.lean | 0 .../compositions/finite_policy_action.lean | 0 .../compositions/finite_reference_agent.lean | 0 .../finite_scientific_implications.lean | 0 .../formal/compositions/gaussian_control.lean | 0 .../formal/compositions/gaussian_filter.lean | 0 .../compositions/gaussian_grid_path.lean | 0 .../compositions/geometric_mechanics.lean | 0 .../formal/compositions/h3_case_study.lean | 0 .../compositions/helmholtz_ao_ness.lean | 0 .../compositions/measure_variational.lean | 0 .../compositions/native_blanket_transfer.lean | 0 .../compositions/perception_action_loop.lean | 0 .../formal/compositions/policy_trees.lean | 0 .../formal/compositions/risk_calibration.lean | 0 .../compositions/smooth_reference_kernel.lean | 0 .../formal/compositions/thermo_geometry.lean | 0 .../formal/continuous_time_markov.lean | 0 .../formal/controlled_markov.lean | 0 .../formal/decision_risk.lean | 0 .../formal/declarations.py | 4 +- .../formal/efe_policy_selection.lean | 0 .../formal/efe_time_scale_separation.lean | 0 .../formal/empirical_risk.lean | 0 .../formal/exponential_family.lean | 0 .../formal/fin4_gaussian_semigroup.lean | 0 .../formal/finite_information.lean | 0 .../formal/finite_markov_dynamics.lean | 0 .../formal/finite_posterior_learning.lean | 0 .../formal/finite_probability.lean | 0 .../formal/gaussian_information_geometry.lean | 0 .../gaussian_precision_conditioning.lean | 0 .../formal/geometric_mechanics.lean | 0 .../formal/geometric_optimization.lean | 0 .../formal/gnn_denotation.lean | 0 .../formal/gnn_denotation_continuous.lean | 0 .../formal/gnn_document.lean | 0 .../formal/gnn_render_statements.lean | 0 .../formal/h3_reference_model.lean | 0 .../formal/helmholtz_ao_ness.lean | 0 .../formal/information_geometry.lean | 0 .../formal/law_weighted_split.lean | 0 .../formal/learning_theory.lean | 0 .../formal/linear_gaussian_semigroup.lean | 0 .../formal/manifest.py | 8 +- .../formal/markov_blanket.lean | 0 .../formal/markov_semigroup.lean | 0 .../formal/measure_bayes.lean | 0 .../formal/native_blanket.lean | 0 .../formal/ness_flow.lean | 0 .../formal/path_thermodynamics.lean | 0 .../formal/perception_action_loop.lean | 0 .../formal/policy_tree.lean | 0 .../formal/posterior_convergence.lean | 0 .../formal/predictive_coding.lean | 0 .../formal/projection.py | 2 +- .../formal/scalar_gaussian_semigroup.lean | 0 .../formal/smooth_information_geometry.lean | 0 .../formal/statistical_convergence.lean | 0 .../formal/temporal_inference.lean | 0 .../formal/variational_duality.lean | 0 src/{fep_lean => fep_formal}/gauss/AGENTS.md | 4 +- src/{fep_lean => fep_formal}/gauss/README.md | 6 +- .../gauss/__init__.py | 6 +- src/{fep_lean => fep_formal}/gauss/cli.py | 10 +- src/{fep_lean => fep_formal}/gauss/client.py | 4 +- src/{fep_lean => fep_formal}/gauss/runner.py | 18 +- src/{fep_lean => fep_formal}/lean_source.py | 0 src/{fep_lean => fep_formal}/llm/AGENTS.md | 0 src/{fep_lean => fep_formal}/llm/README.md | 4 +- src/{fep_lean => fep_formal}/llm/__init__.py | 2 +- src/{fep_lean => fep_formal}/llm/hermes.py | 8 +- .../methods/AGENTS.md | 10 +- .../methods/README.md | 6 +- .../methods/__init__.py | 0 src/{fep_lean => fep_formal}/methods/model.py | 66 +- .../methods/probes.py | 6 +- .../methods/projection.py | 4 +- .../methods/visualization.py | 2 +- src/{fep_lean => fep_formal}/output/AGENTS.md | 0 src/{fep_lean => fep_formal}/output/README.md | 0 .../output/__init__.py | 20 +- .../output/browser_capture.py | 12 +- .../output/evidence.py | 70 +- .../output/figures.py | 4 +- .../output/formal_kernel_dashboard.py | 8 +- .../output/formalism_atlas.py | 6 +- .../output/formalism_presentation.py | 4 +- src/{fep_lean => fep_formal}/output/fsutil.py | 0 .../output/graphical_abstract.py | 11 +- .../output/manuscript.py | 36 +- src/fep_formal/output/provenance.py | 420 ++ .../output/publication_metadata.py | 6 +- .../output/release_bundle/__init__.py | 360 +- .../output/release_bundle/_acceptance.py | 20 +- .../output/release_bundle/_assemble.py | 20 +- .../output/release_bundle/_browser.py | 18 +- .../output/release_bundle/_constants.py | 6 +- .../output/release_bundle/_core.py | 54 +- .../output/release_bundle/_identity.py | 22 +- .../output/release_bundle/_manuscript.py | 20 +- .../output/release_bundle/_prerequisites.py | 12 +- .../output/release_bundle/_validate.py | 22 +- .../output/render_fonts.py | 10 +- .../output/render_log.py | 14 +- .../output/rendering.py | 29 +- .../output/reporter.py | 16 +- .../output/svg_presentation.py | 2 +- .../output/svg_raster.py | 4 +- .../pipeline/AGENTS.md | 4 +- .../pipeline/README.md | 6 +- .../pipeline/__init__.py | 10 +- src/{fep_lean => fep_formal}/pipeline/core.py | 19 +- .../pipeline/orchestrator.py | 8 +- .../prove2me/AGENTS.md | 4 +- .../prove2me/README.md | 4 +- .../prove2me/__init__.py | 6 +- .../prove2me/client.py | 12 +- .../prove2me/config.py | 6 +- .../prove2me/missions.py | 8 +- src/fep_formal/py.typed | 0 .../verification/AGENTS.md | 4 +- .../verification/README.md | 10 +- .../verification/__init__.py | 10 +- .../_horizon_numerical_witnesses.py | 0 .../verification/_jsonutil.py | 0 .../verification/_subprocess.py | 0 .../verification/_toolchain.py | 4 +- .../verification/environment.py | 40 +- .../verification/formalism_audit.py | 19 +- .../verification/gnn_artifact_proof.py | 876 +++ .../verification/gnn_artifact_receipt.py | 22 +- .../gnn_continuous_artifact_proof.py | 6 +- .../verification/gnn_julia_artifact_proof.py | 8 +- .../verification/horizon_acceptance.py | 30 +- .../verification/lean_verifier.py | 48 +- .../verification/numerical_witnesses.py | 8 +- .../verification/preflight.py | 6 +- src/fep_lean/README.md | 40 +- src/fep_lean/__init__.py | 365 +- src/fep_lean/__init__.pyi | 169 + src/fep_lean/__main__.pyi | 2 + src/fep_lean/_paths.pyi | 2 + src/fep_lean/bridge/__init__.pyi | 42 + src/fep_lean/bridge/certificates.pyi | 2 + src/fep_lean/bridge/cli.pyi | 2 + src/fep_lean/bridge/custody.pyi | 2 + src/fep_lean/bridge/operations.pyi | 2 + src/fep_lean/catalogue/__init__.pyi | 64 + src/fep_lean/catalogue/bodies/__init__.pyi | 2 + .../bodies/causal_blankets_interventions.pyi | 2 + .../bodies/closed_loop_policy_trees.pyi | 2 + .../catalogue/bodies/collective_inference.pyi | 2 + .../bodies/continuous_time_thermodynamics.pyi | 2 + .../catalogue/bodies/controlled_markov.pyi | 2 + .../bodies/core_active_inference.pyi | 2 + .../bodies/core_bayesian_mechanics.pyi | 2 + .../catalogue/bodies/core_free_energy.pyi | 2 + .../bodies/core_information_geometry.pyi | 2 + .../catalogue/bodies/core_thermodynamics.pyi | 2 + .../bodies/exponential_family_geometry.pyi | 2 + .../bodies/finite_sample_risk_calibration.pyi | 2 + .../catalogue/bodies/geometric_mechanics.pyi | 2 + .../bodies/geometric_optimization.pyi | 2 + .../catalogue/bodies/learning_theory.pyi | 2 + .../bodies/measure_bayesian_inversion.pyi | 2 + .../bodies/native_blanket_independence.pyi | 2 + .../catalogue/bodies/path_thermodynamics.pyi | 2 + .../bodies/predictive_coding_generalized.pyi | 2 + .../bodies/standalone_efe_formalizations.pyi | 2 + .../catalogue/bodies/temporal_inference.pyi | 2 + .../catalogue/bodies/variational_duality.pyi | 2 + src/fep_lean/catalogue/coverage.pyi | 2 + src/fep_lean/catalogue/generation.pyi | 2 + src/fep_lean/catalogue/latex.pyi | 7 + src/fep_lean/catalogue/novelty.pyi | 20 + src/fep_lean/catalogue/references.pyi | 2 + src/fep_lean/catalogue/registry.pyi | 32 + src/fep_lean/catalogue/relations.pyi | 2 + src/fep_lean/catalogue/schema.pyi | 24 + src/fep_lean/catalogue/semantics.pyi | 2 + .../catalogue/theorem_maturity_projection.pyi | 9 + src/fep_lean/catalogue/topics.pyi | 2 + src/fep_lean/cli.pyi | 36 + src/fep_lean/custody/__init__.pyi | 28 + src/fep_lean/custody/apply.pyi | 2 + src/fep_lean/custody/census.pyi | 2 + src/fep_lean/custody/cli.pyi | 2 + src/fep_lean/custody/model.pyi | 2 + src/fep_lean/custody/refresh.pyi | 2 + src/fep_lean/custody/verify.pyi | 2 + src/fep_lean/data/__init__.pyi | 2 + src/fep_lean/formal/__init__.pyi | 46 + src/fep_lean/formal/declarations.pyi | 2 + src/fep_lean/formal/manifest.pyi | 2 + src/fep_lean/formal/projection.pyi | 2 + src/fep_lean/gauss/__init__.pyi | 14 + src/fep_lean/gauss/cli.pyi | 2 + src/fep_lean/gauss/client.pyi | 2 + src/fep_lean/gauss/runner.pyi | 2 + src/fep_lean/lean_source.pyi | 26 + src/fep_lean/llm/__init__.pyi | 7 + src/fep_lean/llm/hermes.pyi | 2 + src/fep_lean/methods/__init__.pyi | 64 + src/fep_lean/methods/model.pyi | 2 + src/fep_lean/methods/probes.pyi | 2 + src/fep_lean/methods/projection.pyi | 2 + src/fep_lean/methods/visualization.pyi | 2 + src/fep_lean/output/__init__.pyi | 156 + src/fep_lean/output/browser_capture.pyi | 58 + src/fep_lean/output/evidence.pyi | 2 + src/fep_lean/output/figures.pyi | 2 + .../output/formal_kernel_dashboard.pyi | 32 + src/fep_lean/output/formalism_atlas.pyi | 30 + .../output/formalism_presentation.pyi | 72 + src/fep_lean/output/fsutil.pyi | 16 + src/fep_lean/output/graphical_abstract.pyi | 16 + src/fep_lean/output/manuscript.pyi | 2 + src/fep_lean/output/provenance.py | 293 - src/fep_lean/output/provenance.pyi | 2 + src/fep_lean/output/publication_metadata.pyi | 2 + .../output/release_bundle/__init__.pyi | 100 + .../output/release_bundle/_acceptance.pyi | 2 + .../output/release_bundle/_assemble.pyi | 2 + .../output/release_bundle/_browser.pyi | 2 + .../output/release_bundle/_constants.pyi | 2 + src/fep_lean/output/release_bundle/_core.pyi | 2 + .../output/release_bundle/_identity.pyi | 2 + .../output/release_bundle/_manuscript.pyi | 2 + .../output/release_bundle/_prerequisites.pyi | 2 + .../output/release_bundle/_validate.pyi | 2 + src/fep_lean/output/render_fonts.pyi | 24 + src/fep_lean/output/render_log.pyi | 44 + src/fep_lean/output/rendering.pyi | 2 + src/fep_lean/output/reporter.pyi | 2 + src/fep_lean/output/svg_presentation.pyi | 20 + src/fep_lean/output/svg_raster.pyi | 30 + src/fep_lean/pipeline/__init__.pyi | 16 + src/fep_lean/pipeline/core.pyi | 2 + src/fep_lean/pipeline/orchestrator.pyi | 6 + src/fep_lean/prove2me/__init__.pyi | 34 + src/fep_lean/prove2me/client.pyi | 6 + src/fep_lean/prove2me/config.pyi | 2 + src/fep_lean/prove2me/missions.pyi | 7 + src/fep_lean/verification/__init__.pyi | 32 + .../_horizon_numerical_witnesses.pyi | 2 + src/fep_lean/verification/_jsonutil.pyi | 4 + src/fep_lean/verification/_subprocess.pyi | 4 + src/fep_lean/verification/_toolchain.pyi | 2 + src/fep_lean/verification/environment.pyi | 2 + src/fep_lean/verification/formalism_audit.pyi | 2 + .../verification/gnn_artifact_proof.pyi | 42 + .../verification/gnn_artifact_receipt.pyi | 2 + .../gnn_continuous_artifact_proof.pyi | 2 + .../verification/gnn_julia_artifact_proof.pyi | 2 + .../verification/horizon_acceptance.pyi | 2 + src/fep_lean/verification/lean_verifier.pyi | 2 + .../verification/numerical_witnesses.pyi | 36 + src/fep_lean/verification/preflight.pyi | 2 + tests/AGENTS.md | 17 +- tests/README.md | 4 +- tests/__init__.py | 2 +- tests/_support/catalogue_project.py | 2 +- tests/_support/custody_fixture_knobs.py | 46 +- tests/_support/fast_relaxation_review.py | 6 +- tests/_support/h2_r0_custody.py | 28 +- tests/_support/landauer_epoch.py | 50 +- tests/_support/lean435_migration.py | 192 +- tests/_support/lean_module_contract.py | 188 +- tests/_support/lean_runner.py | 8 +- tests/_support/native_catalogue_gate.py | 8 +- tests/_support/native_catalogue_shadow.py | 2 +- tests/_support/release_bundle.py | 10 +- tests/_support/release_lineage.py | 9 +- tests/conftest.py | 16 +- tests/test_bridge_verify_document.py | 64 +- tests/test_browser_capture.py | 6 +- tests/test_browser_capture_protocol.py | 2 +- tests/test_catalogue_bodies_compile.py | 13 +- tests/test_catalogue_registry.py | 26 +- tests/test_catalogue_registry_ssot.py | 8 +- tests/test_causal_predictive_formalisms.py | 13 +- tests/test_check_inventory.py | 41 +- tests/test_ci_native_catalogue_producer.py | 12 +- tests/test_ci_native_catalogue_shadow.py | 4 +- tests/test_cli.py | 149 +- tests/test_collective_learning_formalisms.py | 4 +- tests/test_composition_source_inventory.py | 2 +- tests/test_conceptual_obligations.py | 13 +- tests/test_control_temporal_formalisms.py | 6 +- tests/test_core_body_modules.py | 6 +- tests/test_coverage_floors.py | 120 +- tests/test_coverage_gaps.py | 18 +- tests/test_custody_apply.py | 34 +- tests/test_custody_census.py | 20 +- tests/test_custody_fixture_epoch.py | 70 +- tests/test_custody_refresh.py | 319 +- tests/test_distribution.py | 108 +- tests/test_distribution_supplemental.py | 24 +- tests/test_docs_audits.py | 20 +- tests/test_environment_checks.py | 8 +- tests/test_environment_sad_paths.py | 16 +- tests/test_expansion_compositions.py | 4 +- tests/test_fep_topics.py | 4 +- tests/test_figure_generation.py | 10 +- tests/test_finite_markov_dynamics.py | 2 +- tests/test_formal_composition.py | 22 +- tests/test_formal_depth_more.py | 4 +- tests/test_formal_foundations.py | 28 +- tests/test_formal_kernel_dashboard.py | 8 +- tests/test_formalism_atlas.py | 4 +- tests/test_formalism_audit.py | 10 +- tests/test_formalism_catalogue.py | 34 +- tests/test_formalism_coverage.py | 24 +- tests/test_formalism_depth_upgrades.py | 10 +- tests/test_formalism_novelty.py | 14 +- tests/test_formalism_presentation.py | 24 +- tests/test_formalism_relations.py | 12 +- tests/test_fsutil.py | 4 +- tests/test_gauss_cli.py | 8 +- tests/test_gauss_cli_sad_paths.py | 8 +- tests/test_gauss_runner.py | 25 +- tests/test_gauss_runner_branches.py | 12 +- tests/test_gauss_runner_prefetch.py | 36 +- tests/test_generic_variational_methods.py | 4 +- ...est_geometry_continuous_time_formalisms.py | 12 +- tests/test_gnn_artifact_proof.py | 42 +- .../test_gnn_artifact_proof_contract_edges.py | 45 +- tests/test_gnn_artifact_receipt.py | 69 +- tests/test_gnn_bridge_contract_edges.py | 6 +- tests/test_gnn_bridge_operations.py | 70 +- tests/test_gnn_continuous_artifact_proof.py | 318 +- tests/test_gnn_continuous_native_proof.py | 8 +- tests/test_gnn_julia_artifact_proof.py | 25 +- tests/test_h3_case_study.py | 4 +- tests/test_h3_preregistration.py | 29 +- tests/test_h3_reference_model.py | 9 +- tests/test_h3_reference_study.py | 4 +- tests/test_h3_study_bundle.py | 14 +- tests/test_hermes_comprehensive.py | 12 +- tests/test_hermes_error_paths.py | 6 +- tests/test_hermes_explainer.py | 25 +- tests/test_horizon1_blanket_mixtures.py | 4 +- tests/test_horizon1_constrained_entropy.py | 4 +- tests/test_horizon1_decision_risk.py | 4 +- tests/test_horizon1_finite_reference.py | 6 +- tests/test_horizon1_finite_reference_agent.py | 4 +- tests/test_horizon1_policy_action.py | 4 +- tests/test_horizon1_posterior_learning.py | 2 +- .../test_horizon1_scientific_implications.py | 4 +- .../test_horizon2_fin4_gaussian_semigroup.py | 14 +- ...orizon2_gaussian_conditioning_readiness.py | 12 +- tests/test_horizon2_gaussian_control.py | 12 +- tests/test_horizon2_gaussian_coordinates.py | 12 +- tests/test_horizon2_gaussian_filter.py | 12 +- tests/test_horizon2_gaussian_grid_path.py | 12 +- ..._horizon2_gaussian_information_geometry.py | 16 +- ...orizon2_gaussian_precision_conditioning.py | 31 +- tests/test_horizon2_gaussian_vfe_readiness.py | 92 +- ...test_horizon2_linear_gaussian_semigroup.py | 12 +- tests/test_horizon2_markov_semigroup.py | 18 +- ...izon2_native_filter_posterior_readiness.py | 12 +- tests/test_horizon2_posterior_convergence.py | 2 +- ...test_horizon2_scalar_gaussian_semigroup.py | 12 +- ...st_horizon2_smooth_information_geometry.py | 12 +- .../test_horizon2_smooth_reference_kernel.py | 17 +- ...orizon2_transition_covariance_readiness.py | 10 +- tests/test_horizon_acceptance.py | 18 +- tests/test_horizon_numerical_witnesses.py | 6 +- tests/test_identity_distribution.py | 256 + tests/test_identity_environment.py | 160 + tests/test_identity_migration.py | 217 + tests/test_landauer_epoch.py | 95 +- tests/test_lean_verifier.py | 10 +- tests/test_lean_verifier_behavior.py | 14 +- tests/test_lean_verifier_sad_paths.py | 26 +- tests/test_live_end_to_end.py | 19 +- tests/test_maint_fep_all_generator.py | 4 +- tests/test_maint_lean_landscape.py | 2 +- tests/test_manuscript_artifacts.py | 66 +- tests/test_manuscript_references.py | 10 +- tests/test_manuscript_rendering.py | 44 +- tests/test_manuscript_token_parity.py | 8 +- tests/test_markov_path_reductions.py | 6 +- tests/test_mathematical_methods.py | 76 +- tests/test_measure_variational_formalisms.py | 10 +- tests/test_native_blanket_formalisms.py | 8 +- tests/test_native_evidence.py | 22 +- tests/test_numerical_witnesses.py | 8 +- tests/test_open_gauss_client.py | 2 +- tests/test_operator_option_compatibility.py | 2 +- tests/test_orchestrator.py | 20 +- tests/test_orchestrator_exceptions.py | 2 +- tests/test_orchestrator_sad_paths.py | 6 +- tests/test_orphan_compile_audit.py | 6 +- tests/test_pin_audit_latest.py | 3 +- tests/test_pipeline.py | 46 +- tests/test_pipeline_exceptions.py | 2 +- tests/test_preflight.py | 26 +- tests/test_prove2me_client.py | 8 +- tests/test_prove2me_config.py | 4 +- tests/test_publication_capture.py | 96 +- tests/test_release_bundle_acceptance.py | 34 +- tests/test_release_bundle_assemble.py | 10 +- tests/test_release_bundle_browser.py | 4 +- tests/test_release_bundle_core.py | 6 +- tests/test_release_bundle_identity.py | 6 +- tests/test_release_bundle_manuscript.py | 38 +- tests/test_release_bundle_prerequisites.py | 2 +- tests/test_release_bundle_validate.py | 4 +- tests/test_release_check.py | 19 +- tests/test_render_fonts.py | 12 +- tests/test_render_log.py | 27 +- tests/test_render_publication.py | 10 +- tests/test_reporter.py | 20 +- tests/test_risk_policy_tree_formalisms.py | 4 +- tests/test_runtime_failure_contracts.py | 6 +- tests/test_semantics.py | 6 +- tests/test_status_verb.py | 49 +- tests/test_subpackage_imports.py | 115 +- tests/test_subprocess_watchdog.py | 2 +- tests/test_support_aware_gibbs.py | 6 +- tests/test_svg_raster.py | 6 +- tests/test_theorem_header_extraction.py | 34 +- tests/test_theorem_maturity_audit.py | 2 +- tests/test_thermo_geometry_formalisms.py | 14 +- tests/test_toolchain_fail_closed.py | 8 +- uv.lock | 2 +- 707 files changed, 16773 insertions(+), 9523 deletions(-) create mode 100644 compat/fep-lean/README.md create mode 100644 compat/fep-lean/pyproject.toml create mode 100644 docs/identity-migration-status.md create mode 100644 docs/identity-migration.md create mode 100644 specs/identity-cutover/README.md rename src/fep_lean/verification/gnn_artifact_proof.py => specs/identity-cutover/baseline/q5-gnn-artifact-proof.py.txt (100%) create mode 100644 specs/identity-cutover/evidence/public-integration-20261028/README.md create mode 100644 specs/identity-cutover/evidence/public-integration-20261028/local-artifact-hashes.json create mode 100644 specs/identity-cutover/evidence/public-integration-20261028/summary.json create mode 100644 specs/identity-cutover/generate_legacy_stubs.py rename src/{fep_lean => fep_formal}/AGENTS.md (83%) create mode 100644 src/fep_formal/README.md create mode 100644 src/fep_formal/__init__.py create mode 100644 src/fep_formal/__main__.py rename src/{fep_lean => fep_formal}/_paths.py (75%) rename src/{fep_lean => fep_formal}/bridge/AGENTS.md (90%) rename src/{fep_lean => fep_formal}/bridge/README.md (95%) rename src/{fep_lean => fep_formal}/bridge/__init__.py (90%) rename src/{fep_lean => fep_formal}/bridge/certificates.py (99%) rename src/{fep_lean => fep_formal}/bridge/cli.py (97%) rename src/{fep_lean => fep_formal}/bridge/custody.py (98%) rename src/{fep_lean => fep_formal}/bridge/operations.py (96%) rename src/{fep_lean => fep_formal}/catalogue/AGENTS.md (95%) rename src/{fep_lean => fep_formal}/catalogue/README.md (92%) rename src/{fep_lean => fep_formal}/catalogue/__init__.py (84%) rename src/{fep_lean => fep_formal}/catalogue/bodies/__init__.py (73%) rename src/{fep_lean => fep_formal}/catalogue/bodies/causal_blankets_interventions.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/closed_loop_policy_trees.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/collective_inference.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/continuous_time_thermodynamics.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/controlled_markov.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/core_active_inference.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/core_bayesian_mechanics.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/core_free_energy.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/core_information_geometry.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/core_thermodynamics.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/exponential_family_geometry.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/finite_sample_risk_calibration.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/geometric_mechanics.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/geometric_optimization.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/learning_theory.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/measure_bayesian_inversion.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/native_blanket_independence.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/path_thermodynamics.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/predictive_coding_generalized.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/standalone_efe_formalizations.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/temporal_inference.py (100%) rename src/{fep_lean => fep_formal}/catalogue/bodies/variational_duality.py (100%) rename src/{fep_lean => fep_formal}/catalogue/coverage.py (99%) rename src/{fep_lean => fep_formal}/catalogue/generation.py (97%) rename src/{fep_lean => fep_formal}/catalogue/latex.py (99%) rename src/{fep_lean => fep_formal}/catalogue/novelty.py (97%) rename src/{fep_lean => fep_formal}/catalogue/references.py (99%) rename src/{fep_lean => fep_formal}/catalogue/registry.py (97%) rename src/{fep_lean => fep_formal}/catalogue/relations.py (100%) rename src/{fep_lean => fep_formal}/catalogue/schema.py (100%) rename src/{fep_lean => fep_formal}/catalogue/semantics.py (98%) rename src/{fep_lean => fep_formal}/catalogue/theorem_maturity_projection.py (94%) rename src/{fep_lean => fep_formal}/catalogue/topics.py (96%) rename src/{fep_lean => fep_formal}/cli.py (88%) rename src/{fep_lean => fep_formal}/custody/AGENTS.md (96%) rename src/{fep_lean => fep_formal}/custody/README.md (95%) rename src/{fep_lean => fep_formal}/custody/__init__.py (76%) rename src/{fep_lean => fep_formal}/custody/apply.py (97%) rename src/{fep_lean => fep_formal}/custody/census.py (97%) rename src/{fep_lean => fep_formal}/custody/cli.py (96%) rename src/{fep_lean => fep_formal}/custody/model.py (100%) rename src/{fep_lean => fep_formal}/custody/refresh.py (91%) rename src/{fep_lean => fep_formal}/custody/verify.py (91%) rename src/{fep_lean => fep_formal}/data/AGENTS.md (100%) rename src/{fep_lean => fep_formal}/data/README.md (100%) rename src/{fep_lean => fep_formal}/data/__init__.py (100%) rename src/{fep_lean => fep_formal}/data/catalogue_metadata.yaml (99%) rename src/{fep_lean => fep_formal}/data/formalism_relations.yaml (100%) rename src/{fep_lean => fep_formal}/data/positioning.yaml (100%) rename src/{fep_lean => fep_formal}/data/theorem_maturity.yaml (99%) rename src/{fep_lean => fep_formal}/data/topics.yaml (99%) rename src/{fep_lean => fep_formal}/formal/AGENTS.md (100%) rename src/{fep_lean => fep_formal}/formal/README.md (100%) rename src/{fep_lean => fep_formal}/formal/__init__.py (89%) rename src/{fep_lean => fep_formal}/formal/active_inference.lean (100%) rename src/{fep_lean => fep_formal}/formal/bayesian_model_reduction.lean (100%) rename src/{fep_lean => fep_formal}/formal/causal_dynamics.lean (100%) rename src/{fep_lean => fep_formal}/formal/collective_inference.lean (100%) rename src/{fep_lean => fep_formal}/formal/composed.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/bayesian_model_reduction.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/causal_predictive.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/collective_learning.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/continuous_time.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/control_temporal.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/core.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/efe_policy_selection.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/efe_time_scale_separation.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/exponential_family.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/finite_kernel_category.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/finite_policy_action.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/finite_reference_agent.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/finite_scientific_implications.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/gaussian_control.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/gaussian_filter.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/gaussian_grid_path.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/geometric_mechanics.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/h3_case_study.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/helmholtz_ao_ness.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/measure_variational.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/native_blanket_transfer.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/perception_action_loop.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/policy_trees.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/risk_calibration.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/smooth_reference_kernel.lean (100%) rename src/{fep_lean => fep_formal}/formal/compositions/thermo_geometry.lean (100%) rename src/{fep_lean => fep_formal}/formal/continuous_time_markov.lean (100%) rename src/{fep_lean => fep_formal}/formal/controlled_markov.lean (100%) rename src/{fep_lean => fep_formal}/formal/decision_risk.lean (100%) rename src/{fep_lean => fep_formal}/formal/declarations.py (97%) rename src/{fep_lean => fep_formal}/formal/efe_policy_selection.lean (100%) rename src/{fep_lean => fep_formal}/formal/efe_time_scale_separation.lean (100%) rename src/{fep_lean => fep_formal}/formal/empirical_risk.lean (100%) rename src/{fep_lean => fep_formal}/formal/exponential_family.lean (100%) rename src/{fep_lean => fep_formal}/formal/fin4_gaussian_semigroup.lean (100%) rename src/{fep_lean => fep_formal}/formal/finite_information.lean (100%) rename src/{fep_lean => fep_formal}/formal/finite_markov_dynamics.lean (100%) rename src/{fep_lean => fep_formal}/formal/finite_posterior_learning.lean (100%) rename src/{fep_lean => fep_formal}/formal/finite_probability.lean (100%) rename src/{fep_lean => fep_formal}/formal/gaussian_information_geometry.lean (100%) rename src/{fep_lean => fep_formal}/formal/gaussian_precision_conditioning.lean (100%) rename src/{fep_lean => fep_formal}/formal/geometric_mechanics.lean (100%) rename src/{fep_lean => fep_formal}/formal/geometric_optimization.lean (100%) rename src/{fep_lean => fep_formal}/formal/gnn_denotation.lean (100%) rename src/{fep_lean => fep_formal}/formal/gnn_denotation_continuous.lean (100%) rename src/{fep_lean => fep_formal}/formal/gnn_document.lean (100%) rename src/{fep_lean => fep_formal}/formal/gnn_render_statements.lean (100%) rename src/{fep_lean => fep_formal}/formal/h3_reference_model.lean (100%) rename src/{fep_lean => fep_formal}/formal/helmholtz_ao_ness.lean (100%) rename src/{fep_lean => fep_formal}/formal/information_geometry.lean (100%) rename src/{fep_lean => fep_formal}/formal/law_weighted_split.lean (100%) rename src/{fep_lean => fep_formal}/formal/learning_theory.lean (100%) rename src/{fep_lean => fep_formal}/formal/linear_gaussian_semigroup.lean (100%) rename src/{fep_lean => fep_formal}/formal/manifest.py (98%) rename src/{fep_lean => fep_formal}/formal/markov_blanket.lean (100%) rename src/{fep_lean => fep_formal}/formal/markov_semigroup.lean (100%) rename src/{fep_lean => fep_formal}/formal/measure_bayes.lean (100%) rename src/{fep_lean => fep_formal}/formal/native_blanket.lean (100%) rename src/{fep_lean => fep_formal}/formal/ness_flow.lean (100%) rename src/{fep_lean => fep_formal}/formal/path_thermodynamics.lean (100%) rename src/{fep_lean => fep_formal}/formal/perception_action_loop.lean (100%) rename src/{fep_lean => fep_formal}/formal/policy_tree.lean (100%) rename src/{fep_lean => fep_formal}/formal/posterior_convergence.lean (100%) rename src/{fep_lean => fep_formal}/formal/predictive_coding.lean (100%) rename src/{fep_lean => fep_formal}/formal/projection.py (98%) rename src/{fep_lean => fep_formal}/formal/scalar_gaussian_semigroup.lean (100%) rename src/{fep_lean => fep_formal}/formal/smooth_information_geometry.lean (100%) rename src/{fep_lean => fep_formal}/formal/statistical_convergence.lean (100%) rename src/{fep_lean => fep_formal}/formal/temporal_inference.lean (100%) rename src/{fep_lean => fep_formal}/formal/variational_duality.lean (100%) rename src/{fep_lean => fep_formal}/gauss/AGENTS.md (94%) rename src/{fep_lean => fep_formal}/gauss/README.md (90%) rename src/{fep_lean => fep_formal}/gauss/__init__.py (78%) rename src/{fep_lean => fep_formal}/gauss/cli.py (86%) rename src/{fep_lean => fep_formal}/gauss/client.py (99%) rename src/{fep_lean => fep_formal}/gauss/runner.py (98%) rename src/{fep_lean => fep_formal}/lean_source.py (100%) rename src/{fep_lean => fep_formal}/llm/AGENTS.md (100%) rename src/{fep_lean => fep_formal}/llm/README.md (97%) rename src/{fep_lean => fep_formal}/llm/__init__.py (96%) rename src/{fep_lean => fep_formal}/llm/hermes.py (99%) rename src/{fep_lean => fep_formal}/methods/AGENTS.md (92%) rename src/{fep_lean => fep_formal}/methods/README.md (95%) rename src/{fep_lean => fep_formal}/methods/__init__.py (100%) rename src/{fep_lean => fep_formal}/methods/model.py (96%) rename src/{fep_lean => fep_formal}/methods/probes.py (99%) rename src/{fep_lean => fep_formal}/methods/projection.py (98%) rename src/{fep_lean => fep_formal}/methods/visualization.py (96%) rename src/{fep_lean => fep_formal}/output/AGENTS.md (100%) rename src/{fep_lean => fep_formal}/output/README.md (100%) rename src/{fep_lean => fep_formal}/output/__init__.py (87%) rename src/{fep_lean => fep_formal}/output/browser_capture.py (99%) rename src/{fep_lean => fep_formal}/output/evidence.py (94%) rename src/{fep_lean => fep_formal}/output/figures.py (98%) rename src/{fep_lean => fep_formal}/output/formal_kernel_dashboard.py (99%) rename src/{fep_lean => fep_formal}/output/formalism_atlas.py (99%) rename src/{fep_lean => fep_formal}/output/formalism_presentation.py (99%) rename src/{fep_lean => fep_formal}/output/fsutil.py (100%) rename src/{fep_lean => fep_formal}/output/graphical_abstract.py (97%) rename src/{fep_lean => fep_formal}/output/manuscript.py (97%) create mode 100644 src/fep_formal/output/provenance.py rename src/{fep_lean => fep_formal}/output/publication_metadata.py (99%) rename src/{fep_lean => fep_formal}/output/release_bundle/__init__.py (65%) rename src/{fep_lean => fep_formal}/output/release_bundle/_acceptance.py (98%) rename src/{fep_lean => fep_formal}/output/release_bundle/_assemble.py (97%) rename src/{fep_lean => fep_formal}/output/release_bundle/_browser.py (97%) rename src/{fep_lean => fep_formal}/output/release_bundle/_constants.py (97%) rename src/{fep_lean => fep_formal}/output/release_bundle/_core.py (97%) rename src/{fep_lean => fep_formal}/output/release_bundle/_identity.py (96%) rename src/{fep_lean => fep_formal}/output/release_bundle/_manuscript.py (98%) rename src/{fep_lean => fep_formal}/output/release_bundle/_prerequisites.py (92%) rename src/{fep_lean => fep_formal}/output/release_bundle/_validate.py (97%) rename src/{fep_lean => fep_formal}/output/render_fonts.py (96%) rename src/{fep_lean => fep_formal}/output/render_log.py (99%) rename src/{fep_lean => fep_formal}/output/rendering.py (95%) rename src/{fep_lean => fep_formal}/output/reporter.py (99%) rename src/{fep_lean => fep_formal}/output/svg_presentation.py (97%) rename src/{fep_lean => fep_formal}/output/svg_raster.py (98%) rename src/{fep_lean => fep_formal}/pipeline/AGENTS.md (89%) rename src/{fep_lean => fep_formal}/pipeline/README.md (83%) rename src/{fep_lean => fep_formal}/pipeline/__init__.py (77%) rename src/{fep_lean => fep_formal}/pipeline/core.py (96%) rename src/{fep_lean => fep_formal}/pipeline/orchestrator.py (89%) rename src/{fep_lean => fep_formal}/prove2me/AGENTS.md (96%) rename src/{fep_lean => fep_formal}/prove2me/README.md (97%) rename src/{fep_lean => fep_formal}/prove2me/__init__.py (94%) rename src/{fep_lean => fep_formal}/prove2me/client.py (98%) rename src/{fep_lean => fep_formal}/prove2me/config.py (97%) rename src/{fep_lean => fep_formal}/prove2me/missions.py (94%) create mode 100644 src/fep_formal/py.typed rename src/{fep_lean => fep_formal}/verification/AGENTS.md (96%) rename src/{fep_lean => fep_formal}/verification/README.md (94%) rename src/{fep_lean => fep_formal}/verification/__init__.py (78%) rename src/{fep_lean => fep_formal}/verification/_horizon_numerical_witnesses.py (100%) rename src/{fep_lean => fep_formal}/verification/_jsonutil.py (100%) rename src/{fep_lean => fep_formal}/verification/_subprocess.py (100%) rename src/{fep_lean => fep_formal}/verification/_toolchain.py (98%) rename src/{fep_lean => fep_formal}/verification/environment.py (94%) rename src/{fep_lean => fep_formal}/verification/formalism_audit.py (98%) create mode 100644 src/fep_formal/verification/gnn_artifact_proof.py rename src/{fep_lean => fep_formal}/verification/gnn_artifact_receipt.py (98%) rename src/{fep_lean => fep_formal}/verification/gnn_continuous_artifact_proof.py (99%) rename src/{fep_lean => fep_formal}/verification/gnn_julia_artifact_proof.py (97%) rename src/{fep_lean => fep_formal}/verification/horizon_acceptance.py (97%) rename src/{fep_lean => fep_formal}/verification/lean_verifier.py (96%) rename src/{fep_lean => fep_formal}/verification/numerical_witnesses.py (99%) rename src/{fep_lean => fep_formal}/verification/preflight.py (84%) create mode 100644 src/fep_lean/__init__.pyi create mode 100644 src/fep_lean/__main__.pyi create mode 100644 src/fep_lean/_paths.pyi create mode 100644 src/fep_lean/bridge/__init__.pyi create mode 100644 src/fep_lean/bridge/certificates.pyi create mode 100644 src/fep_lean/bridge/cli.pyi create mode 100644 src/fep_lean/bridge/custody.pyi create mode 100644 src/fep_lean/bridge/operations.pyi create mode 100644 src/fep_lean/catalogue/__init__.pyi create mode 100644 src/fep_lean/catalogue/bodies/__init__.pyi create mode 100644 src/fep_lean/catalogue/bodies/causal_blankets_interventions.pyi create mode 100644 src/fep_lean/catalogue/bodies/closed_loop_policy_trees.pyi create mode 100644 src/fep_lean/catalogue/bodies/collective_inference.pyi create mode 100644 src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.pyi create mode 100644 src/fep_lean/catalogue/bodies/controlled_markov.pyi create mode 100644 src/fep_lean/catalogue/bodies/core_active_inference.pyi create mode 100644 src/fep_lean/catalogue/bodies/core_bayesian_mechanics.pyi create mode 100644 src/fep_lean/catalogue/bodies/core_free_energy.pyi create mode 100644 src/fep_lean/catalogue/bodies/core_information_geometry.pyi create mode 100644 src/fep_lean/catalogue/bodies/core_thermodynamics.pyi create mode 100644 src/fep_lean/catalogue/bodies/exponential_family_geometry.pyi create mode 100644 src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.pyi create mode 100644 src/fep_lean/catalogue/bodies/geometric_mechanics.pyi create mode 100644 src/fep_lean/catalogue/bodies/geometric_optimization.pyi create mode 100644 src/fep_lean/catalogue/bodies/learning_theory.pyi create mode 100644 src/fep_lean/catalogue/bodies/measure_bayesian_inversion.pyi create mode 100644 src/fep_lean/catalogue/bodies/native_blanket_independence.pyi create mode 100644 src/fep_lean/catalogue/bodies/path_thermodynamics.pyi create mode 100644 src/fep_lean/catalogue/bodies/predictive_coding_generalized.pyi create mode 100644 src/fep_lean/catalogue/bodies/standalone_efe_formalizations.pyi create mode 100644 src/fep_lean/catalogue/bodies/temporal_inference.pyi create mode 100644 src/fep_lean/catalogue/bodies/variational_duality.pyi create mode 100644 src/fep_lean/catalogue/coverage.pyi create mode 100644 src/fep_lean/catalogue/generation.pyi create mode 100644 src/fep_lean/catalogue/latex.pyi create mode 100644 src/fep_lean/catalogue/novelty.pyi create mode 100644 src/fep_lean/catalogue/references.pyi create mode 100644 src/fep_lean/catalogue/registry.pyi create mode 100644 src/fep_lean/catalogue/relations.pyi create mode 100644 src/fep_lean/catalogue/schema.pyi create mode 100644 src/fep_lean/catalogue/semantics.pyi create mode 100644 src/fep_lean/catalogue/theorem_maturity_projection.pyi create mode 100644 src/fep_lean/catalogue/topics.pyi create mode 100644 src/fep_lean/cli.pyi create mode 100644 src/fep_lean/custody/__init__.pyi create mode 100644 src/fep_lean/custody/apply.pyi create mode 100644 src/fep_lean/custody/census.pyi create mode 100644 src/fep_lean/custody/cli.pyi create mode 100644 src/fep_lean/custody/model.pyi create mode 100644 src/fep_lean/custody/refresh.pyi create mode 100644 src/fep_lean/custody/verify.pyi create mode 100644 src/fep_lean/data/__init__.pyi create mode 100644 src/fep_lean/formal/__init__.pyi create mode 100644 src/fep_lean/formal/declarations.pyi create mode 100644 src/fep_lean/formal/manifest.pyi create mode 100644 src/fep_lean/formal/projection.pyi create mode 100644 src/fep_lean/gauss/__init__.pyi create mode 100644 src/fep_lean/gauss/cli.pyi create mode 100644 src/fep_lean/gauss/client.pyi create mode 100644 src/fep_lean/gauss/runner.pyi create mode 100644 src/fep_lean/lean_source.pyi create mode 100644 src/fep_lean/llm/__init__.pyi create mode 100644 src/fep_lean/llm/hermes.pyi create mode 100644 src/fep_lean/methods/__init__.pyi create mode 100644 src/fep_lean/methods/model.pyi create mode 100644 src/fep_lean/methods/probes.pyi create mode 100644 src/fep_lean/methods/projection.pyi create mode 100644 src/fep_lean/methods/visualization.pyi create mode 100644 src/fep_lean/output/__init__.pyi create mode 100644 src/fep_lean/output/browser_capture.pyi create mode 100644 src/fep_lean/output/evidence.pyi create mode 100644 src/fep_lean/output/figures.pyi create mode 100644 src/fep_lean/output/formal_kernel_dashboard.pyi create mode 100644 src/fep_lean/output/formalism_atlas.pyi create mode 100644 src/fep_lean/output/formalism_presentation.pyi create mode 100644 src/fep_lean/output/fsutil.pyi create mode 100644 src/fep_lean/output/graphical_abstract.pyi create mode 100644 src/fep_lean/output/manuscript.pyi delete mode 100644 src/fep_lean/output/provenance.py create mode 100644 src/fep_lean/output/provenance.pyi create mode 100644 src/fep_lean/output/publication_metadata.pyi create mode 100644 src/fep_lean/output/release_bundle/__init__.pyi create mode 100644 src/fep_lean/output/release_bundle/_acceptance.pyi create mode 100644 src/fep_lean/output/release_bundle/_assemble.pyi create mode 100644 src/fep_lean/output/release_bundle/_browser.pyi create mode 100644 src/fep_lean/output/release_bundle/_constants.pyi create mode 100644 src/fep_lean/output/release_bundle/_core.pyi create mode 100644 src/fep_lean/output/release_bundle/_identity.pyi create mode 100644 src/fep_lean/output/release_bundle/_manuscript.pyi create mode 100644 src/fep_lean/output/release_bundle/_prerequisites.pyi create mode 100644 src/fep_lean/output/release_bundle/_validate.pyi create mode 100644 src/fep_lean/output/render_fonts.pyi create mode 100644 src/fep_lean/output/render_log.pyi create mode 100644 src/fep_lean/output/rendering.pyi create mode 100644 src/fep_lean/output/reporter.pyi create mode 100644 src/fep_lean/output/svg_presentation.pyi create mode 100644 src/fep_lean/output/svg_raster.pyi create mode 100644 src/fep_lean/pipeline/__init__.pyi create mode 100644 src/fep_lean/pipeline/core.pyi create mode 100644 src/fep_lean/pipeline/orchestrator.pyi create mode 100644 src/fep_lean/prove2me/__init__.pyi create mode 100644 src/fep_lean/prove2me/client.pyi create mode 100644 src/fep_lean/prove2me/config.pyi create mode 100644 src/fep_lean/prove2me/missions.pyi create mode 100644 src/fep_lean/verification/__init__.pyi create mode 100644 src/fep_lean/verification/_horizon_numerical_witnesses.pyi create mode 100644 src/fep_lean/verification/_jsonutil.pyi create mode 100644 src/fep_lean/verification/_subprocess.pyi create mode 100644 src/fep_lean/verification/_toolchain.pyi create mode 100644 src/fep_lean/verification/environment.pyi create mode 100644 src/fep_lean/verification/formalism_audit.pyi create mode 100644 src/fep_lean/verification/gnn_artifact_proof.pyi create mode 100644 src/fep_lean/verification/gnn_artifact_receipt.pyi create mode 100644 src/fep_lean/verification/gnn_continuous_artifact_proof.pyi create mode 100644 src/fep_lean/verification/gnn_julia_artifact_proof.pyi create mode 100644 src/fep_lean/verification/horizon_acceptance.pyi create mode 100644 src/fep_lean/verification/lean_verifier.pyi create mode 100644 src/fep_lean/verification/numerical_witnesses.pyi create mode 100644 src/fep_lean/verification/preflight.pyi create mode 100644 tests/test_identity_distribution.py create mode 100644 tests/test_identity_environment.py create mode 100644 tests/test_identity_migration.py diff --git a/.aii/config.yaml b/.aii/config.yaml index b6ea9776..67a69873 100644 --- a/.aii/config.yaml +++ b/.aii/config.yaml @@ -2,8 +2,8 @@ meta: updated: '2026-10-24' repo: - name: fep_lean - slug: fep-lean + name: fep_formal + slug: fep-formal full_name: ActiveInferenceInstitute/fep_formal description: 'Release v2.1.0 implementation (2026-10-24) · Concept DOI [10.5281/zenodo.19699233](https://doi.org/10.5281/zenodo.19699233) · License CC BY 4.0. Standalone 168-topic Free Energy Principle / Active Inference Lean 4 catalogue.' institute: diff --git a/.github/AGENTS.md b/.github/AGENTS.md index d3fbd41d..582fa60d 100644 --- a/.github/AGENTS.md +++ b/.github/AGENTS.md @@ -1,7 +1,7 @@ # GitHub repository contract The public project is **FEP_Formal**, hosted as `ActiveInferenceInstitute/fep_formal`. -The Python import remains `fep_lean`; the CLI remains `fep-lean`. +The canonical Python import is `fep_formal`; the CLI is `fep-formal`. ## Repository presentation diff --git a/.github/README.md b/.github/README.md index 434e03cd..909ebe61 100644 --- a/.github/README.md +++ b/.github/README.md @@ -14,10 +14,11 @@ areas. Each topic connects an invariant, explicit assumptions, a canonical Lean 4 theorem body and typeset signatures. The catalog is a versioned research interface, not an exhaustive census of the FEP literature. -The repository is **FEP_Formal** (`fep_formal` on GitHub). Its Python distribution -and import namespace remain **`fep_lean`**, and its command is **`fep-lean`**. -These names identify different interfaces; commands and imports below use their -actual installed names. +The project is **FEP_Formal**, the repository and Python import namespace are +`fep_formal`, and the distribution and command are `fep-formal`. +The previous `fep_lean` imports, `fep-lean` command, and public `FEP_LEAN_` +environment variables are deprecated compatibility aliases. New work uses the +canonical names; see the [migration guide](../docs/identity-migration.md). Lean checks exact statements under their stated assumptions. A successful compile does not establish that a theorem captures an entire scientific @@ -47,7 +48,7 @@ and dependency policy. The project pins [uv](https://docs.astral.sh/uv/) git clone https://github.com/ActiveInferenceInstitute/fep_formal.git cd fep_formal uv sync --locked --extra dev -uv run fep-lean catalogue +uv run fep-formal catalogue ``` This offline command validates the catalog and creates deterministic figures, @@ -68,7 +69,7 @@ Choose the interface that matches the work: the [atlas](../docs/formalism-atlas.html) and the [numerical dashboard guide](../docs/formal-kernel-methods.md). - **Use the Python API:** start with the [API guide](../docs/api.md). Installed - wheels support packaged catalog resources and `fep-lean --help`; substantive + wheels support packaged catalog resources and `fep-formal --help`; substantive operator commands require the checkout's configuration, Lean workspace and manuscript assets. - **Compile the canonical Lean statements:** follow the native setup and @@ -79,7 +80,7 @@ Choose the interface that matches the work: Full mode requires Hermes, OpenGauss, the pinned Lean environment and the required credentials. Failed capabilities or topics prevent a successful report. - **Audit GNN numerical semantics:** follow the - [source-bound semantic audit guide](../src/fep_lean/bridge/README.md#independent-semantic-audit). + [source-bound semantic audit guide](../src/fep_formal/bridge/README.md#independent-semantic-audit). It checks a retained receipt against independent finite/Gaussian calculations; actual execution and native proof require separate evidence. - **Inspect mathematical methods:** use the [methods guide](../docs/mathematical-methods.md), @@ -88,7 +89,7 @@ Choose the interface that matches the work: From outside the checkout, place `--project-root /path/to/fep_formal` before the subcommand. [The command quick reference](../docs/quickref.md) and -`uv run fep-lean --help` describe the available workflows. +`uv run fep-formal --help` describe the available workflows. ## Formal depth @@ -130,7 +131,7 @@ The published [**2.1.0 software release**](https://github.com/ActiveInferenceIns and [GEO-INFER 0.4.0](https://github.com/ActiveInferenceInstitute/GEO_INFER/releases/tag/v0.4.0). It includes seven bounded composition proofs, updated formal relations, and fail-fast Mathlib prerequisites. The native supplement remains a separately unactivated proposal. Its -[semantic audit](../src/fep_lean/bridge/README.md#independent-semantic-audit) +[semantic audit](../src/fep_formal/bridge/README.md#independent-semantic-audit) compares source-bound finite and passive linear-Gaussian numerical witnesses through independent reference algorithms. It retains identity, parameter, quantity, refusal and provenance details. The separate @@ -197,7 +198,7 @@ explains the canonical README and its generated GitHub presentation. ## Layout Authoring lives in [config](../config/README.md), the -[Python package](../src/fep_lean/README.md), and the +[Python package](../src/fep_formal/README.md), and the [manuscript](../manuscript/README.md). The [Lean workspace](../lean/README.md) compiles the projected formal sources. [Scripts](../scripts/README.md) provide bounded entry points, [tests](../tests/README.md) enforce contracts, and diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aaaea0d7..fc13d25c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: fep_lean +name: fep_formal on: push: @@ -140,7 +140,7 @@ jobs: enable-cache: true - run: uv sync --locked --extra dev - name: Materialize the generated manuscript inputs - run: uv run fep-lean catalogue + run: uv run fep-formal catalogue - name: Check documentation and committed publication evidence run: | uv run python scripts/_maint_build_topics_catalogue.py --check @@ -152,7 +152,8 @@ jobs: uv run python scripts/build_formalism_atlas.py --check uv run python scripts/build_formal_kernel_dashboard.py --check uv run python specs/openai-math-methods/generate_package_methods.py --check - uv run fep-lean --project-root . methods check --output-root docs/mathematical-positioning + uv run python specs/identity-cutover/generate_legacy_stubs.py --check + uv run fep-formal --project-root . methods check --output-root docs/mathematical-positioning uv run python scripts/build_render_fonts.py --check uv run python scripts/check_render_log.py --verify-receipt uv run python docs/theorem_ref_audit.py @@ -201,6 +202,10 @@ jobs: timeout-minutes: 60 steps: - uses: actions/checkout@v7 + with: + # The installed transition test builds the exact pre-cutover source. + # Keep that immutable baseline available on successor commits. + fetch-depth: 0 - uses: astral-sh/setup-uv@v10.3.0 with: version: "0.13.0" @@ -218,7 +223,8 @@ jobs: uv run python scripts/build_formalism_atlas.py --check uv run python scripts/build_formal_kernel_dashboard.py --check uv run python specs/openai-math-methods/generate_package_methods.py --check - uv run fep-lean --project-root . methods check --output-root docs/mathematical-positioning + uv run python specs/identity-cutover/generate_legacy_stubs.py --check + uv run fep-formal --project-root . methods check --output-root docs/mathematical-positioning # The frozen-custody bridge gates from AGENTS.md's required checks: # each is --check validation of committed artifacts and passes on a # fresh checkout without any sibling repo. @@ -234,14 +240,14 @@ jobs: - name: Check independent Gaussian composition replay controls timeout-minutes: 5 env: - FEP_LEAN_LIVE_TESTS: "0" + FEP_FORMAL_LIVE_TESTS: "0" run: | mkdir -p output uv run pytest specs/gnn-semantic-witness-v1/test_composition.py -q -n 0 --no-cov \ --junitxml=output/gnn-composition-acceptance.xml - name: Generate and validate publication inputs run: | - uv run fep-lean catalogue + uv run fep-formal catalogue # The glyph projection reads the generated appendix # (manuscript/09z_unified_formalism_catalogue.md, a gitignored build # product), so this check is only decidable after the catalogue has @@ -284,7 +290,7 @@ jobs: - name: Run the parallel Python acceptance component id: python_remainder env: - FEP_LEAN_COVERAGE_FLOOR_EVIDENCE: "1" + FEP_FORMAL_COVERAGE_FLOOR_EVIDENCE: "1" run: | set -o pipefail mkdir -p output @@ -329,16 +335,16 @@ jobs: import hashlib import json from pathlib import Path - from fep_lean.output.release_bundle._core import _capture_regular_file + from fep_formal.output.release_bundle._core import _capture_regular_file root = Path.cwd().resolve(strict=True) collection = json.loads((root / "output/python-acceptance-collection.json").read_text()) - expected = {"src/fep_lean.egg-info/" + name for name in ( + expected = {"src/fep_formal.egg-info/" + name for name in ( "PKG-INFO", "SOURCES.txt", "dependency_links.txt", "entry_points.txt", "requires.txt", "top_level.txt", )} sealed = {name: sha for name, sha in collection["source_sha256"].items() - if name.startswith("src/fep_lean.egg-info/")} + if name.startswith("src/fep_formal.egg-info/")} if set(sealed) != expected: raise SystemExit("sealed package metadata membership differs") for name, sha in sorted(sealed.items()): @@ -363,12 +369,12 @@ jobs: output/coverage-floor-control-one.log output/coverage-floor-control-both.log coverage.xml - src/fep_lean.egg-info/PKG-INFO - src/fep_lean.egg-info/SOURCES.txt - src/fep_lean.egg-info/dependency_links.txt - src/fep_lean.egg-info/entry_points.txt - src/fep_lean.egg-info/requires.txt - src/fep_lean.egg-info/top_level.txt + src/fep_formal.egg-info/PKG-INFO + src/fep_formal.egg-info/SOURCES.txt + src/fep_formal.egg-info/dependency_links.txt + src/fep_formal.egg-info/entry_points.txt + src/fep_formal.egg-info/requires.txt + src/fep_formal.egg-info/top_level.txt if-no-files-found: error - name: Check mathematical context and numerical visualization boundaries run: | @@ -411,7 +417,7 @@ jobs: - run: uv sync --locked --extra dev - name: Check composition source inventory run: uv run pytest tests/test_composition_source_inventory.py -q -n 0 --no-cov - - run: uv run fep-lean catalogue + - run: uv run fep-formal catalogue - run: uv run python docs/check_links.py --strict --include-root if: ${{ !cancelled() }} - run: uv run python docs/md_hygiene.py --strict --include-root @@ -420,9 +426,11 @@ jobs: if: ${{ !cancelled() }} - run: uv run mypy src scripts docs specs/publication-browser-acceptance/wait_render_dependencies.py specs/publication-browser-acceptance/native_supplement.py if: ${{ !cancelled() }} + - run: uv run python -m mypy --no-incremental src/fep_lean/__init__.py + if: ${{ !cancelled() }} - run: uv run ruff check . if: ${{ !cancelled() }} - - run: uv run ruff format --check src tests scripts docs specs/openai-math-methods specs/cascadia-experiments specs/gnn-runner-execution specs/publication-browser-acceptance + - run: uv run ruff format --check src tests scripts docs specs/openai-math-methods specs/cascadia-experiments specs/gnn-runner-execution specs/publication-browser-acceptance specs/identity-cutover if: ${{ !cancelled() }} - run: git diff --check if: ${{ !cancelled() }} @@ -451,12 +459,12 @@ jobs: run: | # The catalogue figures (status_distribution.png, topics_by_area.png # and their seven siblings under output/figures/) are written by - # write_all_catalogue_figures during `fep-lean catalogue`, and + # write_all_catalogue_figures during `fep-formal catalogue`, and # scripts/build_manuscript_figures.py deliberately leaves them to # it. Without this step the render-figures artifact ships without # the roster pair and the lean job's serial renderer test fails # closed on "manuscript asset roster sources are missing". - uv run fep-lean catalogue + uv run fep-formal catalogue - name: Generate the publication figure assets run: | # Same roster the render lane previously generated inline: the @@ -464,7 +472,7 @@ jobs: # rasterized PNGs under output/figures/. uv run python scripts/build_formalism_atlas.py uv run python scripts/build_formal_kernel_dashboard.py - uv run fep-lean --project-root . methods export --output-root docs/mathematical-positioning + uv run fep-formal --project-root . methods export --output-root docs/mathematical-positioning uv run python scripts/build_manuscript_figures.py - name: Verify the manuscript asset roster before upload run: | @@ -474,7 +482,7 @@ jobs: uv run python - <<'PY' from pathlib import Path - from fep_lean.output.rendering import MANUSCRIPT_ASSETS + from fep_formal.output.rendering import MANUSCRIPT_ASSETS root = Path.cwd() missing = [ @@ -566,7 +574,7 @@ jobs: uses: actions/checkout@v7 with: # render_publication.py resolves the template through - # FEP_LEAN_TEMPLATE_DIR and needs scripts/pipeline/stage_03_render.py + # FEP_FORMAL_TEMPLATE_DIR and needs scripts/pipeline/stage_03_render.py # in it. The template is a separate repository this project does not # pin programmatically, so the ref is pinned here instead and must be # re-pinned (and the committed render receipts refreshed) after a @@ -735,10 +743,10 @@ jobs: raise SystemExit("publication source checkout is not clean before manuscript hydration") print("publication source checkout is clean before manuscript hydration") PY - - run: uv run fep-lean catalogue + - run: uv run fep-formal catalogue - name: Render the publication and accept it fail-closed env: - FEP_LEAN_TEMPLATE_DIR: ${{ github.workspace }}/output/render-template + FEP_FORMAL_TEMPLATE_DIR: ${{ github.workspace }}/output/render-template run: | uv run python - <<'PY' import subprocess @@ -778,8 +786,8 @@ jobs: import sys from pathlib import Path - from fep_lean.output.evidence import validate_native_lean_receipt - from fep_lean.output.release_bundle._core import ( + from fep_formal.output.evidence import validate_native_lean_receipt + from fep_formal.output.release_bundle._core import ( _capture_directory_paths, _capture_link_bytes, _capture_parent_fd, @@ -787,10 +795,10 @@ jobs: _capture_resource_link_target, _capture_template_links, ) - from fep_lean.output.render_fonts import declared_fonts - from fep_lean.output.render_log import receipt_defects, rendered_manuscript_sources - from fep_lean.output.rendering import MANUSCRIPT_ASSETS - from fep_lean.verification.formalism_audit import validate_formalism_audit_receipt + from fep_formal.output.render_fonts import declared_fonts + from fep_formal.output.render_log import receipt_defects, rendered_manuscript_sources + from fep_formal.output.rendering import MANUSCRIPT_ASSETS + from fep_formal.verification.formalism_audit import validate_formalism_audit_receipt root = Path.cwd().resolve() sha = subprocess.check_output(["git", "rev-parse", "HEAD"], text=True).strip() @@ -1166,7 +1174,7 @@ jobs: # b5e6a9d reached main with a broken orphaned formal module while # the lean job never evaluated the tip (the runs at the adjacent # commits were cancelled), and no CI step compiles the canonical - # src/fep_lean/formal/*.lean bytes: lake builds only the + # src/fep_formal/formal/*.lean bytes: lake builds only the # lean/FepSketches/ projections, and the serial_lean probes below # compile a topic-driven subset. This gate enumerates the formal # modules outside fep_all's import closure and recompiles their @@ -1205,19 +1213,19 @@ jobs: if: (github.event_name != 'workflow_dispatch' || inputs.native_supplement_profile != 'native-api-cli-supplement-v1') timeout-minutes: 5 env: - FEP_LEAN_VERIFY_TIMEOUT: "60" + FEP_FORMAL_VERIFY_TIMEOUT: "60" run: >- uv run python specs/gnn-semantic-witness-v1/verify_composition_native.py --output output/gnn-composition-native - name: Run the serial_lean acceptance lane if: (github.event_name != 'workflow_dispatch' || inputs.native_supplement_profile != 'native-api-cli-supplement-v1') env: - FEP_LEAN_NATIVE_SHADOW: ${{ github.event_name == 'workflow_dispatch' && inputs.native_producer_shadow && '1' || '0' }} - FEP_LEAN_CI_NATIVE_RECEIPT: "1" - FEP_LEAN_CATALOGUE_COMPILE_TEST: "1" - FEP_LEAN_SLICE04_COMPILE_TEST: "1" - FEP_LEAN_SLICE05_COMPILE_TEST: "1" - FEP_LEAN_NATIVE_ENTROPY_EVIDENCE: "1" + FEP_FORMAL_NATIVE_SHADOW: ${{ github.event_name == 'workflow_dispatch' && inputs.native_producer_shadow && '1' || '0' }} + FEP_FORMAL_CI_NATIVE_RECEIPT: "1" + FEP_FORMAL_CATALOGUE_COMPILE_TEST: "1" + FEP_FORMAL_SLICE04_COMPILE_TEST: "1" + FEP_FORMAL_SLICE05_COMPILE_TEST: "1" + FEP_FORMAL_NATIVE_ENTROPY_EVIDENCE: "1" run: | set -o pipefail mkdir -p output @@ -1227,7 +1235,7 @@ jobs: - name: Validate the strict serial producer and optionally compare the CLI if: (github.event_name != 'workflow_dispatch' || inputs.native_supplement_profile != 'native-api-cli-supplement-v1') env: - FEP_LEAN_NATIVE_SHADOW: ${{ github.event_name == 'workflow_dispatch' && inputs.native_producer_shadow && '1' || '0' }} + FEP_FORMAL_NATIVE_SHADOW: ${{ github.event_name == 'workflow_dispatch' && inputs.native_producer_shadow && '1' || '0' }} run: | uv run python - <<'PY_CONSUMER' from pathlib import Path @@ -1255,17 +1263,17 @@ jobs: } print("FEP_NATIVE_PRODUCER_CONTEXT " + json.dumps(context, sort_keys=True, separators=(",", ":")), flush=True) PY_CONSUMER - if [ "$FEP_LEAN_NATIVE_SHADOW" = "1" ]; then + if [ "$FEP_FORMAL_NATIVE_SHADOW" = "1" ]; then test ! -e output/native-verification-serial-producer.json test ! -L output/native-verification-serial-producer.json cp output/native-verification.json output/native-verification-serial-producer.json - uv run fep-lean verify \ + uv run fep-formal verify \ --fail-on-warnings \ --receipt output/native-verification.json fi uv run python - <<'PY' from pathlib import Path - from fep_lean.output import validate_native_lean_receipt + from fep_formal.output import validate_native_lean_receipt result = validate_native_lean_receipt( Path("output/native-verification.json"), @@ -1275,7 +1283,7 @@ jobs: if not result["native_claim_ready"]: raise SystemExit(1) import os - if os.environ["FEP_LEAN_NATIVE_SHADOW"] == "1": + if os.environ["FEP_FORMAL_NATIVE_SHADOW"] == "1": import json from tests._support.native_catalogue_shadow import compare_native_catalogue_receipts comparison = compare_native_catalogue_receipts( @@ -1296,7 +1304,7 @@ jobs: - name: Verify the publication render path against the pinned Mathlib if: (github.event_name != 'workflow_dispatch' || inputs.native_supplement_profile != 'native-api-cli-supplement-v1') run: | - uv run fep-lean catalogue + uv run fep-formal catalogue uv run python scripts/render_manuscript.py --check - name: Audit formal declarations and axioms if: (github.event_name != 'workflow_dispatch' || inputs.native_supplement_profile != 'native-api-cli-supplement-v1') @@ -1305,7 +1313,7 @@ jobs: --receipt output/formalism-audit.json uv run python - <<'PY' from pathlib import Path - from fep_lean.verification.formalism_audit import ( + from fep_formal.verification.formalism_audit import ( validate_formalism_audit_receipt, ) @@ -1329,10 +1337,10 @@ jobs: if: github.event_name == 'workflow_dispatch' && inputs.native_supplement_profile == 'native-api-cli-supplement-v1' env: GH_TOKEN: ${{ github.token }} - FEP_LEAN_CI_NATIVE_RECEIPT: "1" - FEP_LEAN_CATALOGUE_COMPILE_TEST: "1" - FEP_LEAN_NATIVE_SHADOW: "0" - FEP_LEAN_LIVE_TESTS: "0" + FEP_FORMAL_CI_NATIVE_RECEIPT: "1" + FEP_FORMAL_CATALOGUE_COMPILE_TEST: "1" + FEP_FORMAL_NATIVE_SHADOW: "0" + FEP_FORMAL_LIVE_TESTS: "0" shell: bash run: | set -euo pipefail @@ -1346,7 +1354,7 @@ jobs: set -e if [ "$api_rc" -ne 0 ]; then exit "$api_rc"; fi set +e - uv run --no-sync fep-lean verify --fail-on-warnings --receipt output/native-supplement-cli.json > "$out/cli.stdout.log" 2> "$out/cli.stderr.log" + uv run --no-sync fep-formal verify --fail-on-warnings --receipt output/native-supplement-cli.json > "$out/cli.stdout.log" 2> "$out/cli.stderr.log" cli_rc=$? printf '%s\n' "$cli_rc" > "$out/cli.exitcode" set -e diff --git a/.gitignore b/.gitignore index e3733d79..b9104eb9 100644 --- a/.gitignore +++ b/.gitignore @@ -46,7 +46,7 @@ htmlcov/ *.swo .DS_Store -# fep_lean specific +# FEP_Formal specific # Generated glyph-projection index (gitignored build product, root-level only) /index.md /output/ @@ -67,3 +67,12 @@ gauss_grace/ # graft's local graph cache — regenerable, not committed (run `graft build`). /graft/ + +# Private agent plans, captures and isolated test environments +/.omo/ + +# Disposable local validator caches and parallel coverage databases +.mypy_cache/ +.ruff_cache/ +.benchmarks/ +.coverage.* diff --git a/AGENTS.md b/AGENTS.md index ddf4da84..71770218 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,15 +6,19 @@ FEP_Formal is a standalone 168-topic FEP / Active Inference / Bayesian Mechanics / Information Geometry / Thermodynamics catalog with Lean 4 source, Hermes integration, OpenGauss SQLite persistence, deterministic manuscript artifacts and strict reports. The repository is `fep_formal`; the Python -distribution/import namespace is `fep_lean` and the executable is `fep-lean`. +distribution/import namespace is `fep_formal` and the executable is `fep-formal`. Preserve those package, CLI, environment-variable and Lean namespace interfaces -when updating project-facing prose. +when updating project-facing prose. Legacy `fep_lean` imports, `fep-lean` +commands and public `FEP_LEAN_` variables are deprecated aliases through 2.x; +new implementation and instructions use the canonical names. The +[migration guide](docs/identity-migration.md) owns compatibility and evidence +refresh requirements. Preserve historical receipts and Lean theorem namespaces. ## Terminology The Lean code for each catalog row is a **canonical topic body**. Family-owned -modules under `src/fep_lean/catalogue/bodies/` export those bodies, and -`src/fep_lean/catalogue/registry.py` validates and merges them. The generated +modules under `src/fep_formal/catalogue/bodies/` export those bodies, and +`src/fep_formal/catalogue/registry.py` validates and merges them. The generated runtime field remains named `lean_sketch` for API compatibility. The reviewed invariant, formal Lean identifiers, and explicit assumptions define the row's **theorem proxy** and scientific scope in `config/theorem_maturity.yaml`. @@ -59,17 +63,17 @@ document wins. status/evidence. Never infer these from shared imports; both theorem-backed kinds require qualified Lean witnesses. Shared imports never create scientific-dependency edges. -- `src/fep_lean/catalogue/bodies/*.py` — family-owned canonical Lean bodies. -- `src/fep_lean/catalogue/registry.py` and `latex.py` — validated body registry +- `src/fep_formal/catalogue/bodies/*.py` — family-owned canonical Lean bodies. +- `src/fep_formal/catalogue/registry.py` and `latex.py` — validated body registry and deterministic theorem-signature projection. -- `src/fep_lean/catalogue/generation.py` — catalog join for checkout and +- `src/fep_formal/catalogue/generation.py` — catalog join for checkout and package projections. -- `config/topics.yaml` and `src/fep_lean/data/topics.yaml` — byte-identical, +- `config/topics.yaml` and `src/fep_formal/data/topics.yaml` — byte-identical, generated catalog projections; never author either by hand. - `scripts/_maint_build_topics_catalogue.py` — YAML regeneration. - `scripts/_maint_build_fep_all_lean.py` — tracked family-shard and compatibility aggregate regeneration. Its check covers every manifest-owned output. -- `src/fep_lean/formal/manifest.py` — explicit foundation, leaf-composition, +- `src/fep_formal/formal/manifest.py` — explicit foundation, leaf-composition, and aggregate resource roster. Cross-topic proofs live in `formal/compositions/*.lean`; `formal/composed.lean` is the import-only aggregate. `scripts/_maint_build_formal_modules.py` projects the manifest @@ -77,13 +81,13 @@ document wins. - `lean/FepSketches/families/*.lean` — generated family topic modules with unchanged public namespaces; composition leaves import their actual families. - `lean/FepSketches/fep_all.lean` — import-only whole-catalog compatibility target. -- `src/fep_lean/output/evidence.py` — frozen readiness/status models and their +- `src/fep_formal/output/evidence.py` — frozen readiness/status models and their process-free snapshot builder; CLI JSON projects those same type/function objects. Native/full evidence policy and manuscript claim sentences. -- `src/fep_lean/verification/formalism_audit.py` — declaration and axiom audit +- `src/fep_formal/verification/formalism_audit.py` — declaration and axiom audit with typed receipts. -- `src/fep_lean/output/formalism_atlas.py` — coverage-graph SVG/HTML renderer. +- `src/fep_formal/output/formalism_atlas.py` — coverage-graph SVG/HTML renderer. - `manuscript/*.md` — authored chapters, rendered into `output/manuscript/`. - `ISA.md` — ideal-state criteria, anti-criteria, and evidence gates. - `TODO.md` — canonical open-only backlog; completed work is not retained as @@ -91,9 +95,9 @@ document wins. - `HANDOFF.md` — dated next-reviewer protocol and evidence snapshots; the [next-step campaign](specs/comprehensive-next-steps/README.md) owns the active implementation graph and pickup point. -- `src/fep_lean/output/provenance.py` — versioned source-owner roster +- `src/fep_formal/output/provenance.py` — versioned source-owner roster (`OWNER_MANIFEST_VERSION`, `SOURCE_OWNER_ROSTER`). New files under - `src/fep_lean/**/*.py` or `scripts/*.py` fail report and native receipts + `src/fep_formal/**/*.py` or `scripts/*.py` fail report and native receipts fail-closed until reviewed into the roster; roster growth is a coordinated evidence refresh (the completed refresh is recorded in [CHANGELOG.md](CHANGELOG.md); a further roster change re-opens the @@ -101,7 +105,7 @@ document wins. per-PR alternatives: fold new code into an existing owner or keep tooling slice-local under `specs/`. -Never hand-edit `config/topics.yaml`, `src/fep_lean/data/topics.yaml`, +Never hand-edit `config/topics.yaml`, `src/fep_formal/data/topics.yaml`, `lean/FepSketches/fep_all.lean`, any manifested `lean/FepSketches` formal resource, `docs/formalism-coverage.*`, `docs/formalism-atlas.*`, or generated manuscript output. Use the owner-provided generators and their `--check` modes. @@ -112,7 +116,7 @@ Use American English in maintained prose and comments. Preserve exact public identifiers, quotations, external titles, and receipt-bound historical bytes. Use **FEP_Formal** for the project and `fep_formal` for the checkout/repository. -Use `fep_lean` for the real Python distribution/import namespace and `fep-lean` +Use `fep_formal` for the real Python distribution/import namespace and `fep-formal` for the CLI. Historical titles, external integration paths, environment variables, citation versions and accepted receipts retain their exact identities. @@ -133,27 +137,27 @@ receipt-bound captures and generated outputs under their existing contracts. ## Execution contract -- `uv run fep-lean catalogue` is explicit offline mode. It creates deterministic +- `uv run fep-formal catalogue` is explicit offline mode. It creates deterministic catalog artifacts and reports zero verified topics. It performs strict YAML/schema/source-parity validation and generates offline figures, manuscript variables, the unified appendix, and a report. It records `verified_topics: 0` and `capabilities.verification: false`. -- `uv run fep-lean verify` is the Lean-only native compile path. It requires +- `uv run fep-formal verify` is the Lean-only native compile path. It requires the built pinned Mathlib cache but does not call Hermes, OpenGauss, or the full pipeline. Use `--receipt PATH --fail-on-warnings` for publication-grade native evidence. With `--receipt` it writes a typed, source-digest-bound receipt. -- `uv run fep-lean atlas` projects the canonical coverage graph to offline SVG +- `uv run fep-formal atlas` projects the canonical coverage graph to offline SVG and accessible HTML; `--check` is a non-mutating freshness gate. The graph distinguishes derivational formal edges from checked formal pairings that place two endpoint laws side by side without asserting implication. Both name qualified Lean witnesses; conceptual and blocker edges remain visibly non-proof evidence. It carries no compilation or full-run claim. -- `uv run fep-lean dashboard` evaluates the typed numerical witnesses and +- `uv run fep-formal dashboard` evaluates the typed numerical witnesses and projects their shared model to offline SVG and accessible HTML; it is explanatory non-proof evidence, and `--check` is non-mutating. It renders a shared immutable model; every witness names theorem mirrors, parameters, typed exact checks with per-check tolerances, and boundary behavior. -- `uv run fep-lean run` is strict full mode. It requires configured Hermes, +- `uv run fep-formal run` is strict full mode. It requires configured Hermes, OpenGauss, Lean, Lake, and a complete pinned Mathlib build. This is the default for the programmatic API. It also requires the isolated `gauss --version` availability probe, writable configured output and persistence destinations, and Hermes @@ -168,25 +172,25 @@ receipt-bound captures and generated outputs under their existing contracts. result and no successful report. **Missing capability or incomplete stage → `complete: false`, no report directory.** - A full-mode report's `complete: true` means all *selected* topics passed (via - `FEP_LEAN_MAX_TOPICS` or the default full catalog). It is publication-ready + `FEP_FORMAL_MAX_TOPICS` or the default full catalog). It is publication-ready only when `validate_report_receipt(...).claim_ready` independently validates the complete full-mode artifact set. Catalog-mode completion is never Hermes or Lean evidence. A native receipt is separately claim-ready only for the live-source-bound sealed roster, actual compiler output matching the pin, the resolved Mathlib revision, and zero errors, warnings, or `sorry`. - `run_validation_checks` is read-only. Dependency acquisition belongs only to - `uv run fep-lean setup` and is bounded by `FEP_LEAN_SETUP_TIMEOUT_SEC`. + `uv run fep-formal setup` and is bounded by `FEP_FORMAL_SETUP_TIMEOUT_SEC`. It never downloads Mathlib, invokes a build, creates a database, or writes a report. The explicit setup command performs dependency acquisition and `lake build` with a bounded timeout. - `preflight` JSON output is advisory subject to additive field changes between releases. Stable referential queries use the CLI exit code and `status` field. -- `uv run fep-lean status` composes a read-only evidence-currency report from +- `uv run fep-formal status` composes a read-only evidence-currency report from existing checks; exit 0 means the report composed, not that evidence is current. -- `uv run fep-lean topic ` verifies one exact topic with the same workflow +- `uv run fep-formal topic ` verifies one exact topic with the same workflow choices as `run`. -- `uv run fep-lean report` runs catalog mode and emits a complete report. +- `uv run fep-formal report` runs catalog mode and emits a complete report. - Python 3.14 is the only accepted validator environment (see `.python-version`); `requires-python >=3.10` in `pyproject.toml` is the packaging floor, not the validator contract. @@ -223,7 +227,7 @@ syntax compatibility, and the installed-wheel matrix checks the packaging floor separately. Exceptions preserve declared error or compatibility contracts and must be justified at the affected line. -For credential-free local test runs, set `FEP_LEAN_LIVE_TESTS=0` explicitly. +For credential-free local test runs, set `FEP_FORMAL_LIVE_TESTS=0` explicitly. The [test contract](tests/AGENTS.md) explains the provider families whose selection can otherwise depend on ambient credentials. @@ -248,7 +252,8 @@ uv run python scripts/_maint_build_lean_landscape.py --check uv run python scripts/build_formalism_atlas.py --check uv run python scripts/build_formal_kernel_dashboard.py --check uv run python specs/openai-math-methods/generate_package_methods.py --check -uv run fep-lean --project-root . methods check --output-root docs/mathematical-positioning +uv run python specs/identity-cutover/generate_legacy_stubs.py --check +uv run fep-formal --project-root . methods check --output-root docs/mathematical-positioning uv run pytest specs/openai-math-methods/test_methods.py \ specs/openai-math-methods/test_upstream.py \ specs/openai-math-methods/test_visualization.py -q --no-cov @@ -260,7 +265,7 @@ uv run python scripts/audit_formalisms.py \ --receipt output/formalism-audit.json uv run python docs/theorem_ref_audit.py uv run python docs/citation_audit.py -uv run fep-lean catalogue +uv run fep-formal catalogue uv run python scripts/render_manuscript.py --check uv run python scripts/build_render_fonts.py --check uv run python scripts/check_render_log.py --verify-receipt @@ -273,8 +278,9 @@ uv run python specs/publication-browser-acceptance/validate_acceptance.py --coll uv run pytest tests/ -q --cov=src --cov-report=xml --cov-fail-under=89 -m "not serial_lean" uv run python docs/check_coverage_floors.py --coverage coverage.xml uv run mypy src scripts docs specs/publication-browser-acceptance/wait_render_dependencies.py specs/publication-browser-acceptance/native_supplement.py +uv run python -m mypy --no-incremental src/fep_lean/__init__.py uv run ruff check . -uv run ruff format --check src tests scripts docs specs/openai-math-methods specs/cascadia-experiments specs/gnn-runner-execution specs/publication-browser-acceptance +uv run ruff format --check src tests scripts docs specs/openai-math-methods specs/cascadia-experiments specs/gnn-runner-execution specs/publication-browser-acceptance specs/identity-cutover git diff --check uv run python docs/check_links.py --strict --include-root uv run python docs/md_hygiene.py --strict --include-root @@ -292,7 +298,7 @@ and run in the hosted `lean` job: ```bash (cd lean && lake build FepSketches) uv run pytest tests/ -q -m serial_lean -n 1 --no-cov -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json uv run python specs/cascadia-experiments/verify_diagnostic_bounds.py --compile output/cascadia-diagnostic-bounds uv run python specs/cascadia-experiments/verify_diagnostic_bounds.py --check output/cascadia-diagnostic-bounds uv run python specs/gnn-semantic-witness-v1/verify_composition_native.py --output output/gnn-composition-native @@ -308,7 +314,7 @@ generation establishes fixture/probe/manifest freshness, not current GNN-renderer custody or native evidence. Live source-custody and current native-receipt checks require the explicitly -named GNN pair: `fep-lean bridge status --gnn-root PATH`, both emitters' +named GNN pair: `fep-formal bridge status --gnn-root PATH`, both emitters' `--check`, and the applicable `verify_native.py --check --gnn-root PATH --receipt PATH`. These additional live checks are conditional, are not executed by CI, and never repair content drift. Select the exact receipt for @@ -322,7 +328,7 @@ evidence planes; state exactly which validated receipt supports a claim. ## GNN bridge operations -`uv run fep-lean bridge --help` exposes explicit source pinning, emission, +`uv run fep-formal bridge --help` exposes explicit source pinning, emission, read-only status, and numerical comparison receipts. Pass `--gnn-root`; normal standalone tests require no sibling checkout. Source pins bind owner bytes, not a perpetually refreshed HEAD. Default checks never regenerate reports. @@ -335,7 +341,7 @@ Numerical agreement is not native proof or proof of current execution. CI always selects the existing serial catalog node's strict, unfiltered `verify_catalogue` operation and independently validates its fresh native receipt, existing intent/API record and once-passing JUnit node. This is the reviewed CI -decomposition of the strict `fep-lean verify --fail-on-warnings` operation below; +decomposition of the strict `fep-formal verify --fail-on-warnings` operation below; local CLI and the default local catalog test remain unchanged. Missing, failed or stale producer evidence fails; the job never hides it with another compile. diff --git a/CHANGELOG.md b/CHANGELOG.md index 6756cecb..88d20eda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ ## Unreleased +- Canonical Python imports/distribution/command become `fep_formal`, + `fep-formal`, and `fep-formal`; public configuration uses `FEP_FORMAL_`. + Old imports share canonical module/class identity, and old command and + environment names emit deprecation warnings. Compatibility remains through + the 2.x release line; removal requires a separately announced major release. +- Preserve actual compiler warnings in bridge verification and reject them in + strict mode; real Lean warning controls exercise both modes. +- Add a metadata-only `fep-lean` compatibility distribution; preserve historical + receipt schema keys, publication identities, and Lean theorem namespaces. +- Source-owner manifest v27 seals the canonical package and legacy adapter. + This migration changes source identity and requires new native, bridge, + render, browser, and hosted acceptance; historical receipts remain historical. + See [the migration guide](docs/identity-migration.md). + - Move 182 source-only test cases into the Python feedback lane while keeping all compiler probes serial. That marker-only transition preserves all 4,469 collected identities and every test function body; native verification and diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 354a80c9..6dc1c780 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,15 +34,15 @@ the command list; run the tier that matches your change. ## Rules that bite -- **Provenance roster.** A new file under `src/fep_lean/**/*.py` or +- **Provenance roster.** A new file under `src/fep_formal/**/*.py` or `scripts/*.py` fails report and native receipts fail-closed until it is reviewed into `SOURCE_OWNER_ROSTER` in - [`src/fep_lean/output/provenance.py`](src/fep_lean/output/provenance.py). Roster + [`src/fep_formal/output/provenance.py`](src/fep_formal/output/provenance.py). Roster growth is a coordinated evidence refresh, not a per-PR append. Fold new code into an existing owner, or keep tooling slice-local under `specs/`. Editing existing files is fine. - **Generated files.** Never hand-edit a generated file (`config/topics.yaml`, - `src/fep_lean/data/topics.yaml`, `lean/FepSketches/fep_all.lean`, the atlas, + `src/fep_formal/data/topics.yaml`, `lean/FepSketches/fep_all.lean`, the atlas, coverage, landscape and maturity-audit documents, formal Lake projections). Change the source or the generator listed under "Source of truth" in [AGENTS.md](AGENTS.md) and regenerate; the matching `--check` must pass. diff --git a/ISA.md b/ISA.md index 67c10787..915339c1 100644 --- a/ISA.md +++ b/ISA.md @@ -2,7 +2,7 @@ title: FEP_Formal Ideal State Assessment status: active phase: verifying -updated: 2026-10-16 +updated: 2026-10-27 --- # FEP_Formal Ideal State Assessment @@ -56,7 +56,7 @@ This assessment covers the standalone repository boundary: | ID | Criterion | Required evidence | | --- | --- | --- | | ISA-01 | The sealed topic roster and family registry are complete and parity-safe. | Registry/SSOT tests pass; the aggregate generator is deterministic and leaves no diff. | -| ISA-02 | Offline mode is deterministic and honest. | `uv run fep-lean catalogue` completes, emits reproducible artifacts, and reports `verified_topics: 0`. | +| ISA-02 | Offline mode is deterministic and honest. | `uv run fep-formal catalogue` completes, emits reproducible artifacts, and reports `verified_topics: 0`. | | ISA-03 | The local Python boundary is reproducible. | `uv sync --locked --extra dev`, `uv pip check`, the coverage gate, and the [canonical strict typing gate](AGENTS.md#required-checks) pass. | | ISA-04 | The pinned Lean workspace is real, not merely configured. | Direct pinned Lean/Lake version probes, Mathlib cache/build, `lake build FepSketches`, an exact sealed-roster native compile sweep, and the declaration/axiom audit pass. | | ISA-05 | Full mode is fail-closed. | Preflight requires Gauss, writable state, exact Lean/Lake/Mathlib, and Hermes credentials; any failure returns an error without a successful report. | @@ -102,17 +102,17 @@ uv run python scripts/_maint_build_formal_modules.py --check uv run python scripts/theorem_maturity_audit.py --check uv run python scripts/build_formalism_coverage.py --check uv run python scripts/_maint_build_lean_landscape.py --check -uv run fep-lean atlas --check -uv run fep-lean dashboard --check +uv run fep-formal atlas --check +uv run fep-formal dashboard --check uv run python docs/pin_audit.py --check-latest uv run mypy src scripts docs -uv run fep-lean setup +uv run fep-formal setup cd lean lake build FepSketches cd .. -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json uv run python scripts/audit_formalisms.py --receipt output/formalism-audit.json -uv run fep-lean catalogue +uv run fep-formal catalogue uv run python docs/theorem_ref_audit.py uv run python docs/citation_audit.py uv run python scripts/render_manuscript.py --check @@ -123,10 +123,10 @@ uv run python scripts/capture_browser_acceptance.py uv run python scripts/build_release_bundle.py --run-python-acceptance release_dir="$(mktemp -d)" SOURCE_DATE_EPOCH=0 uv run python scripts/build_release_bundle.py \ - --output "$release_dir/fep-lean-candidate-168.tar.gz" + --output "$release_dir/fep-formal-candidate-168.tar.gz" SOURCE_DATE_EPOCH=0 uv run python scripts/build_release_bundle.py \ - --check --output "$release_dir/fep-lean-candidate-168.tar.gz" -uv run fep-lean preflight + --check --output "$release_dir/fep-formal-candidate-168.tar.gz" +uv run fep-formal preflight ``` `preflight` reports the external full-mode capability boundary. A complete @@ -135,9 +135,9 @@ workflow after credentials are supplied through the operator's existing secret mechanism: ```bash -FEP_LEAN_CATALOGUE_COMPILE_TEST=1 uv run pytest tests/test_catalogue_bodies_compile.py -q --no-cov -uv run fep-lean run --topic fep-001 -uv run fep-lean run +FEP_FORMAL_CATALOGUE_COMPILE_TEST=1 uv run pytest tests/test_catalogue_bodies_compile.py -q --no-cov +uv run fep-formal run --topic fep-001 +uv run fep-formal run ``` The smoke run is accepted only when its result is `complete: true`; the full @@ -148,6 +148,11 @@ open in [TODO.md](TODO.md). ## Current assessment +The following accepted source checkpoint predates the unreleased identity +migration. It remains historical acceptance of that source, not of the +changed checkout. Current cutover work and outstanding gates are recorded +in the [migration status](docs/identity-migration-status.md). + The accepted software/proof-component source is [`a46ed93473046293f6e5ef33ba4ced2ad3ffdc43`](https://github.com/ActiveInferenceInstitute/fep_formal/commit/a46ed93473046293f6e5ef33ba4ced2ad3ffdc43); its exact-main evidence is [PR #216](https://github.com/ActiveInferenceInstitute/fep_formal/pull/216) and diff --git a/PAI.md b/PAI.md index ef473913..479fc9d2 100644 --- a/PAI.md +++ b/PAI.md @@ -1,23 +1,23 @@ # FEP_Formal agent interface -The project exposes the `fep-lean` command through the `fep_lean` Python package. -Discover commands with `uv run fep-lean --help`; common entry points are: +The project exposes the `fep-formal` command through the `fep_formal` Python package. +Discover commands with `uv run fep-formal --help`; common entry points are: ```bash -uv run fep-lean catalogue -uv run fep-lean atlas --check -uv run fep-lean dashboard --check -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal catalogue +uv run fep-formal atlas --check +uv run fep-formal dashboard --check +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json uv run python scripts/audit_formalisms.py --receipt output/formalism-audit.json -uv run fep-lean preflight -uv run fep-lean run +uv run fep-formal preflight +uv run fep-formal run ``` The generated catalog in `config/topics.yaml` joins maintained metadata, -semantic review, and canonical Lean bodies. Agents use `fep-lean catalogue` for -offline artifacts, `fep-lean atlas` to inspect or drift-check authored -formalism relations, `fep-lean dashboard --check` to validate the deterministic -maintained witness projection, and `fep-lean preflight` before full +semantic review, and canonical Lean bodies. Agents use `fep-formal catalogue` for +offline artifacts, `fep-formal atlas` to inspect or drift-check authored +formalism relations, `fep-formal dashboard --check` to validate the deterministic +maintained witness projection, and `fep-formal preflight` before full execution. Dashboard acceptance is the conjunction of typed equality, inequality, and predicate checks with per-check tolerances; it is numerical diagnostic evidence, not a Lean proof or an empirical result. A native diff --git a/README.md b/README.md index d543cd24..e705070a 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,11 @@ areas. Each topic connects an invariant, explicit assumptions, a canonical Lean 4 theorem body and typeset signatures. The catalog is a versioned research interface, not an exhaustive census of the FEP literature. -The repository is **FEP_Formal** (`fep_formal` on GitHub). Its Python distribution -and import namespace remain **`fep_lean`**, and its command is **`fep-lean`**. -These names identify different interfaces; commands and imports below use their -actual installed names. +The project is **FEP_Formal**, the repository and Python import namespace are +`fep_formal`, and the distribution and command are `fep-formal`. +The previous `fep_lean` imports, `fep-lean` command, and public `FEP_LEAN_` +environment variables are deprecated compatibility aliases. New work uses the +canonical names; see the [migration guide](docs/identity-migration.md). Lean checks exact statements under their stated assumptions. A successful compile does not establish that a theorem captures an entire scientific @@ -45,7 +46,7 @@ and dependency policy. The project pins [uv](https://docs.astral.sh/uv/) git clone https://github.com/ActiveInferenceInstitute/fep_formal.git cd fep_formal uv sync --locked --extra dev -uv run fep-lean catalogue +uv run fep-formal catalogue ``` This offline command validates the catalog and creates deterministic figures, @@ -66,7 +67,7 @@ Choose the interface that matches the work: the [atlas](docs/formalism-atlas.html) and the [numerical dashboard guide](docs/formal-kernel-methods.md). - **Use the Python API:** start with the [API guide](docs/api.md). Installed - wheels support packaged catalog resources and `fep-lean --help`; substantive + wheels support packaged catalog resources and `fep-formal --help`; substantive operator commands require the checkout's configuration, Lean workspace and manuscript assets. - **Compile the canonical Lean statements:** follow the native setup and @@ -77,7 +78,7 @@ Choose the interface that matches the work: Full mode requires Hermes, OpenGauss, the pinned Lean environment and the required credentials. Failed capabilities or topics prevent a successful report. - **Audit GNN numerical semantics:** follow the - [source-bound semantic audit guide](src/fep_lean/bridge/README.md#independent-semantic-audit). + [source-bound semantic audit guide](src/fep_formal/bridge/README.md#independent-semantic-audit). It checks a retained receipt against independent finite/Gaussian calculations; actual execution and native proof require separate evidence. - **Inspect mathematical methods:** use the [methods guide](docs/mathematical-methods.md), @@ -86,7 +87,7 @@ Choose the interface that matches the work: From outside the checkout, place `--project-root /path/to/fep_formal` before the subcommand. [The command quick reference](docs/quickref.md) and -`uv run fep-lean --help` describe the available workflows. +`uv run fep-formal --help` describe the available workflows. ## Formal depth @@ -128,7 +129,7 @@ The published [**2.1.0 software release**](https://github.com/ActiveInferenceIns and [GEO-INFER 0.4.0](https://github.com/ActiveInferenceInstitute/GEO_INFER/releases/tag/v0.4.0). It includes seven bounded composition proofs, updated formal relations, and fail-fast Mathlib prerequisites. The native supplement remains a separately unactivated proposal. Its -[semantic audit](src/fep_lean/bridge/README.md#independent-semantic-audit) +[semantic audit](src/fep_formal/bridge/README.md#independent-semantic-audit) compares source-bound finite and passive linear-Gaussian numerical witnesses through independent reference algorithms. It retains identity, parameter, quantity, refusal and provenance details. The separate @@ -195,7 +196,7 @@ explains the canonical README and its generated GitHub presentation. ## Layout Authoring lives in [config](config/README.md), the -[Python package](src/fep_lean/README.md), and the +[Python package](src/fep_formal/README.md), and the [manuscript](manuscript/README.md). The [Lean workspace](lean/README.md) compiles the projected formal sources. [Scripts](scripts/README.md) provide bounded entry points, [tests](tests/README.md) enforce contracts, and diff --git a/SPEC.md b/SPEC.md index cd67a590..038c7c84 100644 --- a/SPEC.md +++ b/SPEC.md @@ -29,12 +29,12 @@ generated projections. ## Public API -FEP_Formal is the project name; `fep_lean` remains the Python distribution and -import namespace, and `fep-lean` remains the installed command. +FEP_Formal is the project name; `fep_formal` remains the Python distribution and +import namespace, and `fep-formal` remains the installed command. ```python -from fep_lean.pipeline.core import FEPPipeline -from fep_lean.pipeline.orchestrator import run_pipeline, run_single_topic +from fep_formal.pipeline.core import FEPPipeline +from fep_formal.pipeline.orchestrator import run_pipeline, run_single_topic result = run_pipeline(mode="catalogue") result = run_pipeline(mode="full", topic_filter=["fep-001"]) @@ -55,7 +55,7 @@ validation and explicit setup boundaries; the The catalog loader rejects missing fields, divergence from the maintained roster seal, duplicate or out-of-order IDs, unsupported areas/statuses, empty theorem bodies, mismatched equation counts, and divergence from the validated -family-body registry under `src/fep_lean/catalogue/`. +family-body registry under `src/fep_formal/catalogue/`. The formalism-graph loader separately rejects unknown or self targets, unsupported edge kinds, duplicate edges, derivational-formal cycles, unreferenced capabilities, and missing blocker edges for semantic gap rows. diff --git a/compat/fep-lean/README.md b/compat/fep-lean/README.md new file mode 100644 index 00000000..12f78476 --- /dev/null +++ b/compat/fep-lean/README.md @@ -0,0 +1,9 @@ +# Deprecated `fep-lean` distribution + +This metadata-only compatibility distribution depends on the matching +`fep-formal` version. Install `fep-formal` directly for new work. + +The canonical distribution owns all code and both console commands. This +distribution owns no modules or commands, so it cannot delete shared code on +uninstall. It does not replace already published wheels: migration and release +ordering are described in [the cutover guide](../../docs/identity-migration.md). diff --git a/compat/fep-lean/pyproject.toml b/compat/fep-lean/pyproject.toml new file mode 100644 index 00000000..abdbc7d7 --- /dev/null +++ b/compat/fep-lean/pyproject.toml @@ -0,0 +1,22 @@ +[build-system] +requires = ["setuptools>=77.0.3"] +build-backend = "setuptools.build_meta" + +[project] +name = "fep-lean" +version = "2.1.0" +description = "Deprecated dependency alias for FEP_Formal; install fep-formal instead" +readme = "README.md" +requires-python = ">=3.10" +dependencies = ["fep-formal==2.1.0"] +license = "CC-BY-4.0" +classifiers = ["Development Status :: 7 - Inactive"] + +[project.optional-dependencies] +dev = ["fep-formal[dev]==2.1.0"] + +[project.urls] +Repository = "https://github.com/ActiveInferenceInstitute/fep_formal" + +[tool.setuptools] +packages = [] diff --git a/config/AGENTS.md b/config/AGENTS.md index 5af0fc92..88ff0553 100644 --- a/config/AGENTS.md +++ b/config/AGENTS.md @@ -10,7 +10,7 @@ Edit only the file that owns the intended concept: deltas, invariants, and required composition bridges; - `formalism_relations.yaml` for reviewed relations and retained capability status/evidence; -- the appropriate `src/fep_lean/catalogue/bodies/*.py` module for canonical +- the appropriate `src/fep_formal/catalogue/bodies/*.py` module for canonical Lean bodies. `registry.py` validates the family registry and `latex.py` derives equation signatures. @@ -50,7 +50,7 @@ projection, semantic, coverage and Markdown gates. The focused source contracts are exercised by `tests/test_fep_topics.py`, `tests/test_semantics.py`, `tests/test_formalism_relations.py` and `tests/test_formalism_coverage.py`. Portable methods inputs have a separate generated-package owner, described in -[the packaged-data guide](../src/fep_lean/data/README.md). +[the packaged-data guide](../src/fep_formal/data/README.md). See [README.md](README.md) for the file schema and [SPEC.md](SPEC.md) for the ownership model. diff --git a/config/README.md b/config/README.md index fe1cf016..583ed49f 100644 --- a/config/README.md +++ b/config/README.md @@ -4,7 +4,7 @@ | File | Purpose | | ---- | ------- | -| `settings.yaml` | Hermes block + project metadata (read by `HermesConfig.from_settings`); `gauss.default_model` is only a `docs/pin_audit.py` cross-check (must equal `hermes.model`), and orchestration is pipeline code (`src/fep_lean/pipeline/`), not config—see [`../docs/configuration.md`](../docs/configuration.md) | +| `settings.yaml` | Hermes block + project metadata (read by `HermesConfig.from_settings`); `gauss.default_model` is only a `docs/pin_audit.py` cross-check (must equal `hermes.model`), and orchestration is pipeline code (`src/fep_formal/pipeline/`), not config—see [`../docs/configuration.md`](../docs/configuration.md) | | `catalogue_metadata.yaml` | Schema-2 roster seal, family membership, title, area, Mathlib hints, and compile-maturity fields | | `theorem_maturity.yaml` | Maintained semantic review and primary theorem for every topic | | `formalism_novelty.yaml` | Maintained novelty contract for expansion rows and their required composition bridges | @@ -16,15 +16,15 @@ Authoritative fields live in the checked-in file. Highlights: - `project.version` should match `pyproject.toml` and `manuscript/config.yaml`. -- `hermes.*` is loaded by `HermesConfig.from_settings()` in `fep_lean/llm/hermes.py` (env overrides apply). -- SQLite state uses `resolve_gauss_home()` in `fep_lean/gauss/client.py`: +- `hermes.*` is loaded by `HermesConfig.from_settings()` in `fep_formal/llm/hermes.py` (env overrides apply). +- SQLite state uses `resolve_gauss_home()` in `fep_formal/gauss/client.py`: `GAUSS_HOME` takes precedence over checkout `gauss.home`, then the caller's default. Hermes separately reads allowlisted keys from the environment or `$GAUSS_HOME/.env` (`~/.gauss/.env` when unset), independently of the checkout `gauss.home` setting. See [configuration](../docs/configuration.md) and [OpenGauss](../docs/opengauss.md) for those distinct resolution paths. -- `output.root` belongs to `resolve_output_root()` in `fep_lean/_paths.py`. - An explicit API `output_root` takes precedence over `FEP_LEAN_OUTPUT_ROOT`, +- `output.root` belongs to `resolve_output_root()` in `fep_formal/_paths.py`. + An explicit API `output_root` takes precedence over `FEP_FORMAL_OUTPUT_ROOT`, the checkout setting and the default. Methods projection `--output-root` selects its own export destination; ordinary catalogue/run commands use the environment or checkout setting. @@ -36,23 +36,23 @@ configuration identifiers remain as declared in their owners. ```bash # From the project root; explicit offline artifact generation -FEP_LEAN_OUTPUT_ROOT=/tmp/fep-formal-catalogue uv run fep-lean catalogue +FEP_FORMAL_OUTPUT_ROOT=/tmp/fep-formal-catalogue uv run fep-formal catalogue ``` ## topics.yaml — Topic format The complete row fields and validation rules live in -[`schema.py`](../src/fep_lean/catalogue/schema.py), -[`semantics.py`](../src/fep_lean/catalogue/semantics.py) and -[`topics.py`](../src/fep_lean/catalogue/topics.py). The generated `lean_sketch` +[`schema.py`](../src/fep_formal/catalogue/schema.py), +[`semantics.py`](../src/fep_formal/catalogue/semantics.py) and +[`topics.py`](../src/fep_formal/catalogue/topics.py). The generated `lean_sketch` field keeps its compatibility name; its content comes from canonical topic bodies. Compilation maturity and semantic disposition remain separate fields. Do not hand-edit generated topic rows. Edit `catalogue_metadata.yaml`, `theorem_maturity.yaml`, the applicable `formalism_novelty.yaml` row, or the -appropriate module under `src/fep_lean/catalogue/bodies/`, then run the -generator and its `--check` mode. `src/fep_lean/catalogue/registry.py` is the -validated merger; `src/fep_lean/catalogue/latex.py` derives theorem +appropriate module under `src/fep_formal/catalogue/bodies/`, then run the +generator and its `--check` mode. `src/fep_formal/catalogue/registry.py` is the +validated merger; `src/fep_formal/catalogue/latex.py` derives theorem signatures. `formalism_relations.yaml` is independent maintained review data. Its diff --git a/config/SPEC.md b/config/SPEC.md index 15f59c44..aa21decf 100644 --- a/config/SPEC.md +++ b/config/SPEC.md @@ -15,7 +15,7 @@ inputs. It does not contain executable code. | `topics.yaml` | Generated join; never an authoring source | Canonical Lean bodies live in family modules under -`src/fep_lean/catalogue/bodies/`. The validated `registry.py` merger and +`src/fep_formal/catalogue/bodies/`. The validated `registry.py` merger and `latex.py` theorem-signature projection join them with the maintained topic inputs and write both checkout and package-data YAML. @@ -49,4 +49,4 @@ Follow the generator ownership in [README.md](README.md) and use the [root required-check inventory](../AGENTS.md#required-checks). A generator write pass is an explicit owner update; its `--check` mode inspects drift without repairing it. Packaged methods resources have the separate owner mapping in -[the data guide](../src/fep_lean/data/README.md). +[the data guide](../src/fep_formal/data/README.md). diff --git a/config/catalogue_metadata.yaml b/config/catalogue_metadata.yaml index 45dc1ce9..1881d1af 100644 --- a/config/catalogue_metadata.yaml +++ b/config/catalogue_metadata.yaml @@ -1,5 +1,5 @@ # Maintained schema-2 roster seal and topic metadata. -# Canonical Lean bodies live in fep_lean.catalogue.bodies. +# Canonical Lean bodies live in fep_formal.catalogue.bodies. schema_version: 2 roster: first_id: fep-001 diff --git a/config/settings.yaml b/config/settings.yaml index 7a102676..7660ed73 100644 --- a/config/settings.yaml +++ b/config/settings.yaml @@ -1,7 +1,7 @@ -# Runtime configuration for the standalone fep_lean verifier. +# Runtime configuration for the standalone fep_formal verifier. project: - name: fep_lean + name: fep_formal version: "2.1.0" description: "FEP / Active Inference / Bayesian Mechanics Lean4 catalog" diff --git a/config/theorem_maturity.yaml b/config/theorem_maturity.yaml index ca45d609..ef21fc0f 100644 --- a/config/theorem_maturity.yaml +++ b/config/theorem_maturity.yaml @@ -1,7 +1,7 @@ # Maintained semantic review of catalog theorem proxies. schema_version: 2 review_date: '2026-10-19' -native_evidence: A validated receipt from uv run fep-lean verify --fail-on-warnings +native_evidence: A validated receipt from uv run fep-formal verify --fail-on-warnings establishes exact-source native compilation only; it does not establish the semantic disposition below or a full Hermes/OpenGauss run. status_policy: Any semantic disposition or mathlib_status change requires exact theorem diff --git a/config/topics.yaml b/config/topics.yaml index 5b7ff103..624ff416 100644 --- a/config/topics.yaml +++ b/config/topics.yaml @@ -2,7 +2,7 @@ # Each topic maps to one OpenGauss session when workflows are enabled. # Regenerate: uv run python scripts/_maint_build_topics_catalogue.py # Fields include compile maturity and a separately reviewed semantic disposition. -# `latex_equations` is generated from fep_lean.catalogue.registry; do not edit it here. +# `latex_equations` is generated from fep_formal.catalogue.registry; do not edit it here. # Manuscript rendering consumes those same generated equation signatures. schema_version: 2 diff --git a/docs/AGENTS.md b/docs/AGENTS.md index 848d81ed..eb801d29 100644 --- a/docs/AGENTS.md +++ b/docs/AGENTS.md @@ -4,8 +4,8 @@ All documentation is local to this checkout. Keep links relative to the file that owns them, keep toolchain/model claims synchronized with the canonical configuration, and mark generated values as generated data. -Use FEP_Formal for the current project name. Preserve `fep_lean` imports, -`fep-lean` commands and other real interface identifiers; dated reviews and +Use FEP_Formal for the current project name. Preserve `fep_formal` imports, +`fep-formal` commands and other real interface identifiers; dated reviews and coordinated mirror contracts retain their recorded source epoch. The [repository contract](../AGENTS.md#required-checks) owns the complete check @@ -28,7 +28,7 @@ The root [`README.md`](../README.md) is authoritative. Its editing the root README, never hand-edit the mirror. The default `--include-root` link check refuses a missing or stale mirror. -Use `uv run fep-lean catalogue` to materialize manuscript variables and the +Use `uv run fep-formal catalogue` to materialize manuscript variables and the unified appendix before checking manuscript cross-references. `formalism-coverage.*`, `formalism-atlas.*`, and diff --git a/docs/README.md b/docs/README.md index d5284d47..f7f94f10 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,8 +1,10 @@ # Documentation map -FEP_Formal is the project name. The installed Python namespace remains -`fep_lean`, and the command remains `fep-lean`. +FEP_Formal is the project name. The installed Python namespace is +`fep_formal`, and the command is `fep-formal`. +- [Identity migration](identity-migration.md) — canonical names, deprecated compatibility, source custody and release transition. +- [Identity migration status](identity-migration-status.md) — measured checks, retained failures and outstanding acceptance. - [Mathematical methods](mathematical-methods.md) — portable topic contracts, research context and mathematical transfer rules. - [Support-aware variational methods](support-aware-variational-methods.md) — sparse Gibbs optimization, finite-path marginals, reversible KL drop and numerical API boundaries. - [Mathematical positioning explorer](mathematical-positioning/mathematical-map.html) — offline searchable contracts, typed associations and numerical boundary panels. @@ -61,7 +63,7 @@ were written; current evidence lives in the generated reports above. - [Relations endpoint adjudication](relations-endpoint-adjudication.md) — coverage-gate verdict on the reviewed-primary-qualified endpoint rule. All paths in this directory resolve within this repository. Catalog-derived -manuscript inputs are created by `uv run fep-lean catalogue`; coverage, atlas, +manuscript inputs are created by `uv run fep-formal catalogue`; coverage, atlas, dashboard, and manuscript-render checks each retain a separate freshness gate. The [repository execution contract](../AGENTS.md) owns the required checks. diff --git a/docs/SPEC.md b/docs/SPEC.md index 529a9d3d..1a87654c 100644 --- a/docs/SPEC.md +++ b/docs/SPEC.md @@ -1,11 +1,11 @@ # Documentation specification Documentation is self-contained within this checkout and must describe the -current FEP_Formal project, `fep-lean` CLI and `fep_lean` package contract. +current FEP_Formal project, `fep-formal` CLI and `fep_formal` package contract. Project branding must not rename actual imports, commands, environment variables, serialized keys or historical mirror identities. Every relative link must resolve from its owning Markdown file. Generated manuscript inputs are materialized by -`uv run fep-lean catalogue` before cross-reference validation. +`uv run fep-formal catalogue` before cross-reference validation. The [root required-check inventory](../AGENTS.md#required-checks) owns the complete command list, including strict root-inclusive links and Markdown diff --git a/docs/api.md b/docs/api.md index 4ef5cd3e..d31debce 100644 --- a/docs/api.md +++ b/docs/api.md @@ -3,20 +3,20 @@ **Version:** 1.6.0 **Last reviewed:** 2026-10-19 -FEP_Formal's installed distribution exposes one root namespace, `fep_lean`. +FEP_Formal's installed distribution exposes one root namespace, `fep_formal`. Generic top-level names such as `catalogue`, `pipeline`, and `output` are not packages and have no compatibility aliases. The root package re-exports the stable -operator-facing types and functions listed in `fep_lean.__all__`; direct +operator-facing types and functions listed in `fep_formal.__all__`; direct submodule imports make ownership clearest in application code. This page documents contracts, not every private helper. Runtime annotations -and docstrings in `src/fep_lean/` are the executable signature source, and the +and docstrings in `src/fep_formal/` are the executable signature source, and the distribution tests pin the installed import and console-script boundary. ## Catalog ```python -from fep_lean.catalogue import FEPTopicCatalogue, TopicEntry +from fep_formal.catalogue import FEPTopicCatalogue, TopicEntry catalogue = FEPTopicCatalogue.default() assert catalogue.topics[0].id == "fep-001" @@ -51,7 +51,7 @@ verification success. The maintainer-facing catalog API also exports: ```python -from fep_lean.catalogue import ( +from fep_formal.catalogue import ( load_catalogue_metadata, load_formalism_graph, load_formalism_novelty, @@ -72,12 +72,12 @@ The metadata, semantic review and relation sources remain authored in the checkout. The methods module packages byte-identical generated copies for portable mathematical inspection; novelty remains a checkout authoring input. These low-level loaders still take explicit paths. The portable default is the -validated `fep_lean.methods` join documented below. +validated `fep_formal.methods` join documented below. ## Mathematical methods ```python -from fep_lean.methods import ( +from fep_formal.methods import ( build_mathematical_positioning, inspect_topic, analyze_topic, @@ -106,7 +106,7 @@ For an installed wheel with an independent file-integrity check, use the same immutable query type through the narrower entry point: ```python -from fep_lean.methods import load_packaged_formalism_query, inspect_topic +from fep_formal.methods import load_packaged_formalism_query, inspect_topic query = load_packaged_formalism_query() contract = inspect_topic(query, "fep-001") @@ -133,7 +133,7 @@ acceptance retain their separate validators. The development checkout adds four reusable finite numerical methods: ```python -from fep_lean.methods import ( +from fep_formal.methods import ( finite_expectation, log_partition, exponential_tilt, @@ -155,7 +155,7 @@ supported log-domain scaling, true support failure and optimizer underflow. ## Pipeline ```python -from fep_lean.pipeline import FEPPipeline, run_pipeline, run_single_topic +from fep_formal.pipeline import FEPPipeline, run_pipeline, run_single_topic offline = run_pipeline(mode="catalogue") native_candidate = FEPPipeline(project_root).run( @@ -209,7 +209,7 @@ empty fail during catalog loading, before capability checks, provider calls or artifact writes. Omitting both filters selects the full catalog. The explicit `output_root` argument takes precedence over a nonblank -`FEP_LEAN_OUTPUT_ROOT`, then `output.root` settings, then `project_root/output`. +`FEP_FORMAL_OUTPUT_ROOT`, then `output.root` settings, then `project_root/output`. The [configuration guide](configuration.md) defines relative-path semantics. Validation, figures, reports and run-bound manuscript evidence use that same selected root; the paired authored projections remain under `manuscript/`. @@ -217,7 +217,7 @@ selected root; the paired authored projections remain under `manuscript/`. ## Native Lean verification ```python -from fep_lean.verification import LeanVerifier, VerifyResult +from fep_formal.verification import LeanVerifier, VerifyResult verifier = LeanVerifier(project_root=project_root) result = verifier.verify_sketch(topic.id, topic.lean_sketch) @@ -232,7 +232,7 @@ workspace. Environment validation is read-only: ```python -from fep_lean import run_validation_checks +from fep_formal import run_validation_checks catalogue_checks = run_validation_checks(project_root, mode="catalogue") full_checks = run_validation_checks( @@ -240,13 +240,13 @@ full_checks = run_validation_checks( ) ``` -Dependency acquisition belongs to the explicit `fep-lean setup` command, not +Dependency acquisition belongs to the explicit `fep-formal setup` command, not to validation or package import. The declaration/axiom audit is a separate native evidence surface: ```python -from fep_lean.verification import ( +from fep_formal.verification import ( run_formalism_audit, write_formalism_audit_receipt, ) @@ -266,7 +266,7 @@ timeouts, or `sorryAx`. ## Evidence receipts ```python -from fep_lean.output import ( +from fep_formal.output import ( validate_native_lean_receipt, validate_report_receipt, ) @@ -302,7 +302,7 @@ full-mode bundles. ## Manuscript and reports ```python -from fep_lean.output import ( +from fep_formal.output import ( Reporter, build_manuscript_vars, manuscript_projection_drift, @@ -334,7 +334,7 @@ bundle before making evidence claims. ## Formalism atlas ```python -from fep_lean.output import ( +from fep_formal.output import ( atlas_projection_drift, build_formalism_atlas, render_formalism_atlas_html, @@ -356,7 +356,7 @@ assets, and the HTML includes keyboard interaction and complete tables. ## Formal-kernel dashboard ```python -from fep_lean.output import ( +from fep_formal.output import ( build_formal_kernel_dashboard, formal_kernel_dashboard_drift, render_formal_kernel_dashboard_html, @@ -386,12 +386,12 @@ numerical checks, not theorem or empirical-evidence receipts. ## Hermes and OpenGauss -`fep_lean.llm` exports `HermesConfig`, `HermesExplainer`, `HermesResult`, and +`fep_formal.llm` exports `HermesConfig`, `HermesExplainer`, `HermesResult`, and `HermesAPIError`. Configuration is loaded from environment and the canonical settings file; model names and fallbacks should be read from live configuration rather than copied into API documentation. -`fep_lean.gauss` exports `OpenGaussClient`, `SessionRecord`, `GaussRunner`, and +`fep_formal.gauss` exports `OpenGaussClient`, `SessionRecord`, `GaussRunner`, and `TopicRunResult`. The client owns SQLite sessions, turns, artifacts, structured events, and Hermes-result caching. The runner owns one topic's Hermes, Lean, and session lifecycle and always records whether the verified sketch was native @@ -403,13 +403,13 @@ provider. ## Readiness snapshots -The root and `fep_lean.output` export the same frozen `SectionReport`, +The root and `fep_formal.output` export the same frozen `SectionReport`, `PublicationReadinessReport` and `StatusReport` types, owned by -`fep_lean.output.evidence`. The public builder composes existing validators: +`fep_formal.output.evidence`. The public builder composes existing validators: ```python from pathlib import Path -from fep_lean import build_status_report, report_to_json +from fep_formal import build_status_report, report_to_json root = Path("/path/to/fep_formal") snapshot = build_status_report(root, gnn_root=None) @@ -423,7 +423,7 @@ nested publication report distinguishes static currency from runtime execution and two-archive parity; static all-green results remain unverified. The CLI serializes this same snapshot. New input-stability records name the public -`fep_lean.output.release_bundle.publication_input_snapshot` owner; historical +`fep_formal.output.release_bundle.publication_input_snapshot` owner; historical receipts keep their original provenance. The release owner also exposes `inspect_stored_publication_evidence(root, plane)` @@ -437,8 +437,8 @@ render work; it preserves publication files. ## Explicit caller roots and native operations ```python -from fep_lean import project_root_context -from fep_lean.verification import setup_workspace, verify_catalogue +from fep_formal import project_root_context +from fep_formal.verification import setup_workspace, verify_catalogue with project_root_context(root): snapshot = build_status_report(root) @@ -458,7 +458,7 @@ verify_exit = outcome.exit_code ``` Project-root precedence is explicit CLI `--project-root`, then caller context, -then `FEP_LEAN_PROJECT_ROOT`, then the package checkout fallback. The context +then `FEP_FORMAL_PROJECT_ROOT`, then the package checkout fallback. The context resets on exit or error and does not mutate the process environment. It applies to the current execution context; pass roots explicitly to new threads and OS processes. The capture owner explicitly projects the caller root into a @@ -472,7 +472,7 @@ acquisition and native compilation. ## Operational errors -`FepLeanError` is publicly importable from `fep_lean`. All 24 package-defined +`FepLeanError` is publicly importable from `fep_formal`. All 24 package-defined exception types share that base. Their existing standard-library ancestry is preserved: for example, `ContinuousArtifactError` remains a `ValueError`, while `ArtifactProofError` remains an `Exception` without becoming a `ValueError`. @@ -497,23 +497,23 @@ as one parseable JSON object on stdout. Its final success line is unchanged. ## Command-line API -The installed console script is `fep-lean`. The +The installed console script is `fep-formal`. The [CLI reference](cli-reference.md) owns the command inventory and command-specific write, exit-status and evidence boundaries, including bridge, custody, methods -and publication capture. Use `fep-lean --help` for the installed parser surface. +and publication capture. Use `fep-formal --help` for the installed parser surface. The wheel provides imports, packaged catalog and manifested formal resources, and CLI help independently. The portable `methods` commands use installed resources or numerical inputs; other substantive operator commands require a complete source checkout because configuration, the Lean workspace, manuscript inputs, and output ownership are intentionally not duplicated into the wheel. Invoke -`fep-lean --project-root /path/to/fep_formal COMMAND` outside that checkout. +`fep-formal --project-root /path/to/fep_formal COMMAND` outside that checkout. `review` is a two-turn workflow: refinement, compilation, then prose-only review of the exact compiled source; either provider turn can fail the result. -There is no separate `fep-lean-preflight` entry point. Use `fep-lean preflight` +There is no separate `fep-formal-preflight` entry point. Use `fep-formal preflight` so every operator command shares the same project-root and logging contract. -`fep-lean status` is read-only: it composes the existing fail-closed checks +`fep-formal status` is read-only: it composes the existing fail-closed checks into one evidence-currency report and exits 0 whenever the report composes. See the status section in [CLI reference](cli-reference.md) for each section's capability boundary. @@ -523,9 +523,9 @@ exit interpretation for the inspection and execution paths. ## GNN bridge -`fep_lean.bridge` exposes the cross-repo operations surface (contract v0.6): +`fep_formal.bridge` exposes the cross-repo operations surface (contract v0.6): -- CLI: `fep-lean bridge {status,pin,emit,certify,verify-certificate,verify-document} --gnn-root PATH`. +- CLI: `fep-formal bridge {status,pin,emit,certify,verify-certificate,verify-document} --gnn-root PATH`. - Python: `status`, `pin_sources`, `check_sources`, `emit`, `certificate_receipt`, `emit_certificate`, `validate_certificate`, `verify_document`. @@ -536,26 +536,26 @@ exit interpretation for the inspection and execution paths. The source-custody pin (`specs/gnn-bridge-w2-source-custody/source-pin.json`) seals owner bytes on both sides. The GNN owner-roster glob is `src/gnn/**/*.py` plus `src/gnn/main.py`; the pin JSON shape is -`{"schema_version": 1, "fep_lean": {"commit", "owners"}, "gnn": {"commit", "owners"}}`. +`{"schema_version": 1, "fep_formal": {"commit", "owners"}, "gnn": {"commit", "owners"}}`. `verify-document --document PATH` extracts one emitted document through the pinned render route (`gnn.extract.pomdp_extractor.extract_pomdp_from_file`, strict validation) and decides `FEP.GnnDocument.documentWellFormed` in a compile-once Lean probe. Receipt schema: `{"schema_version": 2, "document", "model_family", "extracted_family", "toolchain", "status", "warnings"}`. -The additive `fep_lean.bridge.operations.semantic_witness_audit` operation +The additive `fep_formal.bridge.operations.semantic_witness_audit` operation accepts a retained `gnn-semantic-witness-v2` JSON artifact and emits the `fep-semantic-witness-audit-v1` record. The CLI entry point is -`fep-lean bridge audit-semantic --gnn-root PATH --results WITNESS.json`; +`fep-formal bridge audit-semantic --gnn-root PATH --results WITNESS.json`; `--receipt NEW.json` is an explicit optional write. Independent numerical replay, current owner hashes, formal references and pair currency remain separate from execution authentication and native proof. The -[bridge module guide](../src/fep_lean/bridge/README.md#independent-semantic-audit) +[bridge module guide](../src/fep_formal/bridge/README.md#independent-semantic-audit) owns the admitted source subset, limits and refusal boundaries. ## Formal Lean modules -The `fep_lean.formal` namespace carries the bridge's typed surface: +The `fep_formal.formal` namespace carries the bridge's typed surface: - `FEP.GnnDocument` — `GnnSectionKind` (frozen 13-kind inventory in canonical rank order), `GnnDocument`, `documentWellFormed`, and `WellFormed` @@ -569,7 +569,7 @@ Compile with the committed workspace: `lean/` (Lake + Mathlib4); see ## Stability boundary -- Stable: the `fep_lean` root namespace, documented exports, CLI command names, +- Stable: the `fep_formal` root namespace, documented exports, CLI command names, stable topic IDs, and receipt validators. - Versioned data: generated catalog rows, semantic dispositions, formalism relations, and receipt schemas. diff --git a/docs/architecture.md b/docs/architecture.md index 09a8721c..7a9f6990 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -22,7 +22,7 @@ flowchart TD X --> W[deterministic numerical witness dashboard] ``` -FEP_Formal's installable `fep_lean` namespace separates these responsibilities: +FEP_Formal's installable `fep_formal` namespace separates these responsibilities: - `catalogue` validates YAML and source parity; - `formal` packages the manifested foundations and leaf cross-topic @@ -37,8 +37,8 @@ FEP_Formal's installable `fep_lean` namespace separates these responsibilities: deterministic artifacts, and full-run manifests; - `pipeline` enforces the `full`/`catalogue` execution contract. -`src/fep_lean/cli.py` is the only public command surface. Canonical Lean bodies -live in family modules under `src/fep_lean/catalogue/bodies/`; the validated +`src/fep_formal/cli.py` is the only public command surface. Canonical Lean bodies +live in family modules under `src/fep_formal/catalogue/bodies/`; the validated registry merges them and `latex.py` projects theorem signatures. The checkout/package YAML pair, aggregate Lean file, formal-module workspace copies, semantic audit, coverage map, formalism atlas, and formal-kernel diff --git a/docs/authorship-guide.md b/docs/authorship-guide.md index e356e85a..39c60087 100644 --- a/docs/authorship-guide.md +++ b/docs/authorship-guide.md @@ -27,7 +27,7 @@ Update the relevant rows in: 1. `config/catalogue_metadata.yaml` for title, area, import hint, or syntactic maturity; 2. `config/theorem_maturity.yaml` for semantic scope and primary theorem; -3. the matching family module under `src/fep_lean/catalogue/bodies/` for the +3. the matching family module under `src/fep_formal/catalogue/bodies/` for the canonical Lean body. `registry.py` validates the body and `latex.py` derives theorem signatures. @@ -46,14 +46,14 @@ lake env lean /absolute/path/to/scratch.lean For the maintained row: ```bash -uv run fep-lean verify --topic fep-NNN --fail-on-warnings +uv run fep-formal verify --topic fep-NNN --fail-on-warnings ``` If the new statement introduces a normalized carrier or law that multiple topics should share, place it in the relevant canonical module under -`src/fep_lean/formal/`. If it genuinely consumes declarations from multiple +`src/fep_formal/formal/`. If it genuinely consumes declarations from multiple stable topic namespaces, place it in the appropriate manifested leaf under -`src/fep_lean/formal/compositions/` and add its novelty/relation evidence. +`src/fep_formal/formal/compositions/` and add its novelty/relation evidence. `composed.lean` is an import-only aggregate. Follow the ownership, support-assumption, and dependency rules in [formal-kernel methods](formal-kernel-methods.md); do not manufacture a formal @@ -67,8 +67,8 @@ uv run python scripts/_maint_build_fep_all_lean.py uv run python scripts/_maint_build_formal_modules.py uv run python scripts/theorem_maturity_audit.py uv run python scripts/build_formalism_coverage.py -uv run fep-lean atlas -uv run fep-lean dashboard +uv run fep-formal atlas +uv run fep-formal dashboard ``` These commands update the checkout/package catalog pair, whole-catalog @@ -103,7 +103,7 @@ uv run pytest \ tests/test_manuscript_references.py \ -q --no-cov uv run python docs/theorem_ref_audit.py -uv run fep-lean catalogue +uv run fep-formal catalogue uv run python scripts/render_manuscript.py --check ``` diff --git a/docs/check_coverage_floors.py b/docs/check_coverage_floors.py index 89cfc189..18b23d6e 100644 --- a/docs/check_coverage_floors.py +++ b/docs/check_coverage_floors.py @@ -19,7 +19,7 @@ from typing import Any PROJECT_ROOT = Path(__file__).resolve().parents[1] -_PACKAGE = re.compile(r"fep_lean(?:\.[A-Za-z_][A-Za-z_0-9]*)*\Z") +_PACKAGE = re.compile(r"(?:fep_formal(?:\.[A-Za-z_][A-Za-z_0-9]*)*|fep_lean)\Z") _INTEGER = re.compile(r"(?:0|[1-9][0-9]{0,9})\Z") diff --git a/docs/check_links.py b/docs/check_links.py index c37224a2..d9ff824a 100644 --- a/docs/check_links.py +++ b/docs/check_links.py @@ -589,4 +589,4 @@ def main() -> int: if __name__ == "__main__": sys.exit(main()) -# Integrated into validation via `infrastructure.validation.cli` and the fep_lean pipeline. +# Integrated into validation via `infrastructure.validation.cli` and the fep_formal pipeline. diff --git a/docs/check_orphan_compiles.py b/docs/check_orphan_compiles.py index 3faaf133..5dc58995 100755 --- a/docs/check_orphan_compiles.py +++ b/docs/check_orphan_compiles.py @@ -7,11 +7,11 @@ CI's lean job builds the Lake workspace projection (``lake build FepSketches`` with ``globs := #[.andSubmodules 'FepSketches]`` in ``lean/lakefile.lean``). Those are the projected bytes under -``lean/FepSketches/``. The canonical sources under ``src/fep_lean/formal/`` +``lean/FepSketches/``. The canonical sources under ``src/fep_formal/formal/`` are never compiled as files by any CI step, and the serial_lean lane's opt-in compile probes are topic-driven, not module-driven. Commit b5e6a9d narrowed ``finite_probability``'s imports and broke the orphaned -``src/fep_lean/formal/posterior_convergence.lean`` without any gate +``src/fep_formal/formal/posterior_convergence.lean`` without any gate compiling it; b85cfe0 fixed the break and this gate closes the gap. Orphan definition @@ -23,7 +23,7 @@ ``scripts/_maint_build_lean_landscape.py::_workspace_imports`` (first token after ``import``; only ``FepSketches.*`` targets are followed), and dotted names mirror to canonical resources the way -``src/fep_lean/formal/manifest.py`` validates, e.g. +``src/fep_formal/formal/manifest.py`` validates, e.g. ``FepSketches.compositions.core`` -> ``compositions/core.lean``. An import without a canonical mirror (the generated ``FepSketches.fep_all`` aggregate itself) is a closure leaf. @@ -31,7 +31,7 @@ Check ----- -Only the top level of ``src/fep_lean/formal/`` is enumerated; the +Only the top level of ``src/fep_formal/formal/`` is enumerated; the composition leaves under ``formal/compositions/`` are workspace build targets reached through ``composed.lean``. Each orphan's canonical file is compiled with ``lake env lean`` from the ``lean/`` directory: no olean is @@ -63,7 +63,7 @@ from pathlib import Path PROJECT_ROOT = Path(__file__).resolve().parent.parent -FORMAL_DIR = Path("src") / "fep_lean" / "formal" +FORMAL_DIR = Path("src") / "fep_formal" / "formal" FEP_ALL_PATH = Path("lean") / "FepSketches" / "fep_all.lean" LEAN_DIR = Path("lean") WORKSPACE_PREFIX = "FepSketches." diff --git a/docs/cli-reference.md b/docs/cli-reference.md index 40c217a5..8f8f9b3d 100644 --- a/docs/cli-reference.md +++ b/docs/cli-reference.md @@ -1,28 +1,28 @@ # CLI reference -The only public command is `fep-lean`. +The only public command is `fep-formal`. `methods` supports portable installed resources and numerical inputs without a checkout. The other substantive commands are source-checkout-bound and reject a `site-packages` ancestor or incomplete directory with a structured error. Use -`fep-lean --project-root /path/to/fep_formal COMMAND` when the current process is +`fep-formal --project-root /path/to/fep_formal COMMAND` when the current process is outside the checkout. ```text -fep-lean setup Acquire and build the pinned Lean workspace. -fep-lean preflight Run read-only full-mode capability checks. -fep-lean verify Compile canonical catalogue bodies with Lean only. -fep-lean catalogue Generate deterministic offline artifacts. -fep-lean atlas Generate or drift-check the offline formalism atlas. -fep-lean dashboard Generate or drift-check finite numerical witnesses. -fep-lean run Execute Hermes, Lean, and SQLite verification. -fep-lean topic ID Execute one topic in full mode. -fep-lean report Generate the offline catalogue report. -fep-lean bridge Inspect, pin, emit, certify, or verify GNN bridge custody. -fep-lean status Read-only evidence-currency report over existing checks. -fep-lean methods Analyze portable mathematical contracts and visualizations. -fep-lean custody Census, staged apply and guarded custody refresh. -fep-lean publication-capture Plan or run bounded publication evidence capture. +fep-formal setup Acquire and build the pinned Lean workspace. +fep-formal preflight Run read-only full-mode capability checks. +fep-formal verify Compile canonical catalogue bodies with Lean only. +fep-formal catalogue Generate deterministic offline artifacts. +fep-formal atlas Generate or drift-check the offline formalism atlas. +fep-formal dashboard Generate or drift-check finite numerical witnesses. +fep-formal run Execute Hermes, Lean, and SQLite verification. +fep-formal topic ID Execute one topic in full mode. +fep-formal report Generate the offline catalogue report. +fep-formal bridge Inspect, pin, emit, certify, or verify GNN bridge custody. +fep-formal status Read-only evidence-currency report over existing checks. +fep-formal methods Analyze portable mathematical contracts and visualizations. +fep-formal custody Census, staged apply and guarded custody refresh. +fep-formal publication-capture Plan or run bounded publication evidence capture. ``` ## Failure envelope @@ -64,7 +64,7 @@ formal/execution boundaries are retained in `fep-semantic-witness-audit-v1`. This additive operation is separate from the contract-v0.6 emission and document-verification surface. It does not execute supplied programs or re-pin historical custody. See the -[semantic audit contract](../src/fep_lean/bridge/README.md#independent-semantic-audit). +[semantic audit contract](../src/fep_formal/bridge/README.md#independent-semantic-audit). `status` composes the existing fail-closed checks into one read-only evidence-currency report: catalog projection drift, render-receipt @@ -175,15 +175,15 @@ limits or prohibition on resume. ## Portable mathematical methods ```bash -fep-lean methods inspect --topic fep-001 -fep-lean methods inspect --family core-information-geometry -fep-lean methods neighbors core-information-geometry --limit 5 -fep-lean methods probe -fep-lean methods analyze fep-001 -fep-lean methods theorem fep_fep001.FEP001.fep001_variationalUpperBound_eq_iff -fep-lean methods embedding -fep-lean methods export --output-root ./mathematical-methods -fep-lean methods check --output-root ./mathematical-methods +fep-formal methods inspect --topic fep-001 +fep-formal methods inspect --family core-information-geometry +fep-formal methods neighbors core-information-geometry --limit 5 +fep-formal methods probe +fep-formal methods analyze fep-001 +fep-formal methods theorem fep_fep001.FEP001.fep001_variationalUpperBound_eq_iff +fep-formal methods embedding +fep-formal methods export --output-root ./mathematical-methods +fep-formal methods check --output-root ./mathematical-methods ``` These commands work from the installed wheel without checkout markers. An @@ -198,7 +198,7 @@ mathematical transfer rules. The development checkout also provides arbitrary-input Gibbs diagnostics: ```bash -fep-lean methods gibbs \ +fep-formal methods gibbs \ --candidate '[0.5, 0.5]' \ --reference '[0.5, 0.5]' \ --potential '[0.0, -1000.0]' diff --git a/docs/cold-start-and-cleanup.md b/docs/cold-start-and-cleanup.md index bc421366..05e83ca8 100644 --- a/docs/cold-start-and-cleanup.md +++ b/docs/cold-start-and-cleanup.md @@ -12,11 +12,11 @@ These paths are source or tracked generated projections: - `config/theorem_maturity.yaml` - `config/formalism_novelty.yaml` - `config/formalism_relations.yaml` -- `src/fep_lean/catalogue/bodies/*.py`, `registry.py`, and `latex.py` -- `config/topics.yaml` and `src/fep_lean/data/topics.yaml` +- `src/fep_formal/catalogue/bodies/*.py`, `registry.py`, and `latex.py` +- `config/topics.yaml` and `src/fep_formal/data/topics.yaml` - `lean/lakefile.lean`, `lean/lean-toolchain`, and `lean/lake-manifest.json` - `lean/FepSketches/fep_all.lean` -- canonical manifested `src/fep_lean/formal/**/*.lean` modules and their +- canonical manifested `src/fep_formal/formal/**/*.lean` modules and their tracked `lean/FepSketches/` projections - `docs/formalism-coverage.json` and `docs/formalism-coverage.md` - `docs/formalism-atlas.svg`, `docs/formalism-atlas.html`, @@ -34,7 +34,7 @@ Before cleanup, inspect the exact state: ```bash git status --short --branch git status --ignored --short -git ls-files lean/FepSketches config src/fep_lean/data +git ls-files lean/FepSketches config src/fep_formal/data ``` ## Reproducible checkout-local state @@ -46,12 +46,12 @@ removal. | Path | Contents | Reproducer | | --- | --- | --- | | `output/` | figures, rendered manuscript, native receipts, run reports | relevant CLI command below | -| `manuscript/manuscript_vars.yaml` | generated typed variable projection | `fep-lean catalogue` | -| `manuscript/09z_unified_formalism_catalogue.md` | generated Lean and equation appendix | `fep-lean catalogue` | +| `manuscript/manuscript_vars.yaml` | generated typed variable projection | `fep-formal catalogue` | +| `manuscript/09z_unified_formalism_catalogue.md` | generated Lean and equation appendix | `fep-formal catalogue` | | `.pytest_cache/`, `.coverage`, `htmlcov/` | test metadata and coverage output | coverage gate | | `build/`, `dist/`, `*.egg-info/` | Python build output | `uv build` or `uv sync` | | `__pycache__/` | interpreter bytecode | Python import | -| `lean/.lake/` | pinned dependency checkout and compiled Lake cache | `fep-lean setup` | +| `lean/.lake/` | pinned dependency checkout and compiled Lake cache | `fep-formal setup` | `output/reports/` may contain the only copy of a full-run receipt. Deleting it requires preserving that evidence first; repeating the provider-backed run @@ -74,9 +74,9 @@ uv run python scripts/_maint_build_formal_modules.py --check uv run python scripts/theorem_maturity_audit.py --check uv run python scripts/build_formalism_coverage.py --check uv run python scripts/_maint_build_lean_landscape.py --check -uv run fep-lean atlas --check -uv run fep-lean dashboard --check -uv run fep-lean catalogue +uv run fep-formal atlas --check +uv run fep-formal dashboard --check +uv run fep-formal catalogue uv run python scripts/render_manuscript.py --check uv run python scripts/render_manuscript.py --output-dir output/manuscript ``` @@ -89,9 +89,9 @@ For a genuinely cold Lean workspace, use the bounded setup owner instead of manually manipulating `.lake` internals: ```bash -uv run fep-lean setup +uv run fep-formal setup (cd lean && lake build FepSketches) -uv run fep-lean verify --fail-on-warnings \ +uv run fep-formal verify --fail-on-warnings \ --receipt output/native-verification.json ``` diff --git a/docs/configuration.md b/docs/configuration.md index 7e4efc13..f5ffd2f9 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -7,35 +7,35 @@ Environment variables override secrets and operational limits. | --- | --- | | `gauss.home` / `GAUSS_HOME` | SQLite state, exported artifacts, and logs | | `gauss.default_model` | YAML policy value cross-checked against `hermes.model` by `docs/pin_audit.py`; not a runtime input. The separate `GAUSS_DEFAULT_MODEL` environment variable is a runtime model fallback. | -| Lean verification | Not settings-driven: a fixed full-mode pipeline stage (`Gauss Sessions`); catalog mode never verifies. `FEP_LEAN_VERIFY_TIMEOUT` bounds it | -| `output.root` / `FEP_LEAN_OUTPUT_ROOT` | Generated figures and reports root; explicit API argument wins, then a nonblank environment override, then settings, then `project_root/output` | -| `hermes.model` | Primary Hermes model: a nonempty `HERMES_MODEL` overrides YAML; a truthy YAML `hermes.model` wins over `GAUSS_DEFAULT_MODEL`; otherwise a nonempty `GAUSS_DEFAULT_MODEL` is used before the built-in default. See [`HermesConfig.from_settings`](../src/fep_lean/llm/hermes.py) | +| Lean verification | Not settings-driven: a fixed full-mode pipeline stage (`Gauss Sessions`); catalog mode never verifies. `FEP_FORMAL_VERIFY_TIMEOUT` bounds it | +| `output.root` / `FEP_FORMAL_OUTPUT_ROOT` | Generated figures and reports root; explicit API argument wins, then a nonblank environment override, then settings, then `project_root/output` | +| `hermes.model` | Primary Hermes model: a nonempty `HERMES_MODEL` overrides YAML; a truthy YAML `hermes.model` wins over `GAUSS_DEFAULT_MODEL`; otherwise a nonempty `GAUSS_DEFAULT_MODEL` is used before the built-in default. See [`HermesConfig.from_settings`](../src/fep_formal/llm/hermes.py) | | `hermes.fallback_models` | Ordered configured model chain; `HERMES_FALLBACK_MODELS` supplies a strict nonempty JSON list of exact model names | | `hermes.timeout_s` | Request deadline | | `hermes.cache_ttl_hours` | SQLite response-cache lifetime | Important environment variables include `OPENROUTER_API_KEY`, `ANTHROPIC_API_KEY`, `HERMES_API_BASE`, `HERMES_MODEL`, `HERMES_FALLBACK_MODELS`, -`FEP_LEAN_LAKE_EXE`, `FEP_LEAN_LEAN_EXE`, `FEP_LEAN_VERIFY_TIMEOUT`, -`FEP_LEAN_MAX_TOPICS`, and `FEP_LEAN_OUTPUT_ROOT`. +`FEP_FORMAL_LAKE_EXE`, `FEP_FORMAL_LEAN_EXE`, `FEP_FORMAL_VERIFY_TIMEOUT`, +`FEP_FORMAL_MAX_TOPICS`, and `FEP_FORMAL_OUTPUT_ROOT`. Project-root selection uses explicit CLI `--project-root`, then the current -`project_root_context(root)`, then `FEP_LEAN_PROJECT_ROOT`, then the installed +`project_root_context(root)`, then `FEP_FORMAL_PROJECT_ROOT`, then the installed package's checkout fallback. Context selection does not change `os.environ` and resets after errors. New threads and OS processes require explicit roots; the publication-capture owner copies its selected root into child environments. See [the public caller-root API](api.md#explicit-caller-roots-and-native-operations). Relative `output.root` settings are resolved from the project checkout. Relative -explicit API paths and `FEP_LEAN_OUTPUT_ROOT` paths retain their caller working +explicit API paths and `FEP_FORMAL_OUTPUT_ROOT` paths retain their caller working directory semantics. The selected output directory, or its nearest existing ancestor, must be writable and searchable. Capability inspection reads that exact target without creating directories; an occupied file or dangling link rejects. Authored manuscript projections remain paired under `manuscript/`; their run-bound evidence is selected from the resolved output root. -`fep-lean preflight` performs no download, build, database write, or report -write. Use `fep-lean setup` when dependency acquisition is required. +`fep-formal preflight` performs no download, build, database write, or report +write. Use `fep-formal setup` when dependency acquisition is required. Full-mode credential inspection uses the same allowlisted OpenGauss dotenv, process-environment precedence and endpoint-affinity rules as Hermes execution. @@ -55,19 +55,19 @@ API and must not be treated as synchronous fallback completions. ## Operator options, defaults and precedence -The global `fep-lean` options are `--project-root PATH` and `--verbose` +The global `fep-formal` options are `--project-root PATH` and `--verbose` (default false). Root and output precedence are defined above; select global options before the command. The render entry point is a script with its own -checkout root, rather than a `fep-lean render` verb. +checkout root, rather than a `fep-formal render` verb. | Operation | Public options and defaults | Selection and effects | | --- | --- | --- | -| `catalogue` | `--area` and repeated `--topic`; omitted filters select all topics | `FEP_LEAN_MAX_TOPICS` blank means unlimited; a positive integer bounds the selected set. Writes generated artifacts; no provider or native verification. Raster tools may run. | +| `catalogue` | `--area` and repeated `--topic`; omitted filters select all topics | `FEP_FORMAL_MAX_TOPICS` blank means unlimited; a positive integer bounds the selected set. Writes generated artifacts; no provider or native verification. Raster tools may run. | | `status` | Optional `--gnn-root PATH` | Read-only, process/provider-free composition. Omitted GNN leaves that side unverified. Exit 0 means composition, including stale or missing evidence. | | `verify` | `--area`, repeated `--topic`, optional `--receipt PATH`; `--fail-on-warnings` defaults false | Omitted filters select all topics. Empty/unknown selection refuses. Uses existing pinned Lean/Mathlib and temporary compiler probes; only an explicit receipt path requests a receipt write. | | `bridge` | Required operation and `--gnn-root`; `--model` defaults `finite`; `--check` and `--refresh-digests` are mutually exclusive and default false; `--results`, `--receipt`, `--document` default absent; `--fail-on-warnings` defaults false | Applicability is listed below and in the [support table](cli-reference.md#operator-support-and-exit-contracts). Inspection, emission, certificate checks and native document checks have distinct effects. | -| `run` | `--area`, repeated `--topic`; `--workflow` defaults `verify`, with `draft`, `prove`, `review` alternatives | Full-mode service checks, model policy, topic/output selection and `FEP_LEAN_MAX_TOPICS` apply. Calls providers, compiler, database and artifact owners. Catalog mode must be selected explicitly in the Python API. | -| `python scripts/render_publication.py` | Optional `--template`; `--accept-only`, `--skip-font-probe`, `--require-release-stamp` default false; `--lock-timeout` defaults 1800 seconds | Uses the script checkout. First valid template wins: explicit path, then nonblank `FEP_LEAN_TEMPLATE_DIR`. An invalid explicit path falls back to a valid environment path. Both invalid refuse. `DOCXOLOGY_RENDER_LOCK` selects the shared lock path. Acceptance remains required when the font probe is skipped. | +| `run` | `--area`, repeated `--topic`; `--workflow` defaults `verify`, with `draft`, `prove`, `review` alternatives | Full-mode service checks, model policy, topic/output selection and `FEP_FORMAL_MAX_TOPICS` apply. Calls providers, compiler, database and artifact owners. Catalog mode must be selected explicitly in the Python API. | +| `python scripts/render_publication.py` | Optional `--template`; `--accept-only`, `--skip-font-probe`, `--require-release-stamp` default false; `--lock-timeout` defaults 1800 seconds | Uses the script checkout. First valid template wins: explicit path, then nonblank `FEP_FORMAL_TEMPLATE_DIR`. An invalid explicit path falls back to a valid environment path. Both invalid refuse. `DOCXOLOGY_RENDER_LOCK` selects the shared lock path. Acceptance remains required when the font probe is skipped. | | `publication-capture` | Required `--template`; `--journal` required except with `--plan`; `--plan` and `--resume` default false and cannot combine; `--source-date-epoch` defaults 0; `--timeout` defaults 21600 seconds | Plan construction writes no journal and starts no subprocess. Execution is POSIX-only, copies the explicit root/template into bounded stages and writes journals/artifacts. Resume revalidates source and journal before reuse. | Render `--accept-only` delegates directly to existing-artifact acceptance; it @@ -77,7 +77,7 @@ skips template resolution, the shared render lock and source hydration. the existing manuscript/PDF inputs and writes its receipt. For `verify`, the import-time timeout fallback captures -`FEP_LEAN_VERIFY_TIMEOUT`, defaulting to 1800 seconds. Each native invocation +`FEP_FORMAL_VERIFY_TIMEOUT`, defaulting to 1800 seconds. Each native invocation rereads the environment variable, falling back to that captured value when it is absent. Set it before starting Python for a consistent process-wide policy. See the [native API](api.md) for its exact interfaces. The output-root hierarchy diff --git a/docs/coverage-branch.md b/docs/coverage-branch.md index 397ad681..1172c697 100644 --- a/docs/coverage-branch.md +++ b/docs/coverage-branch.md @@ -8,7 +8,7 @@ repository validation. The packaging floor does not change that requirement. ## Measured package line floors -The [policy](coverage-floors.json) additionally gates each of the 14 nonempty +The [policy](coverage-floors.json) additionally gates each of the 15 nonempty direct packages in coverage.py's XML. A subpackage has its own floor; its lines are not counted again under its parent package. CI checks the XML after the parallel Python component and isolated Chrome component have both contributed, @@ -27,7 +27,7 @@ and the selection rule: `floor(100 * covered / valid)` for each nonempty package. No threshold is inferred from the rounded XML display rate. The pre-existing aggregate requirement stays at 89%. -`fep_lean.data` has zero executable lines at this checkpoint. It is explicitly +`fep_formal.data` has zero executable lines at this checkpoint. It is explicitly listed as empty rather than credited with a perfect coverage percentage; adding executable lines there requires a measured floor. Missing or unexpected packages, duplicate file/line records, malformed rates/counts, path mismatches, and aggregate @@ -74,3 +74,18 @@ See [Testing](testing.md) and the [required checks](../AGENTS.md#required-checks for the maintained validation contract. Dated failure ledgers and prior measurements remain historical evidence in repository history; they are not current operating instructions. + +The identity migration maps the historical `fep_lean` package selectors to +`fep_formal` without changing their recorded baseline counts or floor values. +Those baseline measurements remain historical; the migrated package and its +compatibility adapter require a fresh coverage run. The adapter is additional +code under the same aggregate floor. + +The adapter has a separate October 27, 2026 local baseline: all 32 executable +lines were covered by the 11 identity migration tests. Its measured floor is +100%. The policy records the source and XML digests separately from the +historical canonical-package baseline. The adapter-only measurement used an +explicit zero aggregate threshold solely to collect that isolated baseline; +the required full-suite aggregate threshold remains 89%. Missing adapter +coverage fails the same complete-package inventory check. Legacy subpackages +contain typing aliases only and are not accepted as executable coverage owners. diff --git a/docs/coverage-floors.json b/docs/coverage-floors.json index a32e64a6..cbbb09c1 100644 --- a/docs/coverage-floors.json +++ b/docs/coverage-floors.json @@ -16,23 +16,97 @@ "coverage_version": "7.15.2", "lines_covered": 17197, "lines_valid": 18765, - "selection": "Each nonempty direct XML package floor is floor(100 * baseline_lines_covered / baseline_lines_valid). Subpackages have separate, non-overlapping floors. The existing aggregate line floor remains 89. No branch-arc floor is asserted." + "selection": "Each nonempty direct XML package floor is floor(100 * baseline_lines_covered / baseline_lines_valid). Subpackages have separate, non-overlapping floors. The existing aggregate line floor remains 89. No branch-arc floor is asserted.", + "compatibility_adapter": { + "date": "2026-10-27", + "scope": "Local adapter-only line measurement; not full-suite or hosted acceptance. Canonical package floors retain their historical counts.", + "command": "python -m pytest tests/test_identity_migration.py -q --cov=src/fep_lean --cov-report=xml:adapter-coverage.xml --cov-fail-under=0", + "tests_passed": 11, + "source_sha256": "5f521b136579b3726d85a46af8248f227563b14764ebde6029276373564d1c17", + "coverage_xml_sha256": "6efda451f2d437d4715fbc86ca8936c0e0abce3bfb2c9352b5e1e763a753956f", + "evidence": ".omo/evidence/identity-distribution/adapter-coverage.xml", + "lines_covered": 32, + "lines_valid": 32 + } }, "packages": { - "fep_lean": {"line_floor": 92, "baseline_lines_covered": 665, "baseline_lines_valid": 718}, - "fep_lean.bridge": {"line_floor": 99, "baseline_lines_covered": 449, "baseline_lines_valid": 453}, - "fep_lean.catalogue": {"line_floor": 90, "baseline_lines_covered": 1495, "baseline_lines_valid": 1661}, - "fep_lean.catalogue.bodies": {"line_floor": 100, "baseline_lines_covered": 44, "baseline_lines_valid": 44}, - "fep_lean.custody": {"line_floor": 93, "baseline_lines_covered": 1229, "baseline_lines_valid": 1311}, - "fep_lean.formal": {"line_floor": 95, "baseline_lines_covered": 166, "baseline_lines_valid": 173}, - "fep_lean.gauss": {"line_floor": 91, "baseline_lines_covered": 459, "baseline_lines_valid": 499}, - "fep_lean.llm": {"line_floor": 90, "baseline_lines_covered": 566, "baseline_lines_valid": 623}, - "fep_lean.methods": {"line_floor": 92, "baseline_lines_covered": 1323, "baseline_lines_valid": 1425}, - "fep_lean.output": {"line_floor": 93, "baseline_lines_covered": 4199, "baseline_lines_valid": 4489}, - "fep_lean.output.release_bundle": {"line_floor": 86, "baseline_lines_covered": 2616, "baseline_lines_valid": 3022}, - "fep_lean.pipeline": {"line_floor": 92, "baseline_lines_covered": 184, "baseline_lines_valid": 198}, - "fep_lean.prove2me": {"line_floor": 83, "baseline_lines_covered": 300, "baseline_lines_valid": 358}, - "fep_lean.verification": {"line_floor": 92, "baseline_lines_covered": 3502, "baseline_lines_valid": 3791} + "fep_formal": { + "line_floor": 92, + "baseline_lines_covered": 665, + "baseline_lines_valid": 718 + }, + "fep_formal.bridge": { + "line_floor": 99, + "baseline_lines_covered": 449, + "baseline_lines_valid": 453 + }, + "fep_formal.catalogue": { + "line_floor": 90, + "baseline_lines_covered": 1495, + "baseline_lines_valid": 1661 + }, + "fep_formal.catalogue.bodies": { + "line_floor": 100, + "baseline_lines_covered": 44, + "baseline_lines_valid": 44 + }, + "fep_formal.custody": { + "line_floor": 93, + "baseline_lines_covered": 1229, + "baseline_lines_valid": 1311 + }, + "fep_formal.formal": { + "line_floor": 95, + "baseline_lines_covered": 166, + "baseline_lines_valid": 173 + }, + "fep_formal.gauss": { + "line_floor": 91, + "baseline_lines_covered": 459, + "baseline_lines_valid": 499 + }, + "fep_formal.llm": { + "line_floor": 90, + "baseline_lines_covered": 566, + "baseline_lines_valid": 623 + }, + "fep_formal.methods": { + "line_floor": 92, + "baseline_lines_covered": 1323, + "baseline_lines_valid": 1425 + }, + "fep_formal.output": { + "line_floor": 93, + "baseline_lines_covered": 4199, + "baseline_lines_valid": 4489 + }, + "fep_formal.output.release_bundle": { + "line_floor": 86, + "baseline_lines_covered": 2616, + "baseline_lines_valid": 3022 + }, + "fep_formal.pipeline": { + "line_floor": 92, + "baseline_lines_covered": 184, + "baseline_lines_valid": 198 + }, + "fep_formal.prove2me": { + "line_floor": 83, + "baseline_lines_covered": 300, + "baseline_lines_valid": 358 + }, + "fep_formal.verification": { + "line_floor": 92, + "baseline_lines_covered": 3502, + "baseline_lines_valid": 3791 + }, + "fep_lean": { + "line_floor": 100, + "baseline_lines_covered": 32, + "baseline_lines_valid": 32 + } }, - "empty_packages": ["fep_lean.data"] + "empty_packages": [ + "fep_formal.data" + ] } diff --git a/docs/design/fep-research-program/horizon-1-finite-synthesis.md b/docs/design/fep-research-program/horizon-1-finite-synthesis.md index 81ae1b56..db90094d 100644 --- a/docs/design/fep-research-program/horizon-1-finite-synthesis.md +++ b/docs/design/fep-research-program/horizon-1-finite-synthesis.md @@ -33,7 +33,7 @@ are explicitly revised. | ID | Canonical resource, manifest role, namespace, and imports | Smallest spike and observable go condition | No-go effect | Test, evidence, review, and nearest out-of-scope claim | | --- | --- | --- | --- | --- | -| H1.0 | `src/fep_lean/formal/manifest.py`; schema owner, not a Lean module | Add and validate `FormalModule.declaration_namespace`; compile every named Mathlib probe at the locked revision | Do not open mathematical slices; correct stale source claims or open a bounded architecture/upstream prerequisite | Extend `tests/test_formal_composition.py`; documentation plus native probe evidence; architecture and Lean review; no theorem or disposition promotion | +| H1.0 | `src/fep_formal/formal/manifest.py`; schema owner, not a Lean module | Add and validate `FormalModule.declaration_namespace`; compile every named Mathlib probe at the locked revision | Do not open mathematical slices; correct stale source claims or open a bounded architecture/upstream prerequisite | Extend `tests/test_formal_composition.py`; documentation plus native probe evidence; architecture and Lean review; no theorem or disposition promotion | | H1.1 | new `formal/compositions/finite_scientific_implications.lean`; `COMPOSITION`; `FEPComposed.FiniteScientificImplications`; imports the exact owners `finite_probability`, `causal_dynamics`, `finite_markov_dynamics`, `active_inference`, and `information_geometry` | One rational countermodel proves every translated premise and the negated conclusion; a separate Bernoulli/Fisher witness proves strict local directional descent from explicit posterior, rank, and flow-alignment premises; domain reviewer approves both translations | Remove the disputed implication edge and retain it as literature analysis; H1.6/H1.8 may use only reviewed predicates | new `tests/test_horizon1_finite_reference.py`, `tests/test_formalism_relations.py`, and `tests/test_formalism_coverage.py`; native + declaration audit; domain and skeptical review; no universal blanket-to-inference claim | | H1.2 | new `formal/decision_risk.lean`; `FOUNDATION`; `FEP.DecisionRisk`; imports `native_blanket`, `finite_information`, KL data processing, `Decision.BayesEstimator`, and `Decision.Risk.Basic` | Boolean weighted-Dirac supported/singular KL cases, a two-experiment Bayes-risk garbling example, and a proper-log-score orientation guard compile | Block H1.3, H1.4, and H1.8 if the native KL or Bayes-risk translation fails; if only the optional information-pushforward seam fails, retain the decision-risk core and keep the finite/native epistemic bridge closed | new `tests/test_horizon1_finite_reference.py` plus `tests/test_native_blanket_formalisms.py`; native + declaration audit; probability/decision review; no unconditional equality between real finite KL and native `klDiv`, and no identification of `finiteKL P Q` with `finiteKL Q P` | | H1.3 | new `formal/finite_posterior_learning.lean`; `FOUNDATION`; `FEP.FinitePosteriorLearning`; imports `learning_theory`, `statistical_convergence`, `native_blanket`, H1.2, and Mathlib's infinite-product independence API | A two-hypothesis repeated-sample model constructs its i.i.d. Boolean trajectory law, derives a bounded log-likelihood-ratio concentration bound, converts it to posterior bad-mass decay, separately proves almost-sure eventual convergence, and retains zero-prior/non-identifiable boundaries | Remove the learning clause and block H1.8; broad calibration, empirical Bayes, and continuous conjugacy move to optional specs | new `tests/test_horizon1_finite_reference.py`, `tests/test_collective_learning_formalisms.py`, and `tests/test_risk_policy_tree_formalisms.py`; native + numerical witness; statistical review; no generic nonparametric rate or empirical calibration claim | @@ -82,7 +82,7 @@ imports; the listed foundation imports determine their transitive closure. **Single owners:** pin facts remain in [`docs/lean4.md`](../../lean4.md) and the Lean lockfiles; module membership remains in -[`formal/manifest.py`](../../../src/fep_lean/formal/manifest.py). +[`formal/manifest.py`](../../../src/fep_formal/formal/manifest.py). ### Stop/go spikes diff --git a/docs/design/fep-research-program/horizon-3-scientific-case-study.md b/docs/design/fep-research-program/horizon-3-scientific-case-study.md index ae3ef822..16eb4338 100644 --- a/docs/design/fep-research-program/horizon-3-scientific-case-study.md +++ b/docs/design/fep-research-program/horizon-3-scientific-case-study.md @@ -31,8 +31,8 @@ reproduction receipts must bind their own actual source epoch. | --- | --- | --- | | H3.G0 | Retained eligibility record in `specs/h3-reference-study/output/` | One continuous branch selected from the unchanged H2 carrier; the finite branch is unselected. No carrier repair or new Lean module belongs to this gate. | | H3.0 | `specs/h3-reference-study/preregistration.yaml` and `freeze.json` | Actual pre-outcome freeze after two independent AI reviews. The empirical branch is governed no-go because there is no named licensed dataset. | -| H3.1 | `src/fep_lean/formal/h3_reference_model.lean` | Foundation owns axes, exact native coordinate equivalence, positive affine units, fixed carrier and computable rational exports. It directly imports exactly the two declared H2 owners. | -| H3.2–H3.5 | `src/fep_lean/formal/compositions/h3_case_study.lean` | Composition owns the 24 frozen native proof roles and their explicit supporting bridges. Its eleven direct FEP imports are declared by the formal manifest; three direct Mathlib imports provide library results. | +| H3.1 | `src/fep_formal/formal/h3_reference_model.lean` | Foundation owns axes, exact native coordinate equivalence, positive affine units, fixed carrier and computable rational exports. It directly imports exactly the two declared H2 owners. | +| H3.2–H3.5 | `src/fep_formal/formal/compositions/h3_case_study.lean` | Composition owns the 24 frozen native proof roles and their explicit supporting bridges. Its eleven direct FEP imports are declared by the formal manifest; three direct Mathlib imports provide library results. | | H3.6S | `specs/h3-reference-study/export_native.py` and `run_synthetic.py` | Native parameter acquisition and one frozen synthetic attempt are separate commands. Generators require actual current export/audit and three final proof reviews first. | | H3.6E | Frozen protocol's empirical gate | Closed. Synthetic success cannot supply data governance or authorize empirical/causal claims. | | H3.7 | Claim matrix, independent decisions and `bundle_study.py` | Final claim reviews and fresh reproduction must bind the actual measured result, accepted or failed, around a separately accepted package archive. Publication has its own authorization/evidence gate. | diff --git a/docs/design/fep-research-program/next-improvements.md b/docs/design/fep-research-program/next-improvements.md index 4ac34ec8..8664ceef 100644 --- a/docs/design/fep-research-program/next-improvements.md +++ b/docs/design/fep-research-program/next-improvements.md @@ -34,7 +34,7 @@ reviewer. Proposed identifiers here are planning references only. They do not reserve topic IDs or create catalog, relation or capability claims. Use existing owners where practical. New Python owners require the coordinated -versioned [source roster](../../../src/fep_lean/output/provenance.py) refresh; +versioned [source roster](../../../src/fep_formal/output/provenance.py) refresh; new Lean resources require the six manifest/namespace facts in the research contract. Generate projections from their canonical owners. Preserve the four dependency pins unless a separately reviewed upgrade changes the program. @@ -200,7 +200,7 @@ completed at the [accepted Y checkpoint](../../../TODO.md#retired-production-cap The maturity records select `fep063_finiteChannel_klDataProcessing_of_relativeSupport` and `fep064_rateDistortion_dual_lower_bound` from the existing -[canonical owner](../../../src/fep_lean/catalogue/bodies/variational_duality.py). +[canonical owner](../../../src/fep_formal/catalogue/bodies/variational_duality.py). The former exposes relative input support for finite KL; the latter uses the actual Lagrangian infimum for a feasible-joint weak bound. Earlier public APIs remain supporting, and the respective `conditional_proxy` and `structural_proxy` @@ -219,7 +219,7 @@ completed alignment review or satisfy current H3 scientific gates. The selected-source [Boolean curve scope #69](https://github.com/ActiveInferenceInstitute/fep_formal/issues/69) is delivered; [delivery history](../../../CHANGELOG.md) records its accepted -source epoch. In [variational duality](../../../src/fep_lean/formal/variational_duality.lean), +source epoch. In [variational duality](../../../src/fep_formal/formal/variational_duality.lean), `FEP.VariationalDuality.FairBoolean.boolean_closed_exact_minimum` derives the natural-log value `log 2 - binEntropy D` on `0 ≤ D ≤ 1/2`; `half_or_larger_exact` gives zero for larger feasible budgets. The finite dual optimizer is derived only for @@ -240,7 +240,7 @@ does not supply that general theorem. ### FORM-D2 — fixed-truth consistency for the continuous static-latent model -**Owner:** existing [posterior convergence](../../../src/fep_lean/formal/posterior_convergence.lean) +**Owner:** existing [posterior convergence](../../../src/fep_formal/formal/posterior_convergence.lean) and a justified composition seam. That owner studies a selected Boolean mean parameter; the current H3 continuous finite-latent result gives joint-law convergence in probability and explicitly does not claim fixed-truth or diff --git a/docs/design/fep-research-program/research-contract.md b/docs/design/fep-research-program/research-contract.md index ab299d89..0da22451 100644 --- a/docs/design/fep-research-program/research-contract.md +++ b/docs/design/fep-research-program/research-contract.md @@ -11,7 +11,7 @@ these rules. | Current ordered topic roster and family metadata | [`config/catalogue_metadata.yaml`](../../../config/catalogue_metadata.yaml) | Catalog schema and registry tests | | Current primary theorem, assumptions, non-vacuity, and disposition | [`config/theorem_maturity.yaml`](../../../config/theorem_maturity.yaml) | Theorem-maturity audit | | Current novelty and cross-topic relation/capability state | [`config/formalism_novelty.yaml`](../../../config/formalism_novelty.yaml) and [`config/formalism_relations.yaml`](../../../config/formalism_relations.yaml) | Coverage and relation validators | -| Current reusable formal module roster | [`formal/manifest.py`](../../../src/fep_lean/formal/manifest.py) | Formal projection and declaration audits | +| Current reusable formal module roster | [`formal/manifest.py`](../../../src/fep_formal/formal/manifest.py) | Formal projection and declaration audits | | Prospective H1--H3 goals | This directory | Documentation checks and active/future specs | | Active implementation status | A bounded directory under `specs/`; accepted history moves to `specs/done/` | Its tests and acceptance record | | Lean/Mathlib pin and supported-version policy | [`lean/lean-toolchain`](../../../lean/lean-toolchain), [`lean/lake-manifest.json`](../../../lean/lake-manifest.json), and [`docs/lean4.md`](../../lean4.md) | Pin audit, including `--check-latest` | diff --git a/docs/design/gnn-bridge/README.md b/docs/design/gnn-bridge/README.md index d8f5e5ca..3550b817 100644 --- a/docs/design/gnn-bridge/README.md +++ b/docs/design/gnn-bridge/README.md @@ -2,14 +2,14 @@ This document defines the design and operation of the bridge with `GeneralizedNotationNotation` (GNN). The package command surface is maintained -in [`src/fep_lean/bridge/cli.py`](../../../src/fep_lean/bridge/cli.py); owner +in [`src/fep_formal/bridge/cli.py`](../../../src/fep_formal/bridge/cli.py); owner selection, emission, and receipt checks are maintained in -[`src/fep_lean/bridge/operations.py`](../../../src/fep_lean/bridge/operations.py). +[`src/fep_formal/bridge/operations.py`](../../../src/fep_formal/bridge/operations.py). The [bridge contract](bridge-contract.md) owns the shared scientific and custody boundaries. Current open acceptance work belongs in [`TODO.md`](../../../TODO.md), not a completed-stage checklist. -FEP_Formal is this repository's current project name; `fep_lean` remains its +FEP_Formal is this repository's current project name; `fep_formal` remains its Python namespace, serialized custody key and historical GNN mirror identity. The mirrored version-0.6 contract retains its 2026-09-06 source epoch and 155-topic baseline. Use the [current source owners](../../../AGENTS.md#source-of-truth) @@ -177,18 +177,18 @@ defined by the CLI and operations sources linked above. For the re-pin order, se Run from the FEP_Formal checkout, replacing `GNN_PATH` with the explicit GNN root: ```bash -uv run fep-lean bridge pin --gnn-root GNN_PATH -uv run fep-lean bridge emit --gnn-root GNN_PATH --model finite -uv run fep-lean bridge emit --gnn-root GNN_PATH --model continuous -uv run fep-lean bridge status --gnn-root GNN_PATH -uv run fep-lean bridge emit --gnn-root GNN_PATH --model finite --check -uv run fep-lean bridge emit --gnn-root GNN_PATH --model continuous --check -uv run fep-lean bridge verify-document --gnn-root GNN_PATH --model MODEL \ +uv run fep-formal bridge pin --gnn-root GNN_PATH +uv run fep-formal bridge emit --gnn-root GNN_PATH --model finite +uv run fep-formal bridge emit --gnn-root GNN_PATH --model continuous +uv run fep-formal bridge status --gnn-root GNN_PATH +uv run fep-formal bridge emit --gnn-root GNN_PATH --model finite --check +uv run fep-formal bridge emit --gnn-root GNN_PATH --model continuous --check +uv run fep-formal bridge verify-document --gnn-root GNN_PATH --model MODEL \ --document PATH --fail-on-warnings ``` Pin only after reviewing the settled owner changes — on BOTH sides of the -pair: any `src/fep_lean/**` owner-file change (this repo) invalidates an +pair: any `src/fep_formal/**` owner-file change (this repo) invalidates an existing seal exactly as a GNN owner-file change does, so land FEP_Formal owner edits BEFORE starting the pin cycle, or the cycle must re-run after them (a pin sealed pre-change fails `bridge status` with @@ -221,19 +221,19 @@ The CLI performs one pair-wide pin; `--model` selects emission and document verification, not a separate source-owner seal. 1. Inspect the explicit pair with - `uv run fep-lean bridge status --gnn-root GNN_PATH`. A drift result identifies + `uv run fep-formal bridge status --gnn-root GNN_PATH`. A drift result identifies changes requiring review; status never repairs them. 2. Seal the settled pair once: ```bash - uv run fep-lean bridge pin --gnn-root GNN_PATH + uv run fep-formal bridge pin --gnn-root GNN_PATH ``` 3. Emit both reviewed model documents: ```bash - uv run fep-lean bridge emit --gnn-root GNN_PATH --model finite - uv run fep-lean bridge emit --gnn-root GNN_PATH --model continuous + uv run fep-formal bridge emit --gnn-root GNN_PATH --model finite + uv run fep-formal bridge emit --gnn-root GNN_PATH --model continuous ``` For a provenance-only change, `--refresh-digests` permits only Signature @@ -244,9 +244,9 @@ verification, not a separate source-owner seal. 4. Check both emitted documents and the pair without writes: ```bash - uv run fep-lean bridge emit --gnn-root GNN_PATH --model finite --check - uv run fep-lean bridge emit --gnn-root GNN_PATH --model continuous --check - uv run fep-lean bridge status --gnn-root GNN_PATH + uv run fep-formal bridge emit --gnn-root GNN_PATH --model finite --check + uv run fep-formal bridge emit --gnn-root GNN_PATH --model continuous --check + uv run fep-formal bridge status --gnn-root GNN_PATH ``` 5. Complete any required fresh artifact/native acceptance under its selected diff --git a/docs/design/gnn-bridge/bridge-contract.md b/docs/design/gnn-bridge/bridge-contract.md index 430279b5..bce5edde 100644 --- a/docs/design/gnn-bridge/bridge-contract.md +++ b/docs/design/gnn-bridge/bridge-contract.md @@ -1,10 +1,11 @@ -# Bridge contract: fep_lean and GNN +# Bridge contract: FEP_Formal and GNN | Field | Value | | --- | --- | | Version | 0.6 | | Date | 2026-09-06 | -| Canonical copy | this file, `fep_lean/docs/design/gnn-bridge/bridge-contract.md` | +| Interface clarification | 2026-10-28; canonical names, unchanged model semantics | +| Canonical copy | this file, `fep_formal/docs/design/gnn-bridge/bridge-contract.md` | | Mirror copy | `GeneralizedNotationNotation/docs/other/fep_lean/bridge-contract.md` | | Change rule | substance changes bump the version and land in both checkouts in the same working session | @@ -12,13 +13,17 @@ This contract is the formal articulation between two sibling repositories: -- `fep_lean` — a standalone catalogue of 155 FEP / Active Inference / +- FEP_Formal (`fep_formal`) — a standalone catalog of FEP / Active Inference / Bayesian Mechanics / Information Geometry / Thermodynamics topics with Lean 4 theorem bodies, a pinned workspace, and distinct evidence planes. - `GeneralizedNotationNotation` (GNN) — a text-based notation for Active Inference generative models with a 25-step pipeline that parses, type checks, renders, and executes model documents. +Public Python imports use `fep_formal`, commands use `fep-formal`, and public +settings use `FEP_FORMAL_`. Legacy names remain deprecated aliases through 2.x. +Lean theorem namespaces and historical receipt keys retain their identities. + The contract scopes two directions of collaboration and nothing else. It creates no capabilities, no catalogue rows, and no evidence claims. All cross-references between the repositories are inline code paths, never @@ -28,7 +33,7 @@ markdown links. | Concern | Authority | | --- | --- | -| Semantics of FEP objects (laws, kernels, blankets, free energy, policies) | fep_lean | +| Semantics of FEP objects (laws, kernels, blankets, free energy, policies) | fep_formal | | Syntax, parsing, rendering, and execution of model documents | GNN | | The mapping between them | this contract, edited in both repositories | | Evidence classification (what counts as what) | each repository's own contract; see section 7 | @@ -86,8 +91,8 @@ targeted. A document without provenance is not a bridge artifact. | Stage | Owner | Input to output | Acceptance | | --- | --- | --- | --- | -| S1 Selection | fep_lean | a named Lean definition family (e.g. the finite posterior–decision–action certificate carrier or an `active_inference.lean` `GenerativeModel` instance) | the named definition compiles warning-free under `fep-lean verify` before projection | -| S2 Projection | fep_lean (prospective module beside `src/fep_lean/formal/`) | Lean definition → typed projection: index types, law/kernel components, dependencies, parameters, timescale | deterministic and regenerable; no judgment calls | +| S1 Selection | fep_formal | a named Lean definition family (e.g. the finite posterior–decision–action certificate carrier or an `active_inference.lean` `GenerativeModel` instance) | the named definition compiles warning-free under `fep-formal verify` before projection | +| S2 Projection | fep_formal (prospective module beside `src/fep_formal/formal/`) | Lean definition → typed projection: index types, law/kernel components, dependencies, parameters, timescale | deterministic and regenerable; no judgment calls | | S3 Emission | bridge tooling | projection → GNN document with provenance | passes `uv run gnn validate --strict` in the GNN checkout | | S4 Toolchain | GNN | steps 3 (parse), 5 (type check), 10 (ontology), 11 (render), 12 (execute) | render and execution summaries produced; statuses reported honestly (`unsupported` is distinct from `failed`) | | S5 Certificate | joint | execution-derived quantities vs Lean-witnessed properties | every compared quantity names its evidence plane; disagreement is a finding, never silently averaged away | @@ -97,14 +102,14 @@ targeted. A document without provenance is not a bridge artifact. | Stage | Owner | Target | Acceptance | | --- | --- | --- | --- | | S1 Syntax surface freeze | GNN | the normative section inventory in `docs/gnn/gnn_syntax.md` | a pinned version reference both sides cite | -| S2 Document AST | fep_lean (prospective) | GNN sections, state-space blocks, and connections as Lean inductive types | compiles in the pinned workspace | -| S3 Well-formedness | fep_lean | decidable predicates mirroring parse, connection grammar, state-space typing, and ontology binding checks | every `input/gnn_files` exemplar decides correctly | -| S4 Dynamic semantics | fep_lean | discrete-family denotation over `FiniteLaw`/`FiniteKernel`/`FiniteHMM`; continuous-family denotation over `LinearGaussianParameters` | theorem statements for both families accepted in a slice | -| S5 FEP instantiation | both | GNN conventions ↔ fep_lean definitions (`A/B/C/D` ↔ `GenerativeModel`; `F[1]` ↔ `variationalFreeEnergy`; the `G=ExpectedFreeEnergy` ontology binding ↔ `expectedFreeEnergy_eq_risk_add_ambiguity`) | alignment statements named as prospective until proven | -| S6 Renderer statements | fep_lean | semantics-preservation statements for render targets | statements first; proofs are later slices | +| S2 Document AST | fep_formal (prospective) | GNN sections, state-space blocks, and connections as Lean inductive types | compiles in the pinned workspace | +| S3 Well-formedness | fep_formal | decidable predicates mirroring parse, connection grammar, state-space typing, and ontology binding checks | every `input/gnn_files` exemplar decides correctly | +| S4 Dynamic semantics | fep_formal | discrete-family denotation over `FiniteLaw`/`FiniteKernel`/`FiniteHMM`; continuous-family denotation over `LinearGaussianParameters` | theorem statements for both families accepted in a slice | +| S5 FEP instantiation | both | GNN conventions ↔ fep_formal definitions (`A/B/C/D` ↔ `GenerativeModel`; `F[1]` ↔ `variationalFreeEnergy`; the `G=ExpectedFreeEnergy` ontology binding ↔ `expectedFreeEnergy_eq_risk_add_ambiguity`) | alignment statements named as prospective until proven | +| S6 Renderer statements | fep_formal | semantics-preservation statements for render targets | statements first; proofs are later slices | Direction 2 detail lives in -`fep_lean/docs/design/gnn-bridge/direction-2-gnn-to-lean.md` (cross-repository reference). +`fep_formal/docs/design/gnn-bridge/direction-2-gnn-to-lean.md` (cross-repository reference). ## 7. Evidence firewall @@ -113,9 +118,9 @@ each other: | Plane | Producer | Establishes | Never establishes | | --- | --- | --- | --- | -| Native Lean compilation | `fep-lean verify` | the named body compiles without warnings or `sorry` | semantic reach, executed behavior | +| Native Lean compilation | `fep-formal verify` | the named body compiles without warnings or `sorry` | semantic reach, executed behavior | | Semantic review | `config/theorem_maturity.yaml` | how far a theorem proxy reaches toward its topic label | compilation sufficiency | -| Numerical witness | `fep-lean dashboard` | typed, explanatory finite witnesses | proof or empirical validation | +| Numerical witness | `fep-formal dashboard` | typed, explanatory finite witnesses | proof or empirical validation | | GNN pipeline run | steps 3–12 | the document parses, renders, and executes | mathematical correctness of the model | A bridge certificate may only state agreement between quantities that each @@ -124,13 +129,13 @@ proved property. ## 8. Synchronization and ownership -- Canonical contract: `fep_lean/docs/design/gnn-bridge/bridge-contract.md`. +- Canonical contract: `fep_formal/docs/design/gnn-bridge/bridge-contract.md`. Mirror: `GeneralizedNotationNotation/docs/other/fep_lean/bridge-contract.md`. - Contract edits land in both checkouts in the same working session; the mirror stays identical to the canonical body except for (a) the canonical-pointer header rows and (b) cross-repository markdown links, which the mirror renders as inline code paths. -- `fep_lean/docs/design/gnn-bridge/` is maintained by fep_lean-side agents; +- `fep_formal/docs/design/gnn-bridge/` is maintained by fep_formal-side agents; `docs/other/fep_lean/` in the GNN checkout by GNN-side agents. - Version bumps follow the change rule in the header table. @@ -168,7 +173,7 @@ renderer-payload proof has a separate artifact/native verification receipt and does not establish runtime behavior or general renderer correctness. The historical P3 comparison default is read-only; report writing requires -`--output`. Supported source-bound operations use `fep-lean bridge` with an +`--output`. Supported source-bound operations use `fep-formal bridge` with an explicit `--gnn-root`. v0.6 extraction-package migration: the pinned render route is @@ -192,11 +197,11 @@ test alone does not establish native acceptance. | Q6 | Two canonical Boolean Julia runners; their embedded JSON tables agree with independent symmetric and asymmetric Lean payloads. | Consumed runtime preferences, EFE equivalence, or ActiveInference.jl behavior: the runner transforms C and does not consume E in its action selector. | | Q7 | A canonical scalar-OU JAX render; decoded binary64 coefficients have bounded error against the selected exact-real OU formulas and one-step prediction. | Floating-point execution, accumulated trajectory error, a general SDE solution, or physical applicability. | -The source locations are `fep_lean/specs/gnn-bridge-q5-artifact-proof/`, -`fep_lean/specs/gnn-bridge-q6-activeinference-artifact/`, and -`fep_lean/specs/gnn-bridge-q7-continuous-ou-proof/`. Each slice declares an +The source locations are `fep_formal/specs/gnn-bridge-q5-artifact-proof/`, +`fep_formal/specs/gnn-bridge-q6-activeinference-artifact/`, and +`fep_formal/specs/gnn-bridge-q7-continuous-ou-proof/`. Each slice declares an immutable contract consumed by the shared -`fep_lean/src/fep_lean/verification/gnn_artifact_receipt.py` engine. +`fep_formal/src/fep_formal/verification/gnn_artifact_receipt.py` engine. Schema-2 native receipts bind source snapshots before and after compilation, the full slice contract, exact generator/extractor/probe bytes, canonical @@ -224,11 +229,11 @@ Horizon 2 terminal acceptance combines the exact mandatory native-test roster, unchanged native-source snapshots, the explicitly enabled Fin4 supplement, independent typed scalar/Fin4 numerical witnesses, retained predecessor contracts, and three distinct source-bound Lean, domain, and skeptical reviews. -The validator under `fep_lean/specs/done/horizon-2-smooth-stochastic/readiness/` +The validator under `fep_formal/specs/done/horizon-2-smooth-stochastic/readiness/` rejects absent, stale, malformed, or incomplete evidence. An accepted terminal record opens only read-only H3.G0 eligibility review. -`fep_lean/specs/h3-reference-study/` validates the accepted carrier and required +`fep_formal/specs/h3-reference-study/` validates the accepted carrier and required prospective study declarations. It does not select a dataset, invent license or sampling metadata, or authorize H3.0--H3.7 empirical execution. Numerical witnesses and bridge proofs do not replace these study requirements. @@ -241,7 +246,7 @@ former top-level pipeline module (including the numbered step drivers and `tests/`. The root package is the one aggregate facade. The `verify-document` operation (Direction 2 S7) checks one emitted GNN -document: `fep-lean bridge verify-document --gnn-root PATH --document PATH` +document: `fep-formal bridge verify-document --gnn-root PATH --document PATH` `[--model finite|continuous] [--receipt PATH] [--fail-on-warnings]`. It extracts the typed payload through the pinned render route (`gnn.extract.pomdp_extractor.extract_pomdp_from_file`, strict validation; full diff --git a/docs/design/gnn-bridge/direction-1-lean-to-gnn.md b/docs/design/gnn-bridge/direction-1-lean-to-gnn.md index c1238c27..26af1cbc 100644 --- a/docs/design/gnn-bridge/direction-1-lean-to-gnn.md +++ b/docs/design/gnn-bridge/direction-1-lean-to-gnn.md @@ -26,8 +26,8 @@ this direction is that refinement claim, made checkable one model at a time. ## What the catalog supplies today All names below are verified, compiled declarations in the pinned workspace -(`lean/FepSketches/`, projected byte-for-byte from `src/fep_lean/formal/` per -`src/fep_lean/formal/manifest.py`). +(`lean/FepSketches/`, projected byte-for-byte from `src/fep_formal/formal/` per +`src/fep_formal/formal/manifest.py`). | Lean module | What it formalizes | Bridge relevance | | --- | --- | --- | @@ -64,8 +64,8 @@ A Lean definition is projectable when the projection is mechanical: FEP_Formal side (evidence commands per `docs/cli-reference.md`): ```bash -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json -uv run fep-lean dashboard --check # explanatory witnesses for the selected families +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal dashboard --check # explanatory witnesses for the selected families ``` GNN side (commands of record per the GNN documentation): @@ -89,7 +89,7 @@ directory); P1 fixes it. | Phase | Outcome | Acceptance | No-go | | --- | --- | --- | --- | | P1 — single-model spike | one finite model (the H1 terminal-carrier family: a finite one-step posterior–decision–action model on a Boolean carrier) projected to a GNN document | `gnn validate --strict` passes; step 11 renders on at least one categorical backend; step 12 executes and writes its summaries | if any document field needs a judgment call, stop and narrow the extraction contract | -| P2 — deterministic emitter | projection module (prospective location: a sibling package beside `src/fep_lean/formal/`) plus emitter, regenerable with a freshness gate in the style of `fep-lean atlas --check` | byte-identical regeneration; provenance populated; drift gate green | if regeneration needs manual edits, the emitter scope is wrong | +| P2 — deterministic emitter | projection module (prospective location: a sibling package beside `src/fep_formal/formal/`) plus emitter, regenerable with a freshness gate in the style of `fep-formal atlas --check` | byte-identical regeneration; provenance populated; drift gate green | if regeneration needs manual edits, the emitter scope is wrong | | P3 — certificate protocol | execution-derived quantities compared with Lean-witnessed properties | compared quantities listed with their evidence planes; first disagreement filed as a finding | if comparisons require reclassifying a plane, refuse and record the boundary | | P4 — continuous spike | the OU/linear-Gaussian family projected onto the GNN continuous family, rendered and executed on a Gaussian-capable backend | continuous exemplar round-trips; categorical backends report `unsupported` and are excluded from execution | if continuous parameters cannot be projected mechanically, the family stays out of scope | diff --git a/docs/design/gnn-bridge/direction-2-gnn-to-lean.md b/docs/design/gnn-bridge/direction-2-gnn-to-lean.md index 61ff9200..a33ad3b7 100644 --- a/docs/design/gnn-bridge/direction-2-gnn-to-lean.md +++ b/docs/design/gnn-bridge/direction-2-gnn-to-lean.md @@ -2,14 +2,14 @@ Status: **research program; Q1–Q4 accepted** — Q1 (document AST and decidable well-formedness) under `specs/gnn-bridge-q1-syntax-ast/` -(module `src/fep_lean/formal/gnn_document.lean`, `FEP.GnnDocument`); -Q2 (discrete denotation, `src/fep_lean/formal/gnn_denotation.lean`, +(module `src/fep_formal/formal/gnn_document.lean`, `FEP.GnnDocument`); +Q2 (discrete denotation, `src/fep_formal/formal/gnn_denotation.lean`, `FEP.GnnDenotation`) under `specs/gnn-bridge-q2-discrete-denotation/`; Q3 (continuous denotation, -`src/fep_lean/formal/gnn_denotation_continuous.lean`, +`src/fep_formal/formal/gnn_denotation_continuous.lean`, `FEP.GnnContinuous`) under `specs/gnn-bridge-q3-continuous-denotation/`; Q4 (renderer and execution -statements, `src/fep_lean/formal/gnn_render_statements.lean`, +statements, `src/fep_formal/formal/gnn_render_statements.lean`, `FEP.GnnRenderStatements`) under `specs/gnn-bridge-q4-renderer-execution-statements/`. Alignment statements 1, 3, and 5 (matrix fragment plus the kernel-power execution @@ -99,7 +99,7 @@ declaration, and none reserves a catalog identifier: - Lean work follows the standard lifecycle: a bounded spec under `specs/` precedes any code; modules project into `lean/FepSketches/` through - `scripts/_maint_build_formal_modules.py` per `src/fep_lean/formal/manifest.py`; + `scripts/_maint_build_formal_modules.py` per `src/fep_formal/formal/manifest.py`; `composed.lean` remains the import-only aggregate. - No second research registry is introduced; this directory owns prospective goals only, and implementation status belongs to the opened spec while diff --git a/docs/development.md b/docs/development.md index 2674a2e5..0e1b60ba 100644 --- a/docs/development.md +++ b/docs/development.md @@ -4,11 +4,11 @@ ```bash uv sync --locked --extra dev -uv run python -c "from fep_lean.catalogue import FEPTopicCatalogue; print(len(FEPTopicCatalogue.default().topics))" +uv run python -c "from fep_formal.catalogue import FEPTopicCatalogue; print(len(FEPTopicCatalogue.default().topics))" ``` -The distribution uses a single `fep_lean` namespace under `src/fep_lean/`. -Use the `fep_lean` namespace for imports. The isolated-wheel test enforces +The distribution uses a single `fep_formal` namespace under `src/fep_formal/`. +Use the `fep_formal` namespace for imports. The isolated-wheel test enforces this boundary. ## Profile an isolated runtime @@ -28,13 +28,13 @@ uv venv --python 3.15 "$fep_profile_dir/venv" uv pip install --python "$fep_profile_dir/venv/bin/python" "$fep_profile_dir"/dist/*.whl uv pip freeze --python "$fep_profile_dir/venv/bin/python" > "$fep_profile_dir/installed.txt" cat > "$fep_profile_dir/profile_query.py" <<'PY' -from fep_lean.methods import load_packaged_formalism_query +from fep_formal.methods import load_packaged_formalism_query model = load_packaged_formalism_query() print(model.as_dict()["counts"]) PY ( cd "$fep_profile_dir" - env -u FEP_LEAN_PROJECT_ROOT "$fep_profile_dir/venv/bin/python" -I \ + env -u FEP_FORMAL_PROJECT_ROOT "$fep_profile_dir/venv/bin/python" -I \ -m profiling.tracing -o methods.pstats profile_query.py ) "$fep_profile_dir/venv/bin/python" -c \ @@ -65,13 +65,13 @@ their own evidence boundaries. - `config/formalism_relations.yaml`: explicit derivational formal, non-implicational formal-pairing, conceptual, and blocker relations plus retained capability status/evidence. -- `src/fep_lean/catalogue/bodies/*.py`: family-owned canonical Lean bodies; +- `src/fep_formal/catalogue/bodies/*.py`: family-owned canonical Lean bodies; `registry.py` validates their sole ordered union and `latex.py` derives theorem signatures. -- `src/fep_lean/formal/`: reusable finite and measure-theoretic foundations plus +- `src/fep_formal/formal/`: reusable finite and measure-theoretic foundations plus exact cross-topic proofs; `manifest.py` owns foundation, leaf-composition, and aggregate roles. -- `config/topics.yaml`, packaged `src/fep_lean/data/topics.yaml`, aggregate +- `config/topics.yaml`, packaged `src/fep_formal/data/topics.yaml`, aggregate Lean, maturity audit, and coverage files: generated projections. Every body keeps its `namespace FEPNNN ... end FEPNNN` wrapper and may declare @@ -86,8 +86,8 @@ uv run python scripts/_maint_build_fep_all_lean.py uv run python scripts/_maint_build_formal_modules.py uv run python scripts/theorem_maturity_audit.py uv run python scripts/build_formalism_coverage.py -uv run fep-lean atlas -uv run fep-lean dashboard +uv run fep-formal atlas +uv run fep-formal dashboard ``` The required verification list (`--check` gates, audits, tests, lint, native @@ -95,7 +95,7 @@ Lean) is owned by the "Required checks" block in [`AGENTS.md`](../AGENTS.md#required-checks); it is not repeated here, and `tests/test_check_inventory.py` keeps it in step with `.github/workflows/ci.yml`. -Native Lean acceptance (`lake build FepSketches`, `fep-lean verify`, the +Native Lean acceptance (`lake build FepSketches`, `fep-formal verify`, the formalism audit) is the expensive semantic compiler boundary; its commands are in the same [required-checks block](../AGENTS.md#required-checks). @@ -104,9 +104,9 @@ roster; the formalism audit separately covers the maintained formal modules and reviewed declarations. A credentialed full run remains a distinct gate: ```bash -uv run fep-lean preflight -uv run fep-lean run --topic fep-001 -uv run fep-lean run +uv run fep-formal preflight +uv run fep-formal run --topic fep-001 +uv run fep-formal run ``` Never inject credentials into source, tests, or generated evidence. @@ -115,16 +115,16 @@ Never inject credentials into source, tests, or generated evidence. | Area | Path | Contract | | --- | --- | --- | -| Catalog | `src/fep_lean/catalogue/` | typed authoring, loading, audits, coverage | -| Formal kernel | `src/fep_lean/formal/` | reusable finite carriers, cross-topic proofs, and exact Lake projection | -| Bridge | `src/fep_lean/bridge/` | typed cross-repository interchange, AST analysis and custody validation | -| Custody | `src/fep_lean/custody/` | census, staged refresh and bounded orchestration | -| Methods | `src/fep_lean/methods/` | portable mathematical contracts, positioning and transfer diagnostics | -| Verification | `src/fep_lean/verification/` | read-only capability probes, Lean subprocesses, declaration/axiom audit | -| Hermes | `src/fep_lean/llm/` | provider request, retry, and response validation | -| Sessions | `src/fep_lean/gauss/` | SQLite ownership and per-topic runner | -| Pipeline | `src/fep_lean/pipeline/` | strict `catalogue`/`full` orchestration | -| Output | `src/fep_lean/output/` | receipts, reports, figures, rendering, atlas, and numerical witness dashboard | +| Catalog | `src/fep_formal/catalogue/` | typed authoring, loading, audits, coverage | +| Formal kernel | `src/fep_formal/formal/` | reusable finite carriers, cross-topic proofs, and exact Lake projection | +| Bridge | `src/fep_formal/bridge/` | typed cross-repository interchange, AST analysis and custody validation | +| Custody | `src/fep_formal/custody/` | census, staged refresh and bounded orchestration | +| Methods | `src/fep_formal/methods/` | portable mathematical contracts, positioning and transfer diagnostics | +| Verification | `src/fep_formal/verification/` | read-only capability probes, Lean subprocesses, declaration/axiom audit | +| Hermes | `src/fep_formal/llm/` | provider request, retry, and response validation | +| Sessions | `src/fep_formal/gauss/` | SQLite ownership and per-topic runner | +| Pipeline | `src/fep_formal/pipeline/` | strict `catalogue`/`full` orchestration | +| Output | `src/fep_formal/output/` | receipts, reports, figures, rendering, atlas, and numerical witness dashboard | Use type hints on public APIs, immutable dataclasses for source records, structured results at subprocess/network boundaries, and temporary paths in @@ -147,8 +147,8 @@ that scientific review and its native acceptance plan are explicit. ## Source-owner roster expansion The report and native receipts bind a versioned owner roster -(`SOURCE_OWNER_ROSTER` in `src/fep_lean/output/provenance.py`), not a -recursive checkout snapshot. Adding a file under `src/fep_lean/**/*.py` or +(`SOURCE_OWNER_ROSTER` in `src/fep_formal/output/provenance.py`), not a +recursive checkout snapshot. Adding a file under `src/fep_formal/**/*.py` or `scripts/*.py` fails receipt validation fail-closed until the file is reviewed into the roster and `OWNER_MANIFEST_VERSION` is bumped. The bump orphans every retained receipt that pins the previous version, so roster @@ -274,7 +274,7 @@ bundle validation and the explicit publication boundary still apply. ## Custody refresh orchestration -`uv run fep-lean custody ` is the H2.7 custody machinery adapter. +`uv run fep-formal custody ` is the H2.7 custody machinery adapter. `census` is a read-only drift report; `apply` performs one staged 14-phase run into `--output-dir` (required, staged-only) with no repo-side writes; `refresh` composes the guarded refresh loop. @@ -306,12 +306,12 @@ is a stop requiring adjudication, never a rewrite. every changed path matching the journal's expected post-commit digests, clean owner snapshot, census/gate green at the new tip, and one verification apply round with zero mutations and zero directives (otherwise the commit is not the agreed candidate — stop). Journal paths -touching manuscript/render inputs (`manuscript/`, `src/fep_lean/output/rendering.py`, +touching manuscript/render inputs (`manuscript/`, `src/fep_formal/output/rendering.py`, `scripts/render_publication.py`, `scripts/render_manuscript.py`, `docs/`) stop at the render-acceptance barrier with state `awaiting-render-acceptance` before any capture. Otherwise the full verify set runs at the committed tip — the mode where the writer step `scripts/audit_formalisms.py --receipt output/formalism-audit.json` legitimately runs — -then, with `--native`, exactly one sanctioned `fep-lean verify --fail-on-warnings` capture +then, with `--native`, exactly one sanctioned `fep-formal verify --fail-on-warnings` capture to `output/native-verification.json`, independently validated by `validate_native_lean_receipt` to `native_claim_ready`, with post-capture dirty/HEAD/owner rechecks. @@ -331,14 +331,14 @@ context is inside `details`. Successful structured payloads retain their bytes. ## Bounded publication capture -`fep-lean publication-capture` is an explicit local capture action. Planning +`fep-formal publication-capture` is an explicit local capture action. Planning reads the checkout and an explicitly selected rendering template without -starting tools or writing a journal. Run `fep-lean catalogue` first so the +starting tools or writing a journal. Run `fep-formal catalogue` first so the paired generated manuscript members exist; capture refreshes their values after native acceptance: ```bash -uv run fep-lean publication-capture --template /path/to/template --plan +uv run fep-formal publication-capture --template /path/to/template --plan ``` Capture runs native verification, formalism audit, render, Python, numerical, @@ -357,9 +357,9 @@ inputs and output copies, compares their exact bytes, and rejects unexpected members. Capture declares each output and bundles require its recorded payload. ```bash -uv run fep-lean publication-capture --template /path/to/template \ +uv run fep-formal publication-capture --template /path/to/template \ --journal /tmp/fep-publication-capture --source-date-epoch 0 --timeout 21600 -uv run fep-lean publication-capture --template /path/to/template \ +uv run fep-formal publication-capture --template /path/to/template \ --journal /tmp/fep-publication-capture --source-date-epoch 0 --timeout 21600 --resume ``` diff --git a/docs/fep-background.md b/docs/fep-background.md index d1629c25..0384a583 100644 --- a/docs/fep-background.md +++ b/docs/fep-background.md @@ -79,7 +79,7 @@ generative transition and the exact positive-time refresh kernel. This is a model-specific one-step posterior--decision--action certificate, not transition-aware planning, EFE-optimal control, or a claim about how future transition consequences determine the report. The exact theorem lives in -[`finite_reference_agent.lean`](../src/fep_lean/formal/compositions/finite_reference_agent.lean). +[`finite_reference_agent.lean`](../src/fep_formal/formal/compositions/finite_reference_agent.lean). ## Bayesian mechanics and Markov blankets diff --git a/docs/formal-kernel-methods.md b/docs/formal-kernel-methods.md index c2960040..c3226fb4 100644 --- a/docs/formal-kernel-methods.md +++ b/docs/formal-kernel-methods.md @@ -10,8 +10,8 @@ information-geometric, collective, and learning claims can meet under visible hypotheses. The authoritative module set and dependency order live in -[`src/fep_lean/formal/manifest.py`](../src/fep_lean/formal/manifest.py). The -files under [`src/fep_lean/formal/`](../src/fep_lean/formal/) are canonical; +[`src/fep_formal/formal/manifest.py`](../src/fep_formal/formal/manifest.py). The +files under [`src/fep_formal/formal/`](../src/fep_formal/formal/) are canonical; their copies under `lean/FepSketches/` are generated Lake inputs. The [formalism coverage report](formalism-coverage.md) is the generated declaration inventory, not an authoring surface. @@ -296,8 +296,8 @@ Run the deterministic formal and visual checks from the repository root: ```bash uv run python scripts/_maint_build_formal_modules.py --check uv run python scripts/build_formalism_coverage.py --check -uv run fep-lean atlas --check -uv run fep-lean dashboard --check +uv run fep-formal atlas --check +uv run fep-formal dashboard --check uv run pytest \ tests/test_formal_foundations.py \ tests/test_formalism_coverage.py \ @@ -312,7 +312,7 @@ Run native acceptance separately: (cd lean && lake build FepSketches) uv run python scripts/audit_formalisms.py \ --receipt output/formalism-audit.json -uv run fep-lean verify --fail-on-warnings \ +uv run fep-formal verify --fail-on-warnings \ --receipt output/native-verification.json ``` @@ -356,8 +356,8 @@ Regenerate and then drift-check the dashboard with either the public command or its deterministic maintenance adapter: ```bash -uv run fep-lean dashboard -uv run fep-lean dashboard --check +uv run fep-formal dashboard +uv run fep-formal dashboard --check uv run python scripts/build_formal_kernel_dashboard.py --check ``` diff --git a/docs/getting-started.md b/docs/getting-started.md index 7da588ec..00b9e163 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -7,14 +7,14 @@ an explicit source checkout for configuration, verification, and publication. Outside that checkout, put the global option before the subcommand: ```bash -fep-lean --project-root /path/to/fep_formal catalogue +fep-formal --project-root /path/to/fep_formal catalogue ``` ## Portable mathematical inspection The installed package can inspect and export mathematical contracts without a -checkout. Start with `fep-lean methods inspect --topic fep-001` and -`fep-lean methods export --output-root ./mathematical-methods`. The +checkout. Start with `fep-formal methods inspect --topic fep-001` and +`fep-formal methods export --output-root ./mathematical-methods`. The [mathematical methods guide](mathematical-methods.md) explains the API, offline explorer, numerical boundaries and canonical-source option. Native verification and publication still require the checkout assets described below. @@ -31,13 +31,13 @@ bash scripts/setup_checkout.sh The kit resolves its own checkout root, including paths containing spaces. It runs `uv sync --locked --extra dev` with `.python-version`, checks the -validator interpreter and locked environment, runs guarded `fep-lean setup` +validator interpreter and locked environment, runs guarded `fep-formal setup` twice through the two existing entry points, and generates the catalog and manuscript figures. Python can be acquired by uv; Lean and the Mathlib cache are acquired by setup. Allow network access, several gigabytes for downloads, and tens of gigabytes of free space for the expanded toolchain and workspace. Use the same command again after an interrupted acquisition or to check -idempotency. Each setup pass has its own `FEP_LEAN_SETUP_TIMEOUT_SEC` deadline. +idempotency. Each setup pass has its own `FEP_FORMAL_SETUP_TIMEOUT_SEC` deadline. The kit stops at the first failed command and prints each command it runs. This prepares the local Python/native gate environment; it does not assert @@ -65,9 +65,9 @@ the checkout root: ```bash uv sync --locked --extra dev -uv run --locked fep-lean catalogue -uv run --locked fep-lean atlas --check -uv run --locked fep-lean dashboard --check +uv run --locked fep-formal catalogue +uv run --locked fep-formal atlas --check +uv run --locked fep-formal dashboard --check ``` Dependency installation requires network access unless already cached. Once @@ -86,17 +86,17 @@ acquires the exact Lean toolchain recorded in the checkout: curl -sSf https://raw.githubusercontent.com/leanprover/elan/0e36a07b9bbcc5381fa6250df109f9a4f94d7bac/elan-init.sh -o elan-init.sh sh elan-init.sh -y --default-toolchain none export PATH="$HOME/.elan/bin:$PATH" -uv run --locked fep-lean setup -uv run --locked fep-lean verify --topic fep-001 --fail-on-warnings +uv run --locked fep-formal setup +uv run --locked fep-formal verify --topic fep-001 --fail-on-warnings ``` `setup` preserves the checked-in pins and uses a total deadline of 1800 -seconds, configurable with `FEP_LEAN_SETUP_TIMEOUT_SEC`. The shell entry point +seconds, configurable with `FEP_FORMAL_SETUP_TIMEOUT_SEC`. The shell entry point `bash scripts/_maint_bootstrap_lean_toolchain.sh` delegates to the same setup implementation. Neither entry point updates the manifest. See [the pinned acquisition and repair procedure](lean4.md#lock-preserving-setup). An empty `ELAN_HOME` is supported; elan must already be installed or supplied -via `FEP_LEAN_ELAN_EXE`. Cache acquisition can require several gigabytes and +via `FEP_FORMAL_ELAN_EXE`. Cache acquisition can require several gigabytes and several minutes. Do not copy another checkout's `.lake/packages` as a recipe. After setup, the maintained formal kernel and catalog have distinct checks: @@ -105,7 +105,7 @@ After setup, the maintained formal kernel and catalog have distinct checks: uv run --locked python scripts/_maint_build_formal_modules.py --check (cd lean && lake build FepSketches) uv run --locked python scripts/audit_formalisms.py --receipt output/formalism-audit.json -uv run --locked fep-lean verify --fail-on-warnings --receipt output/native-verification.json +uv run --locked fep-formal verify --fail-on-warnings --receipt output/native-verification.json ``` The build checks projected formal modules; the audit resolves declarations @@ -121,13 +121,13 @@ pin you have already built) can reuse the compiled Lake state instead of rebuilding Mathlib from source: ```bash -uv run python specs/ci-velocity-local-cache/lean_cache.py -- uv run --locked fep-lean verify --fail-on-warnings +uv run python specs/ci-velocity-local-cache/lean_cache.py -- uv run --locked fep-formal verify --fail-on-warnings ``` The wrapper validates the toolchain/Mathlib/manifest pins before invoking Lake, restores a content-keyed snapshot of `lean/.lake` from -`~/.cache/fep-lean/lean-build` (override with `--store DIR` or -`FEP_LEAN_CACHE_DIR`) when one exists for the current pins, and refreshes +`~/.cache/fep-formal/lean-build` (override with `--store DIR` or +`FEP_FORMAL_CACHE_DIR`) when one exists for the current pins, and refreshes that snapshot after a successful run. Unless `--skip-build` is passed it also runs `lake --wfail build FepSketches` first — the same cache-get, aggregate build, verify sequence CI's lean lane runs, and the prerequisite that makes @@ -148,7 +148,7 @@ selected by `manuscript/preamble.md`. Pass a real template path explicitly; a symlink into a deleted worktree is not a portable dependency. ```bash -uv run --locked fep-lean catalogue +uv run --locked fep-formal catalogue uv run --locked python scripts/build_manuscript_figures.py uv run --locked python scripts/build_render_fonts.py --probe uv run --locked python scripts/render_publication.py --template /path/to/template @@ -170,8 +170,8 @@ Keep credentials outside the checkout. Native setup alone does not provide these services. ```bash -uv run --locked fep-lean preflight -uv run --locked fep-lean run +uv run --locked fep-formal preflight +uv run --locked fep-formal run ``` `preflight` is read-only. `setup` acquires Lean dependencies; normal verification diff --git a/docs/identity-migration-status.md b/docs/identity-migration-status.md new file mode 100644 index 00000000..896b47ad --- /dev/null +++ b/docs/identity-migration-status.md @@ -0,0 +1,88 @@ +# Identity migration status + +The canonical cutover is implemented locally across FEP_Formal, GNN and +GEO_INFER. Main integration is in progress; the source remains unreleased. The [migration guide](identity-migration.md) +owns the compatibility policy and remaining integration plan; the +[local evidence packet](../specs/identity-cutover/evidence/public-integration-20261028/README.md) +indexes the local results, original failures and scoped reviews by hash. Full +private execution records remain preserved locally. + +## Implemented + +- One implementation/resource owner, `src/fep_formal/`; canonical distribution + and command `fep-formal`, import `fep_formal`, public settings `FEP_FORMAL_`. +- Deprecated imports and commands share canonical identity. The metadata-only + `fep-lean` transition wheel owns no code or scripts. Compatibility remains + through 2.x, with explicit major-release removal criteria. +- Call-time environment precedence, name-only warnings, generated legacy typing + aliases, sealed owner manifest v27, package resources, CI, tooling, maintained + prose and owner-generated projections are migrated. +- GNN uses canonical discovery and execution with FEP's pinned uv/Python and + environment. GEO_INFER's maintained references are current; its seven changed + ACT executable ASTs are unchanged. Existing pair pins remain historical. +- Strict bridge verification now preserves actual compiler warnings and rejects + them in strict mode. Real warning probes failed before this fix and pass after it. + +## Observed local validation + +| Plane | Result and boundary | +| --- | --- | +| Python nonserial selection | 4065 cases: 0 failures, 0 errors, 12 skips; 91.98% line coverage passes the aggregate 89% gate | +| Isolated Chrome and joined coverage | Both actual Chrome controls pass without skips; combined 92.49% measured line coverage passes aggregate and all package floors; the original pre-Chrome output-package floor failure remains retained | +| Serial Lean tests | 479 cases: 0 failures, 0 errors, 2 skips; exact skip reasons remain in JUnit | +| Strict native CLI | 168/168 current-source topics pass; zero errors, warnings or sorry; independent typed validation is source-bound and native-claim-ready | +| Native library and audit | `lake build FepSketches` succeeds; fresh audit records 2,060 declarations, no sorryAx; diagnostic/product-law positive and false controls pass | +| Installed distribution | Real wheel/sdist, isolated install, old-code uninstall-before-upgrade, both command forms, type rejection and both uninstall orders pass; three acceptance cases | +| Static/source | Strict mypy, explicit runtime-shim mypy, Ruff, format, lock/dependencies, owner generators, pin/link/hygiene/reference and retained-artifact checks pass; initial red checks remain retained | +| Render | Fresh PDF/HTML render and strict standing receipt pass against pinned template and final native measurements; local dirty/unreleased version is visible | +| GNN | 72 discovery cases and 38 runtime cases pass; actual final backend invokes both CLI names and compiles a finite syntax/WellFormed document without warnings | +| GEO_INFER | 87 ACT cases, four selector controls and 50 broader generator cases pass; all 1,620 generated guides current; four initial import timeouts remain recorded | +| Independent review | Bounded source approval plus separate final-fixes approval; earlier blocking reports retained; neither review grants release acceptance | + +Current executable source digest: +`dd5e950c504b8f0cf0c5f2ba8ac26f66dbd5a9fcf9d3b451f1dc64822b3cb782`. +Lean is pinned to 4.35.0 and Mathlib revision +`56a005855ea17e0b0958f73ec801ae140b0a1679`. +The native receipt and copied validation bind those exact local owners, rather +than the unchanged baseline Git HEAD. Full-suite-2 ended with a coverage database +open error and missing XML; it is retained as failed. Full-suite-3 was stopped +to avoid exhausting GitVault after 827 passes and two skips; it is not a full +pass. The fresh complete retry +supplies the Python result above; no partial run is counted as a full pass. +The first serial run retained one continuous-parser failure and was stopped +after 48 passes: the environment lacked the already declared `defusedxml` +development dependency. Locked development sync installed exactly that package, +real continuous extraction then succeeded, and the fresh complete serial rerun +supplies the serial result above. No source or timeout was changed to repair it. +The second complete serial run retained 88 historical-fixture failures, +389 passes and two skips. Its failures mixed sealed legacy path keys with live +canonical paths, or compared current helper bytes with a historical digest. +The corrected test-only projections preserve exact historical keys/digests, +guard the real live owners and leave production receipt validation unchanged. +Their focused negative controls, independent review and final full serial +rerun are retained separately. No mathematical body or sealed record changed. + +The final custody ledger retains 1272 byte-identical historical files, +72 byte-identical formal resources and unchanged Lean literals in +23 topic-body modules. 22 generated family changes are source-path +comments only; 4 maintained historical indexes receive link-only repairs. + +## Remaining qualification + +Commit, coordinated integration and package publication have not occurred. +The next release must bump both distribution versions and their exact dependency; +changed artifacts must never be uploaded as the already published 2.1.0. + +Current source-pair pins, artifact-specific Q7/bridge receipts, full hosted +PR/main contexts, the 15-cell wheel matrix and publication visual/browser gates +remain outstanding. Historical custody transitions that require old physical +source owners still refuse this checkout; they require a versioned successor +checkpoint. Local render acceptance does not close those gates. The serial +whole-catalog pytest producer is deliberately skipped locally because the +separate strict CLI already compiled all 168 bodies; no CI producer execution +is claimed. Heavy opt-in probes retain their existing selection rules. + +No Hermes/OpenGauss full run, new scientific result, general semantic +equivalence or release acceptance follows from this migration. Preserved Lean +namespaces, receipt keys, database source tags, renderer registrations and +published artifact stems remain deliberate compatibility identities. diff --git a/docs/identity-migration.md b/docs/identity-migration.md new file mode 100644 index 00000000..8bcfb4b1 --- /dev/null +++ b/docs/identity-migration.md @@ -0,0 +1,212 @@ +# FEP_Formal identity migration + +Status: canonical cutover implemented locally, authorized October 27, 2026. +The [status record](identity-migration-status.md) distinguishes current local +native/software evidence from outstanding coordinated source-pair, hosted and +publication gates. This remains an unreleased source migration; +no new software version, package upload or scientific result is implied. + +## Canonical interfaces and deprecated compatibility + +| Interface | Canonical | Deprecated compatibility | +| --- | --- | --- | +| Project | FEP_Formal | Historical titles retain their original names | +| Repository and Python imports | `fep_formal` | `fep_lean` imports | +| Distribution | `fep-formal` | Separate metadata-only `fep-lean` dependency alias | +| Executable | `fep-formal` | `fep-lean` | +| Package execution | `python -m fep_formal` | `python -m fep_lean`; old `.cli` execution | +| Public environment settings | `FEP_FORMAL_` | Matching `FEP_LEAN_` settings | +| Base exception | `FepFormalError` | Identical `FepLeanError` alias | + +Use canonical names in all new maintained code, instructions, and integrations. +Keep deprecated interfaces through the 2.x release line. Removal requires a +separately announced major release, at least two published minor releases with +the migration notice, a reviewed downstream inventory, and successful +canonical-only downstream acceptance. Elapsed time alone does not remove them. + +```python +from fep_formal.catalogue import FEPTopicCatalogue + +catalogue = FEPTopicCatalogue.default() +``` + +```bash +uv sync --locked --extra dev +uv run fep-formal catalogue +``` + +Catalog mode is offline and reports zero verified topics. It does not refresh +Lean, Hermes/OpenGauss, browser, or publication acceptance. + +## Compatibility design + +`src/fep_formal/` is the only implementation and resource owner. The legacy +import package redirects descendants to canonical module objects. Classes, +exceptions, context state, lazy exports, and imported source snapshots retain +one identity when both spellings are used. Importing an old name emits +`FutureWarning`; the old executable warns on stderr and preserves canonical +stdout and exit codes. Canonical-only use emits no deprecation notice. + +Ordinary public settings resolve at call time. An explicit argument or caller +context retains its existing precedence. The canonical environment key wins +when present, including an empty value; the selected value then follows the +option's existing parsing rules. Only an absent canonical key permits legacy +fallback. Legacy-only or conflicting dual values produce warnings naming the +keys without disclosing their values. Resolution never writes to `os.environ`. + +The private process-supervision protocol names +`FEP_LEAN_PROCESS_OWNER_SOCKET` and `FEP_LEAN_PROCESS_OWNER_TOKEN` remain +unchanged. They are internal lease capabilities, not public settings. Their +atomic-pair validation and the compiler's narrow child environment allowlist +remain intact. Do not invent independently mixed-prefix supervision aliases. + +## Dependency and environment migration + +The canonical wheel owns both import surfaces and both command entrypoints. +`compat/fep-lean/` builds a separate metadata-only wheel whose exact-version +dependency selects the canonical distribution. It owns no Python modules or +commands; uninstalling it cannot remove the canonical implementation. + +The import adapter preserves module and class identity. It does not counterfeit +the old filesystem layout or distribution file roster. Callers that hardcode +`src/fep_lean/...` paths or inspect the old distribution's resource ownership +must migrate to canonical paths and `importlib.metadata.distribution("fep-formal")`. +Old `importlib.resources` package queries resolve the canonical resources. + +A package rename alone does not satisfy an old `Requires-Dist: fep-lean` +constraint. Publish the transition wheel alongside the next canonical release +and update maintained downstream requirements. A dependency pinned to the old +2.1.0 code distribution still selects that historical version; the transition +does not override incompatible exact constraints. Review extras explicitly. + +Existing old code wheels own paths now used by the shim and old command. +Use a fresh environment, or uninstall the old distribution **before** installing +the canonical wheel and transition wheel. Installing the new wheel first and +later uninstalling an old overlapping wheel can delete newly installed files. +Do not upgrade a shared environment without coordinating its active owner. + +Restart long-lived Python processes after updating; an interpreter that already +loaded the old implementation cannot be converted safely by replacing files. + +For a checkout, rebuild the editable installation with `uv sync --locked +--extra dev` in its declared Python 3.14 environment. Verify the actual resolved +interpreter, installed distribution, both command targets, and package origins; +do not rely on a directory name or a cached shell command. + +Release preparation must update the canonical version, compatibility version, +and its exact dependency together with all existing release-version owners. +The source remains at the current development version until that coordinated +release operation. Do not upload a changed artifact under an already published +version. Retain the project's Python packaging floor and validator pin. + +## Implementation plan and completion criteria + +1. Establish baseline custody: clean initial HEAD, actual interpreter prefixes, + current imports/commands, maintained downstream consumers, and retained-file + hashes. Keep baseline failures and subsequent results separately. +2. Move the implementation and resources to `src/fep_formal/`. Migrate internal + imports and paths; add lazy descendant aliases and both command forms. + Prove object identity, lazy behavior, reload behavior, resource access, + exception compatibility, missing-module refusal, and machine-readable output. +3. Centralize public environment aliases. Test canonical-only, legacy-only, + equal/conflicting values, empty values, runtime changes after import, explicit + caller context and child propagation. Preserve supervision and secret filters. +4. Update distribution metadata, package resources, typing, lock metadata, + wheel/import tests, package coverage names, CI commands and source custody. + Check the runtime adapter explicitly with mypy so its adjacent typing stub + cannot hide implementation errors. Build real wheels; exercise fresh installs, explicit old-code migration, + dependency resolution and uninstall ownership. No duplicate implementation. +5. Migrate maintained documentation and instructions; regenerate projections + through their owners and run freshness checks. Preserve authored scientific + statements and receipt-bound captures. Record exact residual legacy uses. +6. Update maintained GNN discovery, namespace, command and origin predicates; + test canonical and legacy layouts and reject escaped/mixed origins. Change + GEO_INFER only where a maintained consumer actually needs it. Preserve all + companion source pins until a reviewed coordinated refresh. +7. Seal both implementation and shim with owner manifest v27. Prove new, + deleted, or modified owners are detected, and old receipts cannot become + current through aliasing. Preserve exact theorem bodies and Lean namespaces. +8. Run the [required checks](../AGENTS.md#required-checks), installed-wheel + tests, downstream cases and negative controls. Obtain independent review. + Record exact results, initial failures and blocked evidence planes in the + [migration status](identity-migration-status.md). + +Implementation and local software acceptance are separate from final source +pair, native and publication qualification. A required gate that has not run +remains outstanding. Integration, package publication and release acceptance +require their existing explicit source-bound workflows. + +## Preserved identities and follow-through + +| Retained identity | Reason and next action | +| --- | --- | +| `FepSketches`, `FEP`, `FEPComposed`, theorem/topic identifiers | Mathematical interfaces remain stable; no proof changes are required by Python naming | +| Bridge/pair JSON key `fep_lean` and companion `.github/fep-lean-pair.json` | Versioned interchange contract; new paths/hashes need explicit source-pair refresh | +| `docs/other/fep_lean/bridge-contract.md` in GNN | Companion contract location; relocate only with coordinated reader/writer change | +| Existing SQLite source tag `fep_lean` | Existing sessions must remain discoverable; a storage migration needs its own versioned policy | +| `fep-lean-evidence-bundle` and custody receipt kind strings | Historical schemas remain interpretable; changing them requires a schema migration | +| Template registration `projects/active/fep_lean` | External renderer contract; retained deliberately until a separately qualified template transition | +| `fep_lean_combined.pdf` and existing manuscript artifact stems | Published/renderer-bound artifact identities; preserve readers and retained captures | +| Retained specs, fixtures, reviews, captures and released changelog entries | Historical records retain their accepted bytes and names | + +Source movement changes source digests even when mathematical statements stay +identical. Existing native, source-pair, render, browser and hosted receipts must +not be described as current for the migrated source. Obtain fresh receipts for +the exact final committed source and companion revisions; preserve old receipts +as historical. Never weaken a digest, origin predicate, coverage floor, warning +rule or acceptance roster to make a migration pass. + +Reversal before integration is a reviewed reversal of this owned patch, without +resetting or overwriting unrelated work. After publication, use a forward +compatibility release and the existing release procedure. Do not rewrite +published packages, tags, proof evidence or archived receipts. + + +Historical custody-refresh transitions also bind physical source paths. Their +recorded old-layout owners are not aliases for the current bytes: a transition +that requires an absent historical owner refuses the migrated checkout. Do not +silently normalize those paths to make the old custody record pass. Before +using that transition for the canonical source, qualify a versioned successor +checkpoint against the final committed source, fresh native evidence and its +required render evidence. Preserve the old journals and checkpoint unchanged. +This historical transition remains a separate acceptance limitation; import +compatibility does not establish custody compatibility. + + +## Coordinated integration and eventual retirement + +The remaining sequence has explicit dependencies: + +1. Choose the next unpublished coordinated release version and update the + canonical distribution, compatibility metadata, exact dependency, lock and + other release owners together before sealing release evidence. Keep the + already published 2.1.0 artifacts unchanged. +2. Review and integrate the owned changes in FEP_Formal, GNN and GEO_INFER. + Record the exact accepted commits in each repository. Local source digests + and unchanged baseline HEADs are not a substitute for those identities. +3. Qualify a versioned successor to any old-layout custody checkpoint before + using its refresh transition. Preserve the historical checkpoint and decoder; + new physical owners and fresh native/render evidence belong in a new record. +4. Refresh the explicitly named companion pairs through the + [bridge contract](design/gnn-bridge/bridge-contract.md). Run both sides' current + status/emission checks and the artifact-specific current-source/native + validator. Retained Q5/Q6/Q7 evidence continues to describe its original pair. +5. Run full automatic PR and merged-main qualification plus the installed-wheel, + publication, browser and visual gates required by the + [release procedure](release.md). Local passing checks do not replace hosted + role membership or independent publication acceptance. Publish only the + exact qualified artifacts through that procedure. Any later source, + configuration or artifact change reopens its affected gates. +6. Keep maintained consumers canonical during 2.x. In each release, recheck the + shim's module identity, typing, resource access, warning behavior, environment + precedence and install/uninstall ownership. Announce a future major removal + only after the published-minor and downstream criteria above are satisfied. +7. At that major boundary, remove deprecated Python/CLI/public-environment + adapters and the metadata transition package as one coordinated change. + Historical receipt decoders, published filenames and Lean theorem namespaces + require their own versioned decisions; they do not disappear automatically + with the Python adapter. + +Coordinate integration and source-pair updates through the repository process. +Package publication and historical evidence changes retain their separately +qualified release requirements. diff --git a/docs/lean-landscape.md b/docs/lean-landscape.md index 9e4e5c62..2d83622a 100644 --- a/docs/lean-landscape.md +++ b/docs/lean-landscape.md @@ -3,7 +3,7 @@ # Formal Lean Theorem Landscape Deterministic dependency map of the maintained formal kernel, generated from -[`src/fep_lean/formal/manifest.py`](../src/fep_lean/formal/manifest.py) and the +[`src/fep_formal/formal/manifest.py`](../src/fep_formal/formal/manifest.py) and the actual plain/public `import FepSketches.*` statements in the workspace sources. The exact roster and roles live in the manifest; this page projects them for navigation. @@ -12,7 +12,7 @@ The exact roster and roles live in the manifest; this page projects them for nav without formal-manifest layer expansion. Lake owns the complete build plan. - Cycles among manifested modules stop generation with the cycle path. - Topic bodies (168 catalog rows) live in family modules under - [`src/fep_lean/catalogue/bodies/`](../src/fep_lean/catalogue/bodies/), not + [`src/fep_formal/catalogue/bodies/`](../src/fep_formal/catalogue/bodies/), not here; generated Lean family shards own their topic namespaces, and the import-only `fep_all.lean` remains their compatibility aggregate. - Regenerate with `uv run python scripts/_maint_build_lean_landscape.py`; diff --git a/docs/lean4.md b/docs/lean4.md index 275b6dd8..84055176 100644 --- a/docs/lean4.md +++ b/docs/lean4.md @@ -19,9 +19,9 @@ which is available at the same version. A pin change alone does not establish native verification; rebuild and refresh receipts as described below. ```bash -uv run fep-lean setup +uv run fep-formal setup uv run python docs/pin_audit.py --check-latest -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json uv run python scripts/audit_formalisms.py --receipt output/formalism-audit.json cd lean lake build @@ -51,13 +51,13 @@ publication acceptance; do not replace receipt hashes by hand. ## Lock-preserving setup From a checkout synchronized with `uv sync --locked --extra dev`, use -`uv run --locked fep-lean setup` or +`uv run --locked fep-formal setup` or `bash scripts/_maint_bootstrap_lean_toolchain.sh`. Both use the same bounded implementation. It validates the toolchain, Mathlib tag, and committed manifest before acquisition, and checks that the pin triple and `uv.lock` remain byte-identical after each subprocess. An explicit Lake executable must report the pinned compiler version. Without Lake, setup uses elan to -install exactly the checkout's toolchain; set `FEP_LEAN_ELAN_EXE` if elan is +install exactly the checkout's toolchain; set `FEP_FORMAL_ELAN_EXE` if elan is not on PATH. `ELAN_HOME` may point to a new empty directory. Set `XDG_CACHE_HOME` or `MATHLIB_CACHE_DIR` to isolate downloaded cache artifacts as well; setup forwards these locations to its acquisition subprocesses. @@ -107,7 +107,7 @@ def hashes(): before = hashes() print("before:", before, flush=True) -for command in (["uv", "run", "--locked", "fep-lean", "setup"], +for command in (["uv", "run", "--locked", "fep-formal", "setup"], ["bash", "scripts/_maint_bootstrap_lean_toolchain.sh"]): subprocess.run(command, check=True) after = hashes() @@ -115,7 +115,7 @@ for command in (["uv", "run", "--locked", "fep-lean", "setup"], assert after == before, "setup changed a checked-in pin" subprocess.run(["git", "diff", "--exit-code", "--", *pins], check=True) PYTHON -uv run --locked fep-lean verify --topic fep-001 --fail-on-warnings +uv run --locked fep-formal verify --topic fep-001 --fail-on-warnings (cd lean && lake env lean --version && git -C .lake/packages/mathlib rev-parse HEAD) ``` @@ -142,16 +142,16 @@ receipts. CI and the scheduled latest-stable workflow reject a stale compatible pair; they do not silently select a different compiler. Canonical topic bodies live in family modules under -[`src/fep_lean/catalogue/bodies/`](../src/fep_lean/catalogue/bodies/). -[`registry.py`](../src/fep_lean/catalogue/registry.py) validates and merges them, -and [`latex.py`](../src/fep_lean/catalogue/latex.py) projects theorem signatures. +[`src/fep_formal/catalogue/bodies/`](../src/fep_formal/catalogue/bodies/). +[`registry.py`](../src/fep_formal/catalogue/registry.py) validates and merges them, +and [`latex.py`](../src/fep_formal/catalogue/latex.py) projects theorem signatures. The tracked aggregate [`lean/FepSketches/fep_all.lean`](../lean/FepSketches/fep_all.lean) is regenerated with [`scripts/_maint_build_fep_all_lean.py`](../scripts/_maint_build_fep_all_lean.py). CI rejects regeneration drift, proof holes, and Lean warnings in the aggregate. Reusable foundations and cross-topic theorems have separate canonical owners -under [`src/fep_lean/formal/`](../src/fep_lean/formal/); the exact module set +under [`src/fep_formal/formal/`](../src/fep_formal/formal/); the exact module set and roles are declared in `manifest.py`. Leaf modules under `compositions/` own proofs that consume multiple stable topic namespaces, while `composed.lean` is their import-only aggregate. @@ -180,7 +180,7 @@ full-run evidence remain distinct. Metadata, semantic review, novelty records, and the family body registry are maintained separately and joined strictly by the schema-2 roster seal. -`config/topics.yaml` and packaged `src/fep_lean/data/topics.yaml` must be +`config/topics.yaml` and packaged `src/fep_formal/data/topics.yaml` must be byte-identical. The strict loader checks the generated schema before execution. ## Cursor Lean 4 commands {#cursor-lean4-commands} @@ -188,7 +188,7 @@ byte-identical. The strict loader checks the generated schema before execution. Use the canonical local commands above. Editor integrations should invoke the same pinned Lake workspace rather than a separately discovered compiler. -## Mathlib4 modules used in FEP_Formal {#mathlib4-modules-used-in-fep_lean} +## Mathlib4 modules used in FEP_Formal {#mathlib4-modules-used-in-fep_formal} Each canonical body declares the narrow Mathlib modules it needs; the generated coverage map records distinct modules and topic-to-import edges. The metadata diff --git a/docs/mahakala-review.md b/docs/mahakala-review.md index 0b011bff..a5e55303 100644 --- a/docs/mahakala-review.md +++ b/docs/mahakala-review.md @@ -1,4 +1,4 @@ -# Mahakala Adversarial Review: fep_lean +# Mahakala Adversarial Review: fep_formal **Date:** 2026-07-31 | **Target:** `ActiveInferenceInstitute/fep_formal` @ `147c19b` **Reviewers:** Mahakala dharmapala (Wave 1: Adversarial Critical Review, Wave 3: Deception + Process, Wave 4: 6 Persona Proxies) + direct test suite audit @@ -8,7 +8,7 @@ > retained as dated evidence. The 2026-08-19 hardening removed the misleading > workflow pseudo-gate, made mypy and Ruff formatting blocking in CI, defined > sketch versus semantic-disposition terminology, migrated code into the -> `fep_lean` namespace, and added typed native receipts plus semantic and +> `fep_formal` namespace, and added typed native receipts plus semantic and > coverage projections. File paths, counts, verdict conditions, and open items > below describe commit `147c19b`, not the current tree. @@ -16,7 +16,7 @@ ## 1. BLUF -**Verdict: GO (with 3 pre-conditions).** fep_lean is a genuinely well-hardened research catalog with unusually honest evidence boundaries. The fail-closed design, deterministic SSOT triangle, zero-mock test suite, and zero-`sorry` Lean aggregate are verified-real. No evidence of deception, metric-gaming, or concealed failures. The gaps are in *framing and process hardening*, not in *integrity or correctness*. Three pre-conditions before publication claim: (1) resolve the documented-but-unimplemented `FEP_LEAN_GAUSS_WORKFLOWS` gate, (2) add CI enforcement for `mypy`, (3) pick and define "sketch" vs "proxy" terminology. +**Verdict: GO (with 3 pre-conditions).** fep_formal is a genuinely well-hardened research catalog with unusually honest evidence boundaries. The fail-closed design, deterministic SSOT triangle, zero-mock test suite, and zero-`sorry` Lean aggregate are verified-real. No evidence of deception, metric-gaming, or concealed failures. The gaps are in *framing and process hardening*, not in *integrity or correctness*. Three pre-conditions before publication claim: (1) resolve the documented-but-unimplemented `FEP_FORMAL_GAUSS_WORKFLOWS` gate, (2) add CI enforcement for `mypy`, (3) pick and define "sketch" vs "proxy" terminology. **Confidence: HIGH** — every finding is bound to file:line evidence, the test suite was independently re-run (339/339 passing), and all six persona proxies converged on the same thematic gaps. @@ -30,7 +30,7 @@ | Deception risk | ✓ GO | Zero concealed failures, no metric gaming, honest CHANGELOG | | Reproducibility | ✓ GO | Deterministic generator, CI-enforced SSOT parity, pinned toolchain | | Test quality | ✓ GO | 339 passing, 90.25% cov, 0 mocks, parallel-safe | -| Process hardening | ⚠ CONDITIONAL | CI missing `mypy`; Ruff non-gating; `FEP_LEAN_GAUSS_WORKFLOWS` unimplemented | +| Process hardening | ⚠ CONDITIONAL | CI missing `mypy`; Ruff non-gating; `FEP_FORMAL_GAUSS_WORKFLOWS` unimplemented | | FEP-mathematical rigor | ⚠ CONDITIONAL | ISA criteria omit non-vacuity gate; sketch/proxy terminology ambiguous | | Release boundary | ✓ NOTED | Honest that ISA-06 is open; needs explicit README statement | @@ -44,9 +44,9 @@ | # | Finding | Severity | Confidence | Source | File:Line | |---|---------|----------|------------|--------|-----------| -| 1 | `FEP_LEAN_GAUSS_WORKFLOWS` gate documented but not implemented | MEDIUM | HIGH | Wave 3 D&D-1 | `src/gauss/runner.py:202-203, 352-353` | +| 1 | `FEP_FORMAL_GAUSS_WORKFLOWS` gate documented but not implemented | MEDIUM | HIGH | Wave 3 D&D-1 | `src/gauss/runner.py:202-203, 352-353` | | 2 | `mypy` not enforced in CI (type regression would pass merge) | MEDIUM | HIGH | Wave 3 PH-2 | `.github/workflows/ci.yml` | -| 3 | `FEP_LEAN_MAX_TOPICS` subset runs report `complete: true` | MEDIUM | HIGH | Wave 3 PH-4 | `src/pipeline/core.py:183, 199` | +| 3 | `FEP_FORMAL_MAX_TOPICS` subset runs report `complete: true` | MEDIUM | HIGH | Wave 3 PH-4 | `src/pipeline/core.py:183, 199` | | 4 | "sketch" vs "proxy" terminology used interchangeably (changes claim strength) | MEDIUM | HIGH | Wave 4 (Allie, both Julians, DAF) | `scripts/catalogue_sketches.py` vs `config/theorem_maturity.yaml` | | 5 | ISA criteria lack a non-vacuity gate — FEP statements untested for triviality | MEDIUM | HIGH | Wave 4 (DAF) | `ISA.md` ISA-01–09 | | 6 | Ruff non-gating (214 findings) with unbounded staged-debt plan | MEDIUM | MODERATE | Wave 3 PH-1, Wave 4 (DAF, Neville) | `docs/quality.md` | @@ -73,8 +73,8 @@ ## 4. Top 3 Fixes (highest impact per effort) -### Fix 1: Implement or remove `FEP_LEAN_GAUSS_WORKFLOWS` gate (30 min) -**Action:** Either add `os.environ.get("FEP_LEAN_GAUSS_WORKFLOWS")` checks to `GaussRunner.run_topic()` at `runner.py:202-203` to gate the `prove`/`draft`/`review` workflow preambles, or remove the claim from the docstrings. Currently the docs promise a safety gate that doesn't exist. +### Fix 1: Implement or remove `FEP_FORMAL_GAUSS_WORKFLOWS` gate (30 min) +**Action:** Either add `os.environ.get("FEP_FORMAL_GAUSS_WORKFLOWS")` checks to `GaussRunner.run_topic()` at `runner.py:202-203` to gate the `prove`/`draft`/`review` workflow preambles, or remove the claim from the docstrings. Currently the docs promise a safety gate that doesn't exist. **Severity:** MEDIUM | **Effort:** LOW (one `if` block or doc edit) **Evidence:** `src/gauss/runner.py:202-203` docstring, verified zero code references to the env var. @@ -94,7 +94,7 @@ | Hypothesis | Evidence supporting | Evidence against | Confidence | |-----------|-------------------|------------------|------------| -| **The repo is ready to ship** | All 10 gates pass, 0 mocks, 0 except:pass, fail-closed, zero sorry | CI missing mypy, terminology unresolved, FEP_LEAN_GAUSS_WORKFLOWS gate unimplemented | MODERATE | +| **The repo is ready to ship** | All 10 gates pass, 0 mocks, 0 except:pass, fail-closed, zero sorry | CI missing mypy, terminology unresolved, FEP_FORMAL_GAUSS_WORKFLOWS gate unimplemented | MODERATE | | **The repo needs CI hardening before release** | mypy not in CI, Ruff non-gating, parallel mode untested in CI | These are process gaps, not integrity flaws; the core output (catalog + Lean) is unaffected | HIGH | | **The FEP-mathematical claims are hollow** | No ISA gate on non-vacuity; "sketch"/"proxy" fuzzy; theorem-maturity audit is maintained but not gating | Maturity audit exists (357 lines) with explicit disposition, non-vacuity, and assumption review for all 50 | LOW | @@ -110,9 +110,9 @@ The evidence strongly favors hypothesis 2 — the infrastructure is solid, the F - Key finding: fail-closed design is genuine — `src/pipeline/core.py:185` enforces ### Wave 3: Deception & Process Hardening (full, 15 findings) -- D&D-1: MEDIUM — documented `FEP_LEAN_GAUSS_WORKFLOWS` gate not in code +- D&D-1: MEDIUM — documented `FEP_FORMAL_GAUSS_WORKFLOWS` gate not in code - PH-2: MEDIUM — `mypy` not in CI -- PH-4: MEDIUM — `FEP_LEAN_MAX_TOPICS` complete flag semantics +- PH-4: MEDIUM — `FEP_FORMAL_MAX_TOPICS` complete flag semantics - TM-1: MEDIUM — stale corrupt Mathlib cache directory on disk - TM-4: MEDIUM — Hermes cache key scope - 10 LOW/NIL findings — all justified cleanup or documentation gaps diff --git a/docs/mathematical-methods.md b/docs/mathematical-methods.md index a90b0b91..e2cc1489 100644 --- a/docs/mathematical-methods.md +++ b/docs/mathematical-methods.md @@ -1,7 +1,7 @@ # Mathematical methods and the OpenAI mathematics context Version 1.6.0 makes the catalog's mathematical location inspectable. -The portable `fep_lean.methods` interface joins canonical topic contracts and +The portable `fep_formal.methods` interface joins canonical topic contracts and authored relations with an explicit interpretive taxonomy. The extended [manuscript supplement](../manuscript/08b_mathematical_positioning_supplement.md) develops the mathematics behind that join. The @@ -38,7 +38,7 @@ The default reads generated YAML resources and canonical Lean resources in the installed distribution. It does not require a checkout: ```python -from fep_lean.methods import ( +from fep_formal.methods import ( build_mathematical_positioning, inspect_topic, positioning_neighbors, @@ -58,23 +58,23 @@ embedding = cross_corpus_embedding(model) ``` ```bash -fep-lean methods inspect --topic fep-001 -fep-lean methods inspect --family core-information-geometry -fep-lean methods neighbors core-information-geometry --limit 5 -fep-lean methods probe -fep-lean methods analyze fep-001 -fep-lean methods theorem fep_fep001.FEP001.fep001_variationalUpperBound_eq_iff -fep-lean methods embedding -fep-lean methods export --output-root ./mathematical-methods -fep-lean methods check --output-root ./mathematical-methods +fep-formal methods inspect --topic fep-001 +fep-formal methods inspect --family core-information-geometry +fep-formal methods neighbors core-information-geometry --limit 5 +fep-formal methods probe +fep-formal methods analyze fep-001 +fep-formal methods theorem fep_fep001.FEP001.fep001_variationalUpperBound_eq_iff +fep-formal methods embedding +fep-formal methods export --output-root ./mathematical-methods +fep-formal methods check --output-root ./mathematical-methods ``` Select current canonical checkout inputs explicitly: ```bash -uv run fep-lean --project-root . methods inspect --topic fep-001 -uv run fep-lean --project-root . methods export --output-root docs/mathematical-positioning -uv run fep-lean --project-root . methods check --output-root docs/mathematical-positioning +uv run fep-formal --project-root . methods inspect --topic fep-001 +uv run fep-formal --project-root . methods export --output-root docs/mathematical-positioning +uv run fep-formal --project-root . methods check --output-root docs/mathematical-positioning uv run python specs/openai-math-methods/generate_package_methods.py --check ``` @@ -98,7 +98,7 @@ loading the positioning model or invoking a compiler: ```python import math -from fep_lean.methods import ( +from fep_formal.methods import ( finite_expectation, log_partition, exponential_tilt, @@ -114,7 +114,7 @@ report = gibbs_duality_diagnostics(reference, reference, potential) ``` ```bash -fep-lean methods gibbs \ +fep-formal methods gibbs \ --candidate '[0.5, 0.5, 0.0]' \ --reference '[0.5, 0.5, 0.0]' \ --potential '[0.0, 1.0986122886681098, 7.0]' diff --git a/docs/mathematical-positioning/AGENTS.md b/docs/mathematical-positioning/AGENTS.md index e5bdb48e..8f49e39b 100644 --- a/docs/mathematical-positioning/AGENTS.md +++ b/docs/mathematical-positioning/AGENTS.md @@ -4,8 +4,8 @@ Generated, byte-exact projection. Do not hand-edit any file here (JSON, Markdown SVG panels, `mathematical-map.html`). - Owners: `config/` and `specs/openai-math-methods/positioning.yaml`, rendered by - `src/fep_lean/methods/projection.py` and `visualization.py`. -- Regenerate: `uv run fep-lean --project-root . methods export --output-root docs/mathematical-positioning` -- Check (read-only, CI): `uv run fep-lean --project-root . methods check --output-root docs/mathematical-positioning` + `src/fep_formal/methods/projection.py` and `visualization.py`. +- Regenerate: `uv run fep-formal --project-root . methods export --output-root docs/mathematical-positioning` +- Check (read-only, CI): `uv run fep-formal --project-root . methods check --output-root docs/mathematical-positioning` Change the owner or the renderer, then regenerate; never patch the output. diff --git a/docs/mathematical-positioning/mathematical-map.html b/docs/mathematical-positioning/mathematical-map.html index 43533d41..211647b9 100644 --- a/docs/mathematical-positioning/mathematical-map.html +++ b/docs/mathematical-positioning/mathematical-map.html @@ -4,20 +4,20 @@ {surprisal : ENNReal} (hsurprisal : surprisal ≠ ∞) : fep001_variationalUpperBound approximation posterior surprisal = surprisal ↔ approximation = posterior
Exact conclusion
fep001_variationalUpperBound approximation posterior surprisal = surprisal ↔
-      approximation = posterior
Source statement SHA-256
83d2d174aa3e01c427f597450727adad4c31a05963a067760d31ef4c17491704
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['approximation', 'posterior']typed_binder(approximation posterior : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure approximation]IsFiniteMeasure approximationinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure posterior]IsFiniteMeasure posteriorinstance
source syntax; proposition elaboration not performed['surprisal']typed_binder{surprisal : ENNReal}ENNRealimplicit
source syntax; proposition elaboration not performed['hsurprisal']typed_binder(hsurprisal : surprisal ≠ ∞)surprisal ≠ ∞explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep001_variationalGap_eq_zero_ifffep_fep001.FEP001.fep001_variationalGap_eq_zero_iffexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-002 · Variational Evidence Bound via KL Divergence · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep002.FEP002.fep002_vfe_ge_surprisal
Invariant
Variational free energy, defined as surprisal plus Mathlib KL divergence, upper-bounds surprisal and is exact at the posterior.
Assumption review
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.
Non-vacuity
Any sigma-finite posterior supplies the equality witness q = posterior, while distinct measures can produce a nonzero or infinite KL remainder.
Acceptance probe (requirement; not executed here)
native Lean compile of fep002_vfe_ge_surprisal and fep002_vfe_exact_at_posterior, using Mathlib's InformationTheory.klDiv rather than an assumed scalar.
Supporting qualified declarations
fep_fep002.FEP002.fep002_prob_measure_univ; fep_fep002.FEP002.fep002_prob_compl; fep_fep002.FEP002.fep002_elbo_bound; fep_fep002.FEP002.fep002_vfe_exact_at_posterior
Boundary qualified declarations
Absent
Canonical body SHA-256
b71cc98895024671592846057d44e3826f45e353e1e32707363636d1f504dbb3
Exact Lean statement (proof omitted)
theorem fep002_vfe_ge_surprisal (q posterior : Measure α) (surprisal : ENNReal) :
-    surprisal ≤ fep002_variationalFreeEnergy q posterior surprisal
Exact conclusion
surprisal ≤ fep002_variationalFreeEnergy q posterior surprisal
Source statement SHA-256
e95e01d2bc68b126578aaf703c13ebb4685cba10353671819f26a2f3c697b214
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['q', 'posterior']typed_binder(q posterior : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed['surprisal']typed_binder(surprisal : ENNReal)ENNRealexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-003 · Discounted Pragmatic Cost · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep003.FEP003.fep003_pragmaticCost_succ
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.
Assumption review
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.
Non-vacuity
For positive discount and positive new stage cost, the terminal increment is nonzero; strict growth of the total additionally requires the previous accumulated cost to be finite. Discount zero at positive horizons exposes the zero-increment boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep003_pragmaticCost_zero, fep003_pragmaticCost_succ, fep003_pragmaticCost_mono, and fep003_pragmaticCost_horizon_succ.
Supporting qualified declarations
fep_fep003.FEP003.fep003_pragmaticCost_zero; fep_fep003.FEP003.fep003_pragmaticCost_mono; fep_fep003.FEP003.fep003_pragmaticCost_horizon_succ
Boundary qualified declarations
Absent
Canonical body SHA-256
c9cfdfab87c9b5613f8fd2e08ca8c1f80681fd239001aaa6494c1e52194e0d68
Exact Lean statement (proof omitted)
theorem fep003_pragmaticCost_succ
+      approximation = posterior
Source statement SHA-256
83d2d174aa3e01c427f597450727adad4c31a05963a067760d31ef4c17491704
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['approximation', 'posterior']typed_binder(approximation posterior : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure approximation]IsFiniteMeasure approximationinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure posterior]IsFiniteMeasure posteriorinstance
source syntax; proposition elaboration not performed['surprisal']typed_binder{surprisal : ENNReal}ENNRealimplicit
source syntax; proposition elaboration not performed['hsurprisal']typed_binder(hsurprisal : surprisal ≠ ∞)surprisal ≠ ∞explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep001_variationalGap_eq_zero_ifffep_fep001.FEP001.fep001_variationalGap_eq_zero_iffexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-002 · Variational Evidence Bound via KL Divergence · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep002.FEP002.fep002_vfe_ge_surprisal
Invariant
Variational free energy, defined as surprisal plus Mathlib KL divergence, upper-bounds surprisal and is exact at the posterior.
Assumption review
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.
Non-vacuity
Any sigma-finite posterior supplies the equality witness q = posterior, while distinct measures can produce a nonzero or infinite KL remainder.
Acceptance probe (requirement; not executed here)
native Lean compile of fep002_vfe_ge_surprisal and fep002_vfe_exact_at_posterior, using Mathlib's InformationTheory.klDiv rather than an assumed scalar.
Supporting qualified declarations
fep_fep002.FEP002.fep002_prob_measure_univ; fep_fep002.FEP002.fep002_prob_compl; fep_fep002.FEP002.fep002_elbo_bound; fep_fep002.FEP002.fep002_vfe_exact_at_posterior
Boundary qualified declarations
Absent
Canonical body SHA-256
b71cc98895024671592846057d44e3826f45e353e1e32707363636d1f504dbb3
Exact Lean statement (proof omitted)
theorem fep002_vfe_ge_surprisal (q posterior : Measure α) (surprisal : ENNReal) :
+    surprisal ≤ fep002_variationalFreeEnergy q posterior surprisal
Exact conclusion
surprisal ≤ fep002_variationalFreeEnergy q posterior surprisal
Source statement SHA-256
e95e01d2bc68b126578aaf703c13ebb4685cba10353671819f26a2f3c697b214
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['q', 'posterior']typed_binder(q posterior : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed['surprisal']typed_binder(surprisal : ENNReal)ENNRealexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-003 · Discounted Pragmatic Cost · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep003.FEP003.fep003_pragmaticCost_succ
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.
Assumption review
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.
Non-vacuity
For positive discount and positive new stage cost, the terminal increment is nonzero; strict growth of the total additionally requires the previous accumulated cost to be finite. Discount zero at positive horizons exposes the zero-increment boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep003_pragmaticCost_zero, fep003_pragmaticCost_succ, fep003_pragmaticCost_mono, and fep003_pragmaticCost_horizon_succ.
Supporting qualified declarations
fep_fep003.FEP003.fep003_pragmaticCost_zero; fep_fep003.FEP003.fep003_pragmaticCost_mono; fep_fep003.FEP003.fep003_pragmaticCost_horizon_succ
Boundary qualified declarations
Absent
Canonical body SHA-256
c9cfdfab87c9b5613f8fd2e08ca8c1f80681fd239001aaa6494c1e52194e0d68
Exact Lean statement (proof omitted)
theorem fep003_pragmaticCost_succ
     (discount : ENNReal) (stageCost : ℕ → ENNReal) (horizon : ℕ) :
     fep003_pragmaticCost discount stageCost (horizon + 1) =
       fep003_pragmaticCost discount stageCost horizon +
         discount ^ horizon * stageCost horizon
Exact conclusion
fep003_pragmaticCost discount stageCost (horizon + 1) =
       fep003_pragmaticCost discount stageCost horizon +
-        discount ^ horizon * stageCost horizon
Source statement SHA-256
ac4b0c6a93d8cf5efaba86bb31bb85f00bddbb4146a534d0bb524d7d39e4d411
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['discount']typed_binder(discount : ENNReal)ENNRealexplicit
source syntax; proposition elaboration not performed['stageCost']typed_binder(stageCost : ℕ → ENNReal)ℕ → ENNRealexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-004 · Finite Diagonal Fisher Metric · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff
Invariant
A finite diagonal Fisher metric is symmetric and positive semidefinite under nonnegative information weights, and becomes positive definite under strictly positive weights.
Assumption review
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.
Non-vacuity
Any strictly positive nonconstant weight vector and nonzero tangent has positive norm, while the zero-characterization excludes every nonzero coordinate direction.
Acceptance probe (requirement; not executed here)
native Lean compile of fep004_fisherMetric_symm, fep004_fisherMetric_nonneg, fep004_fisherMetric_eq_zero_iff, and FEPComposed.fep004_bernoulliMetric_specialization.
Supporting qualified declarations
fep_fep004.FEP004.fep004_fisherMetric_symm; fep_fep004.FEP004.fep004_fisherMetric_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
9101abb2cf0073571db62dc6adef6b77623434c4d2a25c6ae8241b393d470d95
Exact Lean statement (proof omitted)
theorem fep004_fisherMetric_eq_zero_iff {ι : Type*} [Fintype ι]
+        discount ^ horizon * stageCost horizon
Source statement SHA-256
ac4b0c6a93d8cf5efaba86bb31bb85f00bddbb4146a534d0bb524d7d39e4d411
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['discount']typed_binder(discount : ENNReal)ENNRealexplicit
source syntax; proposition elaboration not performed['stageCost']typed_binder(stageCost : ℕ → ENNReal)ℕ → ENNRealexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-004 · Finite Diagonal Fisher Metric · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff
Invariant
A finite diagonal Fisher metric is symmetric and positive semidefinite under nonnegative information weights, and becomes positive definite under strictly positive weights.
Assumption review
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.
Non-vacuity
Any strictly positive nonconstant weight vector and nonzero tangent has positive norm, while the zero-characterization excludes every nonzero coordinate direction.
Acceptance probe (requirement; not executed here)
native Lean compile of fep004_fisherMetric_symm, fep004_fisherMetric_nonneg, fep004_fisherMetric_eq_zero_iff, and FEPComposed.fep004_bernoulliMetric_specialization.
Supporting qualified declarations
fep_fep004.FEP004.fep004_fisherMetric_symm; fep_fep004.FEP004.fep004_fisherMetric_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
9101abb2cf0073571db62dc6adef6b77623434c4d2a25c6ae8241b393d470d95
Exact Lean statement (proof omitted)
theorem fep004_fisherMetric_eq_zero_iff {ι : Type*} [Fintype ι]
     (information v : ι → ℝ) (hinformation : ∀ i, 0 < information i) :
-    fep004_fisherMetric information v v = 0 ↔ ∀ i, v i = 0
Exact conclusion
fep004_fisherMetric information v v = 0 ↔ ∀ i, v i = 0
Source statement SHA-256
e6a524204301e666d9ede4a615465fd3088b32289014bca59189bc62dc7e1c79
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['ι']typed_binder{ι : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype ι]Fintype ιinstance
source syntax; proposition elaboration not performed['information', 'v']typed_binder(information v : ι → ℝ)ι → ℝexplicit
source syntax; proposition elaboration not performed['hinformation']typed_binder(hinformation : ∀ i, 0 < information i)∀ i, 0 < information iexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_information_geometry.py
fep-005 · Four-Block State Partition · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep005.FEP005.fep005_existsUnique_block
Invariant
A function-valued assignment partitions a 20-state finite space into four pairwise-disjoint blocks, and every state belongs to exactly one block.
Assumption review
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.
Non-vacuity
Constant and nonconstant assignments both instantiate the partition, while unique membership rules out overlap for every state.
Acceptance probe (requirement; not executed here)
native Lean compile of fep005_disjoint, fep005_mem_iff, and fep005_existsUnique_block, plus a concrete nonconstant assignment witness.
Supporting qualified declarations
fep_fep005.FEP005.fep005_disjoint; fep_fep005.FEP005.fep005_total_cover; fep_fep005.FEP005.fep005_mem_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
746b2db5f9e11f4b38445a085d58a4d756e97e1daa3f03b952729d61cf99ebf4
Exact Lean statement (proof omitted)
theorem fep005_existsUnique_block (assign : Fin 20 → BlkPart) (s : Fin 20) :
-    ∃! k : BlkPart, s ∈ fep005_partitionCover assign k
Exact conclusion
∃! k : BlkPart, s ∈ fep005_partitionCover assign k
Source statement SHA-256
e301d3df168a1394c8083808987bcfb18a277b6df6971c6f088d2842dbbc4051
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['assign']typed_binder(assign : Fin 20 → BlkPart)Fin 20 → BlkPartexplicit
source syntax; proposition elaboration not performed['s']typed_binder(s : Fin 20)Fin 20explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep005_mem_ifffep_fep005.FEP005.fep005_mem_iffexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-006 · Measurable Discrete-Time Flow · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep006.FEP006.fep006_iterateFlow_add
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.
Assumption review
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.
Non-vacuity
Identity, constant, and nontrivial measurable maps instantiate the flow; the additive law constrains every pair of horizons rather than a single composition.
Acceptance probe (requirement; not executed here)
native Lean compile of fep006_iterateFlow_measurable, fep006_iterateFlow_zero, fep006_iterateFlow_add, and fep006_iterateFlow_fixed.
Supporting qualified declarations
fep_fep006.FEP006.fep006_iterateFlow_measurable; fep_fep006.FEP006.fep006_iterateFlow_zero; fep_fep006.FEP006.fep006_iterateFlow_fixed
Boundary qualified declarations
Absent
Canonical body SHA-256
b91bbe2b61ff3a354d6af75df90f9c3d492d9e6a01063e85822d1fb92dbd9eff
Exact Lean statement (proof omitted)
theorem fep006_iterateFlow_add (step : α → α) (m n : ℕ) (state : α) :
+    fep004_fisherMetric information v v = 0 ↔ ∀ i, v i = 0
Exact conclusion
fep004_fisherMetric information v v = 0 ↔ ∀ i, v i = 0
Source statement SHA-256
e6a524204301e666d9ede4a615465fd3088b32289014bca59189bc62dc7e1c79
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['ι']typed_binder{ι : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype ι]Fintype ιinstance
source syntax; proposition elaboration not performed['information', 'v']typed_binder(information v : ι → ℝ)ι → ℝexplicit
source syntax; proposition elaboration not performed['hinformation']typed_binder(hinformation : ∀ i, 0 < information i)∀ i, 0 < information iexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_information_geometry.py
fep-005 · Four-Block State Partition · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep005.FEP005.fep005_existsUnique_block
Invariant
A function-valued assignment partitions a 20-state finite space into four pairwise-disjoint blocks, and every state belongs to exactly one block.
Assumption review
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.
Non-vacuity
Constant and nonconstant assignments both instantiate the partition, while unique membership rules out overlap for every state.
Acceptance probe (requirement; not executed here)
native Lean compile of fep005_disjoint, fep005_mem_iff, and fep005_existsUnique_block, plus a concrete nonconstant assignment witness.
Supporting qualified declarations
fep_fep005.FEP005.fep005_disjoint; fep_fep005.FEP005.fep005_total_cover; fep_fep005.FEP005.fep005_mem_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
746b2db5f9e11f4b38445a085d58a4d756e97e1daa3f03b952729d61cf99ebf4
Exact Lean statement (proof omitted)
theorem fep005_existsUnique_block (assign : Fin 20 → BlkPart) (s : Fin 20) :
+    ∃! k : BlkPart, s ∈ fep005_partitionCover assign k
Exact conclusion
∃! k : BlkPart, s ∈ fep005_partitionCover assign k
Source statement SHA-256
e301d3df168a1394c8083808987bcfb18a277b6df6971c6f088d2842dbbc4051
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['assign']typed_binder(assign : Fin 20 → BlkPart)Fin 20 → BlkPartexplicit
source syntax; proposition elaboration not performed['s']typed_binder(s : Fin 20)Fin 20explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep005_mem_ifffep_fep005.FEP005.fep005_mem_iffexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-006 · Measurable Discrete-Time Flow · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep006.FEP006.fep006_iterateFlow_add
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.
Assumption review
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.
Non-vacuity
Identity, constant, and nontrivial measurable maps instantiate the flow; the additive law constrains every pair of horizons rather than a single composition.
Acceptance probe (requirement; not executed here)
native Lean compile of fep006_iterateFlow_measurable, fep006_iterateFlow_zero, fep006_iterateFlow_add, and fep006_iterateFlow_fixed.
Supporting qualified declarations
fep_fep006.FEP006.fep006_iterateFlow_measurable; fep_fep006.FEP006.fep006_iterateFlow_zero; fep_fep006.FEP006.fep006_iterateFlow_fixed
Boundary qualified declarations
Absent
Canonical body SHA-256
b91bbe2b61ff3a354d6af75df90f9c3d492d9e6a01063e85822d1fb92dbd9eff
Exact Lean statement (proof omitted)
theorem fep006_iterateFlow_add (step : α → α) (m n : ℕ) (state : α) :
     fep006_iterateFlow step (m + n) state =
       fep006_iterateFlow step m (fep006_iterateFlow step n state)
Exact conclusion
fep006_iterateFlow step (m + n) state =
-      fep006_iterateFlow step m (fep006_iterateFlow step n state)
Source statement SHA-256
2e251f5a4666144a9c2843a6d226db497856836266d2d8a0730885be5ea13f89
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['step']typed_binder(step : α → α)α → αexplicit
source syntax; proposition elaboration not performed['m', 'n']typed_binder(m n : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : α)αexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-007 · Normalized Finite Sum-Product Message · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep007.FEP007.fep007_normalizedMessage_sum_one
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.
Assumption review
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.
Non-vacuity
Singleton and multi-neighbor supports produce positive normalizers; unequal factor-message products yield a genuinely nonuniform normalized message.
Acceptance probe (requirement; not executed here)
native Lean compile of fep007_messageNormalizer_pos, fep007_normalizedMessage_nonneg, and fep007_normalizedMessage_sum_one.
Supporting qualified declarations
fep_fep007.FEP007.fep007_factorProduct_nonneg; fep_fep007.FEP007.fep007_message_agg_nonneg; fep_fep007.FEP007.fep007_message_agg_mono; fep_fep007.FEP007.fep007_zero_msg; fep_fep007.FEP007.fep007_messageNormalizer_pos; fep_fep007.FEP007.fep007_normalizedMessage_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
0428730d3463363420087da0b8bddd28114d53e470ab8903731637253d143281
Exact Lean statement (proof omitted)
theorem fep007_normalizedMessage_sum_one
+      fep006_iterateFlow step m (fep006_iterateFlow step n state)
Source statement SHA-256
2e251f5a4666144a9c2843a6d226db497856836266d2d8a0730885be5ea13f89
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['step']typed_binder(step : α → α)α → αexplicit
source syntax; proposition elaboration not performed['m', 'n']typed_binder(m n : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : α)αexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-007 · Normalized Finite Sum-Product Message · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep007.FEP007.fep007_normalizedMessage_sum_one
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.
Assumption review
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.
Non-vacuity
Singleton and multi-neighbor supports produce positive normalizers; unequal factor-message products yield a genuinely nonuniform normalized message.
Acceptance probe (requirement; not executed here)
native Lean compile of fep007_messageNormalizer_pos, fep007_normalizedMessage_nonneg, and fep007_normalizedMessage_sum_one.
Supporting qualified declarations
fep_fep007.FEP007.fep007_factorProduct_nonneg; fep_fep007.FEP007.fep007_message_agg_nonneg; fep_fep007.FEP007.fep007_message_agg_mono; fep_fep007.FEP007.fep007_zero_msg; fep_fep007.FEP007.fep007_messageNormalizer_pos; fep_fep007.FEP007.fep007_normalizedMessage_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
0428730d3463363420087da0b8bddd28114d53e470ab8903731637253d143281
Exact Lean statement (proof omitted)
theorem fep007_normalizedMessage_sum_one
     (ψ : Node → Node → ℝ) (incoming : Node → ℝ)
     (neighbors : Finset Node) (i : Node)
     (hne : neighbors.Nonempty)
@@ -25,86 +25,86 @@
     (hincoming : ∀ j ∈ neighbors, 0 < incoming j) :
     ∑ j ∈ neighbors,
       fep007_normalizedMessage ψ incoming neighbors i j = 1
Exact conclusion
∑ j ∈ neighbors,
-      fep007_normalizedMessage ψ incoming neighbors i j = 1
Source statement SHA-256
1671525aef941319d36be131abac89402984d450d9316b43bd93b20dcc591ad8
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['ψ']typed_binder(ψ : Node → Node → ℝ)Node → Node → ℝexplicit
source syntax; proposition elaboration not performed['incoming']typed_binder(incoming : Node → ℝ)Node → ℝexplicit
source syntax; proposition elaboration not performed['neighbors']typed_binder(neighbors : Finset Node)Finset Nodeexplicit
source syntax; proposition elaboration not performed['i']typed_binder(i : Node)Nodeexplicit
source syntax; proposition elaboration not performed['hne']typed_binder(hne : neighbors.Nonempty)neighbors.Nonemptyexplicit
source syntax; proposition elaboration not performed['hψ']typed_binder(hψ : ∀ j ∈ neighbors, 0 < ψ i j)∀ j ∈ neighbors, 0 < ψ i jexplicit
source syntax; proposition elaboration not performed['hincoming']typed_binder(hincoming : ∀ j ∈ neighbors, 0 < incoming j)∀ j ∈ neighbors, 0 < incoming jexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep007_messageNormalizer_posfep_fep007.FEP007.fep007_messageNormalizer_posexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-008 · Finite Policy Objective Minimizer · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep008.FEP008.fep008_exists_minG
Invariant
A real-valued objective attains a minimum on a finite nonempty policy set.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep008_exists_minG, fep008_min_agrees_on_value, and fep008_exists_maxG on finite nonempty policy sets.
Supporting qualified declarations
fep_fep008.FEP008.fep008_min_agrees_on_value; fep_fep008.FEP008.fep008_exists_maxG; fep_fep008.FEP008.fep008_min_is_lb
Boundary qualified declarations
Absent
Canonical body SHA-256
0589ed42d0d6faa9899658c9a86b40f7a7ed759b3d2a11094a884d6dd7054920
Exact Lean statement (proof omitted)
theorem fep008_exists_minG (policies : Finset Policy) (hne : policies.Nonempty) (G : Policy → ℝ) :
-    ∃ p ∈ policies, ∀ p' ∈ policies, G p ≤ G p'
Exact conclusion
∃ p ∈ policies, ∀ p' ∈ policies, G p ≤ G p'
Source statement SHA-256
cb1cab225b8cd31b35013e6d54ab674ede6955975d4ee6f5ae80eeaa5db3c32a
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['policies']typed_binder(policies : Finset Policy)Finset Policyexplicit
source syntax; proposition elaboration not performed['hne']typed_binder(hne : policies.Nonempty)policies.Nonemptyexplicit
source syntax; proposition elaboration not performed['G']typed_binder(G : Policy → ℝ)Policy → ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-009 · Conditional Independence Laws · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep009.FEP009.fep009_condIndep_symm
Invariant
Conditional independence of two σ-algebras given a third is symmetric under Mathlib's conditional-expectation-kernel definition.
Assumption review
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.
Non-vacuity
fep009_condIndep_bot_right proves that every σ-algebra is conditionally independent of the trivial σ-algebra, so the relation is inhabited.
Acceptance probe (requirement; not executed here)
native Lean compile of fep009_condIndep_symm and fep009_condIndep_bot_right.
Supporting qualified declarations
fep_fep009.FEP009.fep009_condIndep_bot_right; fep_fep009.FEP009.fep009_joint_product_nonneg; fep_fep009.FEP009.fep009_likelihood_mono; fep_fep009.FEP009.fep009_map_nonneg; fep_fep009.FEP009.fep009_empty_zero; fep_fep009.FEP009.fep009_union_le
Boundary qualified declarations
Absent
Canonical body SHA-256
c350ce4b0b5d2a759d1891d7ff36f7e4e55389b1d668bbfa5703b1817274979c
Exact Lean statement (proof omitted)
theorem fep009_condIndep_symm
+      fep007_normalizedMessage ψ incoming neighbors i j = 1
Source statement SHA-256
1671525aef941319d36be131abac89402984d450d9316b43bd93b20dcc591ad8
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['ψ']typed_binder(ψ : Node → Node → ℝ)Node → Node → ℝexplicit
source syntax; proposition elaboration not performed['incoming']typed_binder(incoming : Node → ℝ)Node → ℝexplicit
source syntax; proposition elaboration not performed['neighbors']typed_binder(neighbors : Finset Node)Finset Nodeexplicit
source syntax; proposition elaboration not performed['i']typed_binder(i : Node)Nodeexplicit
source syntax; proposition elaboration not performed['hne']typed_binder(hne : neighbors.Nonempty)neighbors.Nonemptyexplicit
source syntax; proposition elaboration not performed['hψ']typed_binder(hψ : ∀ j ∈ neighbors, 0 < ψ i j)∀ j ∈ neighbors, 0 < ψ i jexplicit
source syntax; proposition elaboration not performed['hincoming']typed_binder(hincoming : ∀ j ∈ neighbors, 0 < incoming j)∀ j ∈ neighbors, 0 < incoming jexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep007_messageNormalizer_posfep_fep007.FEP007.fep007_messageNormalizer_posexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-008 · Finite Policy Objective Minimizer · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep008.FEP008.fep008_exists_minG
Invariant
A real-valued objective attains a minimum on a finite nonempty policy set.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep008_exists_minG, fep008_min_agrees_on_value, and fep008_exists_maxG on finite nonempty policy sets.
Supporting qualified declarations
fep_fep008.FEP008.fep008_min_agrees_on_value; fep_fep008.FEP008.fep008_exists_maxG; fep_fep008.FEP008.fep008_min_is_lb
Boundary qualified declarations
Absent
Canonical body SHA-256
0589ed42d0d6faa9899658c9a86b40f7a7ed759b3d2a11094a884d6dd7054920
Exact Lean statement (proof omitted)
theorem fep008_exists_minG (policies : Finset Policy) (hne : policies.Nonempty) (G : Policy → ℝ) :
+    ∃ p ∈ policies, ∀ p' ∈ policies, G p ≤ G p'
Exact conclusion
∃ p ∈ policies, ∀ p' ∈ policies, G p ≤ G p'
Source statement SHA-256
cb1cab225b8cd31b35013e6d54ab674ede6955975d4ee6f5ae80eeaa5db3c32a
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['policies']typed_binder(policies : Finset Policy)Finset Policyexplicit
source syntax; proposition elaboration not performed['hne']typed_binder(hne : policies.Nonempty)policies.Nonemptyexplicit
source syntax; proposition elaboration not performed['G']typed_binder(G : Policy → ℝ)Policy → ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-009 · Conditional Independence Laws · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep009.FEP009.fep009_condIndep_symm
Invariant
Conditional independence of two σ-algebras given a third is symmetric under Mathlib's conditional-expectation-kernel definition.
Assumption review
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.
Non-vacuity
fep009_condIndep_bot_right proves that every σ-algebra is conditionally independent of the trivial σ-algebra, so the relation is inhabited.
Acceptance probe (requirement; not executed here)
native Lean compile of fep009_condIndep_symm and fep009_condIndep_bot_right.
Supporting qualified declarations
fep_fep009.FEP009.fep009_condIndep_bot_right; fep_fep009.FEP009.fep009_joint_product_nonneg; fep_fep009.FEP009.fep009_likelihood_mono; fep_fep009.FEP009.fep009_map_nonneg; fep_fep009.FEP009.fep009_empty_zero; fep_fep009.FEP009.fep009_union_le
Boundary qualified declarations
Absent
Canonical body SHA-256
c350ce4b0b5d2a759d1891d7ff36f7e4e55389b1d668bbfa5703b1817274979c
Exact Lean statement (proof omitted)
theorem fep009_condIndep_symm
     (m' m₁ m₂ : MeasurableSpace Ω) (hm' : m' ≤ mΩ)
     (μ : @Measure Ω mΩ) [IsFiniteMeasure μ]
     (h : CondIndep m' m₁ m₂ hm' μ) :
-    CondIndep m' m₂ m₁ hm' μ
Exact conclusion
CondIndep m' m₂ m₁ hm' μ
Source statement SHA-256
bc5adce9c7bf4f6311d4034b78fd2a10176525c43b705de0a5d089327df4dd7f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω : Type*} [mΩ : MeasurableSpace Ω] [StandardBorelSpace Ω]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed["m'", 'm₁', 'm₂']typed_binder(m' m₁ m₂ : MeasurableSpace Ω)MeasurableSpace Ωexplicit
source syntax; proposition elaboration not performed["hm'"]typed_binder(hm' : m' ≤ mΩ)m' ≤ mΩexplicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : @Measure Ω mΩ)@Measure Ω mΩexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed['h']typed_binder(h : CondIndep m' m₁ m₂ hm' μ)CondIndep m' m₁ m₂ hm' μexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-010 · Detailed Balance Implies Invariance · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep010.FEP010.fep010_reversible_invariant
Invariant
A Markov kernel satisfying measure-theoretic detailed balance leaves its reference measure invariant.
Assumption review
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.
Non-vacuity
fep010_identity_reversible and fep010_identity_invariant provide a concrete reversible Markov-kernel witness for every measure.
Acceptance probe (requirement; not executed here)
native Lean compile of reversible-implies-invariant plus the identity-kernel reversibility and invariance witnesses.
Supporting qualified declarations
fep_fep010.FEP010.fep010_identity_reversible; fep_fep010.FEP010.fep010_identity_invariant; fep_fep010.FEP010.fep010_invariant_def; fep_fep010.FEP010.fep010_invariant_comp
Boundary qualified declarations
Absent
Canonical body SHA-256
83a256f871bca849bef9c01effef893bc7f375b2a4fa66801dfae9039d3d7422
Exact Lean statement (proof omitted)
theorem fep010_reversible_invariant (κ : Kernel α α) (π : Measure α)
+    CondIndep m' m₂ m₁ hm' μ
Exact conclusion
CondIndep m' m₂ m₁ hm' μ
Source statement SHA-256
bc5adce9c7bf4f6311d4034b78fd2a10176525c43b705de0a5d089327df4dd7f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω : Type*} [mΩ : MeasurableSpace Ω] [StandardBorelSpace Ω]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed["m'", 'm₁', 'm₂']typed_binder(m' m₁ m₂ : MeasurableSpace Ω)MeasurableSpace Ωexplicit
source syntax; proposition elaboration not performed["hm'"]typed_binder(hm' : m' ≤ mΩ)m' ≤ mΩexplicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : @Measure Ω mΩ)@Measure Ω mΩexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed['h']typed_binder(h : CondIndep m' m₁ m₂ hm' μ)CondIndep m' m₁ m₂ hm' μexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-010 · Detailed Balance Implies Invariance · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep010.FEP010.fep010_reversible_invariant
Invariant
A Markov kernel satisfying measure-theoretic detailed balance leaves its reference measure invariant.
Assumption review
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.
Non-vacuity
fep010_identity_reversible and fep010_identity_invariant provide a concrete reversible Markov-kernel witness for every measure.
Acceptance probe (requirement; not executed here)
native Lean compile of reversible-implies-invariant plus the identity-kernel reversibility and invariance witnesses.
Supporting qualified declarations
fep_fep010.FEP010.fep010_identity_reversible; fep_fep010.FEP010.fep010_identity_invariant; fep_fep010.FEP010.fep010_invariant_def; fep_fep010.FEP010.fep010_invariant_comp
Boundary qualified declarations
Absent
Canonical body SHA-256
83a256f871bca849bef9c01effef893bc7f375b2a4fa66801dfae9039d3d7422
Exact Lean statement (proof omitted)
theorem fep010_reversible_invariant (κ : Kernel α α) (π : Measure α)
     [IsMarkovKernel κ] (hrev : Kernel.IsReversible κ π) :
-    Kernel.Invariant κ π
Exact conclusion
Kernel.Invariant κ π
Source statement SHA-256
a38367c979919df2d77b454fba7180f48afb6a2b29aba6c6b73107905fff5eac
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel α α)Kernel α αexplicit
source syntax; proposition elaboration not performed['π']typed_binder(π : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel κ]IsMarkovKernel κinstance
source syntax; proposition elaboration not performed['hrev']typed_binder(hrev : Kernel.IsReversible κ π)Kernel.IsReversible κ πexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-011 · Surprise and Self-Information · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep011.FEP011.fep011_surprise_eq_zero_iff
Invariant
Negative-log self-information is nonnegative on positive probabilities at most one, additive on positive products, strictly antitone, and zero exactly at certainty.
Assumption review
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.
Non-vacuity
Every p in (0,1) has strictly positive surprise, p=1 is the unique zero, and two positive factors exercise the additive law.
Acceptance probe (requirement; not executed here)
native Lean compile of fep011_surprise_nonneg, fep011_surprise_additive, fep011_surprise_eq_zero_iff, and fep011_surprise_strictAnti.
Supporting qualified declarations
fep_fep011.FEP011.fep011_log_nonneg_on_ge_one; fep_fep011.FEP011.fep011_surprise_nonneg; fep_fep011.FEP011.fep011_surprise_additive; fep_fep011.FEP011.fep011_surprise_cert; fep_fep011.FEP011.fep011_surprise_mono; fep_fep011.FEP011.fep011_surprise_strictAnti
Boundary qualified declarations
Absent
Canonical body SHA-256
79a1af603c1e4bfff4cf715cd3b723d2112f3a8f6c3a4e81d3710338d9dcf03c
Exact Lean statement (proof omitted)
theorem fep011_surprise_eq_zero_iff {p : ℝ} (hp : 0 < p) :
-    fep011_surprise p = 0 ↔ p = 1
Exact conclusion
fep011_surprise p = 0 ↔ p = 1
Source statement SHA-256
8564076d5cb9efe4ca3e9bf67a9189d51f75e91d174c73d9582f6edd6858f19b
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['p']typed_binder{p : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : 0 < p)0 < pexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep011_surprise_certfep_fep011.FEP011.fep011_surprise_certexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-012 · Finite Policy Shannon Entropy Regularization · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep012_policyEntropy_nonneg, fep012_policyEntropy_pointMass, fep012_entropyRegularizedCost_le_expectedCost, and FEPComposed.fep012_softmax_entropyRegularizedCost_le.
Supporting qualified declarations
fep_fep012.FEP012.fep012_policyEntropy_nonneg; fep_fep012.FEP012.fep012_policyEntropy_pointMass; fep_fep012.FEP012.fep012_entropyRegularizedCost_zeroTemperature; fep_fep012.FEP012.fep012_gibbsPartition_nonneg; fep_fep012.FEP012.fep012_gibbsPartition_pos; fep_fep012.FEP012.fep012_gibbs_mono
Boundary qualified declarations
Absent
Canonical body SHA-256
8fd07baaeb4ce29f5bbeb8257c4b3867614e34bcd7a0f1cf06632fd7ddf25eb4
Exact Lean statement (proof omitted)
theorem fep012_entropyRegularizedCost_le_expectedCost
+    Kernel.Invariant κ π
Exact conclusion
Kernel.Invariant κ π
Source statement SHA-256
a38367c979919df2d77b454fba7180f48afb6a2b29aba6c6b73107905fff5eac
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel α α)Kernel α αexplicit
source syntax; proposition elaboration not performed['π']typed_binder(π : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel κ]IsMarkovKernel κinstance
source syntax; proposition elaboration not performed['hrev']typed_binder(hrev : Kernel.IsReversible κ π)Kernel.IsReversible κ πexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-011 · Surprise and Self-Information · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep011.FEP011.fep011_surprise_eq_zero_iff
Invariant
Negative-log self-information is nonnegative on positive probabilities at most one, additive on positive products, strictly antitone, and zero exactly at certainty.
Assumption review
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.
Non-vacuity
Every p in (0,1) has strictly positive surprise, p=1 is the unique zero, and two positive factors exercise the additive law.
Acceptance probe (requirement; not executed here)
native Lean compile of fep011_surprise_nonneg, fep011_surprise_additive, fep011_surprise_eq_zero_iff, and fep011_surprise_strictAnti.
Supporting qualified declarations
fep_fep011.FEP011.fep011_log_nonneg_on_ge_one; fep_fep011.FEP011.fep011_surprise_nonneg; fep_fep011.FEP011.fep011_surprise_additive; fep_fep011.FEP011.fep011_surprise_cert; fep_fep011.FEP011.fep011_surprise_mono; fep_fep011.FEP011.fep011_surprise_strictAnti
Boundary qualified declarations
Absent
Canonical body SHA-256
79a1af603c1e4bfff4cf715cd3b723d2112f3a8f6c3a4e81d3710338d9dcf03c
Exact Lean statement (proof omitted)
theorem fep011_surprise_eq_zero_iff {p : ℝ} (hp : 0 < p) :
+    fep011_surprise p = 0 ↔ p = 1
Exact conclusion
fep011_surprise p = 0 ↔ p = 1
Source statement SHA-256
8564076d5cb9efe4ca3e9bf67a9189d51f75e91d174c73d9582f6edd6858f19b
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['p']typed_binder{p : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : 0 < p)0 < pexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep011_surprise_certfep_fep011.FEP011.fep011_surprise_certexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-012 · Finite Policy Shannon Entropy Regularization · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep012_policyEntropy_nonneg, fep012_policyEntropy_pointMass, fep012_entropyRegularizedCost_le_expectedCost, and FEPComposed.fep012_softmax_entropyRegularizedCost_le.
Supporting qualified declarations
fep_fep012.FEP012.fep012_policyEntropy_nonneg; fep_fep012.FEP012.fep012_policyEntropy_pointMass; fep_fep012.FEP012.fep012_entropyRegularizedCost_zeroTemperature; fep_fep012.FEP012.fep012_gibbsPartition_nonneg; fep_fep012.FEP012.fep012_gibbsPartition_pos; fep_fep012.FEP012.fep012_gibbs_mono
Boundary qualified declarations
Absent
Canonical body SHA-256
8fd07baaeb4ce29f5bbeb8257c4b3867614e34bcd7a0f1cf06632fd7ddf25eb4
Exact Lean statement (proof omitted)
theorem fep012_entropyRegularizedCost_le_expectedCost
     (q cost : Policy → ℝ) (τ : ℝ)
     (hτ : 0 ≤ τ) (hq : ∀ p, q p ∈ Set.Icc (0 : ℝ) 1) :
-    fep012_entropyRegularizedCost q cost τ ≤ fep012_expectedCost q cost
Exact conclusion
fep012_entropyRegularizedCost q cost τ ≤ fep012_expectedCost q cost
Source statement SHA-256
882d58a6cc3083475f4dac35215496c799a69e6451d773914c49d7ed3f594b4e
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['q', 'cost']typed_binder(q cost : Policy → ℝ)Policy → ℝexplicit
source syntax; proposition elaboration not performed['τ']typed_binder(τ : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hτ']typed_binder(hτ : 0 ≤ τ)0 ≤ τexplicit
source syntax; proposition elaboration not performed['hq']typed_binder(hq : ∀ p, q p ∈ Set.Icc (0 : ℝ) 1)∀ p, q p ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep012_policyEntropy_nonnegfep_fep012.FEP012.fep012_policyEntropy_nonnegexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-013 · Equilibrium Helmholtz Differential Identities · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy
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.
Assumption review
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.
Non-vacuity
The fep040 Gaussian thermal entropy with U(T)=T/2 satisfies the premise at positive scale and temperature, yielding a nonconstant mathematical model with explicit dimensionless units.
Acceptance probe (requirement; not executed here)
native Lean compile of fep013_helmholtz_hasDerivAt, fep013_helmholtz_derivative_eq_neg_entropy, and FEPComposed.fep013_gaussianHelmholtz_derivative.
Supporting qualified declarations
fep_fep013.FEP013.fep013_helmholtz_at_zero_temp; fep_fep013.FEP013.fep013_helmholtz_mono_entropy; fep_fep013.FEP013.fep013_helmholtz_mono_U; fep_fep013.FEP013.fep013_delta_F; fep_fep013.FEP013.fep013_helmholtz_hasDerivAt
Boundary qualified declarations
Absent
Canonical body SHA-256
6b9c69e6301ea55700f2915cb829f3a104becbca4d5f874a4d079aca68bb7fa9
Exact Lean statement (proof omitted)
theorem fep013_helmholtz_derivative_eq_neg_entropy
+    fep012_entropyRegularizedCost q cost τ ≤ fep012_expectedCost q cost
Exact conclusion
fep012_entropyRegularizedCost q cost τ ≤ fep012_expectedCost q cost
Source statement SHA-256
882d58a6cc3083475f4dac35215496c799a69e6451d773914c49d7ed3f594b4e
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['q', 'cost']typed_binder(q cost : Policy → ℝ)Policy → ℝexplicit
source syntax; proposition elaboration not performed['τ']typed_binder(τ : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hτ']typed_binder(hτ : 0 ≤ τ)0 ≤ τexplicit
source syntax; proposition elaboration not performed['hq']typed_binder(hq : ∀ p, q p ∈ Set.Icc (0 : ℝ) 1)∀ p, q p ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep012_policyEntropy_nonnegfep_fep012.FEP012.fep012_policyEntropy_nonnegexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-013 · Equilibrium Helmholtz Differential Identities · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy
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.
Assumption review
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.
Non-vacuity
The fep040 Gaussian thermal entropy with U(T)=T/2 satisfies the premise at positive scale and temperature, yielding a nonconstant mathematical model with explicit dimensionless units.
Acceptance probe (requirement; not executed here)
native Lean compile of fep013_helmholtz_hasDerivAt, fep013_helmholtz_derivative_eq_neg_entropy, and FEPComposed.fep013_gaussianHelmholtz_derivative.
Supporting qualified declarations
fep_fep013.FEP013.fep013_helmholtz_at_zero_temp; fep_fep013.FEP013.fep013_helmholtz_mono_entropy; fep_fep013.FEP013.fep013_helmholtz_mono_U; fep_fep013.FEP013.fep013_delta_F; fep_fep013.FEP013.fep013_helmholtz_hasDerivAt
Boundary qualified declarations
Absent
Canonical body SHA-256
6b9c69e6301ea55700f2915cb829f3a104becbca4d5f874a4d079aca68bb7fa9
Exact Lean statement (proof omitted)
theorem fep013_helmholtz_derivative_eq_neg_entropy
     {U S : ℝ → ℝ} {U' S' T : ℝ}
     (hU : HasDerivAt U U' T) (hS : HasDerivAt S S' T)
     (hfirstLaw : U' = T * S') :
-    HasDerivAt (fun t => fep013_helmholtz (U t) t (S t)) (-S T) T
Exact conclusion
HasDerivAt (fun t => fep013_helmholtz (U t) t (S t)) (-S T) T
Source statement SHA-256
ab2adb496858aed3ae648e7cb8403cb84287cd62e6e15e556ad372e7c2a982ea
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['U', 'S']typed_binder{U S : ℝ → ℝ}ℝ → ℝimplicit
source syntax; proposition elaboration not performed["U'", "S'", 'T']typed_binder{U' S' T : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hU']typed_binder(hU : HasDerivAt U U' T)HasDerivAt U U' Texplicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : HasDerivAt S S' T)HasDerivAt S S' Texplicit
source syntax; proposition elaboration not performed['hfirstLaw']typed_binder(hfirstLaw : U' = T * S')U' = T * S'explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep013_helmholtz_hasDerivAtfep_fep013.FEP013.fep013_helmholtz_hasDerivAtexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_thermodynamics.py
fep-014 · KL Divergence: Non-Negativity, Identity, and Chain Rule · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep014.FEP014.fep014_kl_chain_rule
Invariant
Mathlib KL divergence is nonnegative, vanishes exactly on equal finite measures, and obeys the composition-product chain rule for Markov kernels.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep014_kl_nonneg, fep014_kl_self, fep014_kl_eq_zero_iff, and fep014_kl_chain_rule against Mathlib.InformationTheory.KullbackLeibler.ChainRule.
Supporting qualified declarations
fep_fep014.FEP014.fep014_kl_nonneg; fep_fep014.FEP014.fep014_kl_self; fep_fep014.FEP014.fep014_kl_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
800cd64392da359f1df69785fcf1d08403ae3d7c2a89119b10091b2c3128d0ee
Exact Lean statement (proof omitted)
theorem fep014_kl_chain_rule (μ ν : Measure α) (κ η : Kernel α β)
+    HasDerivAt (fun t => fep013_helmholtz (U t) t (S t)) (-S T) T
Exact conclusion
HasDerivAt (fun t => fep013_helmholtz (U t) t (S t)) (-S T) T
Source statement SHA-256
ab2adb496858aed3ae648e7cb8403cb84287cd62e6e15e556ad372e7c2a982ea
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['U', 'S']typed_binder{U S : ℝ → ℝ}ℝ → ℝimplicit
source syntax; proposition elaboration not performed["U'", "S'", 'T']typed_binder{U' S' T : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hU']typed_binder(hU : HasDerivAt U U' T)HasDerivAt U U' Texplicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : HasDerivAt S S' T)HasDerivAt S S' Texplicit
source syntax; proposition elaboration not performed['hfirstLaw']typed_binder(hfirstLaw : U' = T * S')U' = T * S'explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep013_helmholtz_hasDerivAtfep_fep013.FEP013.fep013_helmholtz_hasDerivAtexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_thermodynamics.py
fep-014 · KL Divergence: Non-Negativity, Identity, and Chain Rule · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep014.FEP014.fep014_kl_chain_rule
Invariant
Mathlib KL divergence is nonnegative, vanishes exactly on equal finite measures, and obeys the composition-product chain rule for Markov kernels.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep014_kl_nonneg, fep014_kl_self, fep014_kl_eq_zero_iff, and fep014_kl_chain_rule against Mathlib.InformationTheory.KullbackLeibler.ChainRule.
Supporting qualified declarations
fep_fep014.FEP014.fep014_kl_nonneg; fep_fep014.FEP014.fep014_kl_self; fep_fep014.FEP014.fep014_kl_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
800cd64392da359f1df69785fcf1d08403ae3d7c2a89119b10091b2c3128d0ee
Exact Lean statement (proof omitted)
theorem fep014_kl_chain_rule (μ ν : Measure α) (κ η : Kernel α β)
     [IsFiniteMeasure μ] [IsFiniteMeasure ν]
     [IsMarkovKernel κ] [IsMarkovKernel η] :
     InformationTheory.klDiv (μ ⊗ₘ κ) (ν ⊗ₘ η) =
       InformationTheory.klDiv μ ν +
         InformationTheory.klDiv (μ ⊗ₘ κ) (μ ⊗ₘ η)
Exact conclusion
InformationTheory.klDiv (μ ⊗ₘ κ) (ν ⊗ₘ η) =
       InformationTheory.klDiv μ ν +
-        InformationTheory.klDiv (μ ⊗ₘ κ) (μ ⊗ₘ η)
Source statement SHA-256
21969566091dad4228853573b68000098b7f09e09acc9979d7c1922fa8bbd78f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
{β : Type*} [MeasurableSpace β]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['μ', 'ν']typed_binder(μ ν : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed['κ', 'η']typed_binder(κ η : Kernel α β)Kernel α βexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure ν]IsFiniteMeasure νinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel κ]IsMarkovKernel κinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel η]IsMarkovKernel ηinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_information_geometry.py
fep-015 · Measurable Variational Integrand · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep015.FEP015.fep015_variationalIntegrand_measurable
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.
Assumption review
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.
Non-vacuity
Nonconstant measurable coordinate functions instantiate all three terms, and a nonidentity measurable reparameterization exercises the composition theorem.
Acceptance probe (requirement; not executed here)
native Lean compile of fep015_variationalIntegrand_measurable, fep015_variationalIntegrand_comp_measurable, and fep015_variationalIntegrand_add_const_measurable.
Supporting qualified declarations
fep_fep015.FEP015.fep015_variationalIntegrand_comp_measurable; fep_fep015.FEP015.fep015_variationalIntegrand_add_const_measurable
Boundary qualified declarations
Absent
Canonical body SHA-256
d0af067922e62342d9b8701bb70f8d0295bd825bd772559a1cee5678215e51d4
Exact Lean statement (proof omitted)
theorem fep015_variationalIntegrand_measurable
+        InformationTheory.klDiv (μ ⊗ₘ κ) (μ ⊗ₘ η)
Source statement SHA-256
21969566091dad4228853573b68000098b7f09e09acc9979d7c1922fa8bbd78f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
{β : Type*} [MeasurableSpace β]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['μ', 'ν']typed_binder(μ ν : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed['κ', 'η']typed_binder(κ η : Kernel α β)Kernel α βexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure ν]IsFiniteMeasure νinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel κ]IsMarkovKernel κinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel η]IsMarkovKernel ηinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_information_geometry.py
fep-015 · Measurable Variational Integrand · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep015.FEP015.fep015_variationalIntegrand_measurable
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.
Assumption review
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.
Non-vacuity
Nonconstant measurable coordinate functions instantiate all three terms, and a nonidentity measurable reparameterization exercises the composition theorem.
Acceptance probe (requirement; not executed here)
native Lean compile of fep015_variationalIntegrand_measurable, fep015_variationalIntegrand_comp_measurable, and fep015_variationalIntegrand_add_const_measurable.
Supporting qualified declarations
fep_fep015.FEP015.fep015_variationalIntegrand_comp_measurable; fep_fep015.FEP015.fep015_variationalIntegrand_add_const_measurable
Boundary qualified declarations
Absent
Canonical body SHA-256
d0af067922e62342d9b8701bb70f8d0295bd825bd772559a1cee5678215e51d4
Exact Lean statement (proof omitted)
theorem fep015_variationalIntegrand_measurable
     {energy logApproximation logGenerative : α → ℝ}
     (henergy : Measurable energy)
     (happroximation : Measurable logApproximation)
     (hgenerative : Measurable logGenerative) :
     Measurable
       (fep015_variationalIntegrand energy logApproximation logGenerative)
Exact conclusion
Measurable
-      (fep015_variationalIntegrand energy logApproximation logGenerative)
Source statement SHA-256
5338152efc2f76fc6815a88f002d0fb350fd4b1d0ae8eb0642eb7aa21d2df606
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['energy', 'logApproximation', 'logGenerative']typed_binder{energy logApproximation logGenerative : α → ℝ}α → ℝimplicit
source syntax; proposition elaboration not performed['henergy']typed_binder(henergy : Measurable energy)Measurable energyexplicit
source syntax; proposition elaboration not performed['happroximation']typed_binder(happroximation : Measurable logApproximation)Measurable logApproximationexplicit
source syntax; proposition elaboration not performed['hgenerative']typed_binder(hgenerative : Measurable logGenerative)Measurable logGenerativeexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-016 · Exact Scalar Quadratic Laplace Kernel · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep016.FEP016.fep016_laplaceKernel_integral
Invariant
A positive-precision scalar quadratic exponential is integrable and has the exact Gaussian normalizing integral sqrt(π/(precision/2)).
Assumption review
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.
Non-vacuity
At precision two the kernel is exp(−x²) with normalizer sqrt(π), and every positive precision gives a nonconstant integrable density kernel.
Acceptance probe (requirement; not executed here)
native Lean compile of fep016_precision_weighted, fep016_laplaceKernel_integrable, and fep016_laplaceKernel_integral against Mathlib's Gaussian integral.
Supporting qualified declarations
fep_fep016.FEP016.fep016_quadratic_min; fep_fep016.FEP016.fep016_quadratic_at_mode; fep_fep016.FEP016.fep016_precision_weighted; fep_fep016.FEP016.fep016_quadratic_sym; fep_fep016.FEP016.fep016_quadratic_expand; fep_fep016.FEP016.fep016_laplaceKernel_integrable
Boundary qualified declarations
Absent
Canonical body SHA-256
5338337e544aa5e5df57b196dfba20f437f86d137b41d8dd73c278525fe326c5
Exact Lean statement (proof omitted)
theorem fep016_laplaceKernel_integral
+      (fep015_variationalIntegrand energy logApproximation logGenerative)
Source statement SHA-256
5338152efc2f76fc6815a88f002d0fb350fd4b1d0ae8eb0642eb7aa21d2df606
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['energy', 'logApproximation', 'logGenerative']typed_binder{energy logApproximation logGenerative : α → ℝ}α → ℝimplicit
source syntax; proposition elaboration not performed['henergy']typed_binder(henergy : Measurable energy)Measurable energyexplicit
source syntax; proposition elaboration not performed['happroximation']typed_binder(happroximation : Measurable logApproximation)Measurable logApproximationexplicit
source syntax; proposition elaboration not performed['hgenerative']typed_binder(hgenerative : Measurable logGenerative)Measurable logGenerativeexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-016 · Exact Scalar Quadratic Laplace Kernel · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep016.FEP016.fep016_laplaceKernel_integral
Invariant
A positive-precision scalar quadratic exponential is integrable and has the exact Gaussian normalizing integral sqrt(π/(precision/2)).
Assumption review
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.
Non-vacuity
At precision two the kernel is exp(−x²) with normalizer sqrt(π), and every positive precision gives a nonconstant integrable density kernel.
Acceptance probe (requirement; not executed here)
native Lean compile of fep016_precision_weighted, fep016_laplaceKernel_integrable, and fep016_laplaceKernel_integral against Mathlib's Gaussian integral.
Supporting qualified declarations
fep_fep016.FEP016.fep016_quadratic_min; fep_fep016.FEP016.fep016_quadratic_at_mode; fep_fep016.FEP016.fep016_precision_weighted; fep_fep016.FEP016.fep016_quadratic_sym; fep_fep016.FEP016.fep016_quadratic_expand; fep_fep016.FEP016.fep016_laplaceKernel_integrable
Boundary qualified declarations
Absent
Canonical body SHA-256
5338337e544aa5e5df57b196dfba20f437f86d137b41d8dd73c278525fe326c5
Exact Lean statement (proof omitted)
theorem fep016_laplaceKernel_integral
     {precision : ℝ} (hprecision : 0 < precision) :
     (∫ x : ℝ, fep016_laplaceKernel precision x) =
       Real.sqrt (Real.pi / (precision / 2))
Exact conclusion
(∫ x : ℝ, fep016_laplaceKernel precision x) =
-      Real.sqrt (Real.pi / (precision / 2))
Source statement SHA-256
74a4a09fd65f75f60d189a3cb4781b809bf31ad6c3adb805627fd45f05ffb7d0
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['precision']typed_binder{precision : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hprecision']typed_binder(hprecision : 0 < precision)0 < precisionexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep016_laplaceKernel_integrablefep_fep016.FEP016.fep016_laplaceKernel_integrableexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-017 · Posterior Kernel Reconstruction · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep017.FEP017.fep017_posterior_joint_reconstruction
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.
Assumption review
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. The Bayes-density formula additionally assumes countable latent and nonempty standard-Borel observation structure and holds only almost everywhere under the predictive law. Every selected posterior fibre is normalized, including version choices at null observations.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep017_posterior_mass_one, fep017_posterior_joint_reconstruction, fep017_posterior_recovers_prior, and fep017_posterior_bayes_density.
Supporting qualified declarations
fep_fep017.FEP017.fep017_posterior_mass_one; fep_fep017.FEP017.fep017_posterior_recovers_prior; fep_fep017.FEP017.fep017_posterior_bayes_density
Boundary qualified declarations
Absent
Canonical body SHA-256
72bcf690afc832b46642161d2e750b001aaeca7a965a91d9c12dd37e13378677
Exact Lean statement (proof omitted)
theorem fep017_posterior_joint_reconstruction
+      Real.sqrt (Real.pi / (precision / 2))
Source statement SHA-256
74a4a09fd65f75f60d189a3cb4781b809bf31ad6c3adb805627fd45f05ffb7d0
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['precision']typed_binder{precision : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hprecision']typed_binder(hprecision : 0 < precision)0 < precisionexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep016_laplaceKernel_integrablefep_fep016.FEP016.fep016_laplaceKernel_integrableexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-017 · Posterior Kernel Reconstruction · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep017.FEP017.fep017_posterior_joint_reconstruction
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.
Assumption review
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. The Bayes-density formula additionally assumes countable latent and nonempty standard-Borel observation structure and holds only almost everywhere under the predictive law. Every selected posterior fibre is normalized, including version choices at null observations.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep017_posterior_mass_one, fep017_posterior_joint_reconstruction, fep017_posterior_recovers_prior, and fep017_posterior_bayes_density.
Supporting qualified declarations
fep_fep017.FEP017.fep017_posterior_mass_one; fep_fep017.FEP017.fep017_posterior_recovers_prior; fep_fep017.FEP017.fep017_posterior_bayes_density
Boundary qualified declarations
Absent
Canonical body SHA-256
72bcf690afc832b46642161d2e750b001aaeca7a965a91d9c12dd37e13378677
Exact Lean statement (proof omitted)
theorem fep017_posterior_joint_reconstruction
     (κ : Kernel Ω 𝓧) (μ : Measure Ω)
     [StandardBorelSpace Ω] [Nonempty Ω]
     [IsFiniteMeasure μ] [IsFiniteKernel κ] :
-    (κ ∘ₘ μ) ⊗ₘ fep017_posterior κ μ = (μ ⊗ₘ κ).map Prod.swap
Exact conclusion
(κ ∘ₘ μ) ⊗ₘ fep017_posterior κ μ = (μ ⊗ₘ κ).map Prod.swap
Source statement SHA-256
98d008210ab0bfc3b28e0e2ce3f17f731ca0371d30f0c3da808c1896232f0294
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel Ω 𝓧)Kernel Ω 𝓧explicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure Ω)Measure Ωexplicit
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Ω]StandardBorelSpace Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Ω]Nonempty Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel κ]IsFiniteKernel κinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-018 · Bernoulli Fisher–Rao Coordinate Distance · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep018.FEP018.fep018_fisherRaoDistance_eq_zero_iff
Invariant
The Bernoulli Fisher--Rao coordinate distance is nonnegative, symmetric, separating on the probability interval, and satisfies the triangle inequality.
Assumption review
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.
Non-vacuity
The endpoint parameters p = 0 and q = 1 have distinct coordinates, while every equal pair has zero distance.
Acceptance probe (requirement; not executed here)
native Lean compile of fep018_fisherRaoDistance_nonneg, fep018_fisherRaoDistance_symm, fep018_fisherRaoDistance_triangle, and fep018_fisherRaoDistance_eq_zero_iff.
Supporting qualified declarations
fep_fep018.FEP018.fep018_fisherRaoDistance_nonneg; fep_fep018.FEP018.fep018_fisherRaoDistance_symm; fep_fep018.FEP018.fep018_fisherRaoDistance_triangle
Boundary qualified declarations
Absent
Canonical body SHA-256
3c9455cc9264f076d9937f80d8579de977590dc3a8c292a6fd58dfc287f59df3
Exact Lean statement (proof omitted)
theorem fep018_fisherRaoDistance_eq_zero_iff
+    (κ ∘ₘ μ) ⊗ₘ fep017_posterior κ μ = (μ ⊗ₘ κ).map Prod.swap
Exact conclusion
(κ ∘ₘ μ) ⊗ₘ fep017_posterior κ μ = (μ ⊗ₘ κ).map Prod.swap
Source statement SHA-256
98d008210ab0bfc3b28e0e2ce3f17f731ca0371d30f0c3da808c1896232f0294
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel Ω 𝓧)Kernel Ω 𝓧explicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure Ω)Measure Ωexplicit
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Ω]StandardBorelSpace Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Ω]Nonempty Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel κ]IsFiniteKernel κinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-018 · Bernoulli Fisher–Rao Coordinate Distance · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep018.FEP018.fep018_fisherRaoDistance_eq_zero_iff
Invariant
The Bernoulli Fisher--Rao coordinate distance is nonnegative, symmetric, separating on the probability interval, and satisfies the triangle inequality.
Assumption review
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.
Non-vacuity
The endpoint parameters p = 0 and q = 1 have distinct coordinates, while every equal pair has zero distance.
Acceptance probe (requirement; not executed here)
native Lean compile of fep018_fisherRaoDistance_nonneg, fep018_fisherRaoDistance_symm, fep018_fisherRaoDistance_triangle, and fep018_fisherRaoDistance_eq_zero_iff.
Supporting qualified declarations
fep_fep018.FEP018.fep018_fisherRaoDistance_nonneg; fep_fep018.FEP018.fep018_fisherRaoDistance_symm; fep_fep018.FEP018.fep018_fisherRaoDistance_triangle
Boundary qualified declarations
Absent
Canonical body SHA-256
3c9455cc9264f076d9937f80d8579de977590dc3a8c292a6fd58dfc287f59df3
Exact Lean statement (proof omitted)
theorem fep018_fisherRaoDistance_eq_zero_iff
     {p q : ℝ} (hp : p ∈ Set.Icc (0 : ℝ) 1) (hq : q ∈ Set.Icc (0 : ℝ) 1) :
-    fep018_fisherRaoDistance p q = 0 ↔ p = q
Exact conclusion
fep018_fisherRaoDistance p q = 0 ↔ p = q
Source statement SHA-256
5797f41428eb3b76fa381501d77d768715c2b599471b529626b6b6865078b731
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['p', 'q']typed_binder{p q : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : p ∈ Set.Icc (0 : ℝ) 1)p ∈ Set.Icc (0 : ℝ) 1explicit
source syntax; proposition elaboration not performed['hq']typed_binder(hq : q ∈ Set.Icc (0 : ℝ) 1)q ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_information_geometry.py
fep-019 · Prior-Predictive Kernel Composition · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep019.FEP019.fep019_priorPredictive_assoc
Invariant
The native prior-predictive law preserves total mass for a Markov likelihood and sequential prediction equals measure composition by the composed kernels.
Assumption review
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.
Non-vacuity
A probability prior and non-deterministic finite Markov likelihood yield a normalized non-Dirac predictive law; a second kernel exercises genuine sequential composition.
Acceptance probe (requirement; not executed here)
native Lean compile of fep019_priorPredictive_mass, fep019_priorPredictive_mass_one, and fep019_priorPredictive_assoc.
Supporting qualified declarations
fep_fep019.FEP019.fep019_priorPredictive_mass; fep_fep019.FEP019.fep019_priorPredictive_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
7891e99d767d03ce42f0d3d3dc11a2cda282ba161374b5e1a7bf3dcc33ad9b81
Exact Lean statement (proof omitted)
theorem fep019_priorPredictive_assoc
+    fep018_fisherRaoDistance p q = 0 ↔ p = q
Exact conclusion
fep018_fisherRaoDistance p q = 0 ↔ p = q
Source statement SHA-256
5797f41428eb3b76fa381501d77d768715c2b599471b529626b6b6865078b731
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['p', 'q']typed_binder{p q : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : p ∈ Set.Icc (0 : ℝ) 1)p ∈ Set.Icc (0 : ℝ) 1explicit
source syntax; proposition elaboration not performed['hq']typed_binder(hq : q ∈ Set.Icc (0 : ℝ) 1)q ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_information_geometry.py
fep-019 · Prior-Predictive Kernel Composition · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep019.FEP019.fep019_priorPredictive_assoc
Invariant
The native prior-predictive law preserves total mass for a Markov likelihood and sequential prediction equals measure composition by the composed kernels.
Assumption review
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.
Non-vacuity
A probability prior and non-deterministic finite Markov likelihood yield a normalized non-Dirac predictive law; a second kernel exercises genuine sequential composition.
Acceptance probe (requirement; not executed here)
native Lean compile of fep019_priorPredictive_mass, fep019_priorPredictive_mass_one, and fep019_priorPredictive_assoc.
Supporting qualified declarations
fep_fep019.FEP019.fep019_priorPredictive_mass; fep_fep019.FEP019.fep019_priorPredictive_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
7891e99d767d03ce42f0d3d3dc11a2cda282ba161374b5e1a7bf3dcc33ad9b81
Exact Lean statement (proof omitted)
theorem fep019_priorPredictive_assoc
     (κ : Kernel Ω 𝓧) (η : Kernel 𝓧 𝓨) (μ : Measure Ω) :
     η ∘ₘ fep019_priorPredictive κ μ =
       fep019_priorPredictive (η ∘ₖ κ) μ
Exact conclusion
η ∘ₘ fep019_priorPredictive κ μ =
-      fep019_priorPredictive (η ∘ₖ κ) μ
Source statement SHA-256
9096a12c54c1851213746b784002d8a980eb3de206602b80408b7025fc4cac9d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω 𝓧 𝓨 : Type*}
[MeasurableSpace Ω] [MeasurableSpace 𝓧] [MeasurableSpace 𝓨]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel Ω 𝓧)Kernel Ω 𝓧explicit
source syntax; proposition elaboration not performed['η']typed_binder(η : Kernel 𝓧 𝓨)Kernel 𝓧 𝓨explicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure Ω)Measure Ωexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-020 · Two-State Markov Relaxation · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep020.FEP020.fep020_tendsto_uniform
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep020_transition_nonneg, fep020_transition_sum_one, fep020_uniform_stationary, fep020_iterate_deviation, and fep020_tendsto_uniform.
Supporting qualified declarations
fep_fep020.FEP020.fep020_transition_nonneg; fep_fep020.FEP020.fep020_transition_sum_one; fep_fep020.FEP020.fep020_evolve_affine; fep_fep020.FEP020.fep020_uniform_stationary; fep_fep020.FEP020.fep020_deviation_step; fep_fep020.FEP020.fep020_iterate_deviation
Boundary qualified declarations
Absent
Canonical body SHA-256
b5c555d2f2bfdf84c99c999b69964554e197fd88409705f6436f1fb7e982e2fd
Exact Lean statement (proof omitted)
theorem fep020_tendsto_uniform
+      fep019_priorPredictive (η ∘ₖ κ) μ
Source statement SHA-256
9096a12c54c1851213746b784002d8a980eb3de206602b80408b7025fc4cac9d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω 𝓧 𝓨 : Type*}
[MeasurableSpace Ω] [MeasurableSpace 𝓧] [MeasurableSpace 𝓨]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel Ω 𝓧)Kernel Ω 𝓧explicit
source syntax; proposition elaboration not performed['η']typed_binder(η : Kernel 𝓧 𝓨)Kernel 𝓧 𝓨explicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure Ω)Measure Ωexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-020 · Two-State Markov Relaxation · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep020.FEP020.fep020_tendsto_uniform
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep020_transition_nonneg, fep020_transition_sum_one, fep020_uniform_stationary, fep020_iterate_deviation, and fep020_tendsto_uniform.
Supporting qualified declarations
fep_fep020.FEP020.fep020_transition_nonneg; fep_fep020.FEP020.fep020_transition_sum_one; fep_fep020.FEP020.fep020_evolve_affine; fep_fep020.FEP020.fep020_uniform_stationary; fep_fep020.FEP020.fep020_deviation_step; fep_fep020.FEP020.fep020_iterate_deviation
Boundary qualified declarations
Absent
Canonical body SHA-256
b5c555d2f2bfdf84c99c999b69964554e197fd88409705f6436f1fb7e982e2fd
Exact Lean statement (proof omitted)
theorem fep020_tendsto_uniform
     {α : ℝ} (hα0 : 0 < α) (hα1 : α < 1) (p : ℝ) :
     Filter.Tendsto (fun n => ((fep020_evolve α)^[n]) p)
       Filter.atTop (nhds (1 / 2 : ℝ))
Exact conclusion
Filter.Tendsto (fun n => ((fep020_evolve α)^[n]) p)
-      Filter.atTop (nhds (1 / 2 : ℝ))
Source statement SHA-256
ea9b253ed3e0487b52718633214d3e8591d4e0c20dd02051433da426e083ca2a
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['α']typed_binder{α : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hα0']typed_binder(hα0 : 0 < α)0 < αexplicit
source syntax; proposition elaboration not performed['hα1']typed_binder(hα1 : α < 1)α < 1explicit
source syntax; proposition elaboration not performed['p']typed_binder(p : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep020_iterate_deviationfep_fep020.FEP020.fep020_iterate_deviationexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-021 · EFE Epistemic–Pragmatic Balance · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep021.FEP021.fep021_efe_epistemic_balance
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.
Assumption review
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.
Non-vacuity
Strictly positive pragmatic cost with zero information yields positive EFE, equal cost and information yields zero, and intermediate information lowers EFE without changing sign.
Acceptance probe (requirement; not executed here)
native Lean compile of fep021_efe_epistemic_balance, fep021_efe_mono_pragmatic, fep021_efe_antitone_epistemic, and fep021_efe_eq_zero_iff.
Supporting qualified declarations
fep_fep021.FEP021.fep021_efe_nonneg; fep_fep021.FEP021.fep021_efe_mono_pragmatic; fep_fep021.FEP021.fep021_efe_antitone_epistemic; fep_fep021.FEP021.fep021_efe_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
30f289cfabde0d1a266ef3af689df32cf30f37451d5251db89aa59f0b603a42f
Exact Lean statement (proof omitted)
theorem fep021_efe_epistemic_balance
+      Filter.atTop (nhds (1 / 2 : ℝ))
Source statement SHA-256
ea9b253ed3e0487b52718633214d3e8591d4e0c20dd02051433da426e083ca2a
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['α']typed_binder{α : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hα0']typed_binder(hα0 : 0 < α)0 < αexplicit
source syntax; proposition elaboration not performed['hα1']typed_binder(hα1 : α < 1)α < 1explicit
source syntax; proposition elaboration not performed['p']typed_binder(p : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep020_iterate_deviationfep_fep020.FEP020.fep020_iterate_deviationexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-021 · EFE Epistemic–Pragmatic Balance · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep021.FEP021.fep021_efe_epistemic_balance
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.
Assumption review
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.
Non-vacuity
Strictly positive pragmatic cost with zero information yields positive EFE, equal cost and information yields zero, and intermediate information lowers EFE without changing sign.
Acceptance probe (requirement; not executed here)
native Lean compile of fep021_efe_epistemic_balance, fep021_efe_mono_pragmatic, fep021_efe_antitone_epistemic, and fep021_efe_eq_zero_iff.
Supporting qualified declarations
fep_fep021.FEP021.fep021_efe_nonneg; fep_fep021.FEP021.fep021_efe_mono_pragmatic; fep_fep021.FEP021.fep021_efe_antitone_epistemic; fep_fep021.FEP021.fep021_efe_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
30f289cfabde0d1a266ef3af689df32cf30f37451d5251db89aa59f0b603a42f
Exact Lean statement (proof omitted)
theorem fep021_efe_epistemic_balance
     {pragmaticCost epistemicValue : ENNReal}
     (hvalue : epistemicValue ≤ pragmaticCost) :
     fep021_expectedFreeEnergy pragmaticCost epistemicValue + epistemicValue =
       pragmaticCost
Exact conclusion
fep021_expectedFreeEnergy pragmaticCost epistemicValue + epistemicValue =
-      pragmaticCost
Source statement SHA-256
e01503efc6588b941eef1d04ca71dade6171ff361f1e709b36e1dd7e7ff42268
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['pragmaticCost', 'epistemicValue']typed_binder{pragmaticCost epistemicValue : ENNReal}ENNRealimplicit
source syntax; proposition elaboration not performed['hvalue']typed_binder(hvalue : epistemicValue ≤ pragmaticCost)epistemicValue ≤ pragmaticCostexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-022 · Posterior-Predictive Kernel and Brier Properness · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep022.FEP022.fep022_brier_eq_optimum_iff
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep022_posteriorPredictive_mass_one, fep022_brier_decomposition, fep022_brier_eq_optimum_iff, and fep022_predictive_brier_decomposition.
Supporting qualified declarations
fep_fep022.FEP022.fep022_posteriorPredictive_mass_one; fep_fep022.FEP022.fep022_brier_decomposition; fep_fep022.FEP022.fep022_predictive_brier_decomposition
Boundary qualified declarations
Absent
Canonical body SHA-256
64ec7d1fbe3616faf40bdfa7048e14694f4f9ffddbccf88420ff761bfd251226
Exact Lean statement (proof omitted)
theorem fep022_brier_eq_optimum_iff (p q : ℝ) :
-    fep022_brierScore p q = p * (1 - p) ↔ q = p
Exact conclusion
fep022_brierScore p q = p * (1 - p) ↔ q = p
Source statement SHA-256
323b7587b11abb8e5e3b000386076a62da101d438585d49df49697c6c50870e3
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{𝓒 Ω 𝓧 : Type*}
[MeasurableSpace 𝓒] [MeasurableSpace Ω] [MeasurableSpace 𝓧]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['p', 'q']typed_binder(p q : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep022_brier_decompositionfep_fep022.FEP022.fep022_brier_decompositionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-023 · Policy-Indexed Reachable Laws · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep023.FEP023.fep023_reachable_normalized
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.
Assumption review
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.
Non-vacuity
Distinct policies may induce distinct normalized measures, while an empty policy set yields no reachable law and a singleton set yields its single law.
Acceptance probe (requirement; not executed here)
native Lean compile of fep023_policy_reachable, fep023_reachable_mono, fep023_reachable_normalized, and fep023_reachable_empty.
Supporting qualified declarations
fep_fep023.FEP023.fep023_policy_reachable; fep_fep023.FEP023.fep023_reachable_mono; fep_fep023.FEP023.fep023_reachable_empty
Boundary qualified declarations
Absent
Canonical body SHA-256
d9c39e4ee529d530374a45ce3907cf39a57438d932ba9933149b1aec9e10e7df
Exact Lean statement (proof omitted)
theorem fep023_reachable_normalized
+      pragmaticCost
Source statement SHA-256
e01503efc6588b941eef1d04ca71dade6171ff361f1e709b36e1dd7e7ff42268
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['pragmaticCost', 'epistemicValue']typed_binder{pragmaticCost epistemicValue : ENNReal}ENNRealimplicit
source syntax; proposition elaboration not performed['hvalue']typed_binder(hvalue : epistemicValue ≤ pragmaticCost)epistemicValue ≤ pragmaticCostexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-022 · Posterior-Predictive Kernel and Brier Properness · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep022.FEP022.fep022_brier_eq_optimum_iff
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep022_posteriorPredictive_mass_one, fep022_brier_decomposition, fep022_brier_eq_optimum_iff, and fep022_predictive_brier_decomposition.
Supporting qualified declarations
fep_fep022.FEP022.fep022_posteriorPredictive_mass_one; fep_fep022.FEP022.fep022_brier_decomposition; fep_fep022.FEP022.fep022_predictive_brier_decomposition
Boundary qualified declarations
Absent
Canonical body SHA-256
64ec7d1fbe3616faf40bdfa7048e14694f4f9ffddbccf88420ff761bfd251226
Exact Lean statement (proof omitted)
theorem fep022_brier_eq_optimum_iff (p q : ℝ) :
+    fep022_brierScore p q = p * (1 - p) ↔ q = p
Exact conclusion
fep022_brierScore p q = p * (1 - p) ↔ q = p
Source statement SHA-256
323b7587b11abb8e5e3b000386076a62da101d438585d49df49697c6c50870e3
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{𝓒 Ω 𝓧 : Type*}
[MeasurableSpace 𝓒] [MeasurableSpace Ω] [MeasurableSpace 𝓧]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['p', 'q']typed_binder(p q : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep022_brier_decompositionfep_fep022.FEP022.fep022_brier_decompositionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-023 · Policy-Indexed Reachable Laws · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep023.FEP023.fep023_reachable_normalized
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.
Assumption review
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.
Non-vacuity
Distinct policies may induce distinct normalized measures, while an empty policy set yields no reachable law and a singleton set yields its single law.
Acceptance probe (requirement; not executed here)
native Lean compile of fep023_policy_reachable, fep023_reachable_mono, fep023_reachable_normalized, and fep023_reachable_empty.
Supporting qualified declarations
fep_fep023.FEP023.fep023_policy_reachable; fep_fep023.FEP023.fep023_reachable_mono; fep_fep023.FEP023.fep023_reachable_empty
Boundary qualified declarations
Absent
Canonical body SHA-256
d9c39e4ee529d530374a45ce3907cf39a57438d932ba9933149b1aec9e10e7df
Exact Lean statement (proof omitted)
theorem fep023_reachable_normalized
     (policies : Set Policy) (law : Policy → Measure Outcome)
     (hlaw : ∀ policy ∈ policies, law policy Set.univ = 1)
     {μ : Measure Outcome} (hμ : μ ∈ fep023_reachableLaws policies law) :
-    μ Set.univ = 1
Exact conclusion
μ Set.univ = 1
Source statement SHA-256
dad693d336fd1c27b5508f362dcd41738b904647d1a71cd1c1fe77e6779ab703
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Policy Outcome : Type*} [MeasurableSpace Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['policies']typed_binder(policies : Set Policy)Set Policyexplicit
source syntax; proposition elaboration not performed['law']typed_binder(law : Policy → Measure Outcome)Policy → Measure Outcomeexplicit
source syntax; proposition elaboration not performed['hlaw']typed_binder(hlaw : ∀ policy ∈ policies, law policy Set.univ = 1)∀ policy ∈ policies, law policy Set.univ = 1explicit
source syntax; proposition elaboration not performed['μ']typed_binder{μ : Measure Outcome}Measure Outcomeimplicit
source syntax; proposition elaboration not performed['hμ']typed_binder(hμ : μ ∈ fep023_reachableLaws policies law)μ ∈ fep023_reachableLaws policies lawexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-024 · KL Regularization in Objectives · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep024.FEP024.fep024_klRegularizedObjective_exact
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.
Assumption review
The codomain explicitly admits infinite objectives and KL values. Exactness at the prior uses sigma-finiteness; no differentiability or optimizer-existence claim is made.
Non-vacuity
Positive weight and unequal finite laws contribute a nonzero regularizer, while zero weight and matching laws independently exercise both exactness mechanisms.
Acceptance probe (requirement; not executed here)
native Lean compile of fep024_klRegularizedObjective_ge, fep024_klRegularizedObjective_zeroWeight, fep024_klRegularizedObjective_monoWeight, and fep024_klRegularizedObjective_exact.
Supporting qualified declarations
fep_fep024.FEP024.fep024_klRegularizedObjective_ge; fep_fep024.FEP024.fep024_klRegularizedObjective_zeroWeight; fep_fep024.FEP024.fep024_klRegularizedObjective_monoWeight
Boundary qualified declarations
Absent
Canonical body SHA-256
640c98f38ede2f124f5bfd8d1b6f9601c88984bf3bd810ca4b175251bdace224
Exact Lean statement (proof omitted)
theorem fep024_klRegularizedObjective_exact
+    μ Set.univ = 1
Exact conclusion
μ Set.univ = 1
Source statement SHA-256
dad693d336fd1c27b5508f362dcd41738b904647d1a71cd1c1fe77e6779ab703
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Policy Outcome : Type*} [MeasurableSpace Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['policies']typed_binder(policies : Set Policy)Set Policyexplicit
source syntax; proposition elaboration not performed['law']typed_binder(law : Policy → Measure Outcome)Policy → Measure Outcomeexplicit
source syntax; proposition elaboration not performed['hlaw']typed_binder(hlaw : ∀ policy ∈ policies, law policy Set.univ = 1)∀ policy ∈ policies, law policy Set.univ = 1explicit
source syntax; proposition elaboration not performed['μ']typed_binder{μ : Measure Outcome}Measure Outcomeimplicit
source syntax; proposition elaboration not performed['hμ']typed_binder(hμ : μ ∈ fep023_reachableLaws policies law)μ ∈ fep023_reachableLaws policies lawexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-024 · KL Regularization in Objectives · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep024.FEP024.fep024_klRegularizedObjective_exact
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.
Assumption review
The codomain explicitly admits infinite objectives and KL values. Exactness at the prior uses sigma-finiteness; no differentiability or optimizer-existence claim is made.
Non-vacuity
Positive weight and unequal finite laws contribute a nonzero regularizer, while zero weight and matching laws independently exercise both exactness mechanisms.
Acceptance probe (requirement; not executed here)
native Lean compile of fep024_klRegularizedObjective_ge, fep024_klRegularizedObjective_zeroWeight, fep024_klRegularizedObjective_monoWeight, and fep024_klRegularizedObjective_exact.
Supporting qualified declarations
fep_fep024.FEP024.fep024_klRegularizedObjective_ge; fep_fep024.FEP024.fep024_klRegularizedObjective_zeroWeight; fep_fep024.FEP024.fep024_klRegularizedObjective_monoWeight
Boundary qualified declarations
Absent
Canonical body SHA-256
640c98f38ede2f124f5bfd8d1b6f9601c88984bf3bd810ca4b175251bdace224
Exact Lean statement (proof omitted)
theorem fep024_klRegularizedObjective_exact
     (base weight : ENNReal) (prior : Measure α) [SigmaFinite prior] :
-    fep024_klRegularizedObjective base weight prior prior = base
Exact conclusion
fep024_klRegularizedObjective base weight prior prior = base
Source statement SHA-256
88e181d986953546a2cb889f0701fb7f2e4a4712090d7ba257b686338e03ef6d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['base', 'weight']typed_binder(base weight : ENNReal)ENNRealexplicit
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed[]instance_requirement[SigmaFinite prior]SigmaFinite priorinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_information_geometry.py
fep-025 · Conserved Nonequilibrium Probability Currents · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep025.FEP025.fep025_cycleCurrent_stationary
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep025_transitionCurrent_stationary, fep025_cycleTransition_row, fep025_cycleStationary_invariant, fep025_cycleCurrent_stationary, and fep025_cycleCurrent_nonzero.
Supporting qualified declarations
fep_fep025.FEP025.fep025_probabilityCurrent_antisymm; fep_fep025.FEP025.fep025_probabilityCurrent_diag_zero; fep_fep025.FEP025.fep025_total_divergence_zero; fep_fep025.FEP025.fep025_transitionCurrent_stationary; fep_fep025.FEP025.fep025_cycleTransition_row; fep_fep025.FEP025.fep025_cycleStationary_invariant; fep_fep025.FEP025.fep025_cycleCurrent_nonzero
Boundary qualified declarations
Absent
Canonical body SHA-256
5382a7d47f047ad802abbcbb51a8f8c5bc6c20e588b8c6cefcdf65fca85220bb
Exact Lean statement (proof omitted)
theorem fep025_cycleCurrent_stationary (i : Fin 3) :
-    fep025_divergence fep025_cycleCurrent i = 0
Exact conclusion
fep025_divergence fep025_cycleCurrent i = 0
Source statement SHA-256
f6fd56c8eb7633711097a7ca302e721ec1605b3bcea45246d79b423435748acc
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['i']typed_binder(i : Fin 3)Fin 3explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep025_cycleStationary_invariantfep_fep025.FEP025.fep025_cycleStationary_invariantexact or same-namespace source identifierproof_reference
[]fep025_cycleTransition_rowfep_fep025.FEP025.fep025_cycleTransition_rowexact or same-namespace source identifierproof_reference
[]fep025_transitionCurrent_stationaryfep_fep025.FEP025.fep025_transitionCurrent_stationaryexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_thermodynamics.py
fep-026 · Negative-Log Prior Complexity · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep026.FEP026.fep026_priorComplexity_eq_zero_iff
Invariant
Negative-log prior complexity is additive on positive product densities, strictly antitone, and zero exactly at unit density.
Assumption review
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.
Non-vacuity
Every density in (0,1) has positive complexity, unit density is the unique positive zero, and unequal positive values exercise strict antitonicity.
Acceptance probe (requirement; not executed here)
native Lean compile of fep026_complexity_additive, fep026_priorComplexity_eq_zero_iff, fep026_priorComplexity_strictAnti, and FEPComposed.fep026_priorComplexity_is_fep011_surprise.
Supporting qualified declarations
fep_fep026.FEP026.fep026_log_monotone; fep_fep026.FEP026.fep026_log_div; fep_fep026.FEP026.fep026_complexity_increases; fep_fep026.FEP026.fep026_complexity_zero_at_one; fep_fep026.FEP026.fep026_complexity_additive; fep_fep026.FEP026.fep026_priorComplexity_strictAnti
Boundary qualified declarations
Absent
Canonical body SHA-256
93dfa116f821e97d2be49cee3c840440b6627303c5c4780d59a6ee5f07fb4485
Exact Lean statement (proof omitted)
theorem fep026_priorComplexity_eq_zero_iff {p : ℝ} (hp : 0 < p) :
-    fep026_priorComplexity p = 0 ↔ p = 1
Exact conclusion
fep026_priorComplexity p = 0 ↔ p = 1
Source statement SHA-256
2f55a76ffda7abc6b9462730fa359b976e87e327fbc1fd525eadcb2dca1ccbc0
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['p']typed_binder{p : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : 0 < p)0 < pexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep026_complexity_zero_at_onefep_fep026.FEP026.fep026_complexity_zero_at_oneexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-027 · Hierarchical Kernel Factorization · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep027.FEP027.fep027_hierarchical_assoc
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.
Assumption review
Joint normalization requires a probability parent and Markov child. First marginal requires an SFinite parent and Markov child; second marginal requires an SFinite parent and SFinite child. Associativity is the native compProd identity; no causal identifiability is imposed.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep027_hierarchical_mass_one, fep027_hierarchical_fst, fep027_hierarchical_snd, and fep027_hierarchical_assoc.
Supporting qualified declarations
fep_fep027.FEP027.fep027_hierarchical_mass_one; fep_fep027.FEP027.fep027_hierarchical_fst; fep_fep027.FEP027.fep027_hierarchical_snd
Boundary qualified declarations
Absent
Canonical body SHA-256
6641bcc8ae5f5e6c5aa4097dc5f49ddddd0397cfb72be69710cddb4bc4741e40
Exact Lean statement (proof omitted)
theorem fep027_hierarchical_assoc
+    fep024_klRegularizedObjective base weight prior prior = base
Exact conclusion
fep024_klRegularizedObjective base weight prior prior = base
Source statement SHA-256
88e181d986953546a2cb889f0701fb7f2e4a4712090d7ba257b686338e03ef6d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α : Type*} [MeasurableSpace α]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['base', 'weight']typed_binder(base weight : ENNReal)ENNRealexplicit
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed[]instance_requirement[SigmaFinite prior]SigmaFinite priorinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_information_geometry.py
fep-025 · Conserved Nonequilibrium Probability Currents · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep025.FEP025.fep025_cycleCurrent_stationary
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep025_transitionCurrent_stationary, fep025_cycleTransition_row, fep025_cycleStationary_invariant, fep025_cycleCurrent_stationary, and fep025_cycleCurrent_nonzero.
Supporting qualified declarations
fep_fep025.FEP025.fep025_probabilityCurrent_antisymm; fep_fep025.FEP025.fep025_probabilityCurrent_diag_zero; fep_fep025.FEP025.fep025_total_divergence_zero; fep_fep025.FEP025.fep025_transitionCurrent_stationary; fep_fep025.FEP025.fep025_cycleTransition_row; fep_fep025.FEP025.fep025_cycleStationary_invariant; fep_fep025.FEP025.fep025_cycleCurrent_nonzero
Boundary qualified declarations
Absent
Canonical body SHA-256
5382a7d47f047ad802abbcbb51a8f8c5bc6c20e588b8c6cefcdf65fca85220bb
Exact Lean statement (proof omitted)
theorem fep025_cycleCurrent_stationary (i : Fin 3) :
+    fep025_divergence fep025_cycleCurrent i = 0
Exact conclusion
fep025_divergence fep025_cycleCurrent i = 0
Source statement SHA-256
f6fd56c8eb7633711097a7ca302e721ec1605b3bcea45246d79b423435748acc
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['i']typed_binder(i : Fin 3)Fin 3explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep025_cycleStationary_invariantfep_fep025.FEP025.fep025_cycleStationary_invariantexact or same-namespace source identifierproof_reference
[]fep025_cycleTransition_rowfep_fep025.FEP025.fep025_cycleTransition_rowexact or same-namespace source identifierproof_reference
[]fep025_transitionCurrent_stationaryfep_fep025.FEP025.fep025_transitionCurrent_stationaryexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_thermodynamics.py
fep-026 · Negative-Log Prior Complexity · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep026.FEP026.fep026_priorComplexity_eq_zero_iff
Invariant
Negative-log prior complexity is additive on positive product densities, strictly antitone, and zero exactly at unit density.
Assumption review
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.
Non-vacuity
Every density in (0,1) has positive complexity, unit density is the unique positive zero, and unequal positive values exercise strict antitonicity.
Acceptance probe (requirement; not executed here)
native Lean compile of fep026_complexity_additive, fep026_priorComplexity_eq_zero_iff, fep026_priorComplexity_strictAnti, and FEPComposed.fep026_priorComplexity_is_fep011_surprise.
Supporting qualified declarations
fep_fep026.FEP026.fep026_log_monotone; fep_fep026.FEP026.fep026_log_div; fep_fep026.FEP026.fep026_complexity_increases; fep_fep026.FEP026.fep026_complexity_zero_at_one; fep_fep026.FEP026.fep026_complexity_additive; fep_fep026.FEP026.fep026_priorComplexity_strictAnti
Boundary qualified declarations
Absent
Canonical body SHA-256
93dfa116f821e97d2be49cee3c840440b6627303c5c4780d59a6ee5f07fb4485
Exact Lean statement (proof omitted)
theorem fep026_priorComplexity_eq_zero_iff {p : ℝ} (hp : 0 < p) :
+    fep026_priorComplexity p = 0 ↔ p = 1
Exact conclusion
fep026_priorComplexity p = 0 ↔ p = 1
Source statement SHA-256
2f55a76ffda7abc6b9462730fa359b976e87e327fbc1fd525eadcb2dca1ccbc0
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['p']typed_binder{p : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : 0 < p)0 < pexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep026_complexity_zero_at_onefep_fep026.FEP026.fep026_complexity_zero_at_oneexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-027 · Hierarchical Kernel Factorization · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep027.FEP027.fep027_hierarchical_assoc
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.
Assumption review
Joint normalization requires a probability parent and Markov child. First marginal requires an SFinite parent and Markov child; second marginal requires an SFinite parent and SFinite child. Associativity is the native compProd identity; no causal identifiability is imposed.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep027_hierarchical_mass_one, fep027_hierarchical_fst, fep027_hierarchical_snd, and fep027_hierarchical_assoc.
Supporting qualified declarations
fep_fep027.FEP027.fep027_hierarchical_mass_one; fep_fep027.FEP027.fep027_hierarchical_fst; fep_fep027.FEP027.fep027_hierarchical_snd
Boundary qualified declarations
Absent
Canonical body SHA-256
6641bcc8ae5f5e6c5aa4097dc5f49ddddd0397cfb72be69710cddb4bc4741e40
Exact Lean statement (proof omitted)
theorem fep027_hierarchical_assoc
     (μ : Measure α) (κ : Kernel α β) (η : Kernel (α × β) γ) :
     (fep027_hierarchicalJoint μ κ ⊗ₘ η).map MeasurableEquiv.prodAssoc =
       fep027_hierarchicalJoint μ (κ ⊗ₖ η)
Exact conclusion
(fep027_hierarchicalJoint μ κ ⊗ₘ η).map MeasurableEquiv.prodAssoc =
-      fep027_hierarchicalJoint μ (κ ⊗ₖ η)
Source statement SHA-256
1cbf2cff0592bb7862c062b00c0ecb48cd071f7d06ceebeab5f98ba782575b0a
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α β γ : Type*}
[MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel α β)Kernel α βexplicit
source syntax; proposition elaboration not performed['η']typed_binder(η : Kernel (α × β) γ)Kernel (α × β) γexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-028 · Support-Aware Finite Softmax Policy · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep028.FEP028.fep028_softmax_sum_univ
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.
Assumption review
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.
Non-vacuity
With positive inverse temperature and a two-policy support of unequal costs, lower cost receives a strictly larger positive weight. At inverse temperature zero the law is uniform on support; excluded policies have zero mass. The full ten-policy vector remains normalized.
Acceptance probe (requirement; not executed here)
native Lean compile of fep028_softmax_nonneg, fep028_softmax_le_one, fep028_softmax_support, fep028_softmax_probs_sum_one, and fep028_softmax_sum_univ.
Supporting qualified declarations
fep_fep028.FEP028.fep028_softmax_nonneg; fep_fep028.FEP028.fep028_softmax_le_one; fep_fep028.FEP028.fep028_softmax_probs_sum_one; fep_fep028.FEP028.fep028_softmax_support; fep_fep028.FEP028.fep028_numerator_pos; fep_fep028.FEP028.fep028_denominator_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
5ae2158c63599c3e944c9f85e33f9d0366902f95ec373fd564ed964544eb5b7b
Exact Lean statement (proof omitted)
theorem fep028_softmax_sum_univ
+      fep027_hierarchicalJoint μ (κ ⊗ₖ η)
Source statement SHA-256
1cbf2cff0592bb7862c062b00c0ecb48cd071f7d06ceebeab5f98ba782575b0a
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{α β γ : Type*}
[MeasurableSpace α] [MeasurableSpace β] [MeasurableSpace γ]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure α)Measure αexplicit
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel α β)Kernel α βexplicit
source syntax; proposition elaboration not performed['η']typed_binder(η : Kernel (α × β) γ)Kernel (α × β) γexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-028 · Support-Aware Finite Softmax Policy · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep028.FEP028.fep028_softmax_sum_univ
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.
Assumption review
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.
Non-vacuity
With positive inverse temperature and a two-policy support of unequal costs, lower cost receives a strictly larger positive weight. At inverse temperature zero the law is uniform on support; excluded policies have zero mass. The full ten-policy vector remains normalized.
Acceptance probe (requirement; not executed here)
native Lean compile of fep028_softmax_nonneg, fep028_softmax_le_one, fep028_softmax_support, fep028_softmax_probs_sum_one, and fep028_softmax_sum_univ.
Supporting qualified declarations
fep_fep028.FEP028.fep028_softmax_nonneg; fep_fep028.FEP028.fep028_softmax_le_one; fep_fep028.FEP028.fep028_softmax_probs_sum_one; fep_fep028.FEP028.fep028_softmax_support; fep_fep028.FEP028.fep028_numerator_pos; fep_fep028.FEP028.fep028_denominator_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
5ae2158c63599c3e944c9f85e33f9d0366902f95ec373fd564ed964544eb5b7b
Exact Lean statement (proof omitted)
theorem fep028_softmax_sum_univ
     (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy)
     (hne : policies.Nonempty) :
-    ∑ p : Policy, fep028_softmax γ G policies p = 1
Exact conclusion
∑ p : Policy, fep028_softmax γ G policies p = 1
Source statement SHA-256
995efdad40c6bf57c4fd3fff19757c06a8d28a7a787c41e69495e3efcf0ef4a1
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['γ']typed_binder(γ : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['G']typed_binder(G : Policy → ℝ)Policy → ℝexplicit
source syntax; proposition elaboration not performed['policies']typed_binder(policies : Finset Policy)Finset Policyexplicit
source syntax; proposition elaboration not performed['hne']typed_binder(hne : policies.Nonempty)policies.Nonemptyexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep028_softmax_probs_sum_onefep_fep028.FEP028.fep028_softmax_probs_sum_oneexact or same-namespace source identifierproof_reference
[]fep028_softmax_supportfep_fep028.FEP028.fep028_softmax_supportexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-029 · Quadratic Bregman Divergence · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff
Invariant
The scalar Bregman divergence generated by φ(x)=x² equals (x-y)², is nonnegative, and vanishes exactly when x=y.
Assumption review
Unconditional over real x and y for the explicit quadratic generator; no general differentiable convex function, projection theorem, or mirror-descent convergence is claimed.
Non-vacuity
At x=1 and y=0 the divergence equals 1; at x=y it equals 0.
Acceptance probe (requirement; not executed here)
native Lean compile of the quadratic identity, nonnegativity, and zero-characterization theorems.
Supporting qualified declarations
fep_fep029.FEP029.fep029_secant_ineq; fep_fep029.FEP029.fep029_convex_combo_bound; fep_fep029.FEP029.fep029_combo_t_zero; fep_fep029.FEP029.fep029_combo_t_one; fep_fep029.FEP029.fep029_quadraticBregman_eq_sq; fep_fep029.FEP029.fep029_bregman_quadratic_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
252b9c9d4a43eefb0e355236c7d8de08a455965bf672b7e35fcc15f53df72c32
Exact Lean statement (proof omitted)
theorem fep029_quadraticBregman_eq_zero_iff (x y : ℝ) :
-    fep029_quadraticBregman x y = 0 ↔ x = y
Exact conclusion
fep029_quadraticBregman x y = 0 ↔ x = y
Source statement SHA-256
fdf491d9e1c72de1235bf6da2d7d553aa1034f55a8963dd1f3e467d2de6e37d7
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['x', 'y']typed_binder(x y : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep029_quadraticBregman_eq_sqfep_fep029.FEP029.fep029_quadraticBregman_eq_sqexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_information_geometry.py
fep-030 · Maximum Entropy Principle · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep030.FEP030.fep030_binaryEntropy_max
Invariant
Binary Shannon entropy in nats is globally at most log 2, with equality exactly at probability one half.
Assumption review
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.
Non-vacuity
The equality characterization proves attainment at p = 1/2 and strict loss at every other real input.
Acceptance probe (requirement; not executed here)
native Lean compile of fep030_binaryEntropy_max and fep030_binaryEntropy_eq_max_iff, plus the retained finite-uniform entropy calculation.
Supporting qualified declarations
fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff; fep_fep030.FEP030.fep030_uniform_nonneg; fep_fep030.FEP030.fep030_uniform_sum_one; fep_fep030.FEP030.fep030_log_card_nonneg; fep_fep030.FEP030.fep030_entropy_eq_log
Boundary qualified declarations
Absent
Canonical body SHA-256
fb11ed74476648eb35a4f13f48aa86d161e17574a545796cf80b2c6cb0a43237
Exact Lean statement (proof omitted)
theorem fep030_binaryEntropy_max (p : ℝ) :
-    Real.binEntropy p ≤ Real.log 2
Exact conclusion
Real.binEntropy p ≤ Real.log 2
Source statement SHA-256
f7529755c96704b732e96ec78ed9eba2a9fe6f0ee12ac1026950fcf9dbd0cb90
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['p']typed_binder(p : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_thermodynamics.py
fep-031 · Finite Boltzmann–Gibbs Weights · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep031.FEP031.fep031_gibbsProbability_sum_one
Invariant
Positive exponential Gibbs weights normalize to a nonnegative mass function summing to one on any nonempty finite support.
Assumption review
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. The expression sums to one only over the selected support and is not zero outside it. A support subtype or full support is required for an ambient normalized law.
Non-vacuity
A singleton selected support has mass one on that support. Two unequal energies give distinct weights when beta is nonzero, with lower energy receiving higher weight for positive beta; beta zero yields uniform supported weights.
Acceptance probe (requirement; not executed here)
native Lean compile of partition positivity, pointwise nonnegativity, and support normalization.
Supporting qualified declarations
fep_fep031.FEP031.fep031_gibbs_weight_pos; fep_fep031.FEP031.fep031_gibbs_mono; fep_fep031.FEP031.fep031_partition_pos; fep_fep031.FEP031.fep031_gibbsProbability_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
5de120eff03a8808f57cdf1684184c7f4b4f4c5d3000138929475e13068ebf63
Exact Lean statement (proof omitted)
theorem fep031_gibbsProbability_sum_one (β : ℝ) (n : ℕ) (E : Fin n → ℝ)
+    ∑ p : Policy, fep028_softmax γ G policies p = 1
Exact conclusion
∑ p : Policy, fep028_softmax γ G policies p = 1
Source statement SHA-256
995efdad40c6bf57c4fd3fff19757c06a8d28a7a787c41e69495e3efcf0ef4a1
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['γ']typed_binder(γ : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['G']typed_binder(G : Policy → ℝ)Policy → ℝexplicit
source syntax; proposition elaboration not performed['policies']typed_binder(policies : Finset Policy)Finset Policyexplicit
source syntax; proposition elaboration not performed['hne']typed_binder(hne : policies.Nonempty)policies.Nonemptyexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep028_softmax_probs_sum_onefep_fep028.FEP028.fep028_softmax_probs_sum_oneexact or same-namespace source identifierproof_reference
[]fep028_softmax_supportfep_fep028.FEP028.fep028_softmax_supportexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-029 · Quadratic Bregman Divergence · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff
Invariant
The scalar Bregman divergence generated by φ(x)=x² equals (x-y)², is nonnegative, and vanishes exactly when x=y.
Assumption review
Unconditional over real x and y for the explicit quadratic generator; no general differentiable convex function, projection theorem, or mirror-descent convergence is claimed.
Non-vacuity
At x=1 and y=0 the divergence equals 1; at x=y it equals 0.
Acceptance probe (requirement; not executed here)
native Lean compile of the quadratic identity, nonnegativity, and zero-characterization theorems.
Supporting qualified declarations
fep_fep029.FEP029.fep029_secant_ineq; fep_fep029.FEP029.fep029_convex_combo_bound; fep_fep029.FEP029.fep029_combo_t_zero; fep_fep029.FEP029.fep029_combo_t_one; fep_fep029.FEP029.fep029_quadraticBregman_eq_sq; fep_fep029.FEP029.fep029_bregman_quadratic_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
252b9c9d4a43eefb0e355236c7d8de08a455965bf672b7e35fcc15f53df72c32
Exact Lean statement (proof omitted)
theorem fep029_quadraticBregman_eq_zero_iff (x y : ℝ) :
+    fep029_quadraticBregman x y = 0 ↔ x = y
Exact conclusion
fep029_quadraticBregman x y = 0 ↔ x = y
Source statement SHA-256
fdf491d9e1c72de1235bf6da2d7d553aa1034f55a8963dd1f3e467d2de6e37d7
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['x', 'y']typed_binder(x y : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep029_quadraticBregman_eq_sqfep_fep029.FEP029.fep029_quadraticBregman_eq_sqexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_information_geometry.py
fep-030 · Maximum Entropy Principle · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep030.FEP030.fep030_binaryEntropy_max
Invariant
Binary Shannon entropy in nats is globally at most log 2, with equality exactly at probability one half.
Assumption review
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.
Non-vacuity
The equality characterization proves attainment at p = 1/2 and strict loss at every other real input.
Acceptance probe (requirement; not executed here)
native Lean compile of fep030_binaryEntropy_max and fep030_binaryEntropy_eq_max_iff, plus the retained finite-uniform entropy calculation.
Supporting qualified declarations
fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff; fep_fep030.FEP030.fep030_uniform_nonneg; fep_fep030.FEP030.fep030_uniform_sum_one; fep_fep030.FEP030.fep030_log_card_nonneg; fep_fep030.FEP030.fep030_entropy_eq_log
Boundary qualified declarations
Absent
Canonical body SHA-256
fb11ed74476648eb35a4f13f48aa86d161e17574a545796cf80b2c6cb0a43237
Exact Lean statement (proof omitted)
theorem fep030_binaryEntropy_max (p : ℝ) :
+    Real.binEntropy p ≤ Real.log 2
Exact conclusion
Real.binEntropy p ≤ Real.log 2
Source statement SHA-256
f7529755c96704b732e96ec78ed9eba2a9fe6f0ee12ac1026950fcf9dbd0cb90
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['p']typed_binder(p : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_thermodynamics.py
fep-031 · Finite Boltzmann–Gibbs Weights · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep031.FEP031.fep031_gibbsProbability_sum_one
Invariant
Positive exponential Gibbs weights normalize to a nonnegative mass function summing to one on any nonempty finite support.
Assumption review
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. The expression sums to one only over the selected support and is not zero outside it. A support subtype or full support is required for an ambient normalized law.
Non-vacuity
A singleton selected support has mass one on that support. Two unequal energies give distinct weights when beta is nonzero, with lower energy receiving higher weight for positive beta; beta zero yields uniform supported weights.
Acceptance probe (requirement; not executed here)
native Lean compile of partition positivity, pointwise nonnegativity, and support normalization.
Supporting qualified declarations
fep_fep031.FEP031.fep031_gibbs_weight_pos; fep_fep031.FEP031.fep031_gibbs_mono; fep_fep031.FEP031.fep031_partition_pos; fep_fep031.FEP031.fep031_gibbsProbability_nonneg
Boundary qualified declarations
Absent
Canonical body SHA-256
5de120eff03a8808f57cdf1684184c7f4b4f4c5d3000138929475e13068ebf63
Exact Lean statement (proof omitted)
theorem fep031_gibbsProbability_sum_one (β : ℝ) (n : ℕ) (E : Fin n → ℝ)
     (S : Finset (Fin n)) (hS : S.Nonempty) :
-    ∑ i ∈ S, fep031_gibbsProbability β n E S i = 1
Exact conclusion
∑ i ∈ S, fep031_gibbsProbability β n E S i = 1
Source statement SHA-256
b820482b0d83d31084b607ac3d22b896ff7a6f121b7fa6dd3bf7a325353013b9
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['β']typed_binder(β : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['n']typed_binder(n : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['E']typed_binder(E : Fin n → ℝ)Fin n → ℝexplicit
source syntax; proposition elaboration not performed['S']typed_binder(S : Finset (Fin n))Finset (Fin n)explicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : S.Nonempty)S.Nonemptyexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep031_partition_posfep_fep031.FEP031.fep031_partition_posexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_thermodynamics.py
fep-032 · Exact Quadratic Gradient-Descent Dynamics · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep032.FEP032.fep032_quadraticUpdate_tendsto
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).
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep032_quadraticUpdate_deviation, fep032_quadraticUpdate_iterate, fep032_quadraticEnergy_descent, fep032_quadraticUpdate_tendsto, and FEPComposed.fep032_update_is_fep043_gradientStep.
Supporting qualified declarations
fep_fep032.FEP032.fep032_quadraticUpdate_deviation; fep_fep032.FEP032.fep032_quadraticUpdate_fixed; fep_fep032.FEP032.fep032_quadraticUpdate_iterate; fep_fep032.FEP032.fep032_quadraticEnergy_descent
Boundary qualified declarations
Absent
Canonical body SHA-256
1bf2b95276564dbd264f61fa3ed22714c6c6c443ab50eaa9d18fb84894098ed0
Exact Lean statement (proof omitted)
theorem fep032_quadraticUpdate_tendsto
+    ∑ i ∈ S, fep031_gibbsProbability β n E S i = 1
Exact conclusion
∑ i ∈ S, fep031_gibbsProbability β n E S i = 1
Source statement SHA-256
b820482b0d83d31084b607ac3d22b896ff7a6f121b7fa6dd3bf7a325353013b9
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['β']typed_binder(β : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['n']typed_binder(n : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['E']typed_binder(E : Fin n → ℝ)Fin n → ℝexplicit
source syntax; proposition elaboration not performed['S']typed_binder(S : Finset (Fin n))Finset (Fin n)explicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : S.Nonempty)S.Nonemptyexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep031_partition_posfep_fep031.FEP031.fep031_partition_posexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_thermodynamics.py
fep-032 · Exact Quadratic Gradient-Descent Dynamics · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep032.FEP032.fep032_quadraticUpdate_tendsto
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).
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep032_quadraticUpdate_deviation, fep032_quadraticUpdate_iterate, fep032_quadraticEnergy_descent, fep032_quadraticUpdate_tendsto, and FEPComposed.fep032_update_is_fep043_gradientStep.
Supporting qualified declarations
fep_fep032.FEP032.fep032_quadraticUpdate_deviation; fep_fep032.FEP032.fep032_quadraticUpdate_fixed; fep_fep032.FEP032.fep032_quadraticUpdate_iterate; fep_fep032.FEP032.fep032_quadraticEnergy_descent
Boundary qualified declarations
Absent
Canonical body SHA-256
1bf2b95276564dbd264f61fa3ed22714c6c6c443ab50eaa9d18fb84894098ed0
Exact Lean statement (proof omitted)
theorem fep032_quadraticUpdate_tendsto
     {step : ℝ} (hstep0 : 0 < step) (hstep2 : step < 2)
     (center x : ℝ) :
     Filter.Tendsto
       (fun n => ((fep032_quadraticUpdate step center)^[n]) x)
       Filter.atTop (nhds center)
Exact conclusion
Filter.Tendsto
       (fun n => ((fep032_quadraticUpdate step center)^[n]) x)
-      Filter.atTop (nhds center)
Source statement SHA-256
b3d9e259e8854cf5dc05ca196133519555f2fee14075b1b9c10b0c45c1bb8def
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['step']typed_binder{step : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hstep0']typed_binder(hstep0 : 0 < step)0 < stepexplicit
source syntax; proposition elaboration not performed['hstep2']typed_binder(hstep2 : step < 2)step < 2explicit
source syntax; proposition elaboration not performed['center', 'x']typed_binder(center x : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep032_quadraticUpdate_iteratefep_fep032.FEP032.fep032_quadraticUpdate_iterateexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-033 · Finite-Horizon Bellman Recursion · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep033.FEP033.fep033_bellman
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.
Assumption review
The transition is deterministic and the codomain is ENNReal. No stochastic policy optimization, discount-convergence limit, or infinite-horizon fixed point is claimed.
Non-vacuity
A nonconstant transition and positive discount propagate later-state terminal and stage costs, while zero discount isolates the immediate cost exactly.
Acceptance probe (requirement; not executed here)
native Lean compile of fep033_bellman, fep033_value_mono, fep033_zeroCost, and fep033_zeroDiscount.
Supporting qualified declarations
fep_fep033.FEP033.fep033_value_mono; fep_fep033.FEP033.fep033_zeroCost; fep_fep033.FEP033.fep033_zeroDiscount
Boundary qualified declarations
Absent
Canonical body SHA-256
22d8834abebd06272bb9f6ecb05115d12a9f66c909c2891ff2cb2a1bd6c34873
Exact Lean statement (proof omitted)
theorem fep033_bellman {State : Type*}
+      Filter.atTop (nhds center)
Source statement SHA-256
b3d9e259e8854cf5dc05ca196133519555f2fee14075b1b9c10b0c45c1bb8def
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['step']typed_binder{step : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hstep0']typed_binder(hstep0 : 0 < step)0 < stepexplicit
source syntax; proposition elaboration not performed['hstep2']typed_binder(hstep2 : step < 2)step < 2explicit
source syntax; proposition elaboration not performed['center', 'x']typed_binder(center x : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep032_quadraticUpdate_iteratefep_fep032.FEP032.fep032_quadraticUpdate_iterateexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-033 · Finite-Horizon Bellman Recursion · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep033.FEP033.fep033_bellman
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.
Assumption review
The transition is deterministic and the codomain is ENNReal. No stochastic policy optimization, discount-convergence limit, or infinite-horizon fixed point is claimed.
Non-vacuity
A nonconstant transition and positive discount propagate later-state terminal and stage costs, while zero discount isolates the immediate cost exactly.
Acceptance probe (requirement; not executed here)
native Lean compile of fep033_bellman, fep033_value_mono, fep033_zeroCost, and fep033_zeroDiscount.
Supporting qualified declarations
fep_fep033.FEP033.fep033_value_mono; fep_fep033.FEP033.fep033_zeroCost; fep_fep033.FEP033.fep033_zeroDiscount
Boundary qualified declarations
Absent
Canonical body SHA-256
22d8834abebd06272bb9f6ecb05115d12a9f66c909c2891ff2cb2a1bd6c34873
Exact Lean statement (proof omitted)
theorem fep033_bellman {State : Type*}
     (discount : ENNReal) (stageCost : State → ENNReal)
     (step : State → State) (terminalCost : State → ENNReal)
     (horizon : ℕ) (state : State) :
@@ -112,16 +112,16 @@
       stageCost state + discount *
         fep033_value discount stageCost step terminalCost horizon (step state)
Exact conclusion
fep033_value discount stageCost step terminalCost (horizon + 1) state =
       stageCost state + discount *
-        fep033_value discount stageCost step terminalCost horizon (step state)
Source statement SHA-256
f1f99c501f3a44fe60e283cf6d65bf3e646ced830f863c9ec189c92449c6adf2
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['State']typed_binder{State : Type*}Type*implicit
source syntax; proposition elaboration not performed['discount']typed_binder(discount : ENNReal)ENNRealexplicit
source syntax; proposition elaboration not performed['stageCost']typed_binder(stageCost : State → ENNReal)State → ENNRealexplicit
source syntax; proposition elaboration not performed['step']typed_binder(step : State → State)State → Stateexplicit
source syntax; proposition elaboration not performed['terminalCost']typed_binder(terminalCost : State → ENNReal)State → ENNRealexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-034 · Normalized Bayesian Filtering · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep034.FEP034.fep034_filter_joint_reconstruction
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.
Assumption review
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. Posterior normalization holds in every fibre of the selected Markov version; Bayes reconstruction identifies the version only relative to the predictive observation law, so no unique pointwise Bayes ratio at null observations is asserted.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep034_predictive_mass, fep034_filter_mass_one, fep034_filter_joint_reconstruction, and fep034_filter_recovers_prediction.
Supporting qualified declarations
fep_fep034.FEP034.fep034_predictive_mass; fep_fep034.FEP034.fep034_filter_mass_one; fep_fep034.FEP034.fep034_filter_recovers_prediction
Boundary qualified declarations
Absent
Canonical body SHA-256
2e0ec525b1051ff0f60db9f6e47742ffbbb4eb01db58bca27dc2de0c190d5575
Exact Lean statement (proof omitted)
theorem fep034_filter_joint_reconstruction
+        fep033_value discount stageCost step terminalCost horizon (step state)
Source statement SHA-256
f1f99c501f3a44fe60e283cf6d65bf3e646ced830f863c9ec189c92449c6adf2
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['State']typed_binder{State : Type*}Type*implicit
source syntax; proposition elaboration not performed['discount']typed_binder(discount : ENNReal)ENNRealexplicit
source syntax; proposition elaboration not performed['stageCost']typed_binder(stageCost : State → ENNReal)State → ENNRealexplicit
source syntax; proposition elaboration not performed['step']typed_binder(step : State → State)State → Stateexplicit
source syntax; proposition elaboration not performed['terminalCost']typed_binder(terminalCost : State → ENNReal)State → ENNRealexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-034 · Normalized Bayesian Filtering · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep034.FEP034.fep034_filter_joint_reconstruction
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.
Assumption review
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. Posterior normalization holds in every fibre of the selected Markov version; Bayes reconstruction identifies the version only relative to the predictive observation law, so no unique pointwise Bayes ratio at null observations is asserted.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep034_predictive_mass, fep034_filter_mass_one, fep034_filter_joint_reconstruction, and fep034_filter_recovers_prediction.
Supporting qualified declarations
fep_fep034.FEP034.fep034_predictive_mass; fep_fep034.FEP034.fep034_filter_mass_one; fep_fep034.FEP034.fep034_filter_recovers_prediction
Boundary qualified declarations
Absent
Canonical body SHA-256
2e0ec525b1051ff0f60db9f6e47742ffbbb4eb01db58bca27dc2de0c190d5575
Exact Lean statement (proof omitted)
theorem fep034_filter_joint_reconstruction
     (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)
     [StandardBorelSpace Ω] [Nonempty Ω]
     [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] :
     (κ ∘ₘ fep034_predictivePrior τ μ) ⊗ₘ fep034_filter τ κ μ =
       (fep034_predictivePrior τ μ ⊗ₘ κ).map Prod.swap
Exact conclusion
(κ ∘ₘ fep034_predictivePrior τ μ) ⊗ₘ fep034_filter τ κ μ =
-      (fep034_predictivePrior τ μ ⊗ₘ κ).map Prod.swap
Source statement SHA-256
2ea67c17ce32ff9e753b090e5e1969d08ffe6a6da264020e15ad374cc069ca48
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['τ']typed_binder(τ : Kernel Ω Ω)Kernel Ω Ωexplicit
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel Ω 𝓧)Kernel Ω 𝓧explicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure Ω)Measure Ωexplicit
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Ω]StandardBorelSpace Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Ω]Nonempty Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel τ]IsFiniteKernel τinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel κ]IsFiniteKernel κinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-035 · Jensen's Inequality for Log · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep035.FEP035.fep035_log_jensen_two_strict
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.
Assumption review
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.
Non-vacuity
Witnessed by x = 1, y = 2, and a = b = 1/2.
Acceptance probe (requirement; not executed here)
native Lean compile of fep035_log_strictConcave and fep035_log_jensen_two_strict with an interior-weight witness.
Supporting qualified declarations
fep_fep035.FEP035.fep035_log_strictConcave; fep_fep035.FEP035.fep035_log_mul; fep_fep035.FEP035.fep035_log_pow; fep_fep035.FEP035.fep035_log_exp; fep_fep035.FEP035.fep035_log_mono; fep_fep035.FEP035.fep035_log_one
Boundary qualified declarations
Absent
Canonical body SHA-256
d82e138b6a35d8c686c8a6a6cda7c32b22282c10977fee68820f21637893b5e7
Exact Lean statement (proof omitted)
theorem fep035_log_jensen_two_strict
+      (fep034_predictivePrior τ μ ⊗ₘ κ).map Prod.swap
Source statement SHA-256
2ea67c17ce32ff9e753b090e5e1969d08ffe6a6da264020e15ad374cc069ca48
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['τ']typed_binder(τ : Kernel Ω Ω)Kernel Ω Ωexplicit
source syntax; proposition elaboration not performed['κ']typed_binder(κ : Kernel Ω 𝓧)Kernel Ω 𝓧explicit
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure Ω)Measure Ωexplicit
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Ω]StandardBorelSpace Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Ω]Nonempty Ωinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure μ]IsFiniteMeasure μinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel τ]IsFiniteKernel τinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel κ]IsFiniteKernel κinstance
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-035 · Jensen's Inequality for Log · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep035.FEP035.fep035_log_jensen_two_strict
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.
Assumption review
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.
Non-vacuity
Witnessed by x = 1, y = 2, and a = b = 1/2.
Acceptance probe (requirement; not executed here)
native Lean compile of fep035_log_strictConcave and fep035_log_jensen_two_strict with an interior-weight witness.
Supporting qualified declarations
fep_fep035.FEP035.fep035_log_strictConcave; fep_fep035.FEP035.fep035_log_mul; fep_fep035.FEP035.fep035_log_pow; fep_fep035.FEP035.fep035_log_exp; fep_fep035.FEP035.fep035_log_mono; fep_fep035.FEP035.fep035_log_one
Boundary qualified declarations
Absent
Canonical body SHA-256
d82e138b6a35d8c686c8a6a6cda7c32b22282c10977fee68820f21637893b5e7
Exact Lean statement (proof omitted)
theorem fep035_log_jensen_two_strict
     {x y a b : ℝ} (hx : 0 < x) (hy : 0 < y) (hxy : x ≠ y)
     (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) :
-    a * Real.log x + b * Real.log y < Real.log (a * x + b * y)
Exact conclusion
a * Real.log x + b * Real.log y < Real.log (a * x + b * y)
Source statement SHA-256
7c6c7866cc148a246815692523c27e33f72535c893bacf416a9fee050835aab5
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['x', 'y', 'a', 'b']typed_binder{x y a b : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hx']typed_binder(hx : 0 < x)0 < xexplicit
source syntax; proposition elaboration not performed['hy']typed_binder(hy : 0 < y)0 < yexplicit
source syntax; proposition elaboration not performed['hxy']typed_binder(hxy : x ≠ y)x ≠ yexplicit
source syntax; proposition elaboration not performed['ha']typed_binder(ha : 0 < a)0 < aexplicit
source syntax; proposition elaboration not performed['hb']typed_binder(hb : 0 < b)0 < bexplicit
source syntax; proposition elaboration not performed['hab']typed_binder(hab : a + b = 1)a + b = 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-036 · Laplace-Smoothed Empirical Bernoulli Prior · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep036_binomialModel_apply, fep036_empiricalPrior_mem_Ioo, fep036_smoothedRate_mono, fep036_smoothedRate_eq_shrunkEmpirical, and fep036_smoothedRate_tendsto_of_empiricalRate, plus composed posterior closure.
Supporting qualified declarations
fep_fep036.FEP036.fep036_binomialModel_apply; fep_fep036.FEP036.fep036_smoothedRate_pos; fep_fep036.FEP036.fep036_smoothedRate_lt_one; fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo; fep_fep036.FEP036.fep036_empiricalPrior_mem_Ioo; fep_fep036.FEP036.fep036_smoothedRate_mono; fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical
Boundary qualified declarations
Absent
Canonical body SHA-256
757cedd5596fd9ece529cbae72329ef49d23e3aa7b75c2580585b45a69cf4037
Exact Lean statement (proof omitted)
theorem fep036_smoothedRate_tendsto_of_empiricalRate
+    a * Real.log x + b * Real.log y < Real.log (a * x + b * y)
Exact conclusion
a * Real.log x + b * Real.log y < Real.log (a * x + b * y)
Source statement SHA-256
7c6c7866cc148a246815692523c27e33f72535c893bacf416a9fee050835aab5
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['x', 'y', 'a', 'b']typed_binder{x y a b : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hx']typed_binder(hx : 0 < x)0 < xexplicit
source syntax; proposition elaboration not performed['hy']typed_binder(hy : 0 < y)0 < yexplicit
source syntax; proposition elaboration not performed['hxy']typed_binder(hxy : x ≠ y)x ≠ yexplicit
source syntax; proposition elaboration not performed['ha']typed_binder(ha : 0 < a)0 < aexplicit
source syntax; proposition elaboration not performed['hb']typed_binder(hb : 0 < b)0 < bexplicit
source syntax; proposition elaboration not performed['hab']typed_binder(hab : a + b = 1)a + b = 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-036 · Laplace-Smoothed Empirical Bernoulli Prior · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep036_binomialModel_apply, fep036_empiricalPrior_mem_Ioo, fep036_smoothedRate_mono, fep036_smoothedRate_eq_shrunkEmpirical, and fep036_smoothedRate_tendsto_of_empiricalRate, plus composed posterior closure.
Supporting qualified declarations
fep_fep036.FEP036.fep036_binomialModel_apply; fep_fep036.FEP036.fep036_smoothedRate_pos; fep_fep036.FEP036.fep036_smoothedRate_lt_one; fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo; fep_fep036.FEP036.fep036_empiricalPrior_mem_Ioo; fep_fep036.FEP036.fep036_smoothedRate_mono; fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical
Boundary qualified declarations
Absent
Canonical body SHA-256
757cedd5596fd9ece529cbae72329ef49d23e3aa7b75c2580585b45a69cf4037
Exact Lean statement (proof omitted)
theorem fep036_smoothedRate_tendsto_of_empiricalRate
     (successes : ℕ → ℕ) (p : ℝ)
     (hraw : Filter.Tendsto (fun n : ℕ => (successes n : ℝ) / n)
       Filter.atTop (nhds p)) :
@@ -129,56 +129,56 @@
       Filter.atTop (nhds p)
Exact conclusion
Filter.Tendsto (fun n : ℕ => fep036_smoothedRate (successes n) n)
       Filter.atTop (nhds p)
Source statement SHA-256
fe4522100bb6c684258cb0fa0a0438a91419d8f6bd4100110d09d9d476729160
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['successes']typed_binder(successes : ℕ → ℕ)ℕ → ℕexplicit
source syntax; proposition elaboration not performed['p']typed_binder(p : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hraw']typed_binder(hraw : Filter.Tendsto (fun n : ℕ => (successes n : ℝ) / n) Filter.atTop (nhds p))Filter.Tendsto (fun n : ℕ => (successes n : ℝ) / n) - Filter.atTop (nhds p)explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep036_smoothedRate_eq_shrunkEmpiricalfep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpiricalexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-037 · Two-State Correlation–Response Law · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep037.FEP037.fep037_response_eq
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.
Assumption review
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.
Non-vacuity
For alpha=1/4, positive beta and strictly positive variance, lag-zero response is positive and both defined correlation and response decay geometrically by1/2.
Acceptance probe (requirement; not executed here)
native Lean compile of fep037_autocorrelation_recurrence, fep037_autocorrelation_tendsto_zero, fep037_response_eq, fep037_response_nonneg, and fep037_response_tendsto_zero.
Supporting qualified declarations
fep_fep037.FEP037.fep037_autocorrelation_recurrence; fep_fep037.FEP037.fep037_autocorrelation_tendsto_zero; fep_fep037.FEP037.fep037_response_nonneg; fep_fep037.FEP037.fep037_response_tendsto_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
0897ab9e69cc189affd862863f4e88308f2c8429825a02a019b621b42fdc6813
Exact Lean statement (proof omitted)
theorem fep037_response_eq (β α variance : ℝ) (n : ℕ) :
+      Filter.atTop (nhds p)explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep036_smoothedRate_eq_shrunkEmpiricalfep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpiricalexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-037 · Two-State Correlation–Response Law · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep037.FEP037.fep037_response_eq
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.
Assumption review
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.
Non-vacuity
For alpha=1/4, positive beta and strictly positive variance, lag-zero response is positive and both defined correlation and response decay geometrically by1/2.
Acceptance probe (requirement; not executed here)
native Lean compile of fep037_autocorrelation_recurrence, fep037_autocorrelation_tendsto_zero, fep037_response_eq, fep037_response_nonneg, and fep037_response_tendsto_zero.
Supporting qualified declarations
fep_fep037.FEP037.fep037_autocorrelation_recurrence; fep_fep037.FEP037.fep037_autocorrelation_tendsto_zero; fep_fep037.FEP037.fep037_response_nonneg; fep_fep037.FEP037.fep037_response_tendsto_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
0897ab9e69cc189affd862863f4e88308f2c8429825a02a019b621b42fdc6813
Exact Lean statement (proof omitted)
theorem fep037_response_eq (β α variance : ℝ) (n : ℕ) :
     fep037_response β α variance n =
       2 * β * α * variance * fep037_relaxation α ^ n
Exact conclusion
fep037_response β α variance n =
-      2 * β * α * variance * fep037_relaxation α ^ n
Source statement SHA-256
b37da70a8d36ba4119953b0f63dfe43dfba1a9e0c9916de13bedbece172a7a39
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['β', 'α', 'variance']typed_binder(β α variance : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['n']typed_binder(n : ℕ)ℕexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep037_autocorrelation_recurrencefep_fep037.FEP037.fep037_autocorrelation_recurrenceexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_thermodynamics.py
fep-038 · Bernoulli Fisher Information and Natural Gradient · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep038.FEP038.fep038_fisherInformation_eq
Invariant
The differentiated Bernoulli family has zero expected score and Fisher information 1/(p(1-p)); its inverse metric defines a dual natural gradient. The supplied coordinate-Jacobian expression squares to Fisher information and factorizes the metric.
Assumption review
Metric positivity, inverse-metric duality and the coordinate-Jacobian algebra require 0 < p < 1. Identification of that supplied expression with the derivative of the authored 2*arcsin(sqrt p) coordinate requires the separately reviewed interior HasDerivAt bridge. No path-length theorem or general statistical manifold is asserted by the current topic declarations.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep038_bernoulliMass_hasDerivAt, fep038_expectedScore_zero, fep038_fisherInformation_eq, fep038_fisherMetric_pos, fep038_naturalGradient_duality, and fep038_fisherMetric_coordinate.
Supporting qualified declarations
fep_fep038.FEP038.fep038_bernoulliMass_hasDerivAt; fep_fep038.FEP038.fep038_bernoulliMass_sum_one; fep_fep038.FEP038.fep038_expectedScore_zero; fep_fep038.FEP038.fep038_fisherMetric_pos; fep_fep038.FEP038.fep038_naturalGradient_duality; fep_fep038.FEP038.fep038_fisherMetric_coordinate; fep_fep038.FEP038.fep038_fisherMetric_pullback
Boundary qualified declarations
Absent
Canonical body SHA-256
011667f26dd6249c84ea21f41b135a652a453e2d77e9dc152015c6b64f0b1ff5
Exact Lean statement (proof omitted)
theorem fep038_fisherInformation_eq {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :
-    fep038_fisherInformation p = 1 / (p * (1 - p))
Exact conclusion
fep038_fisherInformation p = 1 / (p * (1 - p))
Source statement SHA-256
02c1d95fd632491952c1583ecfc90ddffd87b7e1cf980fc46bdca53c0c817b24
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['p']typed_binder{p : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp0']typed_binder(hp0 : 0 < p)0 < pexplicit
source syntax; proposition elaboration not performed['hp1']typed_binder(hp1 : p < 1)p < 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_information_geometry.py
fep-039 · Four-Block Additive Free Energy · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep039.FEP039.fep039_global_eq_zero_iff
Invariant
Four local free-energy contributions aggregate additively and monotonically; under local nonnegativity, their global sum vanishes exactly when every local term vanishes.
Assumption review
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.
Non-vacuity
A single positive local contribution makes the global quantity positive, while independent nonzero contributions exercise exact additivity.
Acceptance probe (requirement; not executed here)
native Lean compile of fep039_global_nonneg, fep039_global_mono, fep039_global_add, fep039_global_eq_zero_iff, and FEPComposed.fep039_partitionEnergy_conservation.
Supporting qualified declarations
fep_fep039.FEP039.fep039_global_nonneg; fep_fep039.FEP039.fep039_global_mono; fep_fep039.FEP039.fep039_global_zero; fep_fep039.FEP039.fep039_global_add
Boundary qualified declarations
Absent
Canonical body SHA-256
b3f3e090e905d7897a29d04425b64c403a79d14edd337405422a2263af40e4a8
Exact Lean statement (proof omitted)
theorem fep039_global_eq_zero_iff (local_fe : Fin 4 → ℝ)
+      2 * β * α * variance * fep037_relaxation α ^ n
Source statement SHA-256
b37da70a8d36ba4119953b0f63dfe43dfba1a9e0c9916de13bedbece172a7a39
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['β', 'α', 'variance']typed_binder(β α variance : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['n']typed_binder(n : ℕ)ℕexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep037_autocorrelation_recurrencefep_fep037.FEP037.fep037_autocorrelation_recurrenceexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_thermodynamics.py
fep-038 · Bernoulli Fisher Information and Natural Gradient · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep038.FEP038.fep038_fisherInformation_eq
Invariant
The differentiated Bernoulli family has zero expected score and Fisher information 1/(p(1-p)); its inverse metric defines a dual natural gradient. The supplied coordinate-Jacobian expression squares to Fisher information and factorizes the metric.
Assumption review
Metric positivity, inverse-metric duality and the coordinate-Jacobian algebra require 0 < p < 1. Identification of that supplied expression with the derivative of the authored 2*arcsin(sqrt p) coordinate requires the separately reviewed interior HasDerivAt bridge. No path-length theorem or general statistical manifold is asserted by the current topic declarations.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep038_bernoulliMass_hasDerivAt, fep038_expectedScore_zero, fep038_fisherInformation_eq, fep038_fisherMetric_pos, fep038_naturalGradient_duality, and fep038_fisherMetric_coordinate.
Supporting qualified declarations
fep_fep038.FEP038.fep038_bernoulliMass_hasDerivAt; fep_fep038.FEP038.fep038_bernoulliMass_sum_one; fep_fep038.FEP038.fep038_expectedScore_zero; fep_fep038.FEP038.fep038_fisherMetric_pos; fep_fep038.FEP038.fep038_naturalGradient_duality; fep_fep038.FEP038.fep038_fisherMetric_coordinate; fep_fep038.FEP038.fep038_fisherMetric_pullback
Boundary qualified declarations
Absent
Canonical body SHA-256
011667f26dd6249c84ea21f41b135a652a453e2d77e9dc152015c6b64f0b1ff5
Exact Lean statement (proof omitted)
theorem fep038_fisherInformation_eq {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :
+    fep038_fisherInformation p = 1 / (p * (1 - p))
Exact conclusion
fep038_fisherInformation p = 1 / (p * (1 - p))
Source statement SHA-256
02c1d95fd632491952c1583ecfc90ddffd87b7e1cf980fc46bdca53c0c817b24
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['p']typed_binder{p : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp0']typed_binder(hp0 : 0 < p)0 < pexplicit
source syntax; proposition elaboration not performed['hp1']typed_binder(hp1 : p < 1)p < 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_information_geometry.py
fep-039 · Four-Block Additive Free Energy · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep039.FEP039.fep039_global_eq_zero_iff
Invariant
Four local free-energy contributions aggregate additively and monotonically; under local nonnegativity, their global sum vanishes exactly when every local term vanishes.
Assumption review
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.
Non-vacuity
A single positive local contribution makes the global quantity positive, while independent nonzero contributions exercise exact additivity.
Acceptance probe (requirement; not executed here)
native Lean compile of fep039_global_nonneg, fep039_global_mono, fep039_global_add, fep039_global_eq_zero_iff, and FEPComposed.fep039_partitionEnergy_conservation.
Supporting qualified declarations
fep_fep039.FEP039.fep039_global_nonneg; fep_fep039.FEP039.fep039_global_mono; fep_fep039.FEP039.fep039_global_zero; fep_fep039.FEP039.fep039_global_add
Boundary qualified declarations
Absent
Canonical body SHA-256
b3f3e090e905d7897a29d04425b64c403a79d14edd337405422a2263af40e4a8
Exact Lean statement (proof omitted)
theorem fep039_global_eq_zero_iff (local_fe : Fin 4 → ℝ)
     (hnonneg : ∀ i, 0 ≤ local_fe i) :
-    fep039_global_fe local_fe = 0 ↔ ∀ i, local_fe i = 0
Exact conclusion
fep039_global_fe local_fe = 0 ↔ ∀ i, local_fe i = 0
Source statement SHA-256
98a43d97d725e0ee2ce7a3951e0b66a7a7867703b7f0a6ae5730eeedf36459f5
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['local_fe']typed_binder(local_fe : Fin 4 → ℝ)Fin 4 → ℝexplicit
source syntax; proposition elaboration not performed['hnonneg']typed_binder(hnonneg : ∀ i, 0 ≤ local_fe i)∀ i, 0 ≤ local_fe iexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-040 · Native Gaussian Law and Thermal Entropy Response · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep040_gaussian_mass_one, fep040_gaussian_mean, fep040_gaussian_variance, fep040_gaussianEntropy_hasDerivAt, fep040_thermalEntropy_hasDerivAt, and fep040_heatCapacity_eq_half.
Supporting qualified declarations
fep_fep040.FEP040.fep040_gaussian_mass_one; fep_fep040.FEP040.fep040_gaussian_mean; fep_fep040.FEP040.fep040_gaussian_variance; fep_fep040.FEP040.fep040_gaussianEntropy_strictMono; fep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAt; fep_fep040.FEP040.fep040_heatCapacity_eq_half
Boundary qualified declarations
Absent
Canonical body SHA-256
7f207e3839ce385a29843570df449c3b593af5418c01e2f1f16732c97139d97b
Exact Lean statement (proof omitted)
theorem fep040_thermalEntropy_hasDerivAt
+    fep039_global_fe local_fe = 0 ↔ ∀ i, local_fe i = 0
Exact conclusion
fep039_global_fe local_fe = 0 ↔ ∀ i, local_fe i = 0
Source statement SHA-256
98a43d97d725e0ee2ce7a3951e0b66a7a7867703b7f0a6ae5730eeedf36459f5
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['local_fe']typed_binder(local_fe : Fin 4 → ℝ)Fin 4 → ℝexplicit
source syntax; proposition elaboration not performed['hnonneg']typed_binder(hnonneg : ∀ i, 0 ≤ local_fe i)∀ i, 0 ≤ local_fe iexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-040 · Native Gaussian Law and Thermal Entropy Response · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep040_gaussian_mass_one, fep040_gaussian_mean, fep040_gaussian_variance, fep040_gaussianEntropy_hasDerivAt, fep040_thermalEntropy_hasDerivAt, and fep040_heatCapacity_eq_half.
Supporting qualified declarations
fep_fep040.FEP040.fep040_gaussian_mass_one; fep_fep040.FEP040.fep040_gaussian_mean; fep_fep040.FEP040.fep040_gaussian_variance; fep_fep040.FEP040.fep040_gaussianEntropy_strictMono; fep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAt; fep_fep040.FEP040.fep040_heatCapacity_eq_half
Boundary qualified declarations
Absent
Canonical body SHA-256
7f207e3839ce385a29843570df449c3b593af5418c01e2f1f16732c97139d97b
Exact Lean statement (proof omitted)
theorem fep040_thermalEntropy_hasDerivAt
     {κ T : ℝ} (hκ : 0 < κ) (hT : 0 < T) :
-    HasDerivAt (fep040_thermalEntropy κ) (1 / (2 * T)) T
Exact conclusion
HasDerivAt (fep040_thermalEntropy κ) (1 / (2 * T)) T
Source statement SHA-256
262b8ea6a1dd324986f0ad97cbcaa25ee44a67c047f856978caed0cceb6642e4
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['κ', 'T']typed_binder{κ T : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hκ']typed_binder(hκ : 0 < κ)0 < κexplicit
source syntax; proposition elaboration not performed['hT']typed_binder(hT : 0 < T)0 < Texplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep040_gaussianEntropy_hasDerivAtfep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAtexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-041 · Expected Information Gain via Measure KL · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep041.FEP041.fep041_expectedInformationGain_zero
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.
Assumption review
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.
Non-vacuity
An observation-independent posterior equal to the prior yields zero gain, while any unequal finite posterior/prior pair has nonzero KL by separation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep041_informationGain_nonneg, fep041_informationGain_eq_zero_iff, and fep041_expectedInformationGain_zero.
Supporting qualified declarations
fep_fep041.FEP041.fep041_informationGain_nonneg; fep_fep041.FEP041.fep041_informationGain_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
7d410c814f0a372bea01d601bf0a4c9204b87daae951230748109de8706fca8f
Exact Lean statement (proof omitted)
theorem fep041_expectedInformationGain_zero
+    HasDerivAt (fep040_thermalEntropy κ) (1 / (2 * T)) T
Exact conclusion
HasDerivAt (fep040_thermalEntropy κ) (1 / (2 * T)) T
Source statement SHA-256
262b8ea6a1dd324986f0ad97cbcaa25ee44a67c047f856978caed0cceb6642e4
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['κ', 'T']typed_binder{κ T : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hκ']typed_binder(hκ : 0 < κ)0 < κexplicit
source syntax; proposition elaboration not performed['hT']typed_binder(hT : 0 < T)0 < Texplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep040_gaussianEntropy_hasDerivAtfep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAtexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-041 · Expected Information Gain via Measure KL · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep041.FEP041.fep041_expectedInformationGain_zero
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.
Assumption review
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.
Non-vacuity
An observation-independent posterior equal to the prior yields zero gain, while any unequal finite posterior/prior pair has nonzero KL by separation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep041_informationGain_nonneg, fep041_informationGain_eq_zero_iff, and fep041_expectedInformationGain_zero.
Supporting qualified declarations
fep_fep041.FEP041.fep041_informationGain_nonneg; fep_fep041.FEP041.fep041_informationGain_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
7d410c814f0a372bea01d601bf0a4c9204b87daae951230748109de8706fca8f
Exact Lean statement (proof omitted)
theorem fep041_expectedInformationGain_zero
     (predictive : Measure Obs)
     (posterior : Obs → Measure State)
     (prior : Measure State) [SigmaFinite prior]
     (hposterior : ∀ᵐ observation ∂predictive, posterior observation = prior) :
-    fep041_expectedInformationGain predictive posterior prior = 0
Exact conclusion
fep041_expectedInformationGain predictive posterior prior = 0
Source statement SHA-256
b73f62ca41fb9ae8d23147d39cf2be99c1c7b51b9c8514d453e75f8e175d97ac
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Obs State : Type*}
[MeasurableSpace Obs] [MeasurableSpace State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['predictive']typed_binder(predictive : Measure Obs)Measure Obsexplicit
source syntax; proposition elaboration not performed['posterior']typed_binder(posterior : Obs → Measure State)Obs → Measure Stateexplicit
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure State)Measure Stateexplicit
source syntax; proposition elaboration not performed[]instance_requirement[SigmaFinite prior]SigmaFinite priorinstance
source syntax; proposition elaboration not performed['hposterior']typed_binder(hposterior : ∀ᵐ observation ∂predictive, posterior observation = prior)∀ᵐ observation ∂predictive, posterior observation = priorexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-042 · Bernoulli Sufficient-Statistic Factorization · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq
Invariant
The Bernoulli sequence likelihood factorizes exactly through success and failure counts, so samples with equal count statistics have identical likelihood for every parameter.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep042_likelihood_factorizes and fep042_likelihood_eq_of_stat_eq on permuted Boolean samples.
Supporting qualified declarations
fep_fep042.FEP042.fep042_likelihood_factorizes
Boundary qualified declarations
Absent
Canonical body SHA-256
63669d5063789c1b2dfe2f763cb08239bf57927f01cdca428e1d13d37692d0c1
Exact Lean statement (proof omitted)
theorem fep042_likelihood_eq_of_stat_eq
+    fep041_expectedInformationGain predictive posterior prior = 0
Exact conclusion
fep041_expectedInformationGain predictive posterior prior = 0
Source statement SHA-256
b73f62ca41fb9ae8d23147d39cf2be99c1c7b51b9c8514d453e75f8e175d97ac
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Obs State : Type*}
[MeasurableSpace Obs] [MeasurableSpace State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['predictive']typed_binder(predictive : Measure Obs)Measure Obsexplicit
source syntax; proposition elaboration not performed['posterior']typed_binder(posterior : Obs → Measure State)Obs → Measure Stateexplicit
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure State)Measure Stateexplicit
source syntax; proposition elaboration not performed[]instance_requirement[SigmaFinite prior]SigmaFinite priorinstance
source syntax; proposition elaboration not performed['hposterior']typed_binder(hposterior : ∀ᵐ observation ∂predictive, posterior observation = prior)∀ᵐ observation ∂predictive, posterior observation = priorexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-042 · Bernoulli Sufficient-Statistic Factorization · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq
Invariant
The Bernoulli sequence likelihood factorizes exactly through success and failure counts, so samples with equal count statistics have identical likelihood for every parameter.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep042_likelihood_factorizes and fep042_likelihood_eq_of_stat_eq on permuted Boolean samples.
Supporting qualified declarations
fep_fep042.FEP042.fep042_likelihood_factorizes
Boundary qualified declarations
Absent
Canonical body SHA-256
63669d5063789c1b2dfe2f763cb08239bf57927f01cdca428e1d13d37692d0c1
Exact Lean statement (proof omitted)
theorem fep042_likelihood_eq_of_stat_eq
     (p : ℝ) (xs ys : List Bool)
     (h : fep042_sufficientStatistic xs = fep042_sufficientStatistic ys) :
-    fep042_bernoulliLikelihood p xs = fep042_bernoulliLikelihood p ys
Exact conclusion
fep042_bernoulliLikelihood p xs = fep042_bernoulliLikelihood p ys
Source statement SHA-256
0b31f9c72d114da240237a4fcd3b204fbfd0f187e3014be2dd938b6e68e74e9f
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['p']typed_binder(p : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['xs', 'ys']typed_binder(xs ys : List Bool)List Boolexplicit
source syntax; proposition elaboration not performed['h']typed_binder(h : fep042_sufficientStatistic xs = fep042_sufficientStatistic ys)fep042_sufficientStatistic xs = fep042_sufficientStatistic ysexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep042_likelihood_factorizesfep_fep042.FEP042.fep042_likelihood_factorizesexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-043 · Fermat Criticality and Quadratic Curvature · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep043.FEP043.fep043_quadratic_critical_iff
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.
Assumption review
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. The general deriv = 0 wrapper uses Mathlib's totalized derivative, which is zero also at nondifferentiable points; only the explicit quadratic HasDerivAt declarations establish differentiability here.
Non-vacuity
Every positive a and noncenter x has nonzero gradient and strictly larger energy than the center, while the Hessian 2a is nonzero everywhere.
Acceptance probe (requirement; not executed here)
native Lean compile of fep043_localMin_deriv_zero, fep043_quadratic_hasDerivAt, fep043_quadratic_unique_min, fep043_quadratic_critical_iff, and fep043_quadratic_hessian_pos.
Supporting qualified declarations
fep_fep043.FEP043.fep043_localMin_deriv_zero; fep_fep043.FEP043.fep043_quadratic_hasDerivAt; fep_fep043.FEP043.fep043_quadratic_unique_min; fep_fep043.FEP043.fep043_quadraticGradient_hasDerivAt; fep_fep043.FEP043.fep043_quadratic_hessian_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
47589d8dfa79d34e3ce9c1113e02a9edd6c6fecbf9ae02ebe3b6deed32e9c3ac
Exact Lean statement (proof omitted)
theorem fep043_quadratic_critical_iff
+    fep042_bernoulliLikelihood p xs = fep042_bernoulliLikelihood p ys
Exact conclusion
fep042_bernoulliLikelihood p xs = fep042_bernoulliLikelihood p ys
Source statement SHA-256
0b31f9c72d114da240237a4fcd3b204fbfd0f187e3014be2dd938b6e68e74e9f
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['p']typed_binder(p : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['xs', 'ys']typed_binder(xs ys : List Bool)List Boolexplicit
source syntax; proposition elaboration not performed['h']typed_binder(h : fep042_sufficientStatistic xs = fep042_sufficientStatistic ys)fep042_sufficientStatistic xs = fep042_sufficientStatistic ysexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep042_likelihood_factorizesfep_fep042.FEP042.fep042_likelihood_factorizesexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-043 · Fermat Criticality and Quadratic Curvature · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep043.FEP043.fep043_quadratic_critical_iff
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.
Assumption review
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. The general deriv = 0 wrapper uses Mathlib's totalized derivative, which is zero also at nondifferentiable points; only the explicit quadratic HasDerivAt declarations establish differentiability here.
Non-vacuity
Every positive a and noncenter x has nonzero gradient and strictly larger energy than the center, while the Hessian 2a is nonzero everywhere.
Acceptance probe (requirement; not executed here)
native Lean compile of fep043_localMin_deriv_zero, fep043_quadratic_hasDerivAt, fep043_quadratic_unique_min, fep043_quadratic_critical_iff, and fep043_quadratic_hessian_pos.
Supporting qualified declarations
fep_fep043.FEP043.fep043_localMin_deriv_zero; fep_fep043.FEP043.fep043_quadratic_hasDerivAt; fep_fep043.FEP043.fep043_quadratic_unique_min; fep_fep043.FEP043.fep043_quadraticGradient_hasDerivAt; fep_fep043.FEP043.fep043_quadratic_hessian_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
47589d8dfa79d34e3ce9c1113e02a9edd6c6fecbf9ae02ebe3b6deed32e9c3ac
Exact Lean statement (proof omitted)
theorem fep043_quadratic_critical_iff
     {a x₀ c x : ℝ} (ha : 0 < a) :
-    deriv (fep043_quadraticFreeEnergy a x₀ c) x = 0 ↔ x = x₀
Exact conclusion
deriv (fep043_quadraticFreeEnergy a x₀ c) x = 0 ↔ x = x₀
Source statement SHA-256
03ecb9afb5b2cff4bc6144539eae1e8bf2b00ad25cf70bfa6be2d6c5d8564652
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['a', 'x₀', 'c', 'x']typed_binder{a x₀ c x : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['ha']typed_binder(ha : 0 < a)0 < aexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep043_quadratic_hasDerivAtfep_fep043.FEP043.fep043_quadratic_hasDerivAtexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-044 · Bernoulli Squared Hellinger Divergence · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff
Invariant
The squared Hellinger divergence between Bernoulli laws is nonnegative, symmetric, invariant under success/failure relabeling, and separates parameters on [0,1].
Assumption review
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.
Non-vacuity
Equal Bernoulli parameters have zero divergence, while the endpoint laws p = 0 and q = 1 are separated.
Acceptance probe (requirement; not executed here)
native Lean compile of fep044_hellingerSq_nonneg, fep044_hellingerSq_symm, fep044_hellingerSq_eq_zero_iff, and fep044_hellingerSq_complement.
Supporting qualified declarations
fep_fep044.FEP044.fep044_hellingerSq_nonneg; fep_fep044.FEP044.fep044_hellingerSq_symm; fep_fep044.FEP044.fep044_hellingerSq_complement
Boundary qualified declarations
Absent
Canonical body SHA-256
2ccd0ff00667bcc811c24cce39f19fd4ab916fb55cafe479b605be889d136e19
Exact Lean statement (proof omitted)
theorem fep044_hellingerSq_eq_zero_iff
+    deriv (fep043_quadraticFreeEnergy a x₀ c) x = 0 ↔ x = x₀
Exact conclusion
deriv (fep043_quadraticFreeEnergy a x₀ c) x = 0 ↔ x = x₀
Source statement SHA-256
03ecb9afb5b2cff4bc6144539eae1e8bf2b00ad25cf70bfa6be2d6c5d8564652
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['a', 'x₀', 'c', 'x']typed_binder{a x₀ c x : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['ha']typed_binder(ha : 0 < a)0 < aexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep043_quadratic_hasDerivAtfep_fep043.FEP043.fep043_quadratic_hasDerivAtexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-044 · Bernoulli Squared Hellinger Divergence · formalized
Family context (editorial)
core-information-geometry
Primary qualified witness
fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff
Invariant
The squared Hellinger divergence between Bernoulli laws is nonnegative, symmetric, invariant under success/failure relabeling, and separates parameters on [0,1].
Assumption review
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.
Non-vacuity
Equal Bernoulli parameters have zero divergence, while the endpoint laws p = 0 and q = 1 are separated.
Acceptance probe (requirement; not executed here)
native Lean compile of fep044_hellingerSq_nonneg, fep044_hellingerSq_symm, fep044_hellingerSq_eq_zero_iff, and fep044_hellingerSq_complement.
Supporting qualified declarations
fep_fep044.FEP044.fep044_hellingerSq_nonneg; fep_fep044.FEP044.fep044_hellingerSq_symm; fep_fep044.FEP044.fep044_hellingerSq_complement
Boundary qualified declarations
Absent
Canonical body SHA-256
2ccd0ff00667bcc811c24cce39f19fd4ab916fb55cafe479b605be889d136e19
Exact Lean statement (proof omitted)
theorem fep044_hellingerSq_eq_zero_iff
     {p q : ℝ} (hp : p ∈ Set.Icc (0 : ℝ) 1) (hq : q ∈ Set.Icc (0 : ℝ) 1) :
-    fep044_hellingerSq p q = 0 ↔ p = q
Exact conclusion
fep044_hellingerSq p q = 0 ↔ p = q
Source statement SHA-256
9156ee48c34ef31f943eefc08b19e01af8a6a183b6f260580f26c04fafcc4abe
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['p', 'q']typed_binder{p q : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : p ∈ Set.Icc (0 : ℝ) 1)p ∈ Set.Icc (0 : ℝ) 1explicit
source syntax; proposition elaboration not performed['hq']typed_binder(hq : q ∈ Set.Icc (0 : ℝ) 1)q ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_information_geometry.py
fep-045 · Finite Bernoulli Conjugate Closure · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep045.FEP045.fep045_bernoulli_posterior_closed
Invariant
For nonzero evidence, likelihood-times-prior masses have the Bernoulli mass-vector form at the updated parameter. A probability-law interpretation additionally requires a prior in [0,1], nonnegative likelihoods and positive evidence.
Assumption review
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.
Non-vacuity
Unequal positive likelihoods move an interior prior parameter while posterior mass still sums to one. Equal nonzero likelihoods preserve the prior; both zero expose the refused evidence boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep045_evidence_pos, fep045_posteriorParameter_mem_unit, fep045_bernoulli_posterior_closed, and fep045_posterior_mass_one.
Supporting qualified declarations
fep_fep045.FEP045.fep045_evidence_pos; fep_fep045.FEP045.fep045_posteriorParameter_mem_unit; fep_fep045.FEP045.fep045_posterior_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
a1a2a072db600b245fed50f6a05f657240788fd64c081a883daa96917ae7af6a
Exact Lean statement (proof omitted)
theorem fep045_bernoulli_posterior_closed
+    fep044_hellingerSq p q = 0 ↔ p = q
Exact conclusion
fep044_hellingerSq p q = 0 ↔ p = q
Source statement SHA-256
9156ee48c34ef31f943eefc08b19e01af8a6a183b6f260580f26c04fafcc4abe
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['p', 'q']typed_binder{p q : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hp']typed_binder(hp : p ∈ Set.Icc (0 : ℝ) 1)p ∈ Set.Icc (0 : ℝ) 1explicit
source syntax; proposition elaboration not performed['hq']typed_binder(hq : q ∈ Set.Icc (0 : ℝ) 1)q ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_information_geometry.py
fep-045 · Finite Bernoulli Conjugate Closure · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep045.FEP045.fep045_bernoulli_posterior_closed
Invariant
For nonzero evidence, likelihood-times-prior masses have the Bernoulli mass-vector form at the updated parameter. A probability-law interpretation additionally requires a prior in [0,1], nonnegative likelihoods and positive evidence.
Assumption review
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.
Non-vacuity
Unequal positive likelihoods move an interior prior parameter while posterior mass still sums to one. Equal nonzero likelihoods preserve the prior; both zero expose the refused evidence boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep045_evidence_pos, fep045_posteriorParameter_mem_unit, fep045_bernoulli_posterior_closed, and fep045_posterior_mass_one.
Supporting qualified declarations
fep_fep045.FEP045.fep045_evidence_pos; fep_fep045.FEP045.fep045_posteriorParameter_mem_unit; fep_fep045.FEP045.fep045_posterior_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
a1a2a072db600b245fed50f6a05f657240788fd64c081a883daa96917ae7af6a
Exact Lean statement (proof omitted)
theorem fep045_bernoulli_posterior_closed
     {p l₀ l₁ : ℝ} (hZ : fep045_evidence p l₀ l₁ ≠ 0) (b : Bool) :
     fep045_bernoulliMass (fep045_posteriorParameter p l₀ l₁) b =
       fep045_bernoulliMass p b * fep045_binaryLikelihood l₀ l₁ b /
         fep045_evidence p l₀ l₁
Exact conclusion
fep045_bernoulliMass (fep045_posteriorParameter p l₀ l₁) b =
       fep045_bernoulliMass p b * fep045_binaryLikelihood l₀ l₁ b /
-        fep045_evidence p l₀ l₁
Source statement SHA-256
f98b85e18c1887c931d7d2f7fe44fde19f3988b9cb0e62e8e5991383ed9c283b
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['p', 'l₀', 'l₁']typed_binder{p l₀ l₁ : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hZ']typed_binder(hZ : fep045_evidence p l₀ l₁ ≠ 0)fep045_evidence p l₀ l₁ ≠ 0explicit
source syntax; proposition elaboration not performed['b']typed_binder(b : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-046 · Finite Stick-Breaking Mass Conservation · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep046.FEP046.fep046_mass_conservation
Invariant
For every finite stick-breaking sequence, allocated weights plus residual mass equal exactly one; unit-interval breaks keep the residual in [0,1].
Assumption review
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.
Non-vacuity
Multiple unequal interior breaks allocate several positive weights and a positive remainder, while a break of one exhausts all subsequent residual mass.
Acceptance probe (requirement; not executed here)
native Lean compile of fep046_mass_conservation, fep046_remainder_nonneg, and fep046_remainder_le_one on empty, singleton, and multi-break lists.
Supporting qualified declarations
fep_fep046.FEP046.fep046_remainder_nonneg; fep_fep046.FEP046.fep046_remainder_le_one
Boundary qualified declarations
Absent
Canonical body SHA-256
4d114a8250d9d2a26110000b6e8bbabfb2cb899c03864f735afd0d5fa06836fd
Exact Lean statement (proof omitted)
theorem fep046_mass_conservation (breaks : List ℝ) :
-    (fep046_stickWeights breaks).sum + fep046_remainder breaks = 1
Exact conclusion
(fep046_stickWeights breaks).sum + fep046_remainder breaks = 1
Source statement SHA-256
1060012a8289a11ff44b50822f4d778cf3fb1a0228b6e9169fc1cbaf155548da
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['breaks']typed_binder(breaks : List ℝ)List ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py
fep-047 · Compositional Finite Sum-Product Propagation · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep047.FEP047.fep047_forward_compose
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.
Assumption review
Nonnegativity preservation requires nonnegative factors and inputs. Order monotonicity requires nonnegative factors and pointwise ordered inputs, which may themselves be negative. Identity/composition are unconditional algebraic laws. The row proves exact finite propagation, not normalization or loopy fixed-point convergence.
Non-vacuity
Nonidentity dense matrices and nonconstant incoming vectors exercise genuine cross-state aggregation; two distinct factors exercise nontrivial composed propagation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep047_forward_nonneg, fep047_forward_mono, fep047_zero_in, fep047_identity, and fep047_forward_compose using Mathlib Matrix.mulVec_mulVec.
Supporting qualified declarations
fep_fep047.FEP047.fep047_forward_nonneg; fep_fep047.FEP047.fep047_forward_mono; fep_fep047.FEP047.fep047_zero_in; fep_fep047.FEP047.fep047_identity
Boundary qualified declarations
Absent
Canonical body SHA-256
93711805d5fc510cd1636358cadfbb4415fd5deb75d58bb71819e893a04aa397
Exact Lean statement (proof omitted)
theorem fep047_forward_compose
+        fep045_evidence p l₀ l₁
Source statement SHA-256
f98b85e18c1887c931d7d2f7fe44fde19f3988b9cb0e62e8e5991383ed9c283b
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['p', 'l₀', 'l₁']typed_binder{p l₀ l₁ : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hZ']typed_binder(hZ : fep045_evidence p l₀ l₁ ≠ 0)fep045_evidence p l₀ l₁ ≠ 0explicit
source syntax; proposition elaboration not performed['b']typed_binder(b : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-046 · Finite Stick-Breaking Mass Conservation · formalized
Family context (editorial)
core-bayesian-mechanics
Primary qualified witness
fep_fep046.FEP046.fep046_mass_conservation
Invariant
For every finite stick-breaking sequence, allocated weights plus residual mass equal exactly one; unit-interval breaks keep the residual in [0,1].
Assumption review
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.
Non-vacuity
Multiple unequal interior breaks allocate several positive weights and a positive remainder, while a break of one exhausts all subsequent residual mass.
Acceptance probe (requirement; not executed here)
native Lean compile of fep046_mass_conservation, fep046_remainder_nonneg, and fep046_remainder_le_one on empty, singleton, and multi-break lists.
Supporting qualified declarations
fep_fep046.FEP046.fep046_remainder_nonneg; fep_fep046.FEP046.fep046_remainder_le_one
Boundary qualified declarations
Absent
Canonical body SHA-256
4d114a8250d9d2a26110000b6e8bbabfb2cb899c03864f735afd0d5fa06836fd
Exact Lean statement (proof omitted)
theorem fep046_mass_conservation (breaks : List ℝ) :
+    (fep046_stickWeights breaks).sum + fep046_remainder breaks = 1
Exact conclusion
(fep046_stickWeights breaks).sum + fep046_remainder breaks = 1
Source statement SHA-256
1060012a8289a11ff44b50822f4d778cf3fb1a0228b6e9169fc1cbaf155548da
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['breaks']typed_binder(breaks : List ℝ)List ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py
fep-047 · Compositional Finite Sum-Product Propagation · formalized
Family context (editorial)
core-active-inference
Primary qualified witness
fep_fep047.FEP047.fep047_forward_compose
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.
Assumption review
Nonnegativity preservation requires nonnegative factors and inputs. Order monotonicity requires nonnegative factors and pointwise ordered inputs, which may themselves be negative. Identity/composition are unconditional algebraic laws. The row proves exact finite propagation, not normalization or loopy fixed-point convergence.
Non-vacuity
Nonidentity dense matrices and nonconstant incoming vectors exercise genuine cross-state aggregation; two distinct factors exercise nontrivial composed propagation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep047_forward_nonneg, fep047_forward_mono, fep047_zero_in, fep047_identity, and fep047_forward_compose using Mathlib Matrix.mulVec_mulVec.
Supporting qualified declarations
fep_fep047.FEP047.fep047_forward_nonneg; fep_fep047.FEP047.fep047_forward_mono; fep_fep047.FEP047.fep047_zero_in; fep_fep047.FEP047.fep047_identity
Boundary qualified declarations
Absent
Canonical body SHA-256
93711805d5fc510cd1636358cadfbb4415fd5deb75d58bb71819e893a04aa397
Exact Lean statement (proof omitted)
theorem fep047_forward_compose
     (outer inner : Factor) (incoming : State → ℝ) :
     fep047_forward outer (fep047_forward inner incoming) =
       fep047_forward (outer * inner) incoming
Exact conclusion
fep047_forward outer (fep047_forward inner incoming) =
-      fep047_forward (outer * inner) incoming
Source statement SHA-256
7acc9063c0579c11b0aa5832b5edfe1e76809a10ee5378a0378d9e0cde1eaf8c
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['outer', 'inner']typed_binder(outer inner : Factor)Factorexplicit
source syntax; proposition elaboration not performed['incoming']typed_binder(incoming : State → ℝ)State → ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_active_inference.py
fep-048 · Contractive Policy Update Uniqueness · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep048.FEP048.fep048_contraction_unique
Invariant
Any two fixed points of a global ContractingWith map on ℝ coincide; the concrete halving map has unique fixed point zero and its iterates converge to zero.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of the native uniqueness wrapper, halving contraction, unique-zero, and iterate-convergence theorems.
Supporting qualified declarations
fep_fep048.FEP048.fep048_sync_nonneg; fep_fep048.FEP048.fep048_async_mono; fep_fep048.FEP048.fep048_halfUpdate_contracts; fep_fep048.FEP048.fep048_halfUpdate_unique_fixed_point; fep_fep048.FEP048.fep048_halfUpdate_iterates_converge; fep_fep048.FEP048.fep048_id_mono; fep_fep048.FEP048.fep048_add_mono
Boundary qualified declarations
Absent
Canonical body SHA-256
cad7c99c83719b89c85b04f2944c3ef9c2530725ced1e966a42ad6f98fd91269
Exact Lean statement (proof omitted)
theorem fep048_contraction_unique (f : ℝ → ℝ) (c : NNReal)
+      fep047_forward (outer * inner) incoming
Source statement SHA-256
7acc9063c0579c11b0aa5832b5edfe1e76809a10ee5378a0378d9e0cde1eaf8c
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['outer', 'inner']typed_binder(outer inner : Factor)Factorexplicit
source syntax; proposition elaboration not performed['incoming']typed_binder(incoming : State → ℝ)State → ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_active_inference.py
fep-048 · Contractive Policy Update Uniqueness · formalized
Family context (editorial)
core-free-energy
Primary qualified witness
fep_fep048.FEP048.fep048_contraction_unique
Invariant
Any two fixed points of a global ContractingWith map on ℝ coincide; the concrete halving map has unique fixed point zero and its iterates converge to zero.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of the native uniqueness wrapper, halving contraction, unique-zero, and iterate-convergence theorems.
Supporting qualified declarations
fep_fep048.FEP048.fep048_sync_nonneg; fep_fep048.FEP048.fep048_async_mono; fep_fep048.FEP048.fep048_halfUpdate_contracts; fep_fep048.FEP048.fep048_halfUpdate_unique_fixed_point; fep_fep048.FEP048.fep048_halfUpdate_iterates_converge; fep_fep048.FEP048.fep048_id_mono; fep_fep048.FEP048.fep048_add_mono
Boundary qualified declarations
Absent
Canonical body SHA-256
cad7c99c83719b89c85b04f2944c3ef9c2530725ced1e966a42ad6f98fd91269
Exact Lean statement (proof omitted)
theorem fep048_contraction_unique (f : ℝ → ℝ) (c : NNReal)
     (hcontract : ContractingWith c f) (x y : ℝ)
-    (hfx : Function.IsFixedPt f x) (hfy : Function.IsFixedPt f y) : x = y
Exact conclusion
x = y
Source statement SHA-256
bc2b9944b737f7fdcca45094efe2b0785d329c0debc042c08aaed3aa12e4e485
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['f']typed_binder(f : ℝ → ℝ)ℝ → ℝexplicit
source syntax; proposition elaboration not performed['c']typed_binder(c : NNReal)NNRealexplicit
source syntax; proposition elaboration not performed['hcontract']typed_binder(hcontract : ContractingWith c f)ContractingWith c fexplicit
source syntax; proposition elaboration not performed['x', 'y']typed_binder(x y : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hfx']typed_binder(hfx : Function.IsFixedPt f x)Function.IsFixedPt f xexplicit
source syntax; proposition elaboration not performed['hfy']typed_binder(hfy : Function.IsFixedPt f y)Function.IsFixedPt f yexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_free_energy.py
fep-049 · Linear Constitutive Entropy Production · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep049_flux_force_identity, fep049_entropyProduction_nonneg, fep049_entropyProduction_eq_zero_iff, fep049_edgeProduction_nonneg, and fep049_edgeProduction_eq_zero_iff.
Supporting qualified declarations
fep_fep049.FEP049.fep049_flux_force_identity; fep_fep049.FEP049.fep049_entropyProduction_nonneg; fep_fep049.FEP049.fep049_edgeProduction_nonneg; fep_fep049.FEP049.fep049_edgeProduction_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
2fd0eef749e0748d6d4ba966b812156208ee2ef065b45bd04ad094ee49e91b27
Exact Lean statement (proof omitted)
theorem fep049_entropyProduction_eq_zero_iff {ι : Type*} [Fintype ι]
+    (hfx : Function.IsFixedPt f x) (hfy : Function.IsFixedPt f y) : x = y
Exact conclusion
x = y
Source statement SHA-256
bc2b9944b737f7fdcca45094efe2b0785d329c0debc042c08aaed3aa12e4e485
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['f']typed_binder(f : ℝ → ℝ)ℝ → ℝexplicit
source syntax; proposition elaboration not performed['c']typed_binder(c : NNReal)NNRealexplicit
source syntax; proposition elaboration not performed['hcontract']typed_binder(hcontract : ContractingWith c f)ContractingWith c fexplicit
source syntax; proposition elaboration not performed['x', 'y']typed_binder(x y : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hfx']typed_binder(hfx : Function.IsFixedPt f x)Function.IsFixedPt f xexplicit
source syntax; proposition elaboration not performed['hfy']typed_binder(hfy : Function.IsFixedPt f y)Function.IsFixedPt f yexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_free_energy.py
fep-049 · Linear Constitutive Entropy Production · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep049_flux_force_identity, fep049_entropyProduction_nonneg, fep049_entropyProduction_eq_zero_iff, fep049_edgeProduction_nonneg, and fep049_edgeProduction_eq_zero_iff.
Supporting qualified declarations
fep_fep049.FEP049.fep049_flux_force_identity; fep_fep049.FEP049.fep049_entropyProduction_nonneg; fep_fep049.FEP049.fep049_edgeProduction_nonneg; fep_fep049.FEP049.fep049_edgeProduction_eq_zero_iff
Boundary qualified declarations
Absent
Canonical body SHA-256
2fd0eef749e0748d6d4ba966b812156208ee2ef065b45bd04ad094ee49e91b27
Exact Lean statement (proof omitted)
theorem fep049_entropyProduction_eq_zero_iff {ι : Type*} [Fintype ι]
     (conductance force : ι → ℝ)
     (hconductance : ∀ i, 0 < conductance i) :
     fep049_entropyProduction conductance force = 0 ↔
       ∀ i, force i = 0
Exact conclusion
fep049_entropyProduction conductance force = 0 ↔
-      ∀ i, force i = 0
Source statement SHA-256
3d529e0d1010a2fbccd19146222795117af8ae5aa38e462da61e155946e51ee3
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['ι']typed_binder{ι : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype ι]Fintype ιinstance
source syntax; proposition elaboration not performed['conductance', 'force']typed_binder(conductance force : ι → ℝ)ι → ℝexplicit
source syntax; proposition elaboration not performed['hconductance']typed_binder(hconductance : ∀ i, 0 < conductance i)∀ i, 0 < conductance iexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/core_thermodynamics.py
fep-050 · Logical Erasure and the Landauer Bound · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep050.FEP050.fep050_landauer_work_bound
Invariant
A normalized finite path erasure model with forward-supported local detailed balance derives mean bath heat at least kB T times the prior's binary Shannon entropy when the final bit is reset. The fair-prior corner gives kB T log 2, and work dominating that mean heat obeys the same threshold. No second-law inequality is assumed by these path-model bounds.
Assumption review
ErasureModel supplies finite normalized forward and aligned reverse path laws, initial and final marginals, positive beta, reverse support on every forward-supported path, and local detailed balance. The primary work theorem additionally requires positive kB and T, beta = 1/(kB T), reset to false, prior(true) = 1/2, and meanHeat <= W. The generalized prior endpoint assumes the same beta identification and reset but does not separately require positive kB and T; the model forces their product positive. Shannon entropy and mean path production are dimensionless nats: meanHeat = kB T sigma + kB T (H(prior) - H(final)). For physical entropy loss DeltaS = kB DeltaH, the latter term is T DeltaS. Local detailed balance and work/heat domination are modeling assumptions, not a microscopic derivation, first-law proof, finite-time realization, laboratory result, or causal claim. The separately named entropy-balance helpers remain conditional and do not construct a path protocol.
Non-vacuity
reversibleErasureWitness constructs a normalized reset with aligned reverse law equal to the forward law, derived zero production, and heat equal to binEntropy(prior(true))/beta. At kB = 2 and T = 3 the fair witness attains 6 log 2; the actual prior(true) = 3/4 witness attains its generalized bound strictly below the fair threshold. Equality is proved for these mathematical witnesses rather than supplied as a model field or claimed for an apparatus.
Acceptance probe (requirement; not executed here)
Warning-strict native Lean compile and axiom inspection of the focused and aggregate generalized, fair heat, primary work, and conditional entropy-balance helpers; the existing full core composition must compile with its explicit conditional helper endpoint. Imported maintained controls must verify heat encoding, fair bound, reversible equality, biased bound, strict biased-versus-fair boundary, and work domination at the same positive scale. Dropping reset, beta identification, or local detailed balance must not be accepted as the path theorem. Current-source qualification remains separate from this semantic review and from historical external compile receipts.
Supporting qualified declarations
fep_fep050.FEP050.fep050_erasure_not_injective; fep_fep050.FEP050.fep050_erasureEntropyLoss_eq; fep_fep050.FEP050.fep050_generalized_landauer_heat_bound; fep_fep050.FEP050.fep050_landauer_heat_bound; fep_fep050.FEP050.fep050_landauer_heat_bound_of_entropy_balance; fep_fep050.FEP050.fep050_landauer_work_bound_of_entropy_balance; fep_fep050.FEP050.fep050_landauerBound_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
36d02b8ec12a34ff9fd84f7b06483dd93124d85a0b54b37ed2303c16bbcfeb54
Exact Lean statement (proof omitted)
theorem fep050_landauer_work_bound
+      ∀ i, force i = 0
Source statement SHA-256
3d529e0d1010a2fbccd19146222795117af8ae5aa38e462da61e155946e51ee3
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['ι']typed_binder{ι : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype ι]Fintype ιinstance
source syntax; proposition elaboration not performed['conductance', 'force']typed_binder(conductance force : ι → ℝ)ι → ℝexplicit
source syntax; proposition elaboration not performed['hconductance']typed_binder(hconductance : ∀ i, 0 < conductance i)∀ i, 0 < conductance iexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/core_thermodynamics.py
fep-050 · Logical Erasure and the Landauer Bound · formalized
Family context (editorial)
core-thermodynamics
Primary qualified witness
fep_fep050.FEP050.fep050_landauer_work_bound
Invariant
A normalized finite path erasure model with forward-supported local detailed balance derives mean bath heat at least kB T times the prior's binary Shannon entropy when the final bit is reset. The fair-prior corner gives kB T log 2, and work dominating that mean heat obeys the same threshold. No second-law inequality is assumed by these path-model bounds.
Assumption review
ErasureModel supplies finite normalized forward and aligned reverse path laws, initial and final marginals, positive beta, reverse support on every forward-supported path, and local detailed balance. The primary work theorem additionally requires positive kB and T, beta = 1/(kB T), reset to false, prior(true) = 1/2, and meanHeat <= W. The generalized prior endpoint assumes the same beta identification and reset but does not separately require positive kB and T; the model forces their product positive. Shannon entropy and mean path production are dimensionless nats: meanHeat = kB T sigma + kB T (H(prior) - H(final)). For physical entropy loss DeltaS = kB DeltaH, the latter term is T DeltaS. Local detailed balance and work/heat domination are modeling assumptions, not a microscopic derivation, first-law proof, finite-time realization, laboratory result, or causal claim. The separately named entropy-balance helpers remain conditional and do not construct a path protocol.
Non-vacuity
reversibleErasureWitness constructs a normalized reset with aligned reverse law equal to the forward law, derived zero production, and heat equal to binEntropy(prior(true))/beta. At kB = 2 and T = 3 the fair witness attains 6 log 2; the actual prior(true) = 3/4 witness attains its generalized bound strictly below the fair threshold. Equality is proved for these mathematical witnesses rather than supplied as a model field or claimed for an apparatus.
Acceptance probe (requirement; not executed here)
Warning-strict native Lean compile and axiom inspection of the focused and aggregate generalized, fair heat, primary work, and conditional entropy-balance helpers; the existing full core composition must compile with its explicit conditional helper endpoint. Imported maintained controls must verify heat encoding, fair bound, reversible equality, biased bound, strict biased-versus-fair boundary, and work domination at the same positive scale. Dropping reset, beta identification, or local detailed balance must not be accepted as the path theorem. Current-source qualification remains separate from this semantic review and from historical external compile receipts.
Supporting qualified declarations
fep_fep050.FEP050.fep050_erasure_not_injective; fep_fep050.FEP050.fep050_erasureEntropyLoss_eq; fep_fep050.FEP050.fep050_generalized_landauer_heat_bound; fep_fep050.FEP050.fep050_landauer_heat_bound; fep_fep050.FEP050.fep050_landauer_heat_bound_of_entropy_balance; fep_fep050.FEP050.fep050_landauer_work_bound_of_entropy_balance; fep_fep050.FEP050.fep050_landauerBound_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
36d02b8ec12a34ff9fd84f7b06483dd93124d85a0b54b37ed2303c16bbcfeb54
Exact Lean statement (proof omitted)
theorem fep050_landauer_work_bound
     {Path : Type*} [Fintype Path]
     (model : FEP.PathThermodynamics.ErasureModel Path)
     {W kB T : ℝ} (hkB : 0 < kB) (hT : 0 < T)
     (hBeta : model.beta = (kB * T)⁻¹)
     (hReset : model.IsReset) (hFair : model.prior true = 1 / 2)
     (hworkHeat : model.meanHeat ≤ W) :
-    fep050_landauerBound kB T ≤ W
Exact conclusion
fep050_landauerBound kB T ≤ W
Source statement SHA-256
44ae51f8652eb46d44c591470a9806c0f5fadd16729db884caba5bb1f2415d4f
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['Path']typed_binder{Path : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Path]Fintype Pathinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : FEP.PathThermodynamics.ErasureModel Path)FEP.PathThermodynamics.ErasureModel Pathexplicit
source syntax; proposition elaboration not performed['W', 'kB', 'T']typed_binder{W kB T : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hkB']typed_binder(hkB : 0 < kB)0 < kBexplicit
source syntax; proposition elaboration not performed['hT']typed_binder(hT : 0 < T)0 < Texplicit
source syntax; proposition elaboration not performed['hBeta']typed_binder(hBeta : model.beta = (kB * T)⁻¹)model.beta = (kB * T)⁻¹explicit
source syntax; proposition elaboration not performed['hReset']typed_binder(hReset : model.IsReset)model.IsResetexplicit
source syntax; proposition elaboration not performed['hFair']typed_binder(hFair : model.prior true = 1 / 2)model.prior true = 1 / 2explicit
source syntax; proposition elaboration not performed['hworkHeat']typed_binder(hworkHeat : model.meanHeat ≤ W)model.meanHeat ≤ Wexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep050_landauer_heat_boundfep_fep050.FEP050.fep050_landauer_heat_boundexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/core_thermodynamics.py
fep-051 · Likelihood-Ratio Reconstruction under Absolute Continuity · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep051.FEP051.fep051_likelihoodRatio_reconstruction
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.
Assumption review
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.
Non-vacuity
Equal finite reference/target laws supply a concrete reconstructible case with the required decomposition instance; a nonzero singular component gives the explicit failure boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep051_likelihoodRatio_reconstruction and fep051_reconstruction_iff_absoluteContinuous with the absolute-continuity premise visible.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep051.FEP051.fep051_reconstruction_iff_absoluteContinuous
Canonical body SHA-256
69d3a3b9bfe3e2a2147c8834cb9ba01a5ff0a6e134e40633e5aea3b6e84b65b7
Exact Lean statement (proof omitted)
theorem fep051_likelihoodRatio_reconstruction
+    fep050_landauerBound kB T ≤ W
Exact conclusion
fep050_landauerBound kB T ≤ W
Source statement SHA-256
44ae51f8652eb46d44c591470a9806c0f5fadd16729db884caba5bb1f2415d4f
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['Path']typed_binder{Path : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Path]Fintype Pathinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : FEP.PathThermodynamics.ErasureModel Path)FEP.PathThermodynamics.ErasureModel Pathexplicit
source syntax; proposition elaboration not performed['W', 'kB', 'T']typed_binder{W kB T : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hkB']typed_binder(hkB : 0 < kB)0 < kBexplicit
source syntax; proposition elaboration not performed['hT']typed_binder(hT : 0 < T)0 < Texplicit
source syntax; proposition elaboration not performed['hBeta']typed_binder(hBeta : model.beta = (kB * T)⁻¹)model.beta = (kB * T)⁻¹explicit
source syntax; proposition elaboration not performed['hReset']typed_binder(hReset : model.IsReset)model.IsResetexplicit
source syntax; proposition elaboration not performed['hFair']typed_binder(hFair : model.prior true = 1 / 2)model.prior true = 1 / 2explicit
source syntax; proposition elaboration not performed['hworkHeat']typed_binder(hworkHeat : model.meanHeat ≤ W)model.meanHeat ≤ Wexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]fep050_landauer_heat_boundfep_fep050.FEP050.fep050_landauer_heat_boundexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/core_thermodynamics.py
fep-051 · Likelihood-Ratio Reconstruction under Absolute Continuity · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep051.FEP051.fep051_likelihoodRatio_reconstruction
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.
Assumption review
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.
Non-vacuity
Equal finite reference/target laws supply a concrete reconstructible case with the required decomposition instance; a nonzero singular component gives the explicit failure boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep051_likelihoodRatio_reconstruction and fep051_reconstruction_iff_absoluteContinuous with the absolute-continuity premise visible.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep051.FEP051.fep051_reconstruction_iff_absoluteContinuous
Canonical body SHA-256
69d3a3b9bfe3e2a2147c8834cb9ba01a5ff0a6e134e40633e5aea3b6e84b65b7
Exact Lean statement (proof omitted)
theorem fep051_likelihoodRatio_reconstruction
     (target reference : Measure Ω)
     [target.HaveLebesgueDecomposition reference]
     (h_ac : target ≪ reference) :
-    reference.withDensity (target.rnDeriv reference) = target
Exact conclusion
reference.withDensity (target.rnDeriv reference) = target
Source statement SHA-256
f2280d1314067b91c06989d581f44a40f94fb379420e17fca181edfc2a3be27d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω : Type*} [MeasurableSpace Ω]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['target', 'reference']typed_binder(target reference : Measure Ω)Measure Ωexplicit
source syntax; proposition elaboration not performed[]instance_requirement[target.HaveLebesgueDecomposition reference]target.HaveLebesgueDecomposition referenceinstance
source syntax; proposition elaboration not performed['h_ac']typed_binder(h_ac : target ≪ reference)target ≪ referenceexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.likelihoodRatio_reconstructionFEP.MeasureBayes.likelihoodRatio_reconstructionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py
fep-052 · Posterior Density as a Likelihood Tilt · conditional_proxy
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep052.FEP052.fep052_posterior_density_tilt
Invariant
A posterior kernel is a prior measure tilted by the likelihood-to-predictive Radon–Nikodym derivative for predictive-almost-every observation.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep052_posterior_density_tilt and fep052_countable_posterior_density_tilt, preserving predictive-a.e. equality.
Supporting qualified declarations
fep_fep052.FEP052.fep052_countable_posterior_density_tilt
Boundary qualified declarations
Absent
Canonical body SHA-256
7ec23a6ec39f54a70cf17249e4c8f29a4629d4da1cd5611039c23e2b3bede48b
Exact Lean statement (proof omitted)
theorem fep052_posterior_density_tilt
+    reference.withDensity (target.rnDeriv reference) = target
Exact conclusion
reference.withDensity (target.rnDeriv reference) = target
Source statement SHA-256
f2280d1314067b91c06989d581f44a40f94fb379420e17fca181edfc2a3be27d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Ω : Type*} [MeasurableSpace Ω]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['target', 'reference']typed_binder(target reference : Measure Ω)Measure Ωexplicit
source syntax; proposition elaboration not performed[]instance_requirement[target.HaveLebesgueDecomposition reference]target.HaveLebesgueDecomposition referenceinstance
source syntax; proposition elaboration not performed['h_ac']typed_binder(h_ac : target ≪ reference)target ≪ referenceexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.likelihoodRatio_reconstructionFEP.MeasureBayes.likelihoodRatio_reconstructionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py
fep-052 · Posterior Density as a Likelihood Tilt · conditional_proxy
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep052.FEP052.fep052_posterior_density_tilt
Invariant
A posterior kernel is a prior measure tilted by the likelihood-to-predictive Radon–Nikodym derivative for predictive-almost-every observation.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep052_posterior_density_tilt and fep052_countable_posterior_density_tilt, preserving predictive-a.e. equality.
Supporting qualified declarations
fep_fep052.FEP052.fep052_countable_posterior_density_tilt
Boundary qualified declarations
Absent
Canonical body SHA-256
7ec23a6ec39f54a70cf17249e4c8f29a4629d4da1cd5611039c23e2b3bede48b
Exact Lean statement (proof omitted)
theorem fep052_posterior_density_tilt
     (prior : Measure Parameter) [IsFiniteMeasure prior]
     (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood]
     (h_ac : ∀ᵐ parameter ∂prior,
@@ -198,21 +198,21 @@
   [StandardBorelSpace Parameter] [Nonempty Parameter]
   [MeasurableSpace.CountableOrCountablyGenerated Parameter Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure Parameter)Measure Parameterexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure prior]IsFiniteMeasure priorinstance
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : Kernel Parameter Observation)Kernel Parameter Observationexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel likelihood]IsFiniteKernel likelihoodinstance
source syntax; proposition elaboration not performed['h_ac']typed_binder(h_ac : ∀ᵐ parameter ∂prior, likelihood parameter ≪ likelihood ∘ₘ prior)∀ᵐ parameter ∂prior, - likelihood parameter ≪ likelihood ∘ₘ priorexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_density_as_likelihood_tiltFEP.MeasureBayes.posterior_density_as_likelihood_tiltexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py
fep-053 · Kernel Bayesian-Inversion Reconstruction · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep053.FEP053.fep053_kernelBayes_joint_reconstruction
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep053_kernelBayes_joint_reconstruction and fep053_finiteBayes_atom_reconstruction with positive evidence explicit.
Supporting qualified declarations
fep_fep053.FEP053.fep053_finiteBayes_atom_reconstruction
Boundary qualified declarations
Absent
Canonical body SHA-256
f633c7378054747edeaadd505a506e8d333b350bf50b582ff5248802ea30472e
Exact Lean statement (proof omitted)
theorem fep053_kernelBayes_joint_reconstruction
+      likelihood parameter ≪ likelihood ∘ₘ priorexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_density_as_likelihood_tiltFEP.MeasureBayes.posterior_density_as_likelihood_tiltexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py
fep-053 · Kernel Bayesian-Inversion Reconstruction · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep053.FEP053.fep053_kernelBayes_joint_reconstruction
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep053_kernelBayes_joint_reconstruction and fep053_finiteBayes_atom_reconstruction with positive evidence explicit.
Supporting qualified declarations
fep_fep053.FEP053.fep053_finiteBayes_atom_reconstruction
Boundary qualified declarations
Absent
Canonical body SHA-256
f633c7378054747edeaadd505a506e8d333b350bf50b582ff5248802ea30472e
Exact Lean statement (proof omitted)
theorem fep053_kernelBayes_joint_reconstruction
     (prior : Measure Parameter) [IsFiniteMeasure prior]
     (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :
     (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =
       (prior ⊗ₘ likelihood).map Prod.swap
Exact conclusion
(likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =
       (prior ⊗ₘ likelihood).map Prod.swap
Source statement SHA-256
ceb431dc832f15dbe315a2b2700a5fd017624f12405e7f84c28f677150c667ac
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Parameter Observation : Type*} [MeasurableSpace Parameter] [MeasurableSpace Observation] - [StandardBorelSpace Parameter] [Nonempty Parameter]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure Parameter)Measure Parameterexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure prior]IsFiniteMeasure priorinstance
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : Kernel Parameter Observation)Kernel Parameter Observationexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel likelihood]IsFiniteKernel likelihoodinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_joint_reconstructionFEP.MeasureBayes.posterior_joint_reconstructionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py
fep-054 · Bayes Involution for Finite Joint Laws · conditional_proxy
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep054.FEP054.fep054_bayes_involution
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep054_bayes_involution and fep054_posterior_reconstructs_prior, retaining the prior-a.e. boundary.
Supporting qualified declarations
fep_fep054.FEP054.fep054_posterior_reconstructs_prior
Boundary qualified declarations
Absent
Canonical body SHA-256
09b78485b8c2de5eaf4cf8b5d36778f699043c5f60a540a948d298a2654e2272
Exact Lean statement (proof omitted)
theorem fep054_bayes_involution
+  [StandardBorelSpace Parameter] [Nonempty Parameter]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure Parameter)Measure Parameterexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure prior]IsFiniteMeasure priorinstance
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : Kernel Parameter Observation)Kernel Parameter Observationexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel likelihood]IsFiniteKernel likelihoodinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_joint_reconstructionFEP.MeasureBayes.posterior_joint_reconstructionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py
fep-054 · Bayes Involution for Finite Joint Laws · conditional_proxy
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep054.FEP054.fep054_bayes_involution
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep054_bayes_involution and fep054_posterior_reconstructs_prior, retaining the prior-a.e. boundary.
Supporting qualified declarations
fep_fep054.FEP054.fep054_posterior_reconstructs_prior
Boundary qualified declarations
Absent
Canonical body SHA-256
09b78485b8c2de5eaf4cf8b5d36778f699043c5f60a540a948d298a2654e2272
Exact Lean statement (proof omitted)
theorem fep054_bayes_involution
     (prior : Measure Parameter) [IsFiniteMeasure prior]
     (likelihood : Kernel Parameter Observation)
     [StandardBorelSpace Observation] [Nonempty Observation]
     [IsFiniteKernel likelihood] [IsMarkovKernel likelihood] :
     (likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood
Exact conclusion
(likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood
Source statement SHA-256
1e6e23b084226dac19e371e7311750e0e66475071c9b69d697f1cd9c9419d62d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Parameter Observation : Type*} [MeasurableSpace Parameter] [MeasurableSpace Observation] - [StandardBorelSpace Parameter] [Nonempty Parameter]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure Parameter)Measure Parameterexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure prior]IsFiniteMeasure priorinstance
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : Kernel Parameter Observation)Kernel Parameter Observationexplicit
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Observation]StandardBorelSpace Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Observation]Nonempty Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel likelihood]IsFiniteKernel likelihoodinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel likelihood]IsMarkovKernel likelihoodinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_involutionFEP.MeasureBayes.posterior_involutionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py
fep-055 · Composite-Kernel Bayesian Inversion · conditional_proxy
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep055.FEP055.fep055_compositeKernel_bayesInversion
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.
Assumption review
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.
Non-vacuity
Two nonidentity finite kernels produce a genuine intermediate marginal and final predictive law, while final-predictive null observations retain the expected version ambiguity.
Acceptance probe (requirement; not executed here)
native Lean compile of fep055_compositeKernel_bayesInversion and fep055_compositePredictive_associativity with the final predictive a.e. filter.
Supporting qualified declarations
fep_fep055.FEP055.fep055_compositePredictive_associativity
Boundary qualified declarations
Absent
Canonical body SHA-256
29d74f89a6fad82937063ea46c61a42ff3f2e42a62188096a57139e600c757ad
Exact Lean statement (proof omitted)
theorem fep055_compositeKernel_bayesInversion
+  [StandardBorelSpace Parameter] [Nonempty Parameter]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure Parameter)Measure Parameterexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure prior]IsFiniteMeasure priorinstance
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : Kernel Parameter Observation)Kernel Parameter Observationexplicit
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Observation]StandardBorelSpace Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Observation]Nonempty Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel likelihood]IsFiniteKernel likelihoodinstance
source syntax; proposition elaboration not performed[]instance_requirement[IsMarkovKernel likelihood]IsMarkovKernel likelihoodinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_involutionFEP.MeasureBayes.posterior_involutionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py
fep-055 · Composite-Kernel Bayesian Inversion · conditional_proxy
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep055.FEP055.fep055_compositeKernel_bayesInversion
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.
Assumption review
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.
Non-vacuity
Two nonidentity finite kernels produce a genuine intermediate marginal and final predictive law, while final-predictive null observations retain the expected version ambiguity.
Acceptance probe (requirement; not executed here)
native Lean compile of fep055_compositeKernel_bayesInversion and fep055_compositePredictive_associativity with the final predictive a.e. filter.
Supporting qualified declarations
fep_fep055.FEP055.fep055_compositePredictive_associativity
Boundary qualified declarations
Absent
Canonical body SHA-256
29d74f89a6fad82937063ea46c61a42ff3f2e42a62188096a57139e600c757ad
Exact Lean statement (proof omitted)
theorem fep055_compositeKernel_bayesInversion
     (prior : Measure Parameter) [IsFiniteMeasure prior]
     [StandardBorelSpace Parameter] [Nonempty Parameter]
     [StandardBorelSpace Intermediate] [Nonempty Intermediate]
@@ -222,11 +222,11 @@
       earlier†prior ∘ₖ later†(earlier ∘ₘ prior)
Exact conclusion
(later ∘ₖ earlier)†prior =ᵐ[later ∘ₘ earlier ∘ₘ prior]
       earlier†prior ∘ₖ later†(earlier ∘ₘ prior)
Source statement SHA-256
b72f53864a521fa1a2d74ef0671ac24aff39ccf167e5161b633d30e35122ca4b
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Parameter Intermediate Observation : Type*} [MeasurableSpace Parameter] [MeasurableSpace Intermediate] - [MeasurableSpace Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure Parameter)Measure Parameterexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure prior]IsFiniteMeasure priorinstance
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Parameter]StandardBorelSpace Parameterinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Parameter]Nonempty Parameterinstance
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Intermediate]StandardBorelSpace Intermediateinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Intermediate]Nonempty Intermediateinstance
source syntax; proposition elaboration not performed['earlier']typed_binder(earlier : Kernel Parameter Intermediate)Kernel Parameter Intermediateexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel earlier]IsFiniteKernel earlierinstance
source syntax; proposition elaboration not performed['later']typed_binder(later : Kernel Intermediate Observation)Kernel Intermediate Observationexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel later]IsFiniteKernel laterinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_compositeFEP.MeasureBayes.posterior_compositeexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py
fep-056 · Standard-Borel Conditional-Kernel Reconstruction · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep056.FEP056.fep056_standardBorel_condKernel_reconstruction
Invariant
Mathlib's canonical conditional kernel reconstructs a finite joint measure from its first marginal and is normalized at every conditioning value.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep056_standardBorel_condKernel_reconstruction and fep056_standardBorel_condKernel_mass_one on the native conditional kernel.
Supporting qualified declarations
fep_fep056.FEP056.fep056_standardBorel_condKernel_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
6a90db534b1a624825d6f7f6a259f9f11df03933576711e21387cfd6d45e32f0
Exact Lean statement (proof omitted)
theorem fep056_standardBorel_condKernel_reconstruction
+  [MeasurableSpace Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : Measure Parameter)Measure Parameterexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure prior]IsFiniteMeasure priorinstance
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Parameter]StandardBorelSpace Parameterinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Parameter]Nonempty Parameterinstance
source syntax; proposition elaboration not performed[]instance_requirement[StandardBorelSpace Intermediate]StandardBorelSpace Intermediateinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Intermediate]Nonempty Intermediateinstance
source syntax; proposition elaboration not performed['earlier']typed_binder(earlier : Kernel Parameter Intermediate)Kernel Parameter Intermediateexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel earlier]IsFiniteKernel earlierinstance
source syntax; proposition elaboration not performed['later']typed_binder(later : Kernel Intermediate Observation)Kernel Intermediate Observationexplicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteKernel later]IsFiniteKernel laterinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.posterior_compositeFEP.MeasureBayes.posterior_compositeexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py
fep-056 · Standard-Borel Conditional-Kernel Reconstruction · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep056.FEP056.fep056_standardBorel_condKernel_reconstruction
Invariant
Mathlib's canonical conditional kernel reconstructs a finite joint measure from its first marginal and is normalized at every conditioning value.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep056_standardBorel_condKernel_reconstruction and fep056_standardBorel_condKernel_mass_one on the native conditional kernel.
Supporting qualified declarations
fep_fep056.FEP056.fep056_standardBorel_condKernel_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
6a90db534b1a624825d6f7f6a259f9f11df03933576711e21387cfd6d45e32f0
Exact Lean statement (proof omitted)
theorem fep056_standardBorel_condKernel_reconstruction
     (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint] :
     joint.fst ⊗ₘ joint.condKernel = joint
Exact conclusion
joint.fst ⊗ₘ joint.condKernel = joint
Source statement SHA-256
63be4bdabdd40473e12a7157085b220dce9074ccf3793a9c57f30ada27f7df47
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Conditioning Conditioned : Type*} [MeasurableSpace Conditioning] [MeasurableSpace Conditioned] - [StandardBorelSpace Conditioned] [Nonempty Conditioned]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['joint']typed_binder(joint : Measure (Conditioning × Conditioned))Measure (Conditioning × Conditioned)explicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure joint]IsFiniteMeasure jointinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.conditionalKernel_reconstructionFEP.MeasureBayes.conditionalKernel_reconstructionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py
fep-057 · Conditional-Expectation Tower through a Kernel · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep057.FEP057.fep057_conditionalExpectation_tower
Invariant
Integrating a conditional expectation against the conditioning marginal equals the original joint expectation, with a parallel extended-nonnegative tower law.
Assumption review
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.
Non-vacuity
Dependent finite joints and nonconstant observables exercise genuine nested integration, while nonintegrable signed observables are excluded rather than assigned a spurious finite expectation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep057_conditionalExpectation_tower and fep057_conditionalLIntegral_tower with their distinct observable hypotheses.
Supporting qualified declarations
fep_fep057.FEP057.fep057_conditionalLIntegral_tower
Boundary qualified declarations
Absent
Canonical body SHA-256
ea658b3f3ffb2b3828634b9aca03f8b170f40d74faa5b4d69f021dbb67c6ac14
Exact Lean statement (proof omitted)
theorem fep057_conditionalExpectation_tower
+  [StandardBorelSpace Conditioned] [Nonempty Conditioned]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['joint']typed_binder(joint : Measure (Conditioning × Conditioned))Measure (Conditioning × Conditioned)explicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure joint]IsFiniteMeasure jointinstance
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.conditionalKernel_reconstructionFEP.MeasureBayes.conditionalKernel_reconstructionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py
fep-057 · Conditional-Expectation Tower through a Kernel · formalized
Family context (editorial)
measure-bayesian-inversion
Primary qualified witness
fep_fep057.FEP057.fep057_conditionalExpectation_tower
Invariant
Integrating a conditional expectation against the conditioning marginal equals the original joint expectation, with a parallel extended-nonnegative tower law.
Assumption review
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.
Non-vacuity
Dependent finite joints and nonconstant observables exercise genuine nested integration, while nonintegrable signed observables are excluded rather than assigned a spurious finite expectation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep057_conditionalExpectation_tower and fep057_conditionalLIntegral_tower with their distinct observable hypotheses.
Supporting qualified declarations
fep_fep057.FEP057.fep057_conditionalLIntegral_tower
Boundary qualified declarations
Absent
Canonical body SHA-256
ea658b3f3ffb2b3828634b9aca03f8b170f40d74faa5b4d69f021dbb67c6ac14
Exact Lean statement (proof omitted)
theorem fep057_conditionalExpectation_tower
     (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]
     {observable : Conditioning × Conditioned → ℝ}
     (hintegrable : Integrable observable joint) :
@@ -238,15 +238,15 @@
           ∂joint.condKernel conditioning ∂joint.fst) =
       ∫ pair, observable pair ∂joint
Source statement SHA-256
5f0c5f1f873b7101932a5c8da0ed75c954712f1db13138fea228007da961a1a4
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Conditioning Conditioned : Type*} [MeasurableSpace Conditioning] [MeasurableSpace Conditioned] - [StandardBorelSpace Conditioned] [Nonempty Conditioned]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['joint']typed_binder(joint : Measure (Conditioning × Conditioned))Measure (Conditioning × Conditioned)explicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure joint]IsFiniteMeasure jointinstance
source syntax; proposition elaboration not performed['observable']typed_binder{observable : Conditioning × Conditioned → ℝ}Conditioning × Conditioned → ℝimplicit
source syntax; proposition elaboration not performed['hintegrable']typed_binder(hintegrable : Integrable observable joint)Integrable observable jointexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.conditionalExpectation_towerFEP.MeasureBayes.conditionalExpectation_towerexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py
fep-058 · Finite Gibbs Variational Principle · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep058.FEP058.fep058_gibbsVariational_lower_bound
Invariant
Finite Gibbs free energy is bounded below by minus the certified log partition, and the explicit normalized Gibbs law attains that bound.
Assumption review
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.
Non-vacuity
On every nonempty finite carrier, the uniform zero-potential certificate is full support and attains objective value zero, demonstrating compatible normalization and logarithmic assumptions.
Acceptance probe (requirement; not executed here)
native Lean compile of fep058_gibbsVariational_lower_bound, fep058_gibbsVariational_optimizer, and fep058_uniformGibbs_nonvacuity.
Supporting qualified declarations
fep_fep058.FEP058.fep058_gibbsVariational_optimizer; fep_fep058.FEP058.fep058_uniformGibbs_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
8eec4c60aed8f6e7ae5975beeb885b24a77fc35239dfafa7842048d2ac9bed5b
Exact Lean statement (proof omitted)
theorem fep058_gibbsVariational_lower_bound
+  [StandardBorelSpace Conditioned] [Nonempty Conditioned]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['joint']typed_binder(joint : Measure (Conditioning × Conditioned))Measure (Conditioning × Conditioned)explicit
source syntax; proposition elaboration not performed[]instance_requirement[IsFiniteMeasure joint]IsFiniteMeasure jointinstance
source syntax; proposition elaboration not performed['observable']typed_binder{observable : Conditioning × Conditioned → ℝ}Conditioning × Conditioned → ℝimplicit
source syntax; proposition elaboration not performed['hintegrable']typed_binder(hintegrable : Integrable observable joint)Integrable observable jointexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.MeasureBayes.conditionalExpectation_towerFEP.MeasureBayes.conditionalExpectation_towerexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py
fep-058 · Finite Gibbs Variational Principle · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep058.FEP058.fep058_gibbsVariational_lower_bound
Invariant
Finite Gibbs free energy is bounded below by minus the certified log partition, and the explicit normalized Gibbs law attains that bound.
Assumption review
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.
Non-vacuity
On every nonempty finite carrier, the uniform zero-potential certificate is full support and attains objective value zero, demonstrating compatible normalization and logarithmic assumptions.
Acceptance probe (requirement; not executed here)
native Lean compile of fep058_gibbsVariational_lower_bound, fep058_gibbsVariational_optimizer, and fep058_uniformGibbs_nonvacuity.
Supporting qualified declarations
fep_fep058.FEP058.fep058_gibbsVariational_optimizer; fep_fep058.FEP058.fep058_uniformGibbs_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
8eec4c60aed8f6e7ae5975beeb885b24a77fc35239dfafa7842048d2ac9bed5b
Exact Lean statement (proof omitted)
theorem fep058_gibbsVariational_lower_bound
     (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :
     -certificate.logPartition ≤
       gibbsFreeEnergy certificate candidate
Exact conclusion
-certificate.logPartition ≤
-      gibbsFreeEnergy certificate candidate
Source statement SHA-256
90670984964379cd407d54b2d287518bc0b85f3dbd51cecdd097dbe36fd3fb68
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['certificate']typed_binder(certificate : GibbsCertificate State)GibbsCertificate Stateexplicit
source syntax; proposition elaboration not performed['candidate']typed_binder(candidate : FiniteLaw State)FiniteLaw Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.neg_logPartition_le_gibbsFreeEnergy']neg_logPartition_le_gibbsFreeEnergyunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/variational_duality.py
fep-059 · Finite Donsker–Varadhan Equality with a Full-Support Gibbs Optimizer · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep059.FEP059.fep059_donskerVaradhan_equality_iff
Invariant
The finite Donsker–Varadhan objective is bounded by the certified log partition, with equality exactly at the supplied full-support Gibbs optimizer.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep059_donskerVaradhan_upper_bound, fep059_donskerVaradhan_optimizer, and fep059_donskerVaradhan_equality_iff.
Supporting qualified declarations
fep_fep059.FEP059.fep059_donskerVaradhan_upper_bound; fep_fep059.FEP059.fep059_donskerVaradhan_optimizer
Boundary qualified declarations
Absent
Canonical body SHA-256
4dd690815465e76752b3b69049a44f2476844dfa5f50e8d3a91da4da9e5c2425
Exact Lean statement (proof omitted)
theorem fep059_donskerVaradhan_equality_iff
+      gibbsFreeEnergy certificate candidate
Source statement SHA-256
90670984964379cd407d54b2d287518bc0b85f3dbd51cecdd097dbe36fd3fb68
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['certificate']typed_binder(certificate : GibbsCertificate State)GibbsCertificate Stateexplicit
source syntax; proposition elaboration not performed['candidate']typed_binder(candidate : FiniteLaw State)FiniteLaw Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.neg_logPartition_le_gibbsFreeEnergy']neg_logPartition_le_gibbsFreeEnergyunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/variational_duality.py
fep-059 · Finite Donsker–Varadhan Equality with a Full-Support Gibbs Optimizer · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep059.FEP059.fep059_donskerVaradhan_equality_iff
Invariant
The finite Donsker–Varadhan objective is bounded by the certified log partition, with equality exactly at the supplied full-support Gibbs optimizer.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep059_donskerVaradhan_upper_bound, fep059_donskerVaradhan_optimizer, and fep059_donskerVaradhan_equality_iff.
Supporting qualified declarations
fep_fep059.FEP059.fep059_donskerVaradhan_upper_bound; fep_fep059.FEP059.fep059_donskerVaradhan_optimizer
Boundary qualified declarations
Absent
Canonical body SHA-256
4dd690815465e76752b3b69049a44f2476844dfa5f50e8d3a91da4da9e5c2425
Exact Lean statement (proof omitted)
theorem fep059_donskerVaradhan_equality_iff
     (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :
     dvObjective certificate candidate = certificate.logPartition ↔
       candidate = certificate.optimizer
Exact conclusion
dvObjective certificate candidate = certificate.logPartition ↔
-      candidate = certificate.optimizer
Source statement SHA-256
f16f2f8b1b067f9a47f2773f4cd0288ead8a1cf3d04ee1bd5f3a3a74a2db0ed6
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['certificate']typed_binder(certificate : GibbsCertificate State)GibbsCertificate Stateexplicit
source syntax; proposition elaboration not performed['candidate']typed_binder(candidate : FiniteLaw State)FiniteLaw Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.dvObjective_eq_logPartition_iff']dvObjective_eq_logPartition_iffunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/variational_duality.py
fep-060 · Coordinate ELBO Decomposition · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep060.FEP060.fep060_coordinateELBO_decomposition
Invariant
A finite joint ELBO separates exactly into a prior-coordinate score minus an expected conditional KL remainder, and that remainder is nonnegative.
Assumption review
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.
Non-vacuity
If actual and reference rows differ at a latent state of positive actual-prior mass, the conditional remainder is positive. Differences confined to zero-prior rows need not contribute. Matching kernels make this coordinate penalty zero while leaving the prior score visible.
Acceptance probe (requirement; not executed here)
native Lean compile of fep060_coordinateELBO_decomposition and fep060_coordinateKL_nonnegative with reference support hypotheses exposed.
Supporting qualified declarations
fep_fep060.FEP060.fep060_coordinateKL_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
62bed4fd171c81e0330258e6f5afdec7ee1420a68883c6499d6242cb8810c959
Exact Lean statement (proof omitted)
theorem fep060_coordinateELBO_decomposition
+      candidate = certificate.optimizer
Source statement SHA-256
f16f2f8b1b067f9a47f2773f4cd0288ead8a1cf3d04ee1bd5f3a3a74a2db0ed6
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['certificate']typed_binder(certificate : GibbsCertificate State)GibbsCertificate Stateexplicit
source syntax; proposition elaboration not performed['candidate']typed_binder(candidate : FiniteLaw State)FiniteLaw Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.dvObjective_eq_logPartition_iff']dvObjective_eq_logPartition_iffunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/variational_duality.py
fep-060 · Coordinate ELBO Decomposition · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep060.FEP060.fep060_coordinateELBO_decomposition
Invariant
A finite joint ELBO separates exactly into a prior-coordinate score minus an expected conditional KL remainder, and that remainder is nonnegative.
Assumption review
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.
Non-vacuity
If actual and reference rows differ at a latent state of positive actual-prior mass, the conditional remainder is positive. Differences confined to zero-prior rows need not contribute. Matching kernels make this coordinate penalty zero while leaving the prior score visible.
Acceptance probe (requirement; not executed here)
native Lean compile of fep060_coordinateELBO_decomposition and fep060_coordinateKL_nonnegative with reference support hypotheses exposed.
Supporting qualified declarations
fep_fep060.FEP060.fep060_coordinateKL_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
62bed4fd171c81e0330258e6f5afdec7ee1420a68883c6499d6242cb8810c959
Exact Lean statement (proof omitted)
theorem fep060_coordinateELBO_decomposition
     (actualPrior referencePrior : FiniteLaw Latent)
     (actualKernel referenceKernel : FiniteKernel Latent Observation)
     (hprior : ∀ latent, 0 < referencePrior latent)
@@ -259,13 +259,13 @@
         conditionalKL actualPrior actualKernel referenceKernel
Source statement SHA-256
78da89f659fc9a59050c042b31a9887180d1a95315984d3ecc38a1b1b32cc37b
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Latent Observation : Type*} [Fintype Latent] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['actualPrior', 'referencePrior']typed_binder(actualPrior referencePrior : FiniteLaw Latent)FiniteLaw Latentexplicit
source syntax; proposition elaboration not performed['actualKernel', 'referenceKernel']typed_binder(actualKernel referenceKernel : FiniteKernel Latent Observation)FiniteKernel Latent Observationexplicit
source syntax; proposition elaboration not performed['hprior']typed_binder(hprior : ∀ latent, 0 < referencePrior latent)∀ latent, 0 < referencePrior latentexplicit
source syntax; proposition elaboration not performed['hkernel']typed_binder(hkernel : ∀ latent observation, 0 < referenceKernel latent observation)∀ latent observation, - 0 < referenceKernel latent observationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.jointELBO_coordinate_decomposition']jointELBO_coordinate_decompositionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/variational_duality.py
fep-061 · Mean-Field Coordinate Free-Energy Optimum · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep061.FEP061.fep061_meanFieldCoordinate_optimum_iff
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep061_meanFieldCoordinate_reduction and fep061_meanFieldCoordinate_optimum_iff with both support premises.
Supporting qualified declarations
fep_fep061.FEP061.fep061_meanFieldCoordinate_reduction
Boundary qualified declarations
Absent
Canonical body SHA-256
b404e1c8150d1419091e69edbc9d836c5354964015dc918650cf78a2535bfb94
Exact Lean statement (proof omitted)
theorem fep061_meanFieldCoordinate_optimum_iff
+      0 < referenceKernel latent observationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.jointELBO_coordinate_decomposition']jointELBO_coordinate_decompositionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/variational_duality.py
fep-061 · Mean-Field Coordinate Free-Energy Optimum · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep061.FEP061.fep061_meanFieldCoordinate_optimum_iff
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep061_meanFieldCoordinate_reduction and fep061_meanFieldCoordinate_optimum_iff with both support premises.
Supporting qualified declarations
fep_fep061.FEP061.fep061_meanFieldCoordinate_reduction
Boundary qualified declarations
Absent
Canonical body SHA-256
b404e1c8150d1419091e69edbc9d836c5354964015dc918650cf78a2535bfb94
Exact Lean statement (proof omitted)
theorem fep061_meanFieldCoordinate_optimum_iff
     (fixed : FiniteLaw Fixed) (candidate target : FiniteLaw Coordinate)
     (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :
     meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔
       candidate = target
Exact conclusion
meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔
       candidate = target
Source statement SHA-256
1253260e7cd3c458aa7ffe535d5b10af48afe3f9fbf7ca6578ad118a9a97a1eb
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Fixed Coordinate : Type*} - [Fintype Fixed] [Fintype Coordinate]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['fixed']typed_binder(fixed : FiniteLaw Fixed)FiniteLaw Fixedexplicit
source syntax; proposition elaboration not performed['candidate', 'target']typed_binder(candidate target : FiniteLaw Coordinate)FiniteLaw Coordinateexplicit
source syntax; proposition elaboration not performed['hfixed']typed_binder(hfixed : ∀ x, 0 < fixed x)∀ x, 0 < fixed xexplicit
source syntax; proposition elaboration not performed['htarget']typed_binder(htarget : ∀ y, 0 < target y)∀ y, 0 < target yexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.meanFieldCoordinate_optimum_iff']meanFieldCoordinate_optimum_iffunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/variational_duality.py
fep-062 · Fixed-Sample Importance-Weighted Jensen Bound · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep062.FEP062.fep062_iidProduct_importanceJensen
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.
Assumption review
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.
Non-vacuity
A sampling law assigning positive probability to two different weight values gives a genuinely random sample mean. Nonconstant weights off the sampling support do not. A one-sample law recovers finite weighted Jensen.
Acceptance probe (requirement; not executed here)
native Lean compile of fep062_iidProduct_importanceJensen, fep062_fixedSample_importanceJensen, and fep062_expectedImportanceWeight_positive for positive weights.
Supporting qualified declarations
fep_fep062.FEP062.fep062_fixedSample_importanceJensen; fep_fep062.FEP062.fep062_expectedImportanceWeight_positive
Boundary qualified declarations
Absent
Canonical body SHA-256
242ece14b9c6bdc6b4b49e7287261ce2c2979baeb55d33eaef3c96df1e32df20
Exact Lean statement (proof omitted)
theorem fep062_iidProduct_importanceJensen
+  [Fintype Fixed] [Fintype Coordinate]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['fixed']typed_binder(fixed : FiniteLaw Fixed)FiniteLaw Fixedexplicit
source syntax; proposition elaboration not performed['candidate', 'target']typed_binder(candidate target : FiniteLaw Coordinate)FiniteLaw Coordinateexplicit
source syntax; proposition elaboration not performed['hfixed']typed_binder(hfixed : ∀ x, 0 < fixed x)∀ x, 0 < fixed xexplicit
source syntax; proposition elaboration not performed['htarget']typed_binder(htarget : ∀ y, 0 < target y)∀ y, 0 < target yexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.meanFieldCoordinate_optimum_iff']meanFieldCoordinate_optimum_iffunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/variational_duality.py
fep-062 · Fixed-Sample Importance-Weighted Jensen Bound · formalized
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep062.FEP062.fep062_iidProduct_importanceJensen
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.
Assumption review
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.
Non-vacuity
A sampling law assigning positive probability to two different weight values gives a genuinely random sample mean. Nonconstant weights off the sampling support do not. A one-sample law recovers finite weighted Jensen.
Acceptance probe (requirement; not executed here)
native Lean compile of fep062_iidProduct_importanceJensen, fep062_fixedSample_importanceJensen, and fep062_expectedImportanceWeight_positive for positive weights.
Supporting qualified declarations
fep_fep062.FEP062.fep062_fixedSample_importanceJensen; fep_fep062.FEP062.fep062_expectedImportanceWeight_positive
Boundary qualified declarations
Absent
Canonical body SHA-256
242ece14b9c6bdc6b4b49e7287261ce2c2979baeb55d33eaef3c96df1e32df20
Exact Lean statement (proof omitted)
theorem fep062_iidProduct_importanceJensen
     (base : FiniteLaw Sample) (sampleCount : ℕ) [NeZero sampleCount]
     (weight : Sample → ℝ) (hweight : ∀ sample, 0 < weight sample) :
     ∑ sampleTuple, iidProductLaw base sampleCount sampleTuple *
@@ -274,22 +274,22 @@
         sampleMeanWeight sampleCount weight sampleTuple)
Exact conclusion
∑ sampleTuple, iidProductLaw base sampleCount sampleTuple *
         Real.log (sampleMeanWeight sampleCount weight sampleTuple) ≤
       Real.log (∑ sampleTuple, iidProductLaw base sampleCount sampleTuple *
-        sampleMeanWeight sampleCount weight sampleTuple)
Source statement SHA-256
d074283706e0cc8cbade659fed8eac94e7c6aa11beb83c134b4ec38df23cdb9b
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Sample : Type*} [Fintype Sample]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['base']typed_binder(base : FiniteLaw Sample)FiniteLaw Sampleexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed[]instance_requirement[NeZero sampleCount]NeZero sampleCountinstance
source syntax; proposition elaboration not performed['weight']typed_binder(weight : Sample → ℝ)Sample → ℝexplicit
source syntax; proposition elaboration not performed['hweight']typed_binder(hweight : ∀ sample, 0 < weight sample)∀ sample, 0 < weight sampleexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.fixedSampleImportanceJensen']fixedSampleImportanceJensenunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/variational_duality.py
fep-063 · Finite-Channel KL Data-Processing Inequality · conditional_proxy
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing_of_relativeSupport
Invariant
Passing finite actual and reference laws through the same finite channel cannot increase finite KL when every atom carrying nonzero actual mass has strictly positive reference mass. Shared-zero atoms and zero channel entries are permitted.
Assumption review
The selected primary exposes relative input support explicitly; it does not assume strict positivity of either full input law or all channel entries. Local discrete measurable instances bridge the existing finite-law theorem. This is the project's totalized real finiteKL convention under relative support, not a theorem identifying a singular native extended KL with a finite real value. The retained former primary still provides its exact full-support specialization and unchanged API.
Non-vacuity
Unequal full-support laws exercise the positive-support specialization. A point mass compared with a diagonal reference law has genuine shared-zero atoms and passes a deterministic projection through the relative-support theorem. Identity preserves finite KL and complete coarsening contracts it. Disjoint point masses violate the support premise: their totalized finiteKL is one while native extended KL is infinite.
Acceptance probe (requirement; not executed here)
Strict native Lean compile of the selected relative-support wrapper and retained old primary, plus imported full-support, sparse/shared-zero, deterministic projection, identity and singular support/native-infinity controls. Require exact standard-only axiom reports and preserve the existing coarsening boundary. Compilation does not itself promote semantic disposition. The strict imported-consumer command, from lean/, is `lake env lean -DwarningAsError=true ../specs/comprehensive-next-steps/spikes/primary-alignment-20261022/Consumers.lean`. After official generator synchronization, first require a successful current-source `lake build --wfail FepSketches` from lean/ with pinned Lean 4.35; the imported consumer must not use stale prior-build objects. Its 13 exact axiom queries comprise the selected canonical wrapper and 12 consumer statements, not 13 independent compiler experiments. The unchanged former primary and catalog boundaries also require the actual native catalogue/API and declaration-audit gates.
Supporting qualified declarations
fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing; fep_fep063.FEP063.fep063_referencePredictive_fullSupport; fep_fep063.FEP063.fep063_identityChannel_preservesKL
Boundary qualified declarations
fep_fep063.FEP063.fep063_constantChannel_strict
Canonical body SHA-256
2360d671345a61fc4b2ec9745a48ed67c6b0367dd4e9407e3b16d3501b18123c
Exact Lean statement (proof omitted)
theorem fep063_finiteChannel_klDataProcessing_of_relativeSupport
+        sampleMeanWeight sampleCount weight sampleTuple)
Source statement SHA-256
d074283706e0cc8cbade659fed8eac94e7c6aa11beb83c134b4ec38df23cdb9b
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Sample : Type*} [Fintype Sample]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['base']typed_binder(base : FiniteLaw Sample)FiniteLaw Sampleexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed[]instance_requirement[NeZero sampleCount]NeZero sampleCountinstance
source syntax; proposition elaboration not performed['weight']typed_binder(weight : Sample → ℝ)Sample → ℝexplicit
source syntax; proposition elaboration not performed['hweight']typed_binder(hweight : ∀ sample, 0 < weight sample)∀ sample, 0 < weight sampleexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.fixedSampleImportanceJensen']fixedSampleImportanceJensenunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/variational_duality.py
fep-063 · Finite-Channel KL Data-Processing Inequality · conditional_proxy
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing_of_relativeSupport
Invariant
Passing finite actual and reference laws through the same finite channel cannot increase finite KL when every atom carrying nonzero actual mass has strictly positive reference mass. Shared-zero atoms and zero channel entries are permitted.
Assumption review
The selected primary exposes relative input support explicitly; it does not assume strict positivity of either full input law or all channel entries. Local discrete measurable instances bridge the existing finite-law theorem. This is the project's totalized real finiteKL convention under relative support, not a theorem identifying a singular native extended KL with a finite real value. The retained former primary still provides its exact full-support specialization and unchanged API.
Non-vacuity
Unequal full-support laws exercise the positive-support specialization. A point mass compared with a diagonal reference law has genuine shared-zero atoms and passes a deterministic projection through the relative-support theorem. Identity preserves finite KL and complete coarsening contracts it. Disjoint point masses violate the support premise: their totalized finiteKL is one while native extended KL is infinite.
Acceptance probe (requirement; not executed here)
Strict native Lean compile of the selected relative-support wrapper and retained old primary, plus imported full-support, sparse/shared-zero, deterministic projection, identity and singular support/native-infinity controls. Require exact standard-only axiom reports and preserve the existing coarsening boundary. Compilation does not itself promote semantic disposition. The strict imported-consumer command, from lean/, is `lake env lean -DwarningAsError=true ../specs/comprehensive-next-steps/spikes/primary-alignment-20261022/Consumers.lean`. After official generator synchronization, first require a successful current-source `lake build --wfail FepSketches` from lean/ with pinned Lean 4.35; the imported consumer must not use stale prior-build objects. Its 13 exact axiom queries comprise the selected canonical wrapper and 12 consumer statements, not 13 independent compiler experiments. The unchanged former primary and catalog boundaries also require the actual native catalogue/API and declaration-audit gates.
Supporting qualified declarations
fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing; fep_fep063.FEP063.fep063_referencePredictive_fullSupport; fep_fep063.FEP063.fep063_identityChannel_preservesKL
Boundary qualified declarations
fep_fep063.FEP063.fep063_constantChannel_strict
Canonical body SHA-256
2360d671345a61fc4b2ec9745a48ed67c6b0367dd4e9407e3b16d3501b18123c
Exact Lean statement (proof omitted)
theorem fep063_finiteChannel_klDataProcessing_of_relativeSupport
     {Input Output : Type*} [Fintype Input] [Fintype Output]
     (actual reference : FiniteLaw Input) (channel : FiniteKernel Input Output)
     (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :
     finiteKL (channel.predictive actual) (channel.predictive reference) ≤
       finiteKL actual reference
Exact conclusion
finiteKL (channel.predictive actual) (channel.predictive reference) ≤
       finiteKL actual reference
Source statement SHA-256
6ef1088f19fa411c2aec429fce6fdd24f82daa35fe88d2658259818e16e68eb7
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Input Output : Type*} - [Fintype Input] [Fintype Output] [Nonempty Input]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['Input', 'Output']typed_binder{Input Output : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Input]Fintype Inputinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Output]Fintype Outputinstance
source syntax; proposition elaboration not performed['actual', 'reference']typed_binder(actual reference : FiniteLaw Input)FiniteLaw Inputexplicit
source syntax; proposition elaboration not performed['channel']typed_binder(channel : FiniteKernel Input Output)FiniteKernel Input Outputexplicit
source syntax; proposition elaboration not performed['hsupport']typed_binder(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)∀ x, actual x ≠ 0 → 0 < reference xexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupportFEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupportexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/variational_duality.py
fep-064 · Rate–Distortion Lagrangian Weak Duality · structural_proxy
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep064.FEP064.fep064_rateDistortion_dual_lower_bound
Invariant
The actual finite rate-distortion Lagrangian-infimum dual value is at most the mutual information of every joint law with the required source marginal and distortion budget, for nonnegative distortion and multiplier. The former component-bound Lagrangian inequality remains an unchanged supporting API.
Assumption review
The selected primary assumes an actual feasible finite joint and nonnegative distortion and multiplier; it does not assume separately certified component lower bounds. The underlying infimum is genuinely derived. Retained support separately provides primal minimizer attainment by compactness. The reviewed finite F07 capability proves primal minimum equals nonnegative-multiplier dual supremum for every feasible finite problem, and finite dual attainment with complementary slackness under strict Slater feasibility. Those scoped capabilities do not turn this primary weak bound into unrestricted general strong duality, finite boundary dual attainment, or optimizer uniqueness. The structural-proxy disposition remains unchanged pending explicit review.
Non-vacuity
A feasible fair Boolean quarter-budget joint has positive mutual information and exercises the weak bound at a positive multiplier; this does not assert that the chosen multiplier maximizes the dual. Zero multiplier is a separate boundary with zero dual value on a nonempty code alphabet. Negative budgets are infeasible for nonnegative distortion; zero budget forces a unique Boolean diagonal joint while half budget has distinct information minimizers.
Acceptance probe (requirement; not executed here)
Strict native Lean compile of the existing actual-infimum weak-dual primary, former component-bound primary and retained minimizer/informative-interior support, plus positive-multiplier, zero-dual, negative-budget, nonunique-half and unique-zero controls. Preserve the separate finite F07 all-feasible dual-supremum and Slater-attainment scope and zero-source-atom controls. Exact declaration ownership and standard-only axiom reports are required. The same strict imported-consumer command from lean/ is `lake env lean -DwarningAsError=true ../specs/comprehensive-next-steps/spikes/primary-alignment-20261022/Consumers.lean`. After official generator synchronization, first require a successful current-source `lake build --wfail FepSketches` from lean/ with pinned Lean 4.35; the imported consumer must not use stale prior-build objects. Its 13 queries cover the canonical 063 wrapper and 12 shared consumer statements, including the actual 064 weak bound and multiplier controls. Retained old-primary and additional 064 boundaries remain subject to the actual native catalogue/API and declaration-audit gates separately.
Supporting qualified declarations
fep_fep064.FEP064.fep064_rateDistortion_exists_minimizer; fep_fep064.FEP064.fep064_rateDistortion_weakDuality; fep_fep064.FEP064.fep064_quarterBudget_informative_optimum
Boundary qualified declarations
fep_fep064.FEP064.fep064_zeroMultiplier_boundary; fep_fep064.FEP064.fep064_dual_zeroMultiplier; fep_fep064.FEP064.fep064_negativeBudget_infeasible; fep_fep064.FEP064.fep064_halfBudget_nonunique; fep_fep064.FEP064.fep064_zeroBudget_unique
Canonical body SHA-256
1b7e1cdb1008511f4a8f33cb10e9b6f47f68de2c43640307cde988d44fdcf83d
Exact Lean statement (proof omitted)
theorem fep064_rateDistortion_dual_lower_bound
+  [Fintype Input] [Fintype Output] [Nonempty Input]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['Input', 'Output']typed_binder{Input Output : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Input]Fintype Inputinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Output]Fintype Outputinstance
source syntax; proposition elaboration not performed['actual', 'reference']typed_binder(actual reference : FiniteLaw Input)FiniteLaw Inputexplicit
source syntax; proposition elaboration not performed['channel']typed_binder(channel : FiniteKernel Input Output)FiniteKernel Input Outputexplicit
source syntax; proposition elaboration not performed['hsupport']typed_binder(hsupport : ∀ x, actual x ≠ 0 → 0 < reference x)∀ x, actual x ≠ 0 → 0 < reference xexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupportFEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupportexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/variational_duality.py
fep-064 · Rate–Distortion Lagrangian Weak Duality · structural_proxy
Family context (editorial)
variational-duality-and-information-bounds
Primary qualified witness
fep_fep064.FEP064.fep064_rateDistortion_dual_lower_bound
Invariant
The actual finite rate-distortion Lagrangian-infimum dual value is at most the mutual information of every joint law with the required source marginal and distortion budget, for nonnegative distortion and multiplier. The former component-bound Lagrangian inequality remains an unchanged supporting API.
Assumption review
The selected primary assumes an actual feasible finite joint and nonnegative distortion and multiplier; it does not assume separately certified component lower bounds. The underlying infimum is genuinely derived. Retained support separately provides primal minimizer attainment by compactness. The reviewed finite F07 capability proves primal minimum equals nonnegative-multiplier dual supremum for every feasible finite problem, and finite dual attainment with complementary slackness under strict Slater feasibility. Those scoped capabilities do not turn this primary weak bound into unrestricted general strong duality, finite boundary dual attainment, or optimizer uniqueness. The structural-proxy disposition remains unchanged pending explicit review.
Non-vacuity
A feasible fair Boolean quarter-budget joint has positive mutual information and exercises the weak bound at a positive multiplier; this does not assert that the chosen multiplier maximizes the dual. Zero multiplier is a separate boundary with zero dual value on a nonempty code alphabet. Negative budgets are infeasible for nonnegative distortion; zero budget forces a unique Boolean diagonal joint while half budget has distinct information minimizers.
Acceptance probe (requirement; not executed here)
Strict native Lean compile of the existing actual-infimum weak-dual primary, former component-bound primary and retained minimizer/informative-interior support, plus positive-multiplier, zero-dual, negative-budget, nonunique-half and unique-zero controls. Preserve the separate finite F07 all-feasible dual-supremum and Slater-attainment scope and zero-source-atom controls. Exact declaration ownership and standard-only axiom reports are required. The same strict imported-consumer command from lean/ is `lake env lean -DwarningAsError=true ../specs/comprehensive-next-steps/spikes/primary-alignment-20261022/Consumers.lean`. After official generator synchronization, first require a successful current-source `lake build --wfail FepSketches` from lean/ with pinned Lean 4.35; the imported consumer must not use stale prior-build objects. Its 13 queries cover the canonical 063 wrapper and 12 shared consumer statements, including the actual 064 weak bound and multiplier controls. Retained old-primary and additional 064 boundaries remain subject to the actual native catalogue/API and declaration-audit gates separately.
Supporting qualified declarations
fep_fep064.FEP064.fep064_rateDistortion_exists_minimizer; fep_fep064.FEP064.fep064_rateDistortion_weakDuality; fep_fep064.FEP064.fep064_quarterBudget_informative_optimum
Boundary qualified declarations
fep_fep064.FEP064.fep064_zeroMultiplier_boundary; fep_fep064.FEP064.fep064_dual_zeroMultiplier; fep_fep064.FEP064.fep064_negativeBudget_infeasible; fep_fep064.FEP064.fep064_halfBudget_nonunique; fep_fep064.FEP064.fep064_zeroBudget_unique
Canonical body SHA-256
1b7e1cdb1008511f4a8f33cb10e9b6f47f68de2c43640307cde988d44fdcf83d
Exact Lean statement (proof omitted)
theorem fep064_rateDistortion_dual_lower_bound
     (source : FiniteLaw Source) (distortion : Source → Code → ℝ)
     (budget multiplier : ℝ) (hdistortion : ∀ x y, 0 ≤ distortion x y)
     (hmultiplier : 0 ≤ multiplier) (joint : FiniteLaw (Source × Code))
     (hjoint : RateDistortionFeasible source distortion budget joint) :
-    rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint
Exact conclusion
rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint
Source statement SHA-256
a3d4f2de684d742f91d76fd8ae37e2f2d4254ffa9bbc5a07569182128bb8cf63
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Source Code : Type*} [Fintype Source] [Fintype Code]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['source']typed_binder(source : FiniteLaw Source)FiniteLaw Sourceexplicit
source syntax; proposition elaboration not performed['distortion']typed_binder(distortion : Source → Code → ℝ)Source → Code → ℝexplicit
source syntax; proposition elaboration not performed['budget', 'multiplier']typed_binder(budget multiplier : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hdistortion']typed_binder(hdistortion : ∀ x y, 0 ≤ distortion x y)∀ x y, 0 ≤ distortion x yexplicit
source syntax; proposition elaboration not performed['hmultiplier']typed_binder(hmultiplier : 0 ≤ multiplier)0 ≤ multiplierexplicit
source syntax; proposition elaboration not performed['joint']typed_binder(joint : FiniteLaw (Source × Code))FiniteLaw (Source × Code)explicit
source syntax; proposition elaboration not performed['hjoint']typed_binder(hjoint : RateDistortionFeasible source distortion budget joint)RateDistortionFeasible source distortion budget jointexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.rateDistortionDual_le_feasible_information']rateDistortionDual_le_feasible_informationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/variational_duality.py
fep-065 · Controlled-Kernel Normalization · formalized
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep065.FEP065.fep065_controlledKernel_normalization
Invariant
Every action and source state in a finite controlled kernel selects a normalized next-state law.
Assumption review
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.
Non-vacuity
Multiple actions may select distinct nondegenerate transition rows while each retains unit mass, so the action index is not definitionally irrelevant.
Acceptance probe (requirement; not executed here)
native Lean compile of fep065_controlledKernel_normalization for arbitrary finite action-conditioned transition rows.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
14d986ce3fc6f5ac7219381aa2af50c714055771b586081679ed0d3f33b8592d
Exact Lean statement (proof omitted)
theorem fep065_controlledKernel_normalization
+    rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint
Exact conclusion
rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint
Source statement SHA-256
a3d4f2de684d742f91d76fd8ae37e2f2d4254ffa9bbc5a07569182128bb8cf63
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Source Code : Type*} [Fintype Source] [Fintype Code]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['source']typed_binder(source : FiniteLaw Source)FiniteLaw Sourceexplicit
source syntax; proposition elaboration not performed['distortion']typed_binder(distortion : Source → Code → ℝ)Source → Code → ℝexplicit
source syntax; proposition elaboration not performed['budget', 'multiplier']typed_binder(budget multiplier : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hdistortion']typed_binder(hdistortion : ∀ x y, 0 ≤ distortion x y)∀ x y, 0 ≤ distortion x yexplicit
source syntax; proposition elaboration not performed['hmultiplier']typed_binder(hmultiplier : 0 ≤ multiplier)0 ≤ multiplierexplicit
source syntax; proposition elaboration not performed['joint']typed_binder(joint : FiniteLaw (Source × Code))FiniteLaw (Source × Code)explicit
source syntax; proposition elaboration not performed['hjoint']typed_binder(hjoint : RateDistortionFeasible source distortion budget joint)RateDistortionFeasible source distortion budget jointexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.VariationalDuality.rateDistortionDual_le_feasible_information']rateDistortionDual_le_feasible_informationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/variational_duality.py
fep-065 · Controlled-Kernel Normalization · formalized
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep065.FEP065.fep065_controlledKernel_normalization
Invariant
Every action and source state in a finite controlled kernel selects a normalized next-state law.
Assumption review
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.
Non-vacuity
Multiple actions may select distinct nondegenerate transition rows while each retains unit mass, so the action index is not definitionally irrelevant.
Acceptance probe (requirement; not executed here)
native Lean compile of fep065_controlledKernel_normalization for arbitrary finite action-conditioned transition rows.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
14d986ce3fc6f5ac7219381aa2af50c714055771b586081679ed0d3f33b8592d
Exact Lean statement (proof omitted)
theorem fep065_controlledKernel_normalization
     (transition : ControlledKernel State Action)
     (action : Action) (state : State) :
-    ∑ nextState, transition action state nextState = 1
Exact conclusion
∑ nextState, transition action state nextState = 1
Source statement SHA-256
a53b95fd123d60bb187fbd0162698f723a360b9b84ede8c4c225fc03b672f223
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State Action : Type*} [Fintype State] [Fintype Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['transition']typed_binder(transition : ControlledKernel State Action)ControlledKernel State Actionexplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.controlledKernel_sum_one']controlledKernel_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/controlled_markov.py
fep-066 · Action-Conditioned Bayesian Belief Update · formalized
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep066.FEP066.fep066_actionConditioned_bayes_reconstruction
Invariant
A positive-evidence action-conditioned prediction and observation update is normalized and reconstructs its predicted state-observation joint mass.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep066_actionConditioned_bayes_reconstruction, fep066_actionConditioned_update_normalized, and fep066_zero_evidence_boundary.
Supporting qualified declarations
fep_fep066.FEP066.fep066_actionConditioned_update_normalized
Boundary qualified declarations
fep_fep066.FEP066.fep066_zero_evidence_boundary
Canonical body SHA-256
6963cc0827cb5b98ecd36458ecf2c9dd023f27ef037b4bf3586da8ec16df2c3c
Exact Lean statement (proof omitted)
theorem fep066_actionConditioned_bayes_reconstruction
+    ∑ nextState, transition action state nextState = 1
Exact conclusion
∑ nextState, transition action state nextState = 1
Source statement SHA-256
a53b95fd123d60bb187fbd0162698f723a360b9b84ede8c4c225fc03b672f223
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State Action : Type*} [Fintype State] [Fintype Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['transition']typed_binder(transition : ControlledKernel State Action)ControlledKernel State Actionexplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.controlledKernel_sum_one']controlledKernel_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/controlled_markov.py
fep-066 · Action-Conditioned Bayesian Belief Update · formalized
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep066.FEP066.fep066_actionConditioned_bayes_reconstruction
Invariant
A positive-evidence action-conditioned prediction and observation update is normalized and reconstructs its predicted state-observation joint mass.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep066_actionConditioned_bayes_reconstruction, fep066_actionConditioned_update_normalized, and fep066_zero_evidence_boundary.
Supporting qualified declarations
fep_fep066.FEP066.fep066_actionConditioned_update_normalized
Boundary qualified declarations
fep_fep066.FEP066.fep066_zero_evidence_boundary
Canonical body SHA-256
6963cc0827cb5b98ecd36458ecf2c9dd023f27ef037b4bf3586da8ec16df2c3c
Exact Lean statement (proof omitted)
theorem fep066_actionConditioned_bayes_reconstruction
     (prior : FiniteLaw State) (transition : ControlledKernel State Action)
     (emission : FiniteKernel State Observation) (action : Action)
     (observation : Observation)
@@ -300,7 +300,7 @@
       actionPrediction prior transition action state * emission state observation
Exact conclusion
actionBeliefUpdate prior transition emission action observation hEvidence state *
         actionEvidence prior transition emission action observation =
       actionPrediction prior transition action state * emission state observation
Source statement SHA-256
2b4f767e4fd0fcd97bd9f996a1799b57900086f3439568e46f6f568b5d9a5da6
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State Action Observation : Type*} - [Fintype State] [Fintype Action] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['transition']typed_binder(transition : ControlledKernel State Action)ControlledKernel State Actionexplicit
source syntax; proposition elaboration not performed['emission']typed_binder(emission : FiniteKernel State Observation)FiniteKernel State Observationexplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
source syntax; proposition elaboration not performed['hEvidence']typed_binder(hEvidence : 0 < actionEvidence prior transition emission action observation)0 < actionEvidence prior transition emission action observationexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.actionBeliefUpdate_reconstruction']actionBeliefUpdate_reconstructionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/controlled_markov.py
fep-067 · Reachable Finite-Belief POMDP Reduction · structural_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep067.FEP067.fep067_reachableBelief_policyValue_equivalence
Invariant
Expanding a finite reachable-belief index into its interpreted finite law preserves every fixed finite-horizon feedback-policy value.
Assumption review
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.
Non-vacuity
The concrete Boolean reachable model proves an exact positive-evidence Bayes update between two belief indexes, and arbitrary horizons exercise recursive policy-value preservation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep067_reachableBelief_policyValue_equivalence and fep067_bool_reachable_update on the finite indexed belief carrier.
Supporting qualified declarations
fep_fep067.FEP067.fep067_bool_reachable_update
Boundary qualified declarations
Absent
Canonical body SHA-256
059e5e3a9af34633c57895921125bfc5592c408b8919571094af5ab528972134
Exact Lean statement (proof omitted)
theorem fep067_reachableBelief_policyValue_equivalence
+  [Fintype State] [Fintype Action] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['transition']typed_binder(transition : ControlledKernel State Action)ControlledKernel State Actionexplicit
source syntax; proposition elaboration not performed['emission']typed_binder(emission : FiniteKernel State Observation)FiniteKernel State Observationexplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
source syntax; proposition elaboration not performed['hEvidence']typed_binder(hEvidence : 0 < actionEvidence prior transition emission action observation)0 < actionEvidence prior transition emission action observationexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.actionBeliefUpdate_reconstruction']actionBeliefUpdate_reconstructionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/controlled_markov.py
fep-067 · Reachable Finite-Belief POMDP Reduction · structural_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep067.FEP067.fep067_reachableBelief_policyValue_equivalence
Invariant
Expanding a finite reachable-belief index into its interpreted finite law preserves every fixed finite-horizon feedback-policy value.
Assumption review
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.
Non-vacuity
The concrete Boolean reachable model proves an exact positive-evidence Bayes update between two belief indexes, and arbitrary horizons exercise recursive policy-value preservation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep067_reachableBelief_policyValue_equivalence and fep067_bool_reachable_update on the finite indexed belief carrier.
Supporting qualified declarations
fep_fep067.FEP067.fep067_bool_reachable_update
Boundary qualified declarations
Absent
Canonical body SHA-256
059e5e3a9af34633c57895921125bfc5592c408b8919571094af5ab528972134
Exact Lean statement (proof omitted)
theorem fep067_reachableBelief_policyValue_equivalence
     (model : ReachableBeliefPOMDP Belief State Action Observation)
     (stateCost : State → Action → ℝ) (policy : ℕ → Belief → Action)
     (horizon : ℕ) (belief : Belief) :
@@ -308,7 +308,7 @@
       interpretedPolicyValue model stateCost policy horizon belief
Exact conclusion
reducedPolicyValue model stateCost policy horizon belief =
       interpretedPolicyValue model stateCost policy horizon belief
Source statement SHA-256
1aef3337b8edd0d3b642a358876b7a55b0521aec70311676207c1db6ed116919
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Belief State Action Observation : Type*} [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation] - [DecidableEq Belief]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ReachableBeliefPOMDP Belief State Action Observation)ReachableBeliefPOMDP Belief State Action Observationexplicit
source syntax; proposition elaboration not performed['stateCost']typed_binder(stateCost : State → Action → ℝ)State → Action → ℝexplicit
source syntax; proposition elaboration not performed['policy']typed_binder(policy : ℕ → Belief → Action)ℕ → Belief → Actionexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.reachableBelief_policyValue_eq']reachableBelief_policyValue_equnresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/controlled_markov.py
fep-068 · Soft Bellman Recursion · formalized
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep068.FEP068.fep068_softBellman_recursion
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep068_softBellman_recursion with a nonempty action carrier and positive temperature, including its positive-partition, successor-recursion, and actionwise hard/soft conclusions.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
5e755435f08a876255f0e565319964db1f23bdb42fef8d59844845f73ca9e1a7
Exact Lean statement (proof omitted)
theorem fep068_softBellman_recursion (temperature : ℝ)
+  [DecidableEq Belief]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ReachableBeliefPOMDP Belief State Action Observation)ReachableBeliefPOMDP Belief State Action Observationexplicit
source syntax; proposition elaboration not performed['stateCost']typed_binder(stateCost : State → Action → ℝ)State → Action → ℝexplicit
source syntax; proposition elaboration not performed['policy']typed_binder(policy : ℕ → Belief → Action)ℕ → Belief → Actionexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.reachableBelief_policyValue_eq']reachableBelief_policyValue_equnresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/controlled_markov.py
fep-068 · Soft Bellman Recursion · formalized
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep068.FEP068.fep068_softBellman_recursion
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep068_softBellman_recursion with a nonempty action carrier and positive temperature, including its positive-partition, successor-recursion, and actionwise hard/soft conclusions.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
5e755435f08a876255f0e565319964db1f23bdb42fef8d59844845f73ca9e1a7
Exact Lean statement (proof omitted)
theorem fep068_softBellman_recursion (temperature : ℝ)
     (hTemperature : 0 < temperature) (stageCost : State → Action → ℝ)
     (transition : ControlledKernel State Action)
     (horizon : ℕ) (state : State) :
@@ -335,20 +335,20 @@
       softBellmanValue temperature stageCost transition (horizon + 1) state ≤
         softBellmanActionEnergy temperature stageCost transition
           horizon state action
Source statement SHA-256
44a13873120679abcae0379c77e5738abe833724965e1c5550e81741754f9a87
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State Action : Type*} - [Fintype State] [Fintype Action] [Nonempty Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['temperature']typed_binder(temperature : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hTemperature']typed_binder(hTemperature : 0 < temperature)0 < temperatureexplicit
source syntax; proposition elaboration not performed['stageCost']typed_binder(stageCost : State → Action → ℝ)State → Action → ℝexplicit
source syntax; proposition elaboration not performed['transition']typed_binder(transition : ControlledKernel State Action)ControlledKernel State Actionexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.softBellmanValue_le_actionEnergy']softBellmanValue_le_actionEnergyunresolvedunresolved lexical scopeproof_reference
['FEP.ControlledMarkov.softBellmanValue_partition_pos']softBellmanValue_partition_posunresolvedunresolved lexical scopeproof_reference
['FEP.ControlledMarkov.softBellmanValue_succ']softBellmanValue_succunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/controlled_markov.py
fep-069 · KL-Control Desirability Recursion · structural_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep069.FEP069.fep069_desirability_recursion
Invariant
One finite desirability backup is an exponential state-cost tilt of a passive transition prediction and preserves nonnegativity.
Assumption review
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.
Non-vacuity
Nonzero costs and nonconstant nonnegative desirability produce a nontrivial tilted prediction, while zero cost and unit desirability form an exact normalized fixed point.
Acceptance probe (requirement; not executed here)
native Lean compile of fep069_desirability_recursion, fep069_desirability_nonnegative, and fep069_zeroCost_unitDesirability.
Supporting qualified declarations
fep_fep069.FEP069.fep069_desirability_nonnegative
Boundary qualified declarations
fep_fep069.FEP069.fep069_zeroCost_unitDesirability
Canonical body SHA-256
9e2d36fb9f76dc8a232f6ad651fff63ff2358930d56f6ad5d200e133d2157d85
Exact Lean statement (proof omitted)
theorem fep069_desirability_recursion
+  [Fintype State] [Fintype Action] [Nonempty Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['temperature']typed_binder(temperature : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hTemperature']typed_binder(hTemperature : 0 < temperature)0 < temperatureexplicit
source syntax; proposition elaboration not performed['stageCost']typed_binder(stageCost : State → Action → ℝ)State → Action → ℝexplicit
source syntax; proposition elaboration not performed['transition']typed_binder(transition : ControlledKernel State Action)ControlledKernel State Actionexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.softBellmanValue_le_actionEnergy']softBellmanValue_le_actionEnergyunresolvedunresolved lexical scopeproof_reference
['FEP.ControlledMarkov.softBellmanValue_partition_pos']softBellmanValue_partition_posunresolvedunresolved lexical scopeproof_reference
['FEP.ControlledMarkov.softBellmanValue_succ']softBellmanValue_succunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/controlled_markov.py
fep-069 · KL-Control Desirability Recursion · structural_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep069.FEP069.fep069_desirability_recursion
Invariant
One finite desirability backup is an exponential state-cost tilt of a passive transition prediction and preserves nonnegativity.
Assumption review
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.
Non-vacuity
Nonzero costs and nonconstant nonnegative desirability produce a nontrivial tilted prediction, while zero cost and unit desirability form an exact normalized fixed point.
Acceptance probe (requirement; not executed here)
native Lean compile of fep069_desirability_recursion, fep069_desirability_nonnegative, and fep069_zeroCost_unitDesirability.
Supporting qualified declarations
fep_fep069.FEP069.fep069_desirability_nonnegative
Boundary qualified declarations
fep_fep069.FEP069.fep069_zeroCost_unitDesirability
Canonical body SHA-256
9e2d36fb9f76dc8a232f6ad651fff63ff2358930d56f6ad5d200e133d2157d85
Exact Lean statement (proof omitted)
theorem fep069_desirability_recursion
     (passive : FiniteKernel State State) (stateCost desirability : State → ℝ)
     (state : State) :
     desirabilityStep passive stateCost desirability state =
       Real.exp (-stateCost state) *
         ∑ nextState, passive state nextState * desirability nextState
Exact conclusion
desirabilityStep passive stateCost desirability state =
       Real.exp (-stateCost state) *
-        ∑ nextState, passive state nextState * desirability nextState
Source statement SHA-256
92234e1f5be335aecf271887af24bcb24350674955a3bd5a62964221d6e5b07a
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['passive']typed_binder(passive : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['stateCost', 'desirability']typed_binder(stateCost desirability : State → ℝ)State → ℝexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/controlled_markov.py
fep-070 · Control-as-Inference Policy Posterior · structural_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep070.FEP070.fep070_controlPosterior_reconstruction
Invariant
A prior-weighted exponential action score normalizes to a control posterior whose mass reconstructs the unnormalized score.
Assumption review
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.
Non-vacuity
For nonzero precision and two positive-prior actions with distinct costs, their posterior odds differ from prior odds. Zero precision or constant supported costs preserves the prior; zero cost does so for every precision.
Acceptance probe (requirement; not executed here)
native Lean compile of fep070_controlPosterior_normalized, fep070_controlPosterior_reconstruction, and fep070_zeroCost_posterior_eq_prior.
Supporting qualified declarations
fep_fep070.FEP070.fep070_controlPosterior_normalized
Boundary qualified declarations
fep_fep070.FEP070.fep070_zeroCost_posterior_eq_prior
Canonical body SHA-256
41817001ec4cc01413cb840d65dfad778e4b98e4b767ebf0806715c36b4e06d0
Exact Lean statement (proof omitted)
theorem fep070_controlPosterior_reconstruction (prior : FiniteLaw Action)
+        ∑ nextState, passive state nextState * desirability nextState
Source statement SHA-256
92234e1f5be335aecf271887af24bcb24350674955a3bd5a62964221d6e5b07a
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['passive']typed_binder(passive : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['stateCost', 'desirability']typed_binder(stateCost desirability : State → ℝ)State → ℝexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/controlled_markov.py
fep-070 · Control-as-Inference Policy Posterior · structural_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep070.FEP070.fep070_controlPosterior_reconstruction
Invariant
A prior-weighted exponential action score normalizes to a control posterior whose mass reconstructs the unnormalized score.
Assumption review
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.
Non-vacuity
For nonzero precision and two positive-prior actions with distinct costs, their posterior odds differ from prior odds. Zero precision or constant supported costs preserves the prior; zero cost does so for every precision.
Acceptance probe (requirement; not executed here)
native Lean compile of fep070_controlPosterior_normalized, fep070_controlPosterior_reconstruction, and fep070_zeroCost_posterior_eq_prior.
Supporting qualified declarations
fep_fep070.FEP070.fep070_controlPosterior_normalized
Boundary qualified declarations
fep_fep070.FEP070.fep070_zeroCost_posterior_eq_prior
Canonical body SHA-256
41817001ec4cc01413cb840d65dfad778e4b98e4b767ebf0806715c36b4e06d0
Exact Lean statement (proof omitted)
theorem fep070_controlPosterior_reconstruction (prior : FiniteLaw Action)
     (precision : ℝ) (cost : Action → ℝ) (action : Action) :
     controlPosterior prior precision cost action *
         boltzmannPartition prior (fun candidate => precision * cost candidate) =
       boltzmannWeight prior (fun candidate => precision * cost candidate) action
Exact conclusion
controlPosterior prior precision cost action *
         boltzmannPartition prior (fun candidate => precision * cost candidate) =
-      boltzmannWeight prior (fun candidate => precision * cost candidate) action
Source statement SHA-256
121dad9850d786dca80496f4fd410e07b1d23e5b2842942c5ea972bebbb536e9
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Action : Type*} [Fintype Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Action)FiniteLaw Actionexplicit
source syntax; proposition elaboration not performed['precision']typed_binder(precision : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['cost']typed_binder(cost : Action → ℝ)Action → ℝexplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.boltzmannPosterior_mul_partition']boltzmannPosterior_mul_partitionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/controlled_markov.py
fep-071 · Sophisticated Expected-Free-Energy Backward Induction · conditional_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep071.FEP071.fep071_sophisticatedEFE_backward_step
Invariant
Finite sophisticated expected-free-energy recursion reoptimizes after each observation-dependent update, and a two-stage witness separates feedback from every fixed open-loop second action. Separately, under the explicit BayesianBeliefModel filter-soundness and full-support premises, the generative-model specialization agrees with the reachable-belief POMDP optimum; this stronger statement does not make the generic primary Bayesian.
Assumption review
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. SophisticatedEFEModel supplies a real stage objective and an observation-indexed update. This generic recursion does not certify Bayes correctness or derive the stage objective from mutual information. Reviewed 2026-10-23 in docs/relations-endpoint-adjudication.md (FORM-S11): FEP.PerceptionActionLoop.bayesSophisticatedValue_eq_pomdpOptimum and bayesRiskAmbiguity_eq_sophisticated provide the separate Bayesian specialization on a finite filter-closed indexed belief family with positive-evidence update soundness, nonempty actions, and full support at every indexed belief. boolBayes_rederives_feedbackWitness re-derives the ordinary Boolean mismatch-cost tree through the filter; it is not a full-support EFE witness. boolKeepPrior_not_bayesian and boolKeepPrior_agreement_fails expose the observation-ignoring update boundary. No null-observation Bayes identity, full-simplex enumeration, continuous-state or infinite-horizon result is claimed.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep071_sophisticatedEFE_backward_step, fep071_twoStage_feedback_changes_action, and fep071_twoStage_feedback_strictly_better.
Supporting qualified declarations
fep_fep071.FEP071.fep071_twoStage_feedback_changes_action; fep_fep071.FEP071.fep071_twoStage_feedback_strictly_better
Boundary qualified declarations
Absent
Canonical body SHA-256
d2eee21437db05e9a1591954a29e0788c29689c4199ac6b00443e6a062ecf224
Exact Lean statement (proof omitted)
theorem fep071_sophisticatedEFE_backward_step
+      boltzmannWeight prior (fun candidate => precision * cost candidate) action
Source statement SHA-256
121dad9850d786dca80496f4fd410e07b1d23e5b2842942c5ea972bebbb536e9
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Action : Type*} [Fintype Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Action)FiniteLaw Actionexplicit
source syntax; proposition elaboration not performed['precision']typed_binder(precision : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['cost']typed_binder(cost : Action → ℝ)Action → ℝexplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.boltzmannPosterior_mul_partition']boltzmannPosterior_mul_partitionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/controlled_markov.py
fep-071 · Sophisticated Expected-Free-Energy Backward Induction · conditional_proxy
Family context (editorial)
control-and-planning-as-inference
Primary qualified witness
fep_fep071.FEP071.fep071_sophisticatedEFE_backward_step
Invariant
Finite sophisticated expected-free-energy recursion reoptimizes after each observation-dependent update, and a two-stage witness separates feedback from every fixed open-loop second action. Separately, under the explicit BayesianBeliefModel filter-soundness and full-support premises, the generative-model specialization agrees with the reachable-belief POMDP optimum; this stronger statement does not make the generic primary Bayesian.
Assumption review
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. SophisticatedEFEModel supplies a real stage objective and an observation-indexed update. This generic recursion does not certify Bayes correctness or derive the stage objective from mutual information. Reviewed 2026-10-23 in docs/relations-endpoint-adjudication.md (FORM-S11): FEP.PerceptionActionLoop.bayesSophisticatedValue_eq_pomdpOptimum and bayesRiskAmbiguity_eq_sophisticated provide the separate Bayesian specialization on a finite filter-closed indexed belief family with positive-evidence update soundness, nonempty actions, and full support at every indexed belief. boolBayes_rederives_feedbackWitness re-derives the ordinary Boolean mismatch-cost tree through the filter; it is not a full-support EFE witness. boolKeepPrior_not_bayesian and boolKeepPrior_agreement_fails expose the observation-ignoring update boundary. No null-observation Bayes identity, full-simplex enumeration, continuous-state or infinite-horizon result is claimed.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep071_sophisticatedEFE_backward_step, fep071_twoStage_feedback_changes_action, and fep071_twoStage_feedback_strictly_better.
Supporting qualified declarations
fep_fep071.FEP071.fep071_twoStage_feedback_changes_action; fep_fep071.FEP071.fep071_twoStage_feedback_strictly_better
Boundary qualified declarations
Absent
Canonical body SHA-256
d2eee21437db05e9a1591954a29e0788c29689c4199ac6b00443e6a062ecf224
Exact Lean statement (proof omitted)
theorem fep071_sophisticatedEFE_backward_step
     (model : SophisticatedEFEModel Belief Action Observation)
     (horizon : ℕ) (belief : Belief) :
     sophisticatedEFEValue model (horizon + 1) belief =
@@ -366,7 +366,7 @@
             sophisticatedEFEValue model horizon
               (model.update belief (sophisticatedEFEAction model horizon belief)
                 observation)
Source statement SHA-256
e080f58291f7e403fc4e8032cc6c92d748955736bcdd6dda891041216a6a30cd
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Belief Action Observation : Type*} - [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : SophisticatedEFEModel Belief Action Observation)SophisticatedEFEModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.sophisticatedEFEValue_succ']sophisticatedEFEValue_succunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/controlled_markov.py
fep-072 · Hidden-Markov Forward Filtering Recursion · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep072.FEP072.fep072_forward_filtering_recursion
Invariant
One positive-evidence finite hidden-Markov filtering step reconstructs its predicted state-observation joint, with an exact asymmetric Boolean posterior witness.
Assumption review
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.
Non-vacuity
The asymmetric Boolean HMM assigns true posterior mass 20/23, while the zero-evidence theorem explicitly excludes an undefined normalization.
Acceptance probe (requirement; not executed here)
native Lean compile of fep072_forward_filtering_recursion, fep072_bool_forward_mass, and fep072_zero_evidence_boundary.
Supporting qualified declarations
fep_fep072.FEP072.fep072_bool_forward_mass
Boundary qualified declarations
fep_fep072.FEP072.fep072_zero_evidence_boundary
Canonical body SHA-256
9dc171b1f1ed3c5706b012a61677bbe893200065b8c8453e0e7cae6fc2567473
Exact Lean statement (proof omitted)
theorem fep072_forward_filtering_recursion (prior : FiniteLaw State)
+  [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : SophisticatedEFEModel Belief Action Observation)SophisticatedEFEModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['horizon']typed_binder(horizon : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.ControlledMarkov.sophisticatedEFEValue_succ']sophisticatedEFEValue_succunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/controlled_markov.py
fep-072 · Hidden-Markov Forward Filtering Recursion · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep072.FEP072.fep072_forward_filtering_recursion
Invariant
One positive-evidence finite hidden-Markov filtering step reconstructs its predicted state-observation joint, with an exact asymmetric Boolean posterior witness.
Assumption review
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.
Non-vacuity
The asymmetric Boolean HMM assigns true posterior mass 20/23, while the zero-evidence theorem explicitly excludes an undefined normalization.
Acceptance probe (requirement; not executed here)
native Lean compile of fep072_forward_filtering_recursion, fep072_bool_forward_mass, and fep072_zero_evidence_boundary.
Supporting qualified declarations
fep_fep072.FEP072.fep072_bool_forward_mass
Boundary qualified declarations
fep_fep072.FEP072.fep072_zero_evidence_boundary
Canonical body SHA-256
9dc171b1f1ed3c5706b012a61677bbe893200065b8c8453e0e7cae6fc2567473
Exact Lean statement (proof omitted)
theorem fep072_forward_filtering_recursion (prior : FiniteLaw State)
     (transition : FiniteKernel State State)
     (emission : FiniteKernel State Observation) (observation : Observation)
     (hEvidence : 0 < forwardEvidence prior transition emission observation)
@@ -376,7 +376,7 @@
       forwardPrediction prior transition state * emission state observation
Exact conclusion
forwardFilter prior transition emission observation hEvidence state *
         forwardEvidence prior transition emission observation =
       forwardPrediction prior transition state * emission state observation
Source statement SHA-256
03e4766ce38807cdef8ff2bf7559da71e2c407c9a40e34cb585e9d4d3d8b656f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State Observation : Type*} - [Fintype State] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['transition']typed_binder(transition : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['emission']typed_binder(emission : FiniteKernel State Observation)FiniteKernel State Observationexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
source syntax; proposition elaboration not performed['hEvidence']typed_binder(hEvidence : 0 < forwardEvidence prior transition emission observation)0 < forwardEvidence prior transition emission observationexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.forwardFilter_reconstruction']forwardFilter_reconstructionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/temporal_inference.py
fep-073 · Backward Information-Message Recursion · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep073.FEP073.fep073_backward_message_recursion
Invariant
Finite backward information messages obey the exact future-observation recursion and preserve nonnegativity from one message to the preceding one.
Assumption review
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.
Non-vacuity
An identity transition with differing likelihoods of the observed symbol gives a state-dependent backward message. Identical transition rows may erase that dependence even when emission rows differ.
Acceptance probe (requirement; not executed here)
native Lean compile of fep073_backward_message_recursion and fep073_backward_message_nonnegative for arbitrary finite future lists.
Supporting qualified declarations
fep_fep073.FEP073.fep073_backward_message_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
c3bf75f1cc45c498a2e8a4241338b7db349745abdaca37872795980e8113ff1a
Exact Lean statement (proof omitted)
theorem fep073_backward_message_recursion
+  [Fintype State] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['transition']typed_binder(transition : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['emission']typed_binder(emission : FiniteKernel State Observation)FiniteKernel State Observationexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
source syntax; proposition elaboration not performed['hEvidence']typed_binder(hEvidence : 0 < forwardEvidence prior transition emission observation)0 < forwardEvidence prior transition emission observationexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.forwardFilter_reconstruction']forwardFilter_reconstructionunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/temporal_inference.py
fep-073 · Backward Information-Message Recursion · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep073.FEP073.fep073_backward_message_recursion
Invariant
Finite backward information messages obey the exact future-observation recursion and preserve nonnegativity from one message to the preceding one.
Assumption review
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.
Non-vacuity
An identity transition with differing likelihoods of the observed symbol gives a state-dependent backward message. Identical transition rows may erase that dependence even when emission rows differ.
Acceptance probe (requirement; not executed here)
native Lean compile of fep073_backward_message_recursion and fep073_backward_message_nonnegative for arbitrary finite future lists.
Supporting qualified declarations
fep_fep073.FEP073.fep073_backward_message_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
c3bf75f1cc45c498a2e8a4241338b7db349745abdaca37872795980e8113ff1a
Exact Lean statement (proof omitted)
theorem fep073_backward_message_recursion
     (transition : FiniteKernel State State)
     (emission : FiniteKernel State Observation) (observation : Observation)
     (future : List Observation) (state : State) :
@@ -385,7 +385,7 @@
         (backwardMessage transition emission future) state
Exact conclusion
backwardMessage transition emission (observation :: future) state =
       backwardMessageStep transition emission observation
         (backwardMessage transition emission future) state
Source statement SHA-256
bc80c3dabf2a7b422de746e07218bbbab213225b939507b382d9a3c5d5ce04b9
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State Observation : Type*} - [Fintype State] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['transition']typed_binder(transition : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['emission']typed_binder(emission : FiniteKernel State Observation)FiniteKernel State Observationexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
source syntax; proposition elaboration not performed['future']typed_binder(future : List Observation)List Observationexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.backwardMessage_cons']backwardMessage_consunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/temporal_inference.py
fep-074 · Forward–Backward Smoothing Factorization · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep074.FEP074.fep074_forwardBackward_smoothing_factorization
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.
Assumption review
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.
Non-vacuity
Backward weights differing at two positive-forward-mass states reweight their odds; differences confined to zero-forward-mass states do not affect the normalized law.
Acceptance probe (requirement; not executed here)
native Lean compile of fep074_forwardBackward_smoothing_factorization and fep074_forward_backward_evidence_agreement.
Supporting qualified declarations
fep_fep074.FEP074.fep074_forward_backward_evidence_agreement
Boundary qualified declarations
Absent
Canonical body SHA-256
a041a9b16c71a9f2137a19010cd342ffc1dc6c95f24897d72a3e391ca6602c6c
Exact Lean statement (proof omitted)
theorem fep074_forwardBackward_smoothing_factorization
+  [Fintype State] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['transition']typed_binder(transition : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['emission']typed_binder(emission : FiniteKernel State Observation)FiniteKernel State Observationexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
source syntax; proposition elaboration not performed['future']typed_binder(future : List Observation)List Observationexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.backwardMessage_cons']backwardMessage_consunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/temporal_inference.py
fep-074 · Forward–Backward Smoothing Factorization · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep074.FEP074.fep074_forwardBackward_smoothing_factorization
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.
Assumption review
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.
Non-vacuity
Backward weights differing at two positive-forward-mass states reweight their odds; differences confined to zero-forward-mass states do not affect the normalized law.
Acceptance probe (requirement; not executed here)
native Lean compile of fep074_forwardBackward_smoothing_factorization and fep074_forward_backward_evidence_agreement.
Supporting qualified declarations
fep_fep074.FEP074.fep074_forward_backward_evidence_agreement
Boundary qualified declarations
Absent
Canonical body SHA-256
a041a9b16c71a9f2137a19010cd342ffc1dc6c95f24897d72a3e391ca6602c6c
Exact Lean statement (proof omitted)
theorem fep074_forwardBackward_smoothing_factorization
     (filtered : FiniteLaw State) (backward : State → ℝ)
     (hBackward : ∀ state, 0 ≤ backward state)
     (hNormalizer : 0 < smoothingNormalizer filtered backward) (state : State) :
@@ -393,31 +393,31 @@
         smoothingNormalizer filtered backward =
       filtered state * backward state
Exact conclusion
forwardBackwardSmoothing filtered backward hBackward hNormalizer state *
         smoothingNormalizer filtered backward =
-      filtered state * backward state
Source statement SHA-256
dba4ebde6156a7fdcff1dffa41dc012226e88b9211edf6f2169db9f50febd640
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['filtered']typed_binder(filtered : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['backward']typed_binder(backward : State → ℝ)State → ℝexplicit
source syntax; proposition elaboration not performed['hBackward']typed_binder(hBackward : ∀ state, 0 ≤ backward state)∀ state, 0 ≤ backward stateexplicit
source syntax; proposition elaboration not performed['hNormalizer']typed_binder(hNormalizer : 0 < smoothingNormalizer filtered backward)0 < smoothingNormalizer filtered backwardexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.forwardBackwardSmoothing_factorization']forwardBackwardSmoothing_factorizationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/temporal_inference.py
fep-075 · Smoothing-Marginal Normalization · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep075.FEP075.fep075_smoothing_marginal_normalization
Invariant
A nonnegative forward–backward product with positive normalizer defines a normalized finite smoothing marginal.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep075_smoothing_marginal_normalization, fep075_bool_smoothing_normalization, and fep075_zero_normalizer_boundary.
Supporting qualified declarations
fep_fep075.FEP075.fep075_bool_smoothing_normalization
Boundary qualified declarations
fep_fep075.FEP075.fep075_zero_normalizer_boundary
Canonical body SHA-256
1318c59e3a8433e3191d772f43ccaea2b4ccef34b346825838736fb2de316b39
Exact Lean statement (proof omitted)
theorem fep075_smoothing_marginal_normalization
+      filtered state * backward state
Source statement SHA-256
dba4ebde6156a7fdcff1dffa41dc012226e88b9211edf6f2169db9f50febd640
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['filtered']typed_binder(filtered : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['backward']typed_binder(backward : State → ℝ)State → ℝexplicit
source syntax; proposition elaboration not performed['hBackward']typed_binder(hBackward : ∀ state, 0 ≤ backward state)∀ state, 0 ≤ backward stateexplicit
source syntax; proposition elaboration not performed['hNormalizer']typed_binder(hNormalizer : 0 < smoothingNormalizer filtered backward)0 < smoothingNormalizer filtered backwardexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.forwardBackwardSmoothing_factorization']forwardBackwardSmoothing_factorizationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/temporal_inference.py
fep-075 · Smoothing-Marginal Normalization · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep075.FEP075.fep075_smoothing_marginal_normalization
Invariant
A nonnegative forward–backward product with positive normalizer defines a normalized finite smoothing marginal.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep075_smoothing_marginal_normalization, fep075_bool_smoothing_normalization, and fep075_zero_normalizer_boundary.
Supporting qualified declarations
fep_fep075.FEP075.fep075_bool_smoothing_normalization
Boundary qualified declarations
fep_fep075.FEP075.fep075_zero_normalizer_boundary
Canonical body SHA-256
1318c59e3a8433e3191d772f43ccaea2b4ccef34b346825838736fb2de316b39
Exact Lean statement (proof omitted)
theorem fep075_smoothing_marginal_normalization
     (filtered : FiniteLaw State) (backward : State → ℝ)
     (hBackward : ∀ state, 0 ≤ backward state)
     (hNormalizer : 0 < smoothingNormalizer filtered backward) :
     ∑ state, forwardBackwardSmoothing filtered backward hBackward hNormalizer state =
       1
Exact conclusion
∑ state, forwardBackwardSmoothing filtered backward hBackward hNormalizer state =
-      1
Source statement SHA-256
9109242bf170373a368e03b08d2abf96007cf64be958e63ed41943ddbac114a0
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['filtered']typed_binder(filtered : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['backward']typed_binder(backward : State → ℝ)State → ℝexplicit
source syntax; proposition elaboration not performed['hBackward']typed_binder(hBackward : ∀ state, 0 ≤ backward state)∀ state, 0 ≤ backward stateexplicit
source syntax; proposition elaboration not performed['hNormalizer']typed_binder(hNormalizer : 0 < smoothingNormalizer filtered backward)0 < smoothingNormalizer filtered backwardexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.forwardBackwardSmoothing_sum_one']forwardBackwardSmoothing_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/temporal_inference.py
fep-076 · One-Step Normalized Variational State Update · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep076.FEP076.fep076_variational_state_update_normalized
Invariant
A finite prior-weighted exponential energy tilt is normalized and reconstructs its unnormalized weight, with zero energy acting as the identity update.
Assumption review
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.
Non-vacuity
Energy values differing on two positive-prior-mass states change their odds. Energies constant on prior support, including nonzero constants, leave the prior unchanged.
Acceptance probe (requirement; not executed here)
native Lean compile of fep076_variational_state_update_normalized, fep076_variational_state_update_reconstruction, and fep076_zeroEnergy_update_eq_prior.
Supporting qualified declarations
fep_fep076.FEP076.fep076_variational_state_update_reconstruction
Boundary qualified declarations
fep_fep076.FEP076.fep076_zeroEnergy_update_eq_prior
Canonical body SHA-256
4aadcb088846b867ff9b70fcc3bd1680516fc773fec2bb5b99c97a326fbe9b2a
Exact Lean statement (proof omitted)
theorem fep076_variational_state_update_normalized
+      1
Source statement SHA-256
9109242bf170373a368e03b08d2abf96007cf64be958e63ed41943ddbac114a0
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['filtered']typed_binder(filtered : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['backward']typed_binder(backward : State → ℝ)State → ℝexplicit
source syntax; proposition elaboration not performed['hBackward']typed_binder(hBackward : ∀ state, 0 ≤ backward state)∀ state, 0 ≤ backward stateexplicit
source syntax; proposition elaboration not performed['hNormalizer']typed_binder(hNormalizer : 0 < smoothingNormalizer filtered backward)0 < smoothingNormalizer filtered backwardexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.forwardBackwardSmoothing_sum_one']forwardBackwardSmoothing_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/temporal_inference.py
fep-076 · One-Step Normalized Variational State Update · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep076.FEP076.fep076_variational_state_update_normalized
Invariant
A finite prior-weighted exponential energy tilt is normalized and reconstructs its unnormalized weight, with zero energy acting as the identity update.
Assumption review
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.
Non-vacuity
Energy values differing on two positive-prior-mass states change their odds. Energies constant on prior support, including nonzero constants, leave the prior unchanged.
Acceptance probe (requirement; not executed here)
native Lean compile of fep076_variational_state_update_normalized, fep076_variational_state_update_reconstruction, and fep076_zeroEnergy_update_eq_prior.
Supporting qualified declarations
fep_fep076.FEP076.fep076_variational_state_update_reconstruction
Boundary qualified declarations
fep_fep076.FEP076.fep076_zeroEnergy_update_eq_prior
Canonical body SHA-256
4aadcb088846b867ff9b70fcc3bd1680516fc773fec2bb5b99c97a326fbe9b2a
Exact Lean statement (proof omitted)
theorem fep076_variational_state_update_normalized
     (prior : FiniteLaw State) (energy : State → ℝ) :
-    ∑ state, variationalStateUpdate prior energy state = 1
Exact conclusion
∑ state, variationalStateUpdate prior energy state = 1
Source statement SHA-256
0127795b7196ffc1398cd27a2072f17e5eaa185867208f0a668494bf9d287593
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['energy']typed_binder(energy : State → ℝ)State → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.variationalStateUpdate_sum_one']variationalStateUpdate_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/temporal_inference.py
fep-077 · Two-Level Hierarchical Predictive Factorization · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep077.FEP077.fep077_hierarchical_predictive_factorization
Invariant
Two-level finite hierarchical prediction is exactly prediction through the chronological composition of its two normalized kernels.
Assumption review
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.
Non-vacuity
Nonidentity upper and lower kernels with a nondegenerate top law produce a predictive mixture that genuinely sums over the intermediate level.
Acceptance probe (requirement; not executed here)
native Lean compile of fep077_hierarchical_predictive_factorization against FiniteKernel.comp and predictive normalization.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
4d0f361ba64f7afa8a55e5be20f398cffc8ee3706b4720fa8211da231b5a9743
Exact Lean statement (proof omitted)
theorem fep077_hierarchical_predictive_factorization
+    ∑ state, variationalStateUpdate prior energy state = 1
Exact conclusion
∑ state, variationalStateUpdate prior energy state = 1
Source statement SHA-256
0127795b7196ffc1398cd27a2072f17e5eaa185867208f0a668494bf9d287593
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['energy']typed_binder(energy : State → ℝ)State → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.variationalStateUpdate_sum_one']variationalStateUpdate_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/temporal_inference.py
fep-077 · Two-Level Hierarchical Predictive Factorization · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep077.FEP077.fep077_hierarchical_predictive_factorization
Invariant
Two-level finite hierarchical prediction is exactly prediction through the chronological composition of its two normalized kernels.
Assumption review
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.
Non-vacuity
Nonidentity upper and lower kernels with a nondegenerate top law produce a predictive mixture that genuinely sums over the intermediate level.
Acceptance probe (requirement; not executed here)
native Lean compile of fep077_hierarchical_predictive_factorization against FiniteKernel.comp and predictive normalization.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
4d0f361ba64f7afa8a55e5be20f398cffc8ee3706b4720fa8211da231b5a9743
Exact Lean statement (proof omitted)
theorem fep077_hierarchical_predictive_factorization
     (top : FiniteLaw Upper) (upperKernel : FiniteKernel Upper Middle)
     (lowerKernel : FiniteKernel Middle Observation) :
     hierarchicalPredictive top upperKernel lowerKernel =
       (FiniteKernel.comp lowerKernel upperKernel).predictive top
Exact conclusion
hierarchicalPredictive top upperKernel lowerKernel =
       (FiniteKernel.comp lowerKernel upperKernel).predictive top
Source statement SHA-256
5dabdb1a38fec9299f193a4e1c7f856b6bf16f3931ef9761708ca099fc23c858
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Upper Middle Observation : Type*} - [Fintype Upper] [Fintype Middle] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['top']typed_binder(top : FiniteLaw Upper)FiniteLaw Upperexplicit
source syntax; proposition elaboration not performed['upperKernel']typed_binder(upperKernel : FiniteKernel Upper Middle)FiniteKernel Upper Middleexplicit
source syntax; proposition elaboration not performed['lowerKernel']typed_binder(lowerKernel : FiniteKernel Middle Observation)FiniteKernel Middle Observationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.hierarchicalPredictive_eq']hierarchicalPredictive_equnresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/temporal_inference.py
fep-078 · Bayesian Model-Averaging Predictive Law · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep078.FEP078.fep078_modelAverage_predictive_law
Invariant
Bayesian model averaging is the prior-weighted finite mixture of model predictive laws and remains normalized.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep078_modelAverage_predictive_law, fep078_modelAverage_normalized, and fep078_bool_modelAverage_true_mass.
Supporting qualified declarations
fep_fep078.FEP078.fep078_modelAverage_normalized; fep_fep078.FEP078.fep078_bool_modelAverage_true_mass
Boundary qualified declarations
Absent
Canonical body SHA-256
84c4d2c9cecdfdf8554a18137bd3e74ad9ef0322ad8cf049c4f28edbd62a7bc5
Exact Lean statement (proof omitted)
theorem fep078_modelAverage_predictive_law (modelPrior : FiniteLaw Model)
+  [Fintype Upper] [Fintype Middle] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['top']typed_binder(top : FiniteLaw Upper)FiniteLaw Upperexplicit
source syntax; proposition elaboration not performed['upperKernel']typed_binder(upperKernel : FiniteKernel Upper Middle)FiniteKernel Upper Middleexplicit
source syntax; proposition elaboration not performed['lowerKernel']typed_binder(lowerKernel : FiniteKernel Middle Observation)FiniteKernel Middle Observationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.hierarchicalPredictive_eq']hierarchicalPredictive_equnresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/temporal_inference.py
fep-078 · Bayesian Model-Averaging Predictive Law · formalized
Family context (editorial)
temporal-and-hierarchical-inference
Primary qualified witness
fep_fep078.FEP078.fep078_modelAverage_predictive_law
Invariant
Bayesian model averaging is the prior-weighted finite mixture of model predictive laws and remains normalized.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep078_modelAverage_predictive_law, fep078_modelAverage_normalized, and fep078_bool_modelAverage_true_mass.
Supporting qualified declarations
fep_fep078.FEP078.fep078_modelAverage_normalized; fep_fep078.FEP078.fep078_bool_modelAverage_true_mass
Boundary qualified declarations
Absent
Canonical body SHA-256
84c4d2c9cecdfdf8554a18137bd3e74ad9ef0322ad8cf049c4f28edbd62a7bc5
Exact Lean statement (proof omitted)
theorem fep078_modelAverage_predictive_law (modelPrior : FiniteLaw Model)
     (modelPredictive : FiniteKernel Model Observation)
     (observation : Observation) :
     modelAverage modelPrior modelPredictive observation =
       ∑ model, modelPrior model * modelPredictive model observation
Exact conclusion
modelAverage modelPrior modelPredictive observation =
-      ∑ model, modelPrior model * modelPredictive model observation
Source statement SHA-256
058f3d1bd35626341aec6edeaa890c2a421000745116097e446aebd8bb8ad8b8
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Model Observation : Type*} [Fintype Model] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['modelPrior']typed_binder(modelPrior : FiniteLaw Model)FiniteLaw Modelexplicit
source syntax; proposition elaboration not performed['modelPredictive']typed_binder(modelPredictive : FiniteKernel Model Observation)FiniteKernel Model Observationexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.modelAverage_mass']modelAverage_massunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/temporal_inference.py
fep-079 · Blanket Factorization and Conditional-Mutual-Information Equivalence · conditional_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep079.FEP079.fep079_blanketFactorization_iff_conditionalMutualInformation_zero
Invariant
On a finite conditional-blanket carrier with full blanket support, vanishing conditional mutual information is equivalent to pointwise internal–external factorization.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep079_blanketFactorization_iff_conditionalMutualInformation_zero and fep079_staticBlanket_conditionalMutualInformation_zero.
Supporting qualified declarations
fep_fep079.FEP079.fep079_staticBlanket_conditionalMutualInformation_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
d4cab6ebf78ca38987b75bad41a00a20d4ce8a5f5e201dd056bc24957b0dbbbc
Exact Lean statement (proof omitted)
theorem fep079_blanketFactorization_iff_conditionalMutualInformation_zero
+      ∑ model, modelPrior model * modelPredictive model observation
Source statement SHA-256
058f3d1bd35626341aec6edeaa890c2a421000745116097e446aebd8bb8ad8b8
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Model Observation : Type*} [Fintype Model] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['modelPrior']typed_binder(modelPrior : FiniteLaw Model)FiniteLaw Modelexplicit
source syntax; proposition elaboration not performed['modelPredictive']typed_binder(modelPredictive : FiniteKernel Model Observation)FiniteKernel Model Observationexplicit
source syntax; proposition elaboration not performed['observation']typed_binder(observation : Observation)Observationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.TemporalInference.modelAverage_mass']modelAverage_massunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/temporal_inference.py
fep-079 · Blanket Factorization and Conditional-Mutual-Information Equivalence · conditional_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep079.FEP079.fep079_blanketFactorization_iff_conditionalMutualInformation_zero
Invariant
On a finite conditional-blanket carrier with full blanket support, vanishing conditional mutual information is equivalent to pointwise internal–external factorization.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep079_blanketFactorization_iff_conditionalMutualInformation_zero and fep079_staticBlanket_conditionalMutualInformation_zero.
Supporting qualified declarations
fep_fep079.FEP079.fep079_staticBlanket_conditionalMutualInformation_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
d4cab6ebf78ca38987b75bad41a00a20d4ce8a5f5e201dd056bc24957b0dbbbc
Exact Lean statement (proof omitted)
theorem fep079_blanketFactorization_iff_conditionalMutualInformation_zero
     (model : ConditionalBlanketModel Blanket Internal External)
     (hBlanket : ∀ blanket, 0 < model.blanketLaw blanket) :
     conditionalMutualInformation model = 0 ↔ Factorizes model
Exact conclusion
conditionalMutualInformation model = 0 ↔ Factorizes model
Source statement SHA-256
6e61e6292be755525881652eb9d4f7981846a3bba01a4b1474ee1c6d5373f17a
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Blanket Internal External Sensory Active : Type*} [Fintype Blanket] [Fintype Internal] [Fintype External] - [Fintype Sensory] [Fintype Active]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ConditionalBlanketModel Blanket Internal External)ConditionalBlanketModel Blanket Internal Externalexplicit
source syntax; proposition elaboration not performed['hBlanket']typed_binder(hBlanket : ∀ blanket, 0 < model.blanketLaw blanket)∀ blanket, 0 < model.blanketLaw blanketexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.conditionalMutualInformation_eq_zero_iff_factorizes']conditionalMutualInformation_eq_zero_iff_factorizesunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/causal_blankets_interventions.py
fep-080 · Shared-Conditional Mixture Preservation · formalized
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep080.FEP080.fep080_sharedConditional_mixture_preservation
Invariant
Convex mixing of two finite input laws commutes exactly with forming their joint laws when both components share the same conditional kernel.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep080_sharedConditional_mixture_preservation and fep080_boolHalfMixture_nonvacuity with both convex-weight bounds.
Supporting qualified declarations
fep_fep080.FEP080.fep080_boolHalfMixture_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
ea01e6504a75cac38b53c9d0c7df4d30e9bbd1dd9847e544971f7d5caa901006
Exact Lean statement (proof omitted)
theorem fep080_sharedConditional_mixture_preservation
+  [Fintype Sensory] [Fintype Active]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ConditionalBlanketModel Blanket Internal External)ConditionalBlanketModel Blanket Internal Externalexplicit
source syntax; proposition elaboration not performed['hBlanket']typed_binder(hBlanket : ∀ blanket, 0 < model.blanketLaw blanket)∀ blanket, 0 < model.blanketLaw blanketexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.conditionalMutualInformation_eq_zero_iff_factorizes']conditionalMutualInformation_eq_zero_iff_factorizesunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/causal_blankets_interventions.py
fep-080 · Shared-Conditional Mixture Preservation · formalized
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep080.FEP080.fep080_sharedConditional_mixture_preservation
Invariant
Convex mixing of two finite input laws commutes exactly with forming their joint laws when both components share the same conditional kernel.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep080_sharedConditional_mixture_preservation and fep080_boolHalfMixture_nonvacuity with both convex-weight bounds.
Supporting qualified declarations
fep_fep080.FEP080.fep080_boolHalfMixture_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
ea01e6504a75cac38b53c9d0c7df4d30e9bbd1dd9847e544971f7d5caa901006
Exact Lean statement (proof omitted)
theorem fep080_sharedConditional_mixture_preservation
     (weight : ℝ) (hWeightNonneg : 0 ≤ weight)
     (hWeightLeOne : weight ≤ 1)
     (left right : FiniteLaw Input) (kernel : FiniteKernel Input Output) :
@@ -425,7 +425,7 @@
       mixLaw weight hWeightNonneg hWeightLeOne
         (kernel.joint left) (kernel.joint right)
Exact conclusion
kernel.joint (mixLaw weight hWeightNonneg hWeightLeOne left right) =
       mixLaw weight hWeightNonneg hWeightLeOne
-        (kernel.joint left) (kernel.joint right)
Source statement SHA-256
9fe94cdcd9a2d5d0b3f4583a6132220259faafe90e061d7a74db294dd8a10412
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Input Output : Type*} [Fintype Input] [Fintype Output]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['weight']typed_binder(weight : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hWeightNonneg']typed_binder(hWeightNonneg : 0 ≤ weight)0 ≤ weightexplicit
source syntax; proposition elaboration not performed['hWeightLeOne']typed_binder(hWeightLeOne : weight ≤ 1)weight ≤ 1explicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw Input)FiniteLaw Inputexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel Input Output)FiniteKernel Input Outputexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.sharedConditional_mixture_preserves_joint']sharedConditional_mixture_preserves_jointunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/causal_blankets_interventions.py
fep-081 · Coupled-Subsystem Blanket Composition · structural_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep081.FEP081.fep081_coupledSubsystem_blanketComposition
Invariant
Two conditionally factorized subsystems retain zero paired-row mutual information under an arbitrarily coupled joint blanket law.
Assumption review
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.
Non-vacuity
A diagonal Boolean blanket law has zero cross mass and strictly positive blanket mutual information, demonstrating genuine coupling despite exact within-row conditional factorization.
Acceptance probe (requirement; not executed here)
native Lean compile of fep081_coupledSubsystem_blanketComposition and fep081_correlatedBlanket_nonvacuity on a correlated blanket witness.
Supporting qualified declarations
fep_fep081.FEP081.fep081_correlatedBlanket_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
2b145cce117b01ffa47a461e61dc9eef1fea57bec98f1c25f51d5e36b03ce4c5
Exact Lean statement (proof omitted)
theorem fep081_coupledSubsystem_blanketComposition
+        (kernel.joint left) (kernel.joint right)
Source statement SHA-256
9fe94cdcd9a2d5d0b3f4583a6132220259faafe90e061d7a74db294dd8a10412
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Input Output : Type*} [Fintype Input] [Fintype Output]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['weight']typed_binder(weight : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hWeightNonneg']typed_binder(hWeightNonneg : 0 ≤ weight)0 ≤ weightexplicit
source syntax; proposition elaboration not performed['hWeightLeOne']typed_binder(hWeightLeOne : weight ≤ 1)weight ≤ 1explicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw Input)FiniteLaw Inputexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel Input Output)FiniteKernel Input Outputexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.sharedConditional_mixture_preserves_joint']sharedConditional_mixture_preserves_jointunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/causal_blankets_interventions.py
fep-081 · Coupled-Subsystem Blanket Composition · structural_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep081.FEP081.fep081_coupledSubsystem_blanketComposition
Invariant
Two conditionally factorized subsystems retain zero paired-row mutual information under an arbitrarily coupled joint blanket law.
Assumption review
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.
Non-vacuity
A diagonal Boolean blanket law has zero cross mass and strictly positive blanket mutual information, demonstrating genuine coupling despite exact within-row conditional factorization.
Acceptance probe (requirement; not executed here)
native Lean compile of fep081_coupledSubsystem_blanketComposition and fep081_correlatedBlanket_nonvacuity on a correlated blanket witness.
Supporting qualified declarations
fep_fep081.FEP081.fep081_correlatedBlanket_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
2b145cce117b01ffa47a461e61dc9eef1fea57bec98f1c25f51d5e36b03ce4c5
Exact Lean statement (proof omitted)
theorem fep081_coupledSubsystem_blanketComposition
     (blanketLaw : FiniteLaw (Blanket₁ × Blanket₂))
     (internal₁ : FiniteKernel Blanket₁ Internal₁)
     (internal₂ : FiniteKernel Blanket₂ Internal₂)
@@ -441,17 +441,17 @@
           blanket) = 0
Source statement SHA-256
94f88ef0673e924c601f9a1af1e5a7c71eb6a79d004cf3bb7f5e0080ca2668a1
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Blanket₁ Blanket₂ Internal₁ Internal₂ External₁ External₂ : Type*} [Fintype Blanket₁] [Fintype Blanket₂] [Fintype Internal₁] [Fintype Internal₂] - [Fintype External₁] [Fintype External₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['blanketLaw']typed_binder(blanketLaw : FiniteLaw (Blanket₁ × Blanket₂))FiniteLaw (Blanket₁ × Blanket₂)explicit
source syntax; proposition elaboration not performed['internal₁']typed_binder(internal₁ : FiniteKernel Blanket₁ Internal₁)FiniteKernel Blanket₁ Internal₁explicit
source syntax; proposition elaboration not performed['internal₂']typed_binder(internal₂ : FiniteKernel Blanket₂ Internal₂)FiniteKernel Blanket₂ Internal₂explicit
source syntax; proposition elaboration not performed['external₁']typed_binder(external₁ : FiniteKernel Blanket₁ External₁)FiniteKernel Blanket₁ External₁explicit
source syntax; proposition elaboration not performed['external₂']typed_binder(external₂ : FiniteKernel Blanket₂ External₂)FiniteKernel Blanket₂ External₂explicit
source syntax; proposition elaboration not performed['blanket']typed_binder(blanket : Blanket₁ × Blanket₂)Blanket₁ × Blanket₂explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.coupledBlanket_conditionalMutualInformation_zero']coupledBlanket_conditionalMutualInformation_zerounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/causal_blankets_interventions.py
fep-082 · Finite Intervention-Kernel Normalization · formalized
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep082.FEP082.fep082_interventionKernel_normalization
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep082_interventionKernel_normalization, fep082_interventionKernel_chosen_mass, and fep082_interventionKernel_other_mass.
Supporting qualified declarations
fep_fep082.FEP082.fep082_interventionKernel_chosen_mass
Boundary qualified declarations
fep_fep082.FEP082.fep082_interventionKernel_other_mass
Canonical body SHA-256
cb51f81e10ff9ba0aa3e3fbe79d9f4cbde504dcca51a7fc8a0ea026b22a683df
Exact Lean statement (proof omitted)
theorem fep082_interventionKernel_normalization
+  [Fintype External₁] [Fintype External₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['blanketLaw']typed_binder(blanketLaw : FiniteLaw (Blanket₁ × Blanket₂))FiniteLaw (Blanket₁ × Blanket₂)explicit
source syntax; proposition elaboration not performed['internal₁']typed_binder(internal₁ : FiniteKernel Blanket₁ Internal₁)FiniteKernel Blanket₁ Internal₁explicit
source syntax; proposition elaboration not performed['internal₂']typed_binder(internal₂ : FiniteKernel Blanket₂ Internal₂)FiniteKernel Blanket₂ Internal₂explicit
source syntax; proposition elaboration not performed['external₁']typed_binder(external₁ : FiniteKernel Blanket₁ External₁)FiniteKernel Blanket₁ External₁explicit
source syntax; proposition elaboration not performed['external₂']typed_binder(external₂ : FiniteKernel Blanket₂ External₂)FiniteKernel Blanket₂ External₂explicit
source syntax; proposition elaboration not performed['blanket']typed_binder(blanket : Blanket₁ × Blanket₂)Blanket₁ × Blanket₂explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.coupledBlanket_conditionalMutualInformation_zero']coupledBlanket_conditionalMutualInformation_zerounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/causal_blankets_interventions.py
fep-082 · Finite Intervention-Kernel Normalization · formalized
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep082.FEP082.fep082_interventionKernel_normalization
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep082_interventionKernel_normalization, fep082_interventionKernel_chosen_mass, and fep082_interventionKernel_other_mass.
Supporting qualified declarations
fep_fep082.FEP082.fep082_interventionKernel_chosen_mass
Boundary qualified declarations
fep_fep082.FEP082.fep082_interventionKernel_other_mass
Canonical body SHA-256
cb51f81e10ff9ba0aa3e3fbe79d9f4cbde504dcca51a7fc8a0ea026b22a683df
Exact Lean statement (proof omitted)
theorem fep082_interventionKernel_normalization
     (chosen : Value) (context : Context) :
     ∑ value, interventionKernel (Context := Context) chosen context value = 1
Exact conclusion
∑ value, interventionKernel (Context := Context) chosen context value = 1
Source statement SHA-256
69e697e392ad139e3e8675d2b2436e4edfb01e751f21ddafaae863933b802f8c
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Context Value : Type*} [Fintype Context] [Fintype Value] - [DecidableEq Value]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['chosen']typed_binder(chosen : Value)Valueexplicit
source syntax; proposition elaboration not performed['context']typed_binder(context : Context)Contextexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.interventionKernel_sum_one']interventionKernel_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/causal_blankets_interventions.py
fep-083 · Non-Descendant Intervention Invariance · conditional_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep083.FEP083.fep083_nonDescendant_intervention_invariance
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep083_nonDescendant_intervention_invariance and fep083_fourNode_descendantChange_nonDescendantPreservation.
Supporting qualified declarations
fep_fep083.FEP083.fep083_fourNode_descendantChange_nonDescendantPreservation
Boundary qualified declarations
Absent
Canonical body SHA-256
1fe7dda498e7396623a92ba7d5f0ee8a651567c3885e3e2861542bf9637982bb
Exact Lean statement (proof omitted)
theorem fep083_nonDescendant_intervention_invariance
+  [DecidableEq Value]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['chosen']typed_binder(chosen : Value)Valueexplicit
source syntax; proposition elaboration not performed['context']typed_binder(context : Context)Contextexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.interventionKernel_sum_one']interventionKernel_sum_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/causal_blankets_interventions.py
fep-083 · Non-Descendant Intervention Invariance · conditional_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep083.FEP083.fep083_nonDescendant_intervention_invariance
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep083_nonDescendant_intervention_invariance and fep083_fourNode_descendantChange_nonDescendantPreservation.
Supporting qualified declarations
fep_fep083.FEP083.fep083_fourNode_descendantChange_nonDescendantPreservation
Boundary qualified declarations
Absent
Canonical body SHA-256
1fe7dda498e7396623a92ba7d5f0ee8a651567c3885e3e2861542bf9637982bb
Exact Lean statement (proof omitted)
theorem fep083_nonDescendant_intervention_invariance
     (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)
     (root : Root) :
     nonDescendantMarginal (interventionalJoint model root) =
       model.nonDescendantLaw
Exact conclusion
nonDescendantMarginal (interventionalJoint model root) =
       model.nonDescendantLaw
Source statement SHA-256
d856b05442975fb2f1b37a79ee0fe8df1adac437152de66e9cb93f514f401e14
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Root NonDescendant Mediator Outcome : Type*} [Fintype Root] [Fintype NonDescendant] - [Fintype Mediator] [Fintype Outcome] [DecidableEq Root]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)OrderedFourNodeModel Root NonDescendant Mediator Outcomeexplicit
source syntax; proposition elaboration not performed['root']typed_binder(root : Root)Rootexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.nonDescendant_intervention_invariant']nonDescendant_intervention_invariantunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/causal_blankets_interventions.py
fep-084 · Ordered Finite Causal Factorization · formalized
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep084.FEP084.fep084_orderedFiniteCausal_factorization
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.
Assumption review
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.
Non-vacuity
Nondegenerate root laws and nonconstant mediator and outcome kernels yield a dependent joint whose normalization requires summing every ordered factor.
Acceptance probe (requirement; not executed here)
native Lean compile of fep084_orderedFiniteCausal_factorization and fep084_orderedFiniteCausal_normalization on the four-node carrier.
Supporting qualified declarations
fep_fep084.FEP084.fep084_orderedFiniteCausal_normalization
Boundary qualified declarations
Absent
Canonical body SHA-256
695dc1c5e662577dfbc2128badfb1e83165ca8a17a9ee1165892a3b8b186bb8d
Exact Lean statement (proof omitted)
theorem fep084_orderedFiniteCausal_factorization
+  [Fintype Mediator] [Fintype Outcome] [DecidableEq Root]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)OrderedFourNodeModel Root NonDescendant Mediator Outcomeexplicit
source syntax; proposition elaboration not performed['root']typed_binder(root : Root)Rootexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.nonDescendant_intervention_invariant']nonDescendant_intervention_invariantunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/causal_blankets_interventions.py
fep-084 · Ordered Finite Causal Factorization · formalized
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep084.FEP084.fep084_orderedFiniteCausal_factorization
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.
Assumption review
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.
Non-vacuity
Nondegenerate root laws and nonconstant mediator and outcome kernels yield a dependent joint whose normalization requires summing every ordered factor.
Acceptance probe (requirement; not executed here)
native Lean compile of fep084_orderedFiniteCausal_factorization and fep084_orderedFiniteCausal_normalization on the four-node carrier.
Supporting qualified declarations
fep_fep084.FEP084.fep084_orderedFiniteCausal_normalization
Boundary qualified declarations
Absent
Canonical body SHA-256
695dc1c5e662577dfbc2128badfb1e83165ca8a17a9ee1165892a3b8b186bb8d
Exact Lean statement (proof omitted)
theorem fep084_orderedFiniteCausal_factorization
     (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)
     (root : Root) (nonDescendant : NonDescendant)
     (mediator : Mediator) (outcome : Outcome) :
@@ -463,7 +463,7 @@
           model.mediatorGivenRoot root mediator) *
         model.outcomeGivenParents (nonDescendant, mediator) outcome
Source statement SHA-256
bde53dac18d8ea8f5c99817b40f7007aa08b229820a639b92e1263f865cd470f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Root NonDescendant Mediator Outcome : Type*} [Fintype Root] [Fintype NonDescendant] - [Fintype Mediator] [Fintype Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)OrderedFourNodeModel Root NonDescendant Mediator Outcomeexplicit
source syntax; proposition elaboration not performed['root']typed_binder(root : Root)Rootexplicit
source syntax; proposition elaboration not performed['nonDescendant']typed_binder(nonDescendant : NonDescendant)NonDescendantexplicit
source syntax; proposition elaboration not performed['mediator']typed_binder(mediator : Mediator)Mediatorexplicit
source syntax; proposition elaboration not performed['outcome']typed_binder(outcome : Outcome)Outcomeexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.orderedJoint_factorization']orderedJoint_factorizationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/causal_blankets_interventions.py
fep-085 · Local Markov Property from Ordered Factorization · conditional_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep085.FEP085.fep085_localMarkov_factorization_from_ordered
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.
Assumption review
All carriers are finite and mediator evidence must be strictly positive. The authored local product row is defined even at a null non-descendant value; interpreting it as an identified conditional on the joint parent event additionally requires positive non-descendant mass. Existing reconstruction recovers the ordered joint atom after multiplying by both parent-evidence factors. This is one maintained ordering, not general d-separation, faithfulness or native measurable conditional independence.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep085_localMarkov_factorization_from_ordered, fep085_localMarkov_mutualInformation_zero, fep085_bool_localMarkov_nonvacuity, and fep085_zeroEvidence_boundary.
Supporting qualified declarations
fep_fep085.FEP085.fep085_localMarkov_mutualInformation_zero; fep_fep085.FEP085.fep085_bool_localMarkov_nonvacuity
Boundary qualified declarations
fep_fep085.FEP085.fep085_zeroEvidence_boundary
Canonical body SHA-256
4a5dbac8f48fbcc8c98577aa0f5efb22129e8ce480bf8d6b7cabbb935b2ff9bd
Exact Lean statement (proof omitted)
theorem fep085_localMarkov_factorization_from_ordered
+  [Fintype Mediator] [Fintype Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)OrderedFourNodeModel Root NonDescendant Mediator Outcomeexplicit
source syntax; proposition elaboration not performed['root']typed_binder(root : Root)Rootexplicit
source syntax; proposition elaboration not performed['nonDescendant']typed_binder(nonDescendant : NonDescendant)NonDescendantexplicit
source syntax; proposition elaboration not performed['mediator']typed_binder(mediator : Mediator)Mediatorexplicit
source syntax; proposition elaboration not performed['outcome']typed_binder(outcome : Outcome)Outcomeexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.orderedJoint_factorization']orderedJoint_factorizationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/causal_blankets_interventions.py
fep-085 · Local Markov Property from Ordered Factorization · conditional_proxy
Family context (editorial)
causal-blankets-and-interventions
Primary qualified witness
fep_fep085.FEP085.fep085_localMarkov_factorization_from_ordered
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.
Assumption review
All carriers are finite and mediator evidence must be strictly positive. The authored local product row is defined even at a null non-descendant value; interpreting it as an identified conditional on the joint parent event additionally requires positive non-descendant mass. Existing reconstruction recovers the ordered joint atom after multiplying by both parent-evidence factors. This is one maintained ordering, not general d-separation, faithfulness or native measurable conditional independence.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep085_localMarkov_factorization_from_ordered, fep085_localMarkov_mutualInformation_zero, fep085_bool_localMarkov_nonvacuity, and fep085_zeroEvidence_boundary.
Supporting qualified declarations
fep_fep085.FEP085.fep085_localMarkov_mutualInformation_zero; fep_fep085.FEP085.fep085_bool_localMarkov_nonvacuity
Boundary qualified declarations
fep_fep085.FEP085.fep085_zeroEvidence_boundary
Canonical body SHA-256
4a5dbac8f48fbcc8c98577aa0f5efb22129e8ce480bf8d6b7cabbb935b2ff9bd
Exact Lean statement (proof omitted)
theorem fep085_localMarkov_factorization_from_ordered
     (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)
     (nonDescendant : NonDescendant) (mediator : Mediator)
     (hEvidence : 0 < mediatorEvidence model mediator) :
@@ -473,12 +473,12 @@
       (model.mediatorGivenRoot.posterior model.rootLaw mediator hEvidence).product
         (model.outcomeGivenParents.row (nonDescendant, mediator))
Source statement SHA-256
8f17b9d12ca096fedbc5d118763d6ebd0be809ccf86560ca934280c715fb797f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Root NonDescendant Mediator Outcome : Type*} [Fintype Root] [Fintype NonDescendant] - [Fintype Mediator] [Fintype Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)OrderedFourNodeModel Root NonDescendant Mediator Outcomeexplicit
source syntax; proposition elaboration not performed['nonDescendant']typed_binder(nonDescendant : NonDescendant)NonDescendantexplicit
source syntax; proposition elaboration not performed['mediator']typed_binder(mediator : Mediator)Mediatorexplicit
source syntax; proposition elaboration not performed['hEvidence']typed_binder(hEvidence : 0 < mediatorEvidence model mediator)0 < mediatorEvidence model mediatorexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.localMarkov_factorization_from_ordered']localMarkov_factorization_from_orderedunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/causal_blankets_interventions.py
fep-086 · Precision-Weighted Prediction-Error Energy · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep086.FEP086.fep086_precisionWeighted_zero_iff_exactPrediction
Invariant
Nonnegative precision yields nonnegative scalar prediction-error energy, and under positive precision zero energy occurs exactly at exact prediction.
Assumption review
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.
Non-vacuity
Observation one, estimate zero, and precision two have exact unit energy, so the energy and its separating zero condition are not vacuous.
Acceptance probe (requirement; not executed here)
native Lean compile of fep086_precisionWeighted_predictionError_nonnegative, fep086_precisionWeighted_zero_iff_exactPrediction, and fep086_unitError_nonvacuity.
Supporting qualified declarations
fep_fep086.FEP086.fep086_precisionWeighted_predictionError_nonnegative; fep_fep086.FEP086.fep086_unitError_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
0b23e2affbc6962b69f77c4c408d8c65d59fc6194e9da1520925011e46d7826c
Exact Lean statement (proof omitted)
theorem fep086_precisionWeighted_zero_iff_exactPrediction
+  [Fintype Mediator] [Fintype Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)OrderedFourNodeModel Root NonDescendant Mediator Outcomeexplicit
source syntax; proposition elaboration not performed['nonDescendant']typed_binder(nonDescendant : NonDescendant)NonDescendantexplicit
source syntax; proposition elaboration not performed['mediator']typed_binder(mediator : Mediator)Mediatorexplicit
source syntax; proposition elaboration not performed['hEvidence']typed_binder(hEvidence : 0 < mediatorEvidence model mediator)0 < mediatorEvidence model mediatorexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.CausalDynamics.localMarkov_factorization_from_ordered']localMarkov_factorization_from_orderedunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/causal_blankets_interventions.py
fep-086 · Precision-Weighted Prediction-Error Energy · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep086.FEP086.fep086_precisionWeighted_zero_iff_exactPrediction
Invariant
Nonnegative precision yields nonnegative scalar prediction-error energy, and under positive precision zero energy occurs exactly at exact prediction.
Assumption review
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.
Non-vacuity
Observation one, estimate zero, and precision two have exact unit energy, so the energy and its separating zero condition are not vacuous.
Acceptance probe (requirement; not executed here)
native Lean compile of fep086_precisionWeighted_predictionError_nonnegative, fep086_precisionWeighted_zero_iff_exactPrediction, and fep086_unitError_nonvacuity.
Supporting qualified declarations
fep_fep086.FEP086.fep086_precisionWeighted_predictionError_nonnegative; fep_fep086.FEP086.fep086_unitError_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
0b23e2affbc6962b69f77c4c408d8c65d59fc6194e9da1520925011e46d7826c
Exact Lean statement (proof omitted)
theorem fep086_precisionWeighted_zero_iff_exactPrediction
     {precision : ℝ} (hPrecision : 0 < precision)
     (observation estimate : ℝ) :
     precisionEnergy precision observation estimate = 0 ↔
       estimate = observation
Exact conclusion
precisionEnergy precision observation estimate = 0 ↔
-      estimate = observation
Source statement SHA-256
4882d23ad237e39eb1066ebe1fde705d0366d5dcaea4937ba61b74ad26623802
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['precision']typed_binder{precision : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hPrecision']typed_binder(hPrecision : 0 < precision)0 < precisionexplicit
source syntax; proposition elaboration not performed['observation', 'estimate']typed_binder(observation estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.precisionEnergy_eq_zero_iff']precisionEnergy_eq_zero_iffunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/predictive_coding_generalized.py
fep-087 · Hierarchical Predictive-Coding Energy Decomposition · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_decomposition
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.
Assumption review
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.
Non-vacuity
A concrete two-level hierarchy has both levels contribute and evaluates to eleven, ruling out a decomposition that silently drops the upper level.
Acceptance probe (requirement; not executed here)
native Lean compile of fep087_hierarchicalPredictiveCoding_decomposition, fep087_hierarchicalPredictiveCoding_nonnegative, and fep087_twoLevel_decomposition_nonvacuity.
Supporting qualified declarations
fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_nonnegative; fep_fep087.FEP087.fep087_twoLevel_decomposition_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
1ea75a42a0b7b8d8b5e0fb2f52291c119fd0db979ad6807bd83967698eb2b630
Exact Lean statement (proof omitted)
theorem fep087_hierarchicalPredictiveCoding_decomposition {depth : ℕ}
+      estimate = observation
Source statement SHA-256
4882d23ad237e39eb1066ebe1fde705d0366d5dcaea4937ba61b74ad26623802
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['precision']typed_binder{precision : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hPrecision']typed_binder(hPrecision : 0 < precision)0 < precisionexplicit
source syntax; proposition elaboration not performed['observation', 'estimate']typed_binder(observation estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.precisionEnergy_eq_zero_iff']precisionEnergy_eq_zero_iffunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/predictive_coding_generalized.py
fep-087 · Hierarchical Predictive-Coding Energy Decomposition · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_decomposition
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.
Assumption review
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.
Non-vacuity
A concrete two-level hierarchy has both levels contribute and evaluates to eleven, ruling out a decomposition that silently drops the upper level.
Acceptance probe (requirement; not executed here)
native Lean compile of fep087_hierarchicalPredictiveCoding_decomposition, fep087_hierarchicalPredictiveCoding_nonnegative, and fep087_twoLevel_decomposition_nonvacuity.
Supporting qualified declarations
fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_nonnegative; fep_fep087.FEP087.fep087_twoLevel_decomposition_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
1ea75a42a0b7b8d8b5e0fb2f52291c119fd0db979ad6807bd83967698eb2b630
Exact Lean statement (proof omitted)
theorem fep087_hierarchicalPredictiveCoding_decomposition {depth : ℕ}
     (precision error : Fin (depth + 1) → ℝ) :
     hierarchicalEnergy precision error =
       precision 0 / 2 * error 0 ^ 2 +
@@ -486,13 +486,13 @@
           precision level.succ / 2 * error level.succ ^ 2
Exact conclusion
hierarchicalEnergy precision error =
       precision 0 / 2 * error 0 ^ 2 +
         ∑ level : Fin depth,
-          precision level.succ / 2 * error level.succ ^ 2
Source statement SHA-256
b475f867789cbd28994d51f4a330aabc85958e4d8abf85d2b1deed20c0292fb7
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['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['precision', 'error']typed_binder(precision error : Fin (depth + 1) → ℝ)Fin (depth + 1) → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.hierarchicalEnergy_succ']hierarchicalEnergy_succunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/predictive_coding_generalized.py
fep-088 · Prediction-Error Gradient Identity · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep088.FEP088.fep088_predictionError_gradient_identity
Invariant
Differentiating scalar precision-weighted prediction-error energy with respect to the estimate gives exactly minus precision times signed prediction error.
Assumption review
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.
Non-vacuity
At precision two, observation one, and estimate zero, the named gradient is exactly minus two and therefore drives a nontrivial correction.
Acceptance probe (requirement; not executed here)
native Lean compile of fep088_predictionError_gradient_identity, fep088_namedGradient_hasDerivAt, and fep088_gradient_nonvacuity.
Supporting qualified declarations
fep_fep088.FEP088.fep088_namedGradient_hasDerivAt; fep_fep088.FEP088.fep088_gradient_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
3119580a8e1de5fff3d1c1a042d07fc8c796b0bde9df7419d6b14ae5b86b2459
Exact Lean statement (proof omitted)
theorem fep088_predictionError_gradient_identity
+          precision level.succ / 2 * error level.succ ^ 2
Source statement SHA-256
b475f867789cbd28994d51f4a330aabc85958e4d8abf85d2b1deed20c0292fb7
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['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['precision', 'error']typed_binder(precision error : Fin (depth + 1) → ℝ)Fin (depth + 1) → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.hierarchicalEnergy_succ']hierarchicalEnergy_succunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/predictive_coding_generalized.py
fep-088 · Prediction-Error Gradient Identity · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep088.FEP088.fep088_predictionError_gradient_identity
Invariant
Differentiating scalar precision-weighted prediction-error energy with respect to the estimate gives exactly minus precision times signed prediction error.
Assumption review
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.
Non-vacuity
At precision two, observation one, and estimate zero, the named gradient is exactly minus two and therefore drives a nontrivial correction.
Acceptance probe (requirement; not executed here)
native Lean compile of fep088_predictionError_gradient_identity, fep088_namedGradient_hasDerivAt, and fep088_gradient_nonvacuity.
Supporting qualified declarations
fep_fep088.FEP088.fep088_namedGradient_hasDerivAt; fep_fep088.FEP088.fep088_gradient_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
3119580a8e1de5fff3d1c1a042d07fc8c796b0bde9df7419d6b14ae5b86b2459
Exact Lean statement (proof omitted)
theorem fep088_predictionError_gradient_identity
     (precision observation estimate : ℝ) :
     HasDerivAt (fun candidate => precisionEnergy precision observation candidate)
       (-precision * predictionError observation estimate) estimate
Exact conclusion
HasDerivAt (fun candidate => precisionEnergy precision observation candidate)
-      (-precision * predictionError observation estimate) estimate
Source statement SHA-256
ab942b09f63c0366ec52cd71db85fdbf8b1d72263aa2648b73c26f43a043ac97
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['precision', 'observation', 'estimate']typed_binder(precision observation estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.precisionEnergy_hasDerivAt']precisionEnergy_hasDerivAtunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/predictive_coding_generalized.py
fep-089 · Finite Generalized-Coordinate Shift Semigroup · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep089.FEP089.fep089_finiteJet_shift_semigroup
Invariant
Natural-number shifts on a finite generalized-coordinate jet compose associatively, with the highest retained coordinate shifting into an explicit zero truncation boundary.
Assumption review
Generalized coordinates are finite truncated coefficient jets. The primary semigroup is discrete; the existing functionJet bridge identifies shifted iterated derivatives below the truncation boundary, while top derivative information is discarded. This does not establish analytic infinite jets, ordinary coordinate-time differentiation without regularity, or continuous-flow convergence.
Non-vacuity
A first-order jet moves velocity into the position coordinate while its terminal velocity coordinate becomes zero, visibly exercising the truncation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep089_finiteJet_shift_semigroup, fep089_finiteJet_terminal_boundary, and fep089_firstOrder_shift_nonvacuity.
Supporting qualified declarations
fep_fep089.FEP089.fep089_firstOrder_shift_nonvacuity
Boundary qualified declarations
fep_fep089.FEP089.fep089_finiteJet_terminal_boundary
Canonical body SHA-256
15cc89956aa7b9518c16368621ea98e998b771cce93455ab29359a964f5864a0
Exact Lean statement (proof omitted)
theorem fep089_finiteJet_shift_semigroup {order : ℕ}
+      (-precision * predictionError observation estimate) estimate
Source statement SHA-256
ab942b09f63c0366ec52cd71db85fdbf8b1d72263aa2648b73c26f43a043ac97
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['precision', 'observation', 'estimate']typed_binder(precision observation estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.precisionEnergy_hasDerivAt']precisionEnergy_hasDerivAtunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/predictive_coding_generalized.py
fep-089 · Finite Generalized-Coordinate Shift Semigroup · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep089.FEP089.fep089_finiteJet_shift_semigroup
Invariant
Natural-number shifts on a finite generalized-coordinate jet compose associatively, with the highest retained coordinate shifting into an explicit zero truncation boundary.
Assumption review
Generalized coordinates are finite truncated coefficient jets. The primary semigroup is discrete; the existing functionJet bridge identifies shifted iterated derivatives below the truncation boundary, while top derivative information is discarded. This does not establish analytic infinite jets, ordinary coordinate-time differentiation without regularity, or continuous-flow convergence.
Non-vacuity
A first-order jet moves velocity into the position coordinate while its terminal velocity coordinate becomes zero, visibly exercising the truncation.
Acceptance probe (requirement; not executed here)
native Lean compile of fep089_finiteJet_shift_semigroup, fep089_finiteJet_terminal_boundary, and fep089_firstOrder_shift_nonvacuity.
Supporting qualified declarations
fep_fep089.FEP089.fep089_firstOrder_shift_nonvacuity
Boundary qualified declarations
fep_fep089.FEP089.fep089_finiteJet_terminal_boundary
Canonical body SHA-256
15cc89956aa7b9518c16368621ea98e998b771cce93455ab29359a964f5864a0
Exact Lean statement (proof omitted)
theorem fep089_finiteJet_shift_semigroup {order : ℕ}
     (first second : ℕ) (jet : FiniteJet order) :
-    shift (first + second) jet = shift first (shift second jet)
Exact conclusion
shift (first + second) jet = shift first (shift second jet)
Source statement SHA-256
455c3dd521e185f794a49fb284d91b5389c24e04b623d4c8bb8ee7a8443add30
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['order']typed_binder{order : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['first', 'second']typed_binder(first second : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['jet']typed_binder(jet : FiniteJet order)FiniteJet orderexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.shift_add']shift_addunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/predictive_coding_generalized.py
fep-090 · Finite-Jet Generalized-Filtering Correction Equation · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep090.FEP090.fep090_finiteJet_generalizedFiltering_correctionEquation
Invariant
One finite-jet generalized-filtering Euler step equals the current coordinate plus a truncated shift minus the certified quadratic energy gradient.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep090_finiteJet_generalizedFiltering_correctionEquation, fep090_finiteJet_coordinateGradient_hasDerivAt, fep090_finiteJet_truncation_visible, and fep090_firstOrder_correction_nonvacuity.
Supporting qualified declarations
fep_fep090.FEP090.fep090_finiteJet_coordinateGradient_hasDerivAt; fep_fep090.FEP090.fep090_firstOrder_correction_nonvacuity
Boundary qualified declarations
fep_fep090.FEP090.fep090_finiteJet_truncation_visible
Canonical body SHA-256
2386ba8cf67e112184b2a4a3b7a18d7ea7e24eaadeb5b07b8d8d98d89c9056f9
Exact Lean statement (proof omitted)
theorem fep090_finiteJet_generalizedFiltering_correctionEquation
+    shift (first + second) jet = shift first (shift second jet)
Exact conclusion
shift (first + second) jet = shift first (shift second jet)
Source statement SHA-256
455c3dd521e185f794a49fb284d91b5389c24e04b623d4c8bb8ee7a8443add30
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['order']typed_binder{order : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['first', 'second']typed_binder(first second : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['jet']typed_binder(jet : FiniteJet order)FiniteJet orderexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.shift_add']shift_addunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/predictive_coding_generalized.py
fep-090 · Finite-Jet Generalized-Filtering Correction Equation · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep090.FEP090.fep090_finiteJet_generalizedFiltering_correctionEquation
Invariant
One finite-jet generalized-filtering Euler step equals the current coordinate plus a truncated shift minus the certified quadratic energy gradient.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep090_finiteJet_generalizedFiltering_correctionEquation, fep090_finiteJet_coordinateGradient_hasDerivAt, fep090_finiteJet_truncation_visible, and fep090_firstOrder_correction_nonvacuity.
Supporting qualified declarations
fep_fep090.FEP090.fep090_finiteJet_coordinateGradient_hasDerivAt; fep_fep090.FEP090.fep090_firstOrder_correction_nonvacuity
Boundary qualified declarations
fep_fep090.FEP090.fep090_finiteJet_truncation_visible
Canonical body SHA-256
2386ba8cf67e112184b2a4a3b7a18d7ea7e24eaadeb5b07b8d8d98d89c9056f9
Exact Lean statement (proof omitted)
theorem fep090_finiteJet_generalizedFiltering_correctionEquation
     {order : ℕ} (stepSize : ℝ) (precision : ℕ → ℝ)
     (target estimate : FiniteJet order) (degree : ℕ) :
     (generalizedFilteringStep stepSize precision target estimate).coefficient degree =
@@ -503,7 +503,7 @@
       estimate.coefficient degree + stepSize *
         ((shift 1 estimate).coefficient degree -
           precisionEnergyGradient (precision degree)
-            (target.coefficient degree) (estimate.coefficient degree))
Source statement SHA-256
aa289d5f7810c0d4518eb04910fa11cccd445a89a6834fa965475ba52762bed8
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['order']typed_binder{order : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['stepSize']typed_binder(stepSize : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['precision']typed_binder(precision : ℕ → ℝ)ℕ → ℝexplicit
source syntax; proposition elaboration not performed['target', 'estimate']typed_binder(target estimate : FiniteJet order)FiniteJet orderexplicit
source syntax; proposition elaboration not performed['degree']typed_binder(degree : ℕ)ℕexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.generalizedFilteringStep_equation']generalizedFilteringStep_equationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/predictive_coding_generalized.py
fep-091 · Precision Modulation of Prediction Error · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep091.FEP091.fep091_precisionModulation_energy_mono
Invariant
Increasing nonnegative precision cannot decrease a fixed scalar prediction-error energy, and scaling precision scales its exact gradient by the same factor.
Assumption review
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.
Non-vacuity
Doubling precision from one to two at a unit prediction error exactly doubles the energy and makes the inequality strict.
Acceptance probe (requirement; not executed here)
native Lean compile of fep091_precisionModulation_energy_mono, fep091_precisionModulation_gradient_scale, and fep091_doubledPrecision_nonvacuity.
Supporting qualified declarations
fep_fep091.FEP091.fep091_precisionModulation_gradient_scale; fep_fep091.FEP091.fep091_doubledPrecision_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
bf6852e497ffe025aa59bad662bb71777760c8d8e918e828abb93b6f15e4e300
Exact Lean statement (proof omitted)
theorem fep091_precisionModulation_energy_mono
+            (target.coefficient degree) (estimate.coefficient degree))
Source statement SHA-256
aa289d5f7810c0d4518eb04910fa11cccd445a89a6834fa965475ba52762bed8
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['order']typed_binder{order : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['stepSize']typed_binder(stepSize : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['precision']typed_binder(precision : ℕ → ℝ)ℕ → ℝexplicit
source syntax; proposition elaboration not performed['target', 'estimate']typed_binder(target estimate : FiniteJet order)FiniteJet orderexplicit
source syntax; proposition elaboration not performed['degree']typed_binder(degree : ℕ)ℕexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.generalizedFilteringStep_equation']generalizedFilteringStep_equationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/predictive_coding_generalized.py
fep-091 · Precision Modulation of Prediction Error · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep091.FEP091.fep091_precisionModulation_energy_mono
Invariant
Increasing nonnegative precision cannot decrease a fixed scalar prediction-error energy, and scaling precision scales its exact gradient by the same factor.
Assumption review
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.
Non-vacuity
Doubling precision from one to two at a unit prediction error exactly doubles the energy and makes the inequality strict.
Acceptance probe (requirement; not executed here)
native Lean compile of fep091_precisionModulation_energy_mono, fep091_precisionModulation_gradient_scale, and fep091_doubledPrecision_nonvacuity.
Supporting qualified declarations
fep_fep091.FEP091.fep091_precisionModulation_gradient_scale; fep_fep091.FEP091.fep091_doubledPrecision_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
bf6852e497ffe025aa59bad662bb71777760c8d8e918e828abb93b6f15e4e300
Exact Lean statement (proof omitted)
theorem fep091_precisionModulation_energy_mono
     {lower upper : ℝ} (hLowerNonneg : 0 ≤ lower)
     (hPrecision : lower ≤ upper)
     (observation estimate : ℝ) :
@@ -511,7 +511,7 @@
       precisionEnergy lower observation estimate ≤
         precisionEnergy upper observation estimate
Exact conclusion
0 ≤ precisionEnergy lower observation estimate ∧
       precisionEnergy lower observation estimate ≤
-        precisionEnergy upper observation estimate
Source statement SHA-256
cdeb5542b50d53a05aaf4cf874280d7479f27334794b8b06cd36666cf615b1dc
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['lower', 'upper']typed_binder{lower upper : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hLowerNonneg']typed_binder(hLowerNonneg : 0 ≤ lower)0 ≤ lowerexplicit
source syntax; proposition elaboration not performed['hPrecision']typed_binder(hPrecision : lower ≤ upper)lower ≤ upperexplicit
source syntax; proposition elaboration not performed['observation', 'estimate']typed_binder(observation estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.precisionEnergy_mono']precisionEnergy_monounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/predictive_coding_generalized.py
fep-092 · Quadratic Predictive-Coding Convergence · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep092.FEP092.fep092_quadraticPredictiveCoding_error_tendsto_zero
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.
Assumption review
Convergence requires 0 < stepSize < 2 for the authored residual update; strict descent also needs positive precision and unequal target and estimate. A raw negative-gradient step with learning rate alpha has effective stepSize alpha*precision. The theorem is scalar exact-quadratic and does not prove stability of coupled finite-jet or nonlinear predictive-coding updates.
Non-vacuity
At precision two and half-step size, a unit error has energy one, moves to estimate one half, and drops to energy one quarter.
Acceptance probe (requirement; not executed here)
native Lean compile of fep092_quadraticPredictiveCoding_contraction, fep092_quadraticPredictiveCoding_strictDecrease, fep092_quadraticPredictiveCoding_error_tendsto_zero, and fep092_halfStep_decrease_nonvacuity.
Supporting qualified declarations
fep_fep092.FEP092.fep092_quadraticPredictiveCoding_contraction; fep_fep092.FEP092.fep092_quadraticPredictiveCoding_strictDecrease; fep_fep092.FEP092.fep092_halfStep_decrease_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
9a68fbb6dc65ccae2de83661319d204e6d54ced9e71bb6e5ebe0ec5127f3fab9
Exact Lean statement (proof omitted)
theorem fep092_quadraticPredictiveCoding_error_tendsto_zero
+        precisionEnergy upper observation estimate
Source statement SHA-256
cdeb5542b50d53a05aaf4cf874280d7479f27334794b8b06cd36666cf615b1dc
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['lower', 'upper']typed_binder{lower upper : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hLowerNonneg']typed_binder(hLowerNonneg : 0 ≤ lower)0 ≤ lowerexplicit
source syntax; proposition elaboration not performed['hPrecision']typed_binder(hPrecision : lower ≤ upper)lower ≤ upperexplicit
source syntax; proposition elaboration not performed['observation', 'estimate']typed_binder(observation estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.precisionEnergy_mono']precisionEnergy_monounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/predictive_coding_generalized.py
fep-092 · Quadratic Predictive-Coding Convergence · formalized
Family context (editorial)
predictive-coding-and-generalized-coordinates
Primary qualified witness
fep_fep092.FEP092.fep092_quadraticPredictiveCoding_error_tendsto_zero
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.
Assumption review
Convergence requires 0 < stepSize < 2 for the authored residual update; strict descent also needs positive precision and unequal target and estimate. A raw negative-gradient step with learning rate alpha has effective stepSize alpha*precision. The theorem is scalar exact-quadratic and does not prove stability of coupled finite-jet or nonlinear predictive-coding updates.
Non-vacuity
At precision two and half-step size, a unit error has energy one, moves to estimate one half, and drops to energy one quarter.
Acceptance probe (requirement; not executed here)
native Lean compile of fep092_quadraticPredictiveCoding_contraction, fep092_quadraticPredictiveCoding_strictDecrease, fep092_quadraticPredictiveCoding_error_tendsto_zero, and fep092_halfStep_decrease_nonvacuity.
Supporting qualified declarations
fep_fep092.FEP092.fep092_quadraticPredictiveCoding_contraction; fep_fep092.FEP092.fep092_quadraticPredictiveCoding_strictDecrease; fep_fep092.FEP092.fep092_halfStep_decrease_nonvacuity
Boundary qualified declarations
Absent
Canonical body SHA-256
9a68fbb6dc65ccae2de83661319d204e6d54ced9e71bb6e5ebe0ec5127f3fab9
Exact Lean statement (proof omitted)
theorem fep092_quadraticPredictiveCoding_error_tendsto_zero
     {stepSize : ℝ} (hStepPositive : 0 < stepSize)
     (hStepBelowTwo : stepSize < 2) (target estimate : ℝ) :
     Tendsto
@@ -520,16 +520,16 @@
       atTop (nhds 0)
Exact conclusion
Tendsto
       (fun iterations => predictionError target
         (iteratePredictionUpdate stepSize target iterations estimate))
-      atTop (nhds 0)
Source statement SHA-256
4eebc560141da18383bcaf516b0c4f1eb7105e3b4d44ab250a1ad13339dfee49
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['stepSize']typed_binder{stepSize : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hStepPositive']typed_binder(hStepPositive : 0 < stepSize)0 < stepSizeexplicit
source syntax; proposition elaboration not performed['hStepBelowTwo']typed_binder(hStepBelowTwo : stepSize < 2)stepSize < 2explicit
source syntax; proposition elaboration not performed['target', 'estimate']typed_binder(target estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.iteratePredictionError_tendsto_zero']iteratePredictionError_tendsto_zerounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/predictive_coding_generalized.py
fep-093 · Forward and Reverse Finite Path-Law Ratio · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep093.FEP093.fep093_forward_reverse_pathLaw_ratio
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.
Assumption review
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.
Non-vacuity
Unequal full-support forward and reverse-aligned laws yield nonunit path ratios, while an involution with a two-path swap exercises a genuine reversal.
Acceptance probe (requirement; not executed here)
native Lean compile of fep093_forward_reverse_pathLaw_ratio, fep093_pathLaws_normalized, and fep093_pathReversal_involutive.
Supporting qualified declarations
fep_fep093.FEP093.fep093_pathLaws_normalized; fep_fep093.FEP093.fep093_pathReversal_involutive
Boundary qualified declarations
Absent
Canonical body SHA-256
b548d065443ea48dea3b209905c3b04a2dc35c9059d70c1123421eb30588d08f
Exact Lean statement (proof omitted)
theorem fep093_forward_reverse_pathLaw_ratio
+      atTop (nhds 0)
Source statement SHA-256
4eebc560141da18383bcaf516b0c4f1eb7105e3b4d44ab250a1ad13339dfee49
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['stepSize']typed_binder{stepSize : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hStepPositive']typed_binder(hStepPositive : 0 < stepSize)0 < stepSizeexplicit
source syntax; proposition elaboration not performed['hStepBelowTwo']typed_binder(hStepBelowTwo : stepSize < 2)stepSize < 2explicit
source syntax; proposition elaboration not performed['target', 'estimate']typed_binder(target estimate : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PredictiveCoding.iteratePredictionError_tendsto_zero']iteratePredictionError_tendsto_zerounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/predictive_coding_generalized.py
fep-093 · Forward and Reverse Finite Path-Law Ratio · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep093.FEP093.fep093_forward_reverse_pathLaw_ratio
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.
Assumption review
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.
Non-vacuity
Unequal full-support forward and reverse-aligned laws yield nonunit path ratios, while an involution with a two-path swap exercises a genuine reversal.
Acceptance probe (requirement; not executed here)
native Lean compile of fep093_forward_reverse_pathLaw_ratio, fep093_pathLaws_normalized, and fep093_pathReversal_involutive.
Supporting qualified declarations
fep_fep093.FEP093.fep093_pathLaws_normalized; fep_fep093.FEP093.fep093_pathReversal_involutive
Boundary qualified declarations
Absent
Canonical body SHA-256
b548d065443ea48dea3b209905c3b04a2dc35c9059d70c1123421eb30588d08f
Exact Lean statement (proof omitted)
theorem fep093_forward_reverse_pathLaw_ratio
     (protocol : FinitePathProtocol Path)
     (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :
     pathRatio protocol path * protocol.reverseAligned path =
       protocol.forward path
Exact conclusion
pathRatio protocol path * protocol.reverseAligned path =
-      protocol.forward path
Source statement SHA-256
d9bd59ca90aa7dca2f3a372bf81e0d154acd7e0fc724f56ad1fb133099ac8ec8
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
source syntax; proposition elaboration not performed['hReverse']typed_binder(hReverse : ∀ path, 0 < protocol.reverseAligned path)∀ path, 0 < protocol.reverseAligned pathexplicit
source syntax; proposition elaboration not performed['path']typed_binder(path : Path)Pathexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.pathRatio_mul_reverse']pathRatio_mul_reverseunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/path_thermodynamics.py
fep-094 · Entropy Production as Path KL · structural_proxy
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep094.FEP094.fep094_entropyProduction_as_pathKL
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep094_entropyProduction_as_pathKL, fep094_entropyProduction_expected_logRatio, and fep094_entropyProduction_nonnegative.
Supporting qualified declarations
fep_fep094.FEP094.fep094_entropyProduction_expected_logRatio; fep_fep094.FEP094.fep094_entropyProduction_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
1bc841201a47800e61451b394038ca7feccf9f8719a77caad41c74698abfdc3d
Exact Lean statement (proof omitted)
theorem fep094_entropyProduction_as_pathKL
+      protocol.forward path
Source statement SHA-256
d9bd59ca90aa7dca2f3a372bf81e0d154acd7e0fc724f56ad1fb133099ac8ec8
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
source syntax; proposition elaboration not performed['hReverse']typed_binder(hReverse : ∀ path, 0 < protocol.reverseAligned path)∀ path, 0 < protocol.reverseAligned pathexplicit
source syntax; proposition elaboration not performed['path']typed_binder(path : Path)Pathexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.pathRatio_mul_reverse']pathRatio_mul_reverseunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/path_thermodynamics.py
fep-094 · Entropy Production as Path KL · structural_proxy
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep094.FEP094.fep094_entropyProduction_as_pathKL
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep094_entropyProduction_as_pathKL, fep094_entropyProduction_expected_logRatio, and fep094_entropyProduction_nonnegative.
Supporting qualified declarations
fep_fep094.FEP094.fep094_entropyProduction_expected_logRatio; fep_fep094.FEP094.fep094_entropyProduction_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
1bc841201a47800e61451b394038ca7feccf9f8719a77caad41c74698abfdc3d
Exact Lean statement (proof omitted)
theorem fep094_entropyProduction_as_pathKL
     (protocol : FinitePathProtocol Path) :
     entropyProduction protocol =
       finiteKL protocol.forward protocol.reverseAligned
Exact conclusion
entropyProduction protocol =
-      finiteKL protocol.forward protocol.reverseAligned
Source statement SHA-256
dfbc2ceca9ae3e2f0cdef4e46671b80761a7a73c6508218a904c7de408a7b15f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/path_thermodynamics.py
fep-095 · Detailed Fluctuation Symmetry · conditional_proxy
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep095.FEP095.fep095_detailedFluctuation_symmetry
Invariant
Under full path support, reverse-aligned mass times exponential pointwise entropy production reconstructs forward mass, and an exchanging reversal makes entropy production antisymmetric.
Assumption review
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.
Non-vacuity
A two-path protocol with swapped unequal full-support masses has nonzero pointwise entropy production whose sign reverses on the paired path.
Acceptance probe (requirement; not executed here)
native Lean compile of fep095_detailedFluctuation_symmetry and fep095_entropyProduction_reversal_antisymmetry with both exchange hypotheses.
Supporting qualified declarations
fep_fep095.FEP095.fep095_entropyProduction_reversal_antisymmetry
Boundary qualified declarations
Absent
Canonical body SHA-256
e6f5748da3b24f4a676529860817adf6a537d3a01ac721e6f0f03e0308620f21
Exact Lean statement (proof omitted)
theorem fep095_detailedFluctuation_symmetry
+      finiteKL protocol.forward protocol.reverseAligned
Source statement SHA-256
dfbc2ceca9ae3e2f0cdef4e46671b80761a7a73c6508218a904c7de408a7b15f
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/path_thermodynamics.py
fep-095 · Detailed Fluctuation Symmetry · conditional_proxy
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep095.FEP095.fep095_detailedFluctuation_symmetry
Invariant
Under full path support, reverse-aligned mass times exponential pointwise entropy production reconstructs forward mass, and an exchanging reversal makes entropy production antisymmetric.
Assumption review
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.
Non-vacuity
A two-path protocol with swapped unequal full-support masses has nonzero pointwise entropy production whose sign reverses on the paired path.
Acceptance probe (requirement; not executed here)
native Lean compile of fep095_detailedFluctuation_symmetry and fep095_entropyProduction_reversal_antisymmetry with both exchange hypotheses.
Supporting qualified declarations
fep_fep095.FEP095.fep095_entropyProduction_reversal_antisymmetry
Boundary qualified declarations
Absent
Canonical body SHA-256
e6f5748da3b24f4a676529860817adf6a537d3a01ac721e6f0f03e0308620f21
Exact Lean statement (proof omitted)
theorem fep095_detailedFluctuation_symmetry
     (protocol : FinitePathProtocol Path)
     (hForward : ∀ path, 0 < protocol.forward path)
     (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path) :
@@ -537,13 +537,13 @@
         Real.exp (pathwiseEntropyProduction protocol path) =
       protocol.forward path
Exact conclusion
protocol.reverseAligned path *
         Real.exp (pathwiseEntropyProduction protocol path) =
-      protocol.forward path
Source statement SHA-256
bb7351a9144564779a9152fea17f631d33a78e4e569ec4bc5914dae6954ee47d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
source syntax; proposition elaboration not performed['hForward']typed_binder(hForward : ∀ path, 0 < protocol.forward path)∀ path, 0 < protocol.forward pathexplicit
source syntax; proposition elaboration not performed['hReverse']typed_binder(hReverse : ∀ path, 0 < protocol.reverseAligned path)∀ path, 0 < protocol.reverseAligned pathexplicit
source syntax; proposition elaboration not performed['path']typed_binder(path : Path)Pathexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.detailedFluctuation_identity']detailedFluctuation_identityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/path_thermodynamics.py
fep-096 · Integral Fluctuation Theorem · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep096.FEP096.fep096_integralFluctuation_theorem
Invariant
The forward expectation of exponential negative pointwise entropy production equals one for normalized finite full-support forward and reverse path laws.
Assumption review
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.
Non-vacuity
Unequal full-support path laws produce nonconstant entropy-production values whose weighted exponentials still normalize exactly to one.
Acceptance probe (requirement; not executed here)
native Lean compile of fep096_integralFluctuation_theorem with forward and reverse full-support premises.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
d131f1f1349e311c2c9afe46d3fb99050722b0dad4e2f6973c72906f9308a02b
Exact Lean statement (proof omitted)
theorem fep096_integralFluctuation_theorem
+      protocol.forward path
Source statement SHA-256
bb7351a9144564779a9152fea17f631d33a78e4e569ec4bc5914dae6954ee47d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
source syntax; proposition elaboration not performed['hForward']typed_binder(hForward : ∀ path, 0 < protocol.forward path)∀ path, 0 < protocol.forward pathexplicit
source syntax; proposition elaboration not performed['hReverse']typed_binder(hReverse : ∀ path, 0 < protocol.reverseAligned path)∀ path, 0 < protocol.reverseAligned pathexplicit
source syntax; proposition elaboration not performed['path']typed_binder(path : Path)Pathexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.detailedFluctuation_identity']detailedFluctuation_identityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/path_thermodynamics.py
fep-096 · Integral Fluctuation Theorem · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep096.FEP096.fep096_integralFluctuation_theorem
Invariant
The forward expectation of exponential negative pointwise entropy production equals one for normalized finite full-support forward and reverse path laws.
Assumption review
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.
Non-vacuity
Unequal full-support path laws produce nonconstant entropy-production values whose weighted exponentials still normalize exactly to one.
Acceptance probe (requirement; not executed here)
native Lean compile of fep096_integralFluctuation_theorem with forward and reverse full-support premises.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
d131f1f1349e311c2c9afe46d3fb99050722b0dad4e2f6973c72906f9308a02b
Exact Lean statement (proof omitted)
theorem fep096_integralFluctuation_theorem
     (protocol : FinitePathProtocol Path)
     (hForward : ∀ path, 0 < protocol.forward path)
     (hReverse : ∀ path, 0 < protocol.reverseAligned path) :
     ∑ path, protocol.forward path *
         Real.exp (-pathwiseEntropyProduction protocol path) = 1
Exact conclusion
∑ path, protocol.forward path *
-        Real.exp (-pathwiseEntropyProduction protocol path) = 1
Source statement SHA-256
3b11546769bf446eaebebe7cfde4e63602787f6bb3b110f16a9fddd48dd5d3eb
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
source syntax; proposition elaboration not performed['hForward']typed_binder(hForward : ∀ path, 0 < protocol.forward path)∀ path, 0 < protocol.forward pathexplicit
source syntax; proposition elaboration not performed['hReverse']typed_binder(hReverse : ∀ path, 0 < protocol.reverseAligned path)∀ path, 0 < protocol.reverseAligned pathexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.integralFluctuation_eq_one']integralFluctuation_eq_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/path_thermodynamics.py
fep-097 · Finite Jarzynski Equality · conditional_proxy
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep097.FEP097.fep097_finiteJarzynski_equality
Invariant
A normalized finite exponential-work protocol has work average equal to the exponential of negative inverse temperature times free-energy difference.
Assumption review
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.
Non-vacuity
The actual nonconstant Boolean Crooks work witness satisfies the normalization at beta=1 and deltaFreeEnergy=0. Positive beta excludes the zero inverse-temperature parameter boundary; no physical temperature or unit identification is inferred without an explicit convention.
Acceptance probe (requirement; not executed here)
native Lean compile of fep097_finiteJarzynski_equality with the explicit beta, work, free-energy, and normalization certificate.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
049daa7481266c47ce6f8341c42e494466419da61cf5b93d0ac015561c5f85f4
Exact Lean statement (proof omitted)
theorem fep097_finiteJarzynski_equality
+        Real.exp (-pathwiseEntropyProduction protocol path) = 1
Source statement SHA-256
3b11546769bf446eaebebe7cfde4e63602787f6bb3b110f16a9fddd48dd5d3eb
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['protocol']typed_binder(protocol : FinitePathProtocol Path)FinitePathProtocol Pathexplicit
source syntax; proposition elaboration not performed['hForward']typed_binder(hForward : ∀ path, 0 < protocol.forward path)∀ path, 0 < protocol.forward pathexplicit
source syntax; proposition elaboration not performed['hReverse']typed_binder(hReverse : ∀ path, 0 < protocol.reverseAligned path)∀ path, 0 < protocol.reverseAligned pathexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.integralFluctuation_eq_one']integralFluctuation_eq_oneunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/path_thermodynamics.py
fep-097 · Finite Jarzynski Equality · conditional_proxy
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep097.FEP097.fep097_finiteJarzynski_equality
Invariant
A normalized finite exponential-work protocol has work average equal to the exponential of negative inverse temperature times free-energy difference.
Assumption review
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.
Non-vacuity
The actual nonconstant Boolean Crooks work witness satisfies the normalization at beta=1 and deltaFreeEnergy=0. Positive beta excludes the zero inverse-temperature parameter boundary; no physical temperature or unit identification is inferred without an explicit convention.
Acceptance probe (requirement; not executed here)
native Lean compile of fep097_finiteJarzynski_equality with the explicit beta, work, free-energy, and normalization certificate.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
049daa7481266c47ce6f8341c42e494466419da61cf5b93d0ac015561c5f85f4
Exact Lean statement (proof omitted)
theorem fep097_finiteJarzynski_equality
     (law : FiniteLaw Path) (beta deltaFreeEnergy : ℝ)
     (work : Path → ℝ)
     (hNormalization :
@@ -551,10 +551,10 @@
     exponentialWorkAverage law beta work =
       Real.exp (-beta * deltaFreeEnergy)
Exact conclusion
exponentialWorkAverage law beta work =
       Real.exp (-beta * deltaFreeEnergy)
Source statement SHA-256
dde76533df2c63b5c344035d8ca0901aa37d32f729d5921923f26bc7d503b8bc
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Path : Type*} [Fintype Path]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['law']typed_binder(law : FiniteLaw Path)FiniteLaw Pathexplicit
source syntax; proposition elaboration not performed['beta', 'deltaFreeEnergy']typed_binder(beta deltaFreeEnergy : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['work']typed_binder(work : Path → ℝ)Path → ℝexplicit
source syntax; proposition elaboration not performed['hNormalization']typed_binder(hNormalization : - HasJarzynskiNormalization law beta deltaFreeEnergy work)HasJarzynskiNormalization law beta deltaFreeEnergy workexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.finiteJarzynski_eq']finiteJarzynski_equnresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/path_thermodynamics.py
fep-098 · Local Detailed Balance and Current Cancellation · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep098.FEP098.fep098_localDetailedBalance_currentCancellation
Invariant
Detailed balance cancels every oriented finite probability current, while a zero reverse rate is exposed as a totalized-log affinity boundary.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep098_localDetailedBalance_currentCancellation and fep098_zeroReverseRate_boundary with the support interpretation separated.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep098.FEP098.fep098_zeroReverseRate_boundary
Canonical body SHA-256
268a7a347d7f635eb31ccc607d423b924431eb8332f94fc9ec6bd9a388baddd6
Exact Lean statement (proof omitted)
theorem fep098_localDetailedBalance_currentCancellation
+      HasJarzynskiNormalization law beta deltaFreeEnergy work)HasJarzynskiNormalization law beta deltaFreeEnergy workexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.finiteJarzynski_eq']finiteJarzynski_equnresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/path_thermodynamics.py
fep-098 · Local Detailed Balance and Current Cancellation · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep098.FEP098.fep098_localDetailedBalance_currentCancellation
Invariant
Detailed balance cancels every oriented finite probability current, while a zero reverse rate is exposed as a totalized-log affinity boundary.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep098_localDetailedBalance_currentCancellation and fep098_zeroReverseRate_boundary with the support interpretation separated.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep098.FEP098.fep098_zeroReverseRate_boundary
Canonical body SHA-256
268a7a347d7f635eb31ccc607d423b924431eb8332f94fc9ec6bd9a388baddd6
Exact Lean statement (proof omitted)
theorem fep098_localDetailedBalance_currentCancellation
     (law : FiniteLaw State) (kernel : FiniteKernel State State)
     (hReversible : IsReversible law kernel) (source target : State) :
-    probabilityCurrent law kernel source target = 0
Exact conclusion
probabilityCurrent law kernel source target = 0
Source statement SHA-256
231a346ec9052f7a01161826338ddd6b7acf186c9a1068b3c110d7d4295f69d6
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['law']typed_binder(law : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['hReversible']typed_binder(hReversible : IsReversible law kernel)IsReversible law kernelexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.localDetailedBalance_current_zero']localDetailedBalance_current_zerounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/path_thermodynamics.py
fep-099 · Reversible-Chain One-Step KL Dissipation · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep099.FEP099.fep099_reversibleChain_oneStep_KL_dissipation
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.
Assumption review
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.
Non-vacuity
A strictly positive symmetric mixing kernel supplies an instance of the main dissipation theorem. The separately proved identity equality lies outside its positive-transition class on multi-state carriers. Unequal full-support Boolean path laws prove positive path divergence; the existing stationary biased three-cycle separately proves nonreversibility and positive production at every positive finite horizon.
Acceptance probe (requirement; not executed here)
native Lean compile of fep099_reversibleChain_oneStep_KL_dissipation, fep099_reversibleEquality_boundary, and fep099_irreversiblePositiveProduction_witness.
Supporting qualified declarations
fep_fep099.FEP099.fep099_irreversiblePositiveProduction_witness
Boundary qualified declarations
fep_fep099.FEP099.fep099_reversibleEquality_boundary
Canonical body SHA-256
3df41a1d1403ef1db884407279c6aee1d70fbd7fd6dfa8d2ae2d48cd6a356331
Exact Lean statement (proof omitted)
theorem fep099_reversibleChain_oneStep_KL_dissipation
+    probabilityCurrent law kernel source target = 0
Exact conclusion
probabilityCurrent law kernel source target = 0
Source statement SHA-256
231a346ec9052f7a01161826338ddd6b7acf186c9a1068b3c110d7d4295f69d6
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['law']typed_binder(law : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['hReversible']typed_binder(hReversible : IsReversible law kernel)IsReversible law kernelexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.localDetailedBalance_current_zero']localDetailedBalance_current_zerounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/path_thermodynamics.py
fep-099 · Reversible-Chain One-Step KL Dissipation · formalized
Family context (editorial)
path-space-stochastic-thermodynamics
Primary qualified witness
fep_fep099.FEP099.fep099_reversibleChain_oneStep_KL_dissipation
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.
Assumption review
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.
Non-vacuity
A strictly positive symmetric mixing kernel supplies an instance of the main dissipation theorem. The separately proved identity equality lies outside its positive-transition class on multi-state carriers. Unequal full-support Boolean path laws prove positive path divergence; the existing stationary biased three-cycle separately proves nonreversibility and positive production at every positive finite horizon.
Acceptance probe (requirement; not executed here)
native Lean compile of fep099_reversibleChain_oneStep_KL_dissipation, fep099_reversibleEquality_boundary, and fep099_irreversiblePositiveProduction_witness.
Supporting qualified declarations
fep_fep099.FEP099.fep099_irreversiblePositiveProduction_witness
Boundary qualified declarations
fep_fep099.FEP099.fep099_reversibleEquality_boundary
Canonical body SHA-256
3df41a1d1403ef1db884407279c6aee1d70fbd7fd6dfa8d2ae2d48cd6a356331
Exact Lean statement (proof omitted)
theorem fep099_reversibleChain_oneStep_KL_dissipation
     [Nonempty State]
     (actual stationary : FiniteLaw State)
     (kernel : FiniteKernel State State)
@@ -564,22 +564,22 @@
     (hReversible : IsReversible stationary kernel) :
     finiteKL (kernel.predictive actual) stationary ≤
       finiteKL actual stationary
Exact conclusion
finiteKL (kernel.predictive actual) stationary ≤
-      finiteKL actual stationary
Source statement SHA-256
2228d0602ecea43d7fede48e56bf282cebe6a360c9fc6222673dde3e41c5e5fd
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty State]Nonempty Stateinstance
source syntax; proposition elaboration not performed['actual', 'stationary']typed_binder(actual stationary : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['hActual']typed_binder(hActual : ∀ state, 0 < actual state)∀ state, 0 < actual stateexplicit
source syntax; proposition elaboration not performed['hStationary']typed_binder(hStationary : ∀ state, 0 < stationary state)∀ state, 0 < stationary stateexplicit
source syntax; proposition elaboration not performed['hKernel']typed_binder(hKernel : ∀ source target, 0 < kernel source target)∀ source target, 0 < kernel source targetexplicit
source syntax; proposition elaboration not performed['hReversible']typed_binder(hReversible : IsReversible stationary kernel)IsReversible stationary kernelexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.reversibleKL_oneStep_dissipation']reversibleKL_oneStep_dissipationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/path_thermodynamics.py
fep-100 · Categorical Fisher Positivity on Simplex Tangents · conditional_proxy
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep100.FEP100.fep100_categoricalFisher_simplexTangent_positivity
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep100_categoricalFisher_simplexTangent_positivity, fep100_twoCategorical_simplexMetric_fullRank, fep100_twoCategorical_tangent_spanning, fep100_fullRank_categorical_example, and fep100_rankDeficient_nullDirection_example.
Supporting qualified declarations
fep_fep100.FEP100.fep100_twoCategorical_simplexMetric_fullRank; fep_fep100.FEP100.fep100_twoCategorical_tangent_spanning; fep_fep100.FEP100.fep100_fullRank_categorical_example
Boundary qualified declarations
fep_fep100.FEP100.fep100_rankDeficient_nullDirection_example
Canonical body SHA-256
f2cf68dc1367c14b7993e10bd396876280979b6b07efe9e9d51a2ae98ebc880d
Exact Lean statement (proof omitted)
theorem fep100_categoricalFisher_simplexTangent_positivity
+      finiteKL actual stationary
Source statement SHA-256
2228d0602ecea43d7fede48e56bf282cebe6a360c9fc6222673dde3e41c5e5fd
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty State]Nonempty Stateinstance
source syntax; proposition elaboration not performed['actual', 'stationary']typed_binder(actual stationary : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel State State)FiniteKernel State Stateexplicit
source syntax; proposition elaboration not performed['hActual']typed_binder(hActual : ∀ state, 0 < actual state)∀ state, 0 < actual stateexplicit
source syntax; proposition elaboration not performed['hStationary']typed_binder(hStationary : ∀ state, 0 < stationary state)∀ state, 0 < stationary stateexplicit
source syntax; proposition elaboration not performed['hKernel']typed_binder(hKernel : ∀ source target, 0 < kernel source target)∀ source target, 0 < kernel source targetexplicit
source syntax; proposition elaboration not performed['hReversible']typed_binder(hReversible : IsReversible stationary kernel)IsReversible stationary kernelexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PathThermodynamics.reversibleKL_oneStep_dissipation']reversibleKL_oneStep_dissipationunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/path_thermodynamics.py
fep-100 · Categorical Fisher Positivity on Simplex Tangents · conditional_proxy
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep100.FEP100.fep100_categoricalFisher_simplexTangent_positivity
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep100_categoricalFisher_simplexTangent_positivity, fep100_twoCategorical_simplexMetric_fullRank, fep100_twoCategorical_tangent_spanning, fep100_fullRank_categorical_example, and fep100_rankDeficient_nullDirection_example.
Supporting qualified declarations
fep_fep100.FEP100.fep100_twoCategorical_simplexMetric_fullRank; fep_fep100.FEP100.fep100_twoCategorical_tangent_spanning; fep_fep100.FEP100.fep100_fullRank_categorical_example
Boundary qualified declarations
fep_fep100.FEP100.fep100_rankDeficient_nullDirection_example
Canonical body SHA-256
f2cf68dc1367c14b7993e10bd396876280979b6b07efe9e9d51a2ae98ebc880d
Exact Lean statement (proof omitted)
theorem fep100_categoricalFisher_simplexTangent_positivity
     (carrier : CategoricalFisherCarrier d)
     (tangent : Fin d → ℝ) (hTangent : IsSimplexTangent tangent)
     (hNonzero : tangent ≠ 0) :
-    0 < fisherMetric carrier.model tangent tangent
Exact conclusion
0 < fisherMetric carrier.model tangent tangent
Source statement SHA-256
eddf08868ba5eeac6eba0283ece75ad02874db34b3bfe0dfe4c74c996d80c9d2
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['carrier']typed_binder(carrier : CategoricalFisherCarrier d)CategoricalFisherCarrier dexplicit
source syntax; proposition elaboration not performed['tangent']typed_binder(tangent : Fin d → ℝ)Fin d → ℝexplicit
source syntax; proposition elaboration not performed['hTangent']typed_binder(hTangent : IsSimplexTangent tangent)IsSimplexTangent tangentexplicit
source syntax; proposition elaboration not performed['hNonzero']typed_binder(hNonzero : tangent ≠ 0)tangent ≠ 0explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.categoricalFisher_pos']categoricalFisher_posunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_optimization.py
fep-101 · Fisher Pullback under Reparameterization · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep101.FEP101.fep101_fisherPullback_reparameterization
Invariant
Pulling the existing finite Fisher metric through a composite Jacobian equals successive pullback, and every such pullback is positive semidefinite.
Assumption review
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.
Non-vacuity
Nonidentity rectangular Jacobians exercise genuine reparameterization, while a rank-deficient matrix demonstrates why the conclusion is nonnegative rather than strictly positive.
Acceptance probe (requirement; not executed here)
native Lean compile of fep101_fisherPullback_reparameterization and fep101_fisherPullback_nonnegative on the inherited ScoreModel Fisher carrier.
Supporting qualified declarations
fep_fep101.FEP101.fep101_fisherPullback_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
579787b453128fd06ce83488609f6edc1ef6c8cf0e8169892092ba7670afadc4
Exact Lean statement (proof omitted)
theorem fep101_fisherPullback_reparameterization
+    0 < fisherMetric carrier.model tangent tangent
Exact conclusion
0 < fisherMetric carrier.model tangent tangent
Source statement SHA-256
eddf08868ba5eeac6eba0283ece75ad02874db34b3bfe0dfe4c74c996d80c9d2
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['carrier']typed_binder(carrier : CategoricalFisherCarrier d)CategoricalFisherCarrier dexplicit
source syntax; proposition elaboration not performed['tangent']typed_binder(tangent : Fin d → ℝ)Fin d → ℝexplicit
source syntax; proposition elaboration not performed['hTangent']typed_binder(hTangent : IsSimplexTangent tangent)IsSimplexTangent tangentexplicit
source syntax; proposition elaboration not performed['hNonzero']typed_binder(hNonzero : tangent ≠ 0)tangent ≠ 0explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.categoricalFisher_pos']categoricalFisher_posunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_optimization.py
fep-101 · Fisher Pullback under Reparameterization · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep101.FEP101.fep101_fisherPullback_reparameterization
Invariant
Pulling the existing finite Fisher metric through a composite Jacobian equals successive pullback, and every such pullback is positive semidefinite.
Assumption review
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.
Non-vacuity
Nonidentity rectangular Jacobians exercise genuine reparameterization, while a rank-deficient matrix demonstrates why the conclusion is nonnegative rather than strictly positive.
Acceptance probe (requirement; not executed here)
native Lean compile of fep101_fisherPullback_reparameterization and fep101_fisherPullback_nonnegative on the inherited ScoreModel Fisher carrier.
Supporting qualified declarations
fep_fep101.FEP101.fep101_fisherPullback_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
579787b453128fd06ce83488609f6edc1ef6c8cf0e8169892092ba7670afadc4
Exact Lean statement (proof omitted)
theorem fep101_fisherPullback_reparameterization
     (model : ScoreModel Outcome d)
     (outer : Matrix (Fin d) (Fin k) ℝ)
     (inner : Matrix (Fin k) (Fin d) ℝ)
     (left right : Fin d → ℝ) :
     pullbackMetric model (outer * inner) left right =
       pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)
Exact conclusion
pullbackMetric model (outer * inner) left right =
-      pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)
Source statement SHA-256
39075e92e670dbe4fc410780da0a282f0afde3c06d659efae89f772c684f60bb
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome]
{d k : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ScoreModel Outcome d)ScoreModel Outcome dexplicit
source syntax; proposition elaboration not performed['outer']typed_binder(outer : Matrix (Fin d) (Fin k) ℝ)Matrix (Fin d) (Fin k) ℝexplicit
source syntax; proposition elaboration not performed['inner']typed_binder(inner : Matrix (Fin k) (Fin d) ℝ)Matrix (Fin k) (Fin d) ℝexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.fisherPullback_comp']fisherPullback_compunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_optimization.py
fep-102 · Unbiased Scalar Cramér–Rao Bound under Score Regularity · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep102.FEP102.fep102_unbiasedScalar_cramerRao
Invariant
Finite unbiased scalar estimation under score regularity and positive Fisher information satisfies variance times Fisher information at least one.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep102_unbiasedScalar_cramerRao with unbiasedness, score regularity, and Fisher positivity fields explicit.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
e5c47a3f7f253c1bf614de67fdff78703bbc802bf734842613f5d36314ef0759
Exact Lean statement (proof omitted)
theorem fep102_unbiasedScalar_cramerRao
+      pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)
Source statement SHA-256
39075e92e670dbe4fc410780da0a282f0afde3c06d659efae89f772c684f60bb
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome]
{d k : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ScoreModel Outcome d)ScoreModel Outcome dexplicit
source syntax; proposition elaboration not performed['outer']typed_binder(outer : Matrix (Fin d) (Fin k) ℝ)Matrix (Fin d) (Fin k) ℝexplicit
source syntax; proposition elaboration not performed['inner']typed_binder(inner : Matrix (Fin k) (Fin d) ℝ)Matrix (Fin k) (Fin d) ℝexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.fisherPullback_comp']fisherPullback_compunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_optimization.py
fep-102 · Unbiased Scalar Cramér–Rao Bound under Score Regularity · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep102.FEP102.fep102_unbiasedScalar_cramerRao
Invariant
Finite unbiased scalar estimation under score regularity and positive Fisher information satisfies variance times Fisher information at least one.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep102_unbiasedScalar_cramerRao with unbiasedness, score regularity, and Fisher positivity fields explicit.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
e5c47a3f7f253c1bf614de67fdff78703bbc802bf734842613f5d36314ef0759
Exact Lean statement (proof omitted)
theorem fep102_unbiasedScalar_cramerRao
     (model : ScoreModel Outcome 1) (estimator : Outcome → ℝ)
     (target : ℝ)
     (certificate : ScalarCramerRaoCertificate model estimator target) :
-    1 ≤ estimatorVariance model.law estimator target * scalarFisher model
Exact conclusion
1 ≤ estimatorVariance model.law estimator target * scalarFisher model
Source statement SHA-256
5246413d1a88c1d2d5d190b6177bc9eb4acd6c67f700b1fcb90d59bd7d4952c5
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ScoreModel Outcome 1)ScoreModel Outcome 1explicit
source syntax; proposition elaboration not performed['estimator']typed_binder(estimator : Outcome → ℝ)Outcome → ℝexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['certificate']typed_binder(certificate : ScalarCramerRaoCertificate model estimator target)ScalarCramerRaoCertificate model estimator targetexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.scalarCramerRao']scalarCramerRaounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_optimization.py
fep-103 · Natural-Gradient Equivariance under an Invertible Full-Rank Chart · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep103.FEP103.fep103_naturalGradient_equivariance
Invariant
Under invertible Fisher and chart matrices, the natural gradient transports equivariantly so lowering the chart-coordinate vector yields the pulled-back covector.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep103_naturalGradient_equivariance and fep103_weightedCauchySchwarz_proofSpike with both invertibility boundaries.
Supporting qualified declarations
fep_fep103.FEP103.fep103_weightedCauchySchwarz_proofSpike
Boundary qualified declarations
Absent
Canonical body SHA-256
ef756e160ff8dc4b02f3813393b04b9e30ddf53fca1496ea738d09cd173b849c
Exact Lean statement (proof omitted)
theorem fep103_naturalGradient_equivariance
+    1 ≤ estimatorVariance model.law estimator target * scalarFisher model
Exact conclusion
1 ≤ estimatorVariance model.law estimator target * scalarFisher model
Source statement SHA-256
5246413d1a88c1d2d5d190b6177bc9eb4acd6c67f700b1fcb90d59bd7d4952c5
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ScoreModel Outcome 1)ScoreModel Outcome 1explicit
source syntax; proposition elaboration not performed['estimator']typed_binder(estimator : Outcome → ℝ)Outcome → ℝexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['certificate']typed_binder(certificate : ScalarCramerRaoCertificate model estimator target)ScalarCramerRaoCertificate model estimator targetexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.scalarCramerRao']scalarCramerRaounresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_optimization.py
fep-103 · Natural-Gradient Equivariance under an Invertible Full-Rank Chart · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep103.FEP103.fep103_naturalGradient_equivariance
Invariant
Under invertible Fisher and chart matrices, the natural gradient transports equivariantly so lowering the chart-coordinate vector yields the pulled-back covector.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep103_naturalGradient_equivariance and fep103_weightedCauchySchwarz_proofSpike with both invertibility boundaries.
Supporting qualified declarations
fep_fep103.FEP103.fep103_weightedCauchySchwarz_proofSpike
Boundary qualified declarations
Absent
Canonical body SHA-256
ef756e160ff8dc4b02f3813393b04b9e30ddf53fca1496ea738d09cd173b849c
Exact Lean statement (proof omitted)
theorem fep103_naturalGradient_equivariance
     (model : ScoreModel Outcome d) [Invertible (fisherMatrix model)]
     (jacobian : Matrix (Fin d) (Fin d) ℝ) [Invertible jacobian]
     (covector : Fin d → ℝ) :
@@ -587,7 +587,7 @@
         (chartCoordinates jacobian (naturalGradient model covector)) =
       chartCovector jacobian covector
Exact conclusion
chartPullbackLower model jacobian
         (chartCoordinates jacobian (naturalGradient model covector)) =
-      chartCovector jacobian covector
Source statement SHA-256
010a2159f70563c04db0ae72aec5b25a12fd3fd2c07322b851fdcb232c62a3cf
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome]
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ScoreModel Outcome d)ScoreModel Outcome dexplicit
source syntax; proposition elaboration not performed[]instance_requirement[Invertible (fisherMatrix model)]Invertible (fisherMatrix model)instance
source syntax; proposition elaboration not performed['jacobian']typed_binder(jacobian : Matrix (Fin d) (Fin d) ℝ)Matrix (Fin d) (Fin d) ℝexplicit
source syntax; proposition elaboration not performed[]instance_requirement[Invertible jacobian]Invertible jacobianinstance
source syntax; proposition elaboration not performed['covector']typed_binder(covector : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.naturalGradient_equivariant']naturalGradient_equivariantunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_optimization.py
fep-104 · Mirror-Descent Three-Point Identity · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity
Invariant
The algebraic Bregman expression associated with supplied potential and gradient data obeys the exact three-point identity used by mirror descent.
Assumption review
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.
Non-vacuity
For Fin1 quadratic potential x0^2/2 and true gradient x0, the points left=2,middle=1,right=0 give divergence difference 2-1/2-1/2=1 and pairing1. This exercises the identity without asserting convexity or derivative compatibility for arbitrary supplied data.
Acceptance probe (requirement; not executed here)
native Lean compile of fep104_mirrorDescent_threePoint_identity for arbitrary finite-dimensional potential and gradient data.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
20c47da0b559cf308ad4ff6d69881c1f2669a0816c209df3d3bfbb98e2da4475
Exact Lean statement (proof omitted)
theorem fep104_mirrorDescent_threePoint_identity
+      chartCovector jacobian covector
Source statement SHA-256
010a2159f70563c04db0ae72aec5b25a12fd3fd2c07322b851fdcb232c62a3cf
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome]
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : ScoreModel Outcome d)ScoreModel Outcome dexplicit
source syntax; proposition elaboration not performed[]instance_requirement[Invertible (fisherMatrix model)]Invertible (fisherMatrix model)instance
source syntax; proposition elaboration not performed['jacobian']typed_binder(jacobian : Matrix (Fin d) (Fin d) ℝ)Matrix (Fin d) (Fin d) ℝexplicit
source syntax; proposition elaboration not performed[]instance_requirement[Invertible jacobian]Invertible jacobianinstance
source syntax; proposition elaboration not performed['covector']typed_binder(covector : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.naturalGradient_equivariant']naturalGradient_equivariantunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_optimization.py
fep-104 · Mirror-Descent Three-Point Identity · formalized
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity
Invariant
The algebraic Bregman expression associated with supplied potential and gradient data obeys the exact three-point identity used by mirror descent.
Assumption review
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.
Non-vacuity
For Fin1 quadratic potential x0^2/2 and true gradient x0, the points left=2,middle=1,right=0 give divergence difference 2-1/2-1/2=1 and pairing1. This exercises the identity without asserting convexity or derivative compatibility for arbitrary supplied data.
Acceptance probe (requirement; not executed here)
native Lean compile of fep104_mirrorDescent_threePoint_identity for arbitrary finite-dimensional potential and gradient data.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
20c47da0b559cf308ad4ff6d69881c1f2669a0816c209df3d3bfbb98e2da4475
Exact Lean statement (proof omitted)
theorem fep104_mirrorDescent_threePoint_identity
     (potential : (Fin d → ℝ) → ℝ)
     (gradient : (Fin d → ℝ) → Fin d → ℝ)
     (left middle right : Fin d → ℝ) :
@@ -603,7 +603,7 @@
       coordinatePairing
         (fun coordinate ↦
           gradient middle coordinate - gradient right coordinate)
-        (fun coordinate ↦ left coordinate - middle coordinate)
Source statement SHA-256
390eec210f9de37001adcb624fe1f9133c47276e3d9adeb88974a683d296043d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['potential']typed_binder(potential : (Fin d → ℝ) → ℝ)(Fin d → ℝ) → ℝexplicit
source syntax; proposition elaboration not performed['gradient']typed_binder(gradient : (Fin d → ℝ) → Fin d → ℝ)(Fin d → ℝ) → Fin d → ℝexplicit
source syntax; proposition elaboration not performed['left', 'middle', 'right']typed_binder(left middle right : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.mirrorDescent_threePoint_identity']mirrorDescent_threePoint_identityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_optimization.py
fep-105 · Bregman Pythagorean Law for an Affine Information Projection · conditional_proxy
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep105.FEP105.fep105_affineProjection_bregmanPythagorean
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.
Assumption review
AffineBregmanProjection supplies membership and gradient-difference orthogonality for every candidate in a named Set; no IsAffine or convexity predicate is required. Splitting holds under that certificate. The minimization comparison additionally assumes residual Bregman nonnegativity for the selected candidate; obtaining a minimizer over the whole set requires this for all candidates. Existence, uniqueness, derivative compatibility and convexity are not derived.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep105_affineProjection_bregmanPythagorean and fep105_affineProjection_minimizes with orthogonality and residual nonnegativity explicit.
Supporting qualified declarations
fep_fep105.FEP105.fep105_affineProjection_minimizes
Boundary qualified declarations
Absent
Canonical body SHA-256
1133e67cc54d0da143630427c0812ebf11891f6bb40ee64f8fcc3547895a15cb
Exact Lean statement (proof omitted)
theorem fep105_affineProjection_bregmanPythagorean
+        (fun coordinate ↦ left coordinate - middle coordinate)
Source statement SHA-256
390eec210f9de37001adcb624fe1f9133c47276e3d9adeb88974a683d296043d
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['potential']typed_binder(potential : (Fin d → ℝ) → ℝ)(Fin d → ℝ) → ℝexplicit
source syntax; proposition elaboration not performed['gradient']typed_binder(gradient : (Fin d → ℝ) → Fin d → ℝ)(Fin d → ℝ) → Fin d → ℝexplicit
source syntax; proposition elaboration not performed['left', 'middle', 'right']typed_binder(left middle right : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.mirrorDescent_threePoint_identity']mirrorDescent_threePoint_identityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_optimization.py
fep-105 · Bregman Pythagorean Law for an Affine Information Projection · conditional_proxy
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep105.FEP105.fep105_affineProjection_bregmanPythagorean
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.
Assumption review
AffineBregmanProjection supplies membership and gradient-difference orthogonality for every candidate in a named Set; no IsAffine or convexity predicate is required. Splitting holds under that certificate. The minimization comparison additionally assumes residual Bregman nonnegativity for the selected candidate; obtaining a minimizer over the whole set requires this for all candidates. Existence, uniqueness, derivative compatibility and convexity are not derived.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep105_affineProjection_bregmanPythagorean and fep105_affineProjection_minimizes with orthogonality and residual nonnegativity explicit.
Supporting qualified declarations
fep_fep105.FEP105.fep105_affineProjection_minimizes
Boundary qualified declarations
Absent
Canonical body SHA-256
1133e67cc54d0da143630427c0812ebf11891f6bb40ee64f8fcc3547895a15cb
Exact Lean statement (proof omitted)
theorem fep105_affineProjection_bregmanPythagorean
     (potential : (Fin d → ℝ) → ℝ)
     (gradient : (Fin d → ℝ) → Fin d → ℝ)
     (affineSet : Set (Fin d → ℝ))
@@ -617,13 +617,13 @@
       bregmanDivergence potential gradient candidate projection +
         bregmanDivergence potential gradient projection base
Source statement SHA-256
a34e8f3f86f3df474b5e312a8450ace17f86708a5b09714c24b742ccbe759d83
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['potential']typed_binder(potential : (Fin d → ℝ) → ℝ)(Fin d → ℝ) → ℝexplicit
source syntax; proposition elaboration not performed['gradient']typed_binder(gradient : (Fin d → ℝ) → Fin d → ℝ)(Fin d → ℝ) → Fin d → ℝexplicit
source syntax; proposition elaboration not performed['affineSet']typed_binder(affineSet : Set (Fin d → ℝ))Set (Fin d → ℝ)explicit
source syntax; proposition elaboration not performed['base', 'projection', 'candidate']typed_binder(base projection candidate : Fin d → ℝ)Fin d → ℝexplicit
source syntax; proposition elaboration not performed['hProjection']typed_binder(hProjection : AffineBregmanProjection potential gradient affineSet base projection)AffineBregmanProjection potential gradient affineSet - base projectionexplicit
source syntax; proposition elaboration not performed['hCandidate']typed_binder(hCandidate : candidate ∈ affineSet)candidate ∈ affineSetexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.affineProjection_bregmanPythagorean']affineProjection_bregmanPythagoreanunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_optimization.py
fep-106 · Replicator–Natural-Gradient Equivalence · conditional_proxy
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep106.FEP106.fep106_replicator_naturalGradient_equivalence
Invariant
On a certified categorical Fisher carrier, the replicator vector is the natural gradient of centered fitness and has zero total mass.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep106_replicator_naturalGradient_equivalence and fep106_replicator_massConservation on the inherited Fisher carrier, plus fep106_twoCategorical_nonzero_replicator_witness on the concrete Fin 2 model.
Supporting qualified declarations
fep_fep106.FEP106.fep106_replicator_massConservation; fep_fep106.FEP106.fep106_twoCategorical_nonzero_replicator_witness
Boundary qualified declarations
Absent
Canonical body SHA-256
0806d5b5a5f8f996564a7fb69ffa8c4a635131c72c8fe0ddc03f784ae7b97e01
Exact Lean statement (proof omitted)
theorem fep106_replicator_naturalGradient_equivalence
+      base projectionexplicitsource syntax; proposition elaboration not performed['hCandidate']typed_binder(hCandidate : candidate ∈ affineSet)candidate ∈ affineSetexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.affineProjection_bregmanPythagorean']affineProjection_bregmanPythagoreanunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_optimization.py
fep-106 · Replicator–Natural-Gradient Equivalence · conditional_proxy
Family context (editorial)
information-geometry-and-geometric-optimization
Primary qualified witness
fep_fep106.FEP106.fep106_replicator_naturalGradient_equivalence
Invariant
On a certified categorical Fisher carrier, the replicator vector is the natural gradient of centered fitness and has zero total mass.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep106_replicator_naturalGradient_equivalence and fep106_replicator_massConservation on the inherited Fisher carrier, plus fep106_twoCategorical_nonzero_replicator_witness on the concrete Fin 2 model.
Supporting qualified declarations
fep_fep106.FEP106.fep106_replicator_massConservation; fep_fep106.FEP106.fep106_twoCategorical_nonzero_replicator_witness
Boundary qualified declarations
Absent
Canonical body SHA-256
0806d5b5a5f8f996564a7fb69ffa8c4a635131c72c8fe0ddc03f784ae7b97e01
Exact Lean statement (proof omitted)
theorem fep106_replicator_naturalGradient_equivalence
     (carrier : CategoricalFisherCarrier d) (fitness : Fin d → ℝ) :
     IsNaturalGradient carrier.model
       (fun coordinate ↦ fitness coordinate - meanFitness carrier.law fitness)
       (replicatorVector carrier.law fitness)
Exact conclusion
IsNaturalGradient carrier.model
       (fun coordinate ↦ fitness coordinate - meanFitness carrier.law fitness)
-      (replicatorVector carrier.law fitness)
Source statement SHA-256
1bdcb1e0f579c38916ee2ddb0356d1e696a313d33a9a62f0b78c257775603332
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['carrier']typed_binder(carrier : CategoricalFisherCarrier d)CategoricalFisherCarrier dexplicit
source syntax; proposition elaboration not performed['fitness']typed_binder(fitness : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.replicator_naturalGradient_equivalence']replicator_naturalGradient_equivalenceunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_optimization.py
fep-107 · Product-Agent Generative Law · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep107.FEP107.fep107_productAgent_generative_mass
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep107_productAgent_generative_mass and fep107_productKernel_normalized on arbitrary finite component laws and kernels.
Supporting qualified declarations
fep_fep107.FEP107.fep107_productKernel_normalized
Boundary qualified declarations
Absent
Canonical body SHA-256
401425197ca2143a209c4e8f05ca1eb5449328dbf94d0ce1bcc1cb75124d6638
Exact Lean statement (proof omitted)
theorem fep107_productAgent_generative_mass
+      (replicatorVector carrier.law fitness)
Source statement SHA-256
1bdcb1e0f579c38916ee2ddb0356d1e696a313d33a9a62f0b78c257775603332
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{d : ℕ}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['carrier']typed_binder(carrier : CategoricalFisherCarrier d)CategoricalFisherCarrier dexplicit
source syntax; proposition elaboration not performed['fitness']typed_binder(fitness : Fin d → ℝ)Fin d → ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.GeometricOptimization.replicator_naturalGradient_equivalence']replicator_naturalGradient_equivalenceunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_optimization.py
fep-107 · Product-Agent Generative Law · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep107.FEP107.fep107_productAgent_generative_mass
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep107_productAgent_generative_mass and fep107_productKernel_normalized on arbitrary finite component laws and kernels.
Supporting qualified declarations
fep_fep107.FEP107.fep107_productKernel_normalized
Boundary qualified declarations
Absent
Canonical body SHA-256
401425197ca2143a209c4e8f05ca1eb5449328dbf94d0ce1bcc1cb75124d6638
Exact Lean statement (proof omitted)
theorem fep107_productAgent_generative_mass
     (priorLeft : FiniteLaw State₁) (priorRight : FiniteLaw State₂)
     (kernelLeft : FiniteKernel State₁ Observation₁)
     (kernelRight : FiniteKernel State₂ Observation₂)
@@ -639,7 +639,7 @@
       kernelLeft.joint priorLeft (stateLeft, observationLeft) *
         kernelRight.joint priorRight (stateRight, observationRight)
Source statement SHA-256
a98f380c4fc3a8f5c6bf681c90dcc7044457be433ba1d3e68b34e8fd2483e225
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State₁ State₂ Observation₁ Observation₂ : Type*} [Fintype State₁] [Fintype State₂] - [Fintype Observation₁] [Fintype Observation₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['priorLeft']typed_binder(priorLeft : FiniteLaw State₁)FiniteLaw State₁explicit
source syntax; proposition elaboration not performed['priorRight']typed_binder(priorRight : FiniteLaw State₂)FiniteLaw State₂explicit
source syntax; proposition elaboration not performed['kernelLeft']typed_binder(kernelLeft : FiniteKernel State₁ Observation₁)FiniteKernel State₁ Observation₁explicit
source syntax; proposition elaboration not performed['kernelRight']typed_binder(kernelRight : FiniteKernel State₂ Observation₂)FiniteKernel State₂ Observation₂explicit
source syntax; proposition elaboration not performed['stateLeft']typed_binder(stateLeft : State₁)State₁explicit
source syntax; proposition elaboration not performed['stateRight']typed_binder(stateRight : State₂)State₂explicit
source syntax; proposition elaboration not performed['observationLeft']typed_binder(observationLeft : Observation₁)Observation₁explicit
source syntax; proposition elaboration not performed['observationRight']typed_binder(observationRight : Observation₂)Observation₂explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.productAgent_joint_massFEP.CollectiveInference.productAgent_joint_massexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/collective_inference.py
fep-108 · Additive Collective Variational Free Energy · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep108.FEP108.fep108_collectiveVFE_additive
Invariant
Variational free energy of independent product laws with additive cost is exactly the sum of the two agent-level free energies.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep108_collectiveVFE_additive and fep108_productCost_additive with both reference-support hypotheses.
Supporting qualified declarations
fep_fep108.FEP108.fep108_productCost_additive
Boundary qualified declarations
Absent
Canonical body SHA-256
3683d02b54773dee28599d1024a128d86ed31b461ae8ff70a78ca07c066fdab1
Exact Lean statement (proof omitted)
theorem fep108_collectiveVFE_additive
+  [Fintype Observation₁] [Fintype Observation₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['priorLeft']typed_binder(priorLeft : FiniteLaw State₁)FiniteLaw State₁explicit
source syntax; proposition elaboration not performed['priorRight']typed_binder(priorRight : FiniteLaw State₂)FiniteLaw State₂explicit
source syntax; proposition elaboration not performed['kernelLeft']typed_binder(kernelLeft : FiniteKernel State₁ Observation₁)FiniteKernel State₁ Observation₁explicit
source syntax; proposition elaboration not performed['kernelRight']typed_binder(kernelRight : FiniteKernel State₂ Observation₂)FiniteKernel State₂ Observation₂explicit
source syntax; proposition elaboration not performed['stateLeft']typed_binder(stateLeft : State₁)State₁explicit
source syntax; proposition elaboration not performed['stateRight']typed_binder(stateRight : State₂)State₂explicit
source syntax; proposition elaboration not performed['observationLeft']typed_binder(observationLeft : Observation₁)Observation₁explicit
source syntax; proposition elaboration not performed['observationRight']typed_binder(observationRight : Observation₂)Observation₂explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.productAgent_joint_massFEP.CollectiveInference.productAgent_joint_massexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/collective_inference.py
fep-108 · Additive Collective Variational Free Energy · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep108.FEP108.fep108_collectiveVFE_additive
Invariant
Variational free energy of independent product laws with additive cost is exactly the sum of the two agent-level free energies.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep108_collectiveVFE_additive and fep108_productCost_additive with both reference-support hypotheses.
Supporting qualified declarations
fep_fep108.FEP108.fep108_productCost_additive
Boundary qualified declarations
Absent
Canonical body SHA-256
3683d02b54773dee28599d1024a128d86ed31b461ae8ff70a78ca07c066fdab1
Exact Lean statement (proof omitted)
theorem fep108_collectiveVFE_additive
     (actualLeft referenceLeft : FiniteLaw State₁)
     (actualRight referenceRight : FiniteLaw State₂)
     (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ)
@@ -655,7 +655,7 @@
       FEP.CollectiveInference.variationalFreeEnergy
           actualLeft referenceLeft leftCost +
         FEP.CollectiveInference.variationalFreeEnergy
-          actualRight referenceRight rightCost
Source statement SHA-256
c91b8b0f94d40985009f8909ee557d8e80d62e6f1f02a1202e64e4deac953e36
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State₁ State₂ : Type*} [Fintype State₁] [Fintype State₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['actualLeft', 'referenceLeft']typed_binder(actualLeft referenceLeft : FiniteLaw State₁)FiniteLaw State₁explicit
source syntax; proposition elaboration not performed['actualRight', 'referenceRight']typed_binder(actualRight referenceRight : FiniteLaw State₂)FiniteLaw State₂explicit
source syntax; proposition elaboration not performed['leftCost']typed_binder(leftCost : State₁ → ℝ)State₁ → ℝexplicit
source syntax; proposition elaboration not performed['rightCost']typed_binder(rightCost : State₂ → ℝ)State₂ → ℝexplicit
source syntax; proposition elaboration not performed['referenceLeftPositive']typed_binder(referenceLeftPositive : ∀ state, 0 < referenceLeft state)∀ state, 0 < referenceLeft stateexplicit
source syntax; proposition elaboration not performed['referenceRightPositive']typed_binder(referenceRightPositive : ∀ state, 0 < referenceRight state)∀ state, 0 < referenceRight stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.collectiveVFE_additiveFEP.CollectiveInference.collectiveVFE_additiveexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/collective_inference.py
fep-109 · Independent-Agent Expected-Free-Energy Additivity · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep109.FEP109.fep109_independentEFE_additive
Invariant
Expected free energy of product predictive and preference laws with additive ambiguity equals the sum of independent agent-level expected free energies.
Assumption review
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.
Non-vacuity
Distinct predictive and preference factors yield nonzero risk terms, while nonconstant ambiguity functions make both component expectations contribute to the collective value.
Acceptance probe (requirement; not executed here)
native Lean compile of fep109_independentEFE_additive and fep109_additiveAmbiguity_expectation with preference support explicit.
Supporting qualified declarations
fep_fep109.FEP109.fep109_additiveAmbiguity_expectation
Boundary qualified declarations
Absent
Canonical body SHA-256
b7918e89df603060e113f9500906716e8ed9eac54bc6d97a7701b0fd1f056426
Exact Lean statement (proof omitted)
theorem fep109_independentEFE_additive
+          actualRight referenceRight rightCost
Source statement SHA-256
c91b8b0f94d40985009f8909ee557d8e80d62e6f1f02a1202e64e4deac953e36
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State₁ State₂ : Type*} [Fintype State₁] [Fintype State₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['actualLeft', 'referenceLeft']typed_binder(actualLeft referenceLeft : FiniteLaw State₁)FiniteLaw State₁explicit
source syntax; proposition elaboration not performed['actualRight', 'referenceRight']typed_binder(actualRight referenceRight : FiniteLaw State₂)FiniteLaw State₂explicit
source syntax; proposition elaboration not performed['leftCost']typed_binder(leftCost : State₁ → ℝ)State₁ → ℝexplicit
source syntax; proposition elaboration not performed['rightCost']typed_binder(rightCost : State₂ → ℝ)State₂ → ℝexplicit
source syntax; proposition elaboration not performed['referenceLeftPositive']typed_binder(referenceLeftPositive : ∀ state, 0 < referenceLeft state)∀ state, 0 < referenceLeft stateexplicit
source syntax; proposition elaboration not performed['referenceRightPositive']typed_binder(referenceRightPositive : ∀ state, 0 < referenceRight state)∀ state, 0 < referenceRight stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.collectiveVFE_additiveFEP.CollectiveInference.collectiveVFE_additiveexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/collective_inference.py
fep-109 · Independent-Agent Expected-Free-Energy Additivity · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep109.FEP109.fep109_independentEFE_additive
Invariant
Expected free energy of product predictive and preference laws with additive ambiguity equals the sum of independent agent-level expected free energies.
Assumption review
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.
Non-vacuity
Distinct predictive and preference factors yield nonzero risk terms, while nonconstant ambiguity functions make both component expectations contribute to the collective value.
Acceptance probe (requirement; not executed here)
native Lean compile of fep109_independentEFE_additive and fep109_additiveAmbiguity_expectation with preference support explicit.
Supporting qualified declarations
fep_fep109.FEP109.fep109_additiveAmbiguity_expectation
Boundary qualified declarations
Absent
Canonical body SHA-256
b7918e89df603060e113f9500906716e8ed9eac54bc6d97a7701b0fd1f056426
Exact Lean statement (proof omitted)
theorem fep109_independentEFE_additive
     (predictiveLeft preferenceLeft : FiniteLaw State₁)
     (predictiveRight preferenceRight : FiniteLaw State₂)
     (ambiguityLeft : State₁ → ℝ) (ambiguityRight : State₂ → ℝ)
@@ -673,7 +673,7 @@
       FEP.CollectiveInference.expectedFreeEnergy
           predictiveLeft preferenceLeft ambiguityLeft +
         FEP.CollectiveInference.expectedFreeEnergy
-          predictiveRight preferenceRight ambiguityRight
Source statement SHA-256
c930ee14325395e0479436269b9fde0852e88716bb48aff7806897148ab87a28
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State₁ State₂ : Type*} [Fintype State₁] [Fintype State₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['predictiveLeft', 'preferenceLeft']typed_binder(predictiveLeft preferenceLeft : FiniteLaw State₁)FiniteLaw State₁explicit
source syntax; proposition elaboration not performed['predictiveRight', 'preferenceRight']typed_binder(predictiveRight preferenceRight : FiniteLaw State₂)FiniteLaw State₂explicit
source syntax; proposition elaboration not performed['ambiguityLeft']typed_binder(ambiguityLeft : State₁ → ℝ)State₁ → ℝexplicit
source syntax; proposition elaboration not performed['ambiguityRight']typed_binder(ambiguityRight : State₂ → ℝ)State₂ → ℝexplicit
source syntax; proposition elaboration not performed['preferenceLeftPositive']typed_binder(preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)∀ state, 0 < preferenceLeft stateexplicit
source syntax; proposition elaboration not performed['preferenceRightPositive']typed_binder(preferenceRightPositive : ∀ state, 0 < preferenceRight state)∀ state, 0 < preferenceRight stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.independentEFE_additiveFEP.CollectiveInference.independentEFE_additiveexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/collective_inference.py
fep-110 · Unit-Weight Product-of-Experts Pool Normalization · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_normalized
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.
Assumption review
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.
Non-vacuity
For Boolean laws with true masses3/4 and2/3, the product normalizer is7/12 and the pool true mass is6/7, different from both inputs. Disjoint opposite point masses have zero normalizer and are excluded. Distinct overlap alone does not guarantee both inputs change.
Acceptance probe (requirement; not executed here)
native Lean compile of fep110_unitWeightProductOfExpertsPool_normalized and fep110_unitWeightProductOfExpertsPool_mass with a strictly positive pointwise-product normalizer.
Supporting qualified declarations
fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_mass
Boundary qualified declarations
Absent
Canonical body SHA-256
80ede1c61d228190420034c53d147d2143a7568eb93cc0b8f513de4922f0fa4e
Exact Lean statement (proof omitted)
theorem fep110_unitWeightProductOfExpertsPool_normalized
+          predictiveRight preferenceRight ambiguityRight
Source statement SHA-256
c930ee14325395e0479436269b9fde0852e88716bb48aff7806897148ab87a28
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State₁ State₂ : Type*} [Fintype State₁] [Fintype State₂]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['predictiveLeft', 'preferenceLeft']typed_binder(predictiveLeft preferenceLeft : FiniteLaw State₁)FiniteLaw State₁explicit
source syntax; proposition elaboration not performed['predictiveRight', 'preferenceRight']typed_binder(predictiveRight preferenceRight : FiniteLaw State₂)FiniteLaw State₂explicit
source syntax; proposition elaboration not performed['ambiguityLeft']typed_binder(ambiguityLeft : State₁ → ℝ)State₁ → ℝexplicit
source syntax; proposition elaboration not performed['ambiguityRight']typed_binder(ambiguityRight : State₂ → ℝ)State₂ → ℝexplicit
source syntax; proposition elaboration not performed['preferenceLeftPositive']typed_binder(preferenceLeftPositive : ∀ state, 0 < preferenceLeft state)∀ state, 0 < preferenceLeft stateexplicit
source syntax; proposition elaboration not performed['preferenceRightPositive']typed_binder(preferenceRightPositive : ∀ state, 0 < preferenceRight state)∀ state, 0 < preferenceRight stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.independentEFE_additiveFEP.CollectiveInference.independentEFE_additiveexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/collective_inference.py
fep-110 · Unit-Weight Product-of-Experts Pool Normalization · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_normalized
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.
Assumption review
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.
Non-vacuity
For Boolean laws with true masses3/4 and2/3, the product normalizer is7/12 and the pool true mass is6/7, different from both inputs. Disjoint opposite point masses have zero normalizer and are excluded. Distinct overlap alone does not guarantee both inputs change.
Acceptance probe (requirement; not executed here)
native Lean compile of fep110_unitWeightProductOfExpertsPool_normalized and fep110_unitWeightProductOfExpertsPool_mass with a strictly positive pointwise-product normalizer.
Supporting qualified declarations
fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_mass
Boundary qualified declarations
Absent
Canonical body SHA-256
80ede1c61d228190420034c53d147d2143a7568eb93cc0b8f513de4922f0fa4e
Exact Lean statement (proof omitted)
theorem fep110_unitWeightProductOfExpertsPool_normalized
     (left right : FiniteLaw State)
     (normalizerPositive :
       0 < FEP.CollectiveInference.productOfExpertsNormalizer left right) :
@@ -682,13 +682,13 @@
           left right normalizerPositive state = 1
Exact conclusion
∑ state,
         FEP.CollectiveInference.unitWeightProductOfExpertsPool
           left right normalizerPositive state = 1
Source statement SHA-256
2b351f91ec79b2d8601620143eba0868c4b371ddcf249726838d85d020c991e2
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['normalizerPositive']typed_binder(normalizerPositive : - 0 < FEP.CollectiveInference.productOfExpertsNormalizer left right)0 < FEP.CollectiveInference.productOfExpertsNormalizer left rightexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_oneFEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_oneexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/collective_inference.py
fep-111 · Consensus Mass Conservation · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep111.FEP111.fep111_consensus_pointwise_mass_conserved
Invariant
The specified doubly stochastic two-agent consensus update conserves combined mass at every state and therefore preserves total combined mass two.
Assumption review
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.
Non-vacuity
Unequal input laws redistribute statewise mass between agents while the exact pointwise sum remains fixed and the two output laws each remain normalized.
Acceptance probe (requirement; not executed here)
native Lean compile of fep111_consensus_pointwise_mass_conserved and fep111_consensus_total_mass_two for arbitrary finite input laws.
Supporting qualified declarations
fep_fep111.FEP111.fep111_consensus_total_mass_two
Boundary qualified declarations
Absent
Canonical body SHA-256
05498c2f2f166e2a1844337f873d8728b969b4118932bfa790c393cd57c3b2a7
Exact Lean statement (proof omitted)
theorem fep111_consensus_pointwise_mass_conserved
+      0 < FEP.CollectiveInference.productOfExpertsNormalizer left right)0 < FEP.CollectiveInference.productOfExpertsNormalizer left rightexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_oneFEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_oneexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/collective_inference.py
fep-111 · Consensus Mass Conservation · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep111.FEP111.fep111_consensus_pointwise_mass_conserved
Invariant
The specified doubly stochastic two-agent consensus update conserves combined mass at every state and therefore preserves total combined mass two.
Assumption review
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.
Non-vacuity
Unequal input laws redistribute statewise mass between agents while the exact pointwise sum remains fixed and the two output laws each remain normalized.
Acceptance probe (requirement; not executed here)
native Lean compile of fep111_consensus_pointwise_mass_conserved and fep111_consensus_total_mass_two for arbitrary finite input laws.
Supporting qualified declarations
fep_fep111.FEP111.fep111_consensus_total_mass_two
Boundary qualified declarations
Absent
Canonical body SHA-256
05498c2f2f166e2a1844337f873d8728b969b4118932bfa790c393cd57c3b2a7
Exact Lean statement (proof omitted)
theorem fep111_consensus_pointwise_mass_conserved
     (left right : FiniteLaw State) (state : State) :
     FEP.CollectiveInference.consensusLeft left right state +
         FEP.CollectiveInference.consensusRight left right state =
       left state + right state
Exact conclusion
FEP.CollectiveInference.consensusLeft left right state +
         FEP.CollectiveInference.consensusRight left right state =
-      left state + right state
Source statement SHA-256
e7100f1644930343c4795fe08cf3dc590bf66acaadee5c1567b12822544d3165
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.consensusMass_conservedFEP.CollectiveInference.consensusMass_conservedexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/collective_inference.py
fep-112 · Contractive Belief-Consensus Convergence · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep112.FEP112.fep112_consensus_converges
Invariant
Iterating the maintained strictly stochastic two-agent update halves each atomwise belief gap and drives pointwise disagreement to zero.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep112_consensus_converges, fep112_consensus_half_contraction, and fep112_bool_nonzero_strict_witness.
Supporting qualified declarations
fep_fep112.FEP112.fep112_consensus_half_contraction
Boundary qualified declarations
fep_fep112.FEP112.fep112_bool_nonzero_strict_witness
Canonical body SHA-256
c9f183bff8d047884d788ffb534d54e0ac22b0a3fb6ff36bb2607de020778685
Exact Lean statement (proof omitted)
theorem fep112_consensus_converges
+      left state + right state
Source statement SHA-256
e7100f1644930343c4795fe08cf3dc590bf66acaadee5c1567b12822544d3165
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.consensusMass_conservedFEP.CollectiveInference.consensusMass_conservedexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/collective_inference.py
fep-112 · Contractive Belief-Consensus Convergence · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep112.FEP112.fep112_consensus_converges
Invariant
Iterating the maintained strictly stochastic two-agent update halves each atomwise belief gap and drives pointwise disagreement to zero.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep112_consensus_converges, fep112_consensus_half_contraction, and fep112_bool_nonzero_strict_witness.
Supporting qualified declarations
fep_fep112.FEP112.fep112_consensus_half_contraction
Boundary qualified declarations
fep_fep112.FEP112.fep112_bool_nonzero_strict_witness
Canonical body SHA-256
c9f183bff8d047884d788ffb534d54e0ac22b0a3fb6ff36bb2607de020778685
Exact Lean statement (proof omitted)
theorem fep112_consensus_converges
     (left right : FiniteLaw State) (state : State) :
     Tendsto
       (fun iterations =>
@@ -704,7 +704,7 @@
             (left, right) iterations).1
           (FEP.CollectiveInference.consensusIterate
             (left, right) iterations).2 state)
-      atTop (nhds 0)
Source statement SHA-256
7f4668d9c9d8eb1fa7390d9b36adc4d6bd453afc815063994497d9d4edad1036
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.consensus_gap_tendsto_zeroFEP.CollectiveInference.consensus_gap_tendsto_zeroexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/collective_inference.py
fep-113 · Coupled-Agent Potential Descent · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep113.FEP113.fep113_coupledPotential_strict_descent
Invariant
The maintained consensus coupling quarters atomwise quadratic disagreement potential and decreases it strictly whenever the two input masses differ at that atom.
Assumption review
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.
Non-vacuity
Any state at which the two laws assign unequal mass has positive initial potential and a strictly smaller positive quarter-potential after one update.
Acceptance probe (requirement; not executed here)
native Lean compile of fep113_coupledPotential_strict_descent and fep113_coupledPotential_contracts with the separated-atom premise.
Supporting qualified declarations
fep_fep113.FEP113.fep113_coupledPotential_contracts
Boundary qualified declarations
Absent
Canonical body SHA-256
21f6de5347045c8bd74ba42c93901845db566e918b95f9b61823b8ecd2c025d3
Exact Lean statement (proof omitted)
theorem fep113_coupledPotential_strict_descent
+      atTop (nhds 0)
Source statement SHA-256
7f4668d9c9d8eb1fa7390d9b36adc4d6bd453afc815063994497d9d4edad1036
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.consensus_gap_tendsto_zeroFEP.CollectiveInference.consensus_gap_tendsto_zeroexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/collective_inference.py
fep-113 · Coupled-Agent Potential Descent · formalized
Family context (editorial)
collective-and-multiagent-active-inference
Primary qualified witness
fep_fep113.FEP113.fep113_coupledPotential_strict_descent
Invariant
The maintained consensus coupling quarters atomwise quadratic disagreement potential and decreases it strictly whenever the two input masses differ at that atom.
Assumption review
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.
Non-vacuity
Any state at which the two laws assign unequal mass has positive initial potential and a strictly smaller positive quarter-potential after one update.
Acceptance probe (requirement; not executed here)
native Lean compile of fep113_coupledPotential_strict_descent and fep113_coupledPotential_contracts with the separated-atom premise.
Supporting qualified declarations
fep_fep113.FEP113.fep113_coupledPotential_contracts
Boundary qualified declarations
Absent
Canonical body SHA-256
21f6de5347045c8bd74ba42c93901845db566e918b95f9b61823b8ecd2c025d3
Exact Lean statement (proof omitted)
theorem fep113_coupledPotential_strict_descent
     (left right : FiniteLaw State) (state : State)
     (separated : left state ≠ right state) :
     FEP.CollectiveInference.coupledPotential
@@ -713,7 +713,7 @@
       FEP.CollectiveInference.coupledPotential left right state
Exact conclusion
FEP.CollectiveInference.coupledPotential
         (FEP.CollectiveInference.consensusLeft left right)
         (FEP.CollectiveInference.consensusRight left right) state <
-      FEP.CollectiveInference.coupledPotential left right state
Source statement SHA-256
49e37a199a1763644433e23ee58a8d4802535c9fb24eae93b24454063e591a64
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
source syntax; proposition elaboration not performed['separated']typed_binder(separated : left state ≠ right state)left state ≠ right stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.coupledPotential_strict_descentFEP.CollectiveInference.coupledPotential_strict_descentexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/collective_inference.py
fep-114 · Sub-Gaussian Empirical-Mean Tail Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep114.FEP114.fep114_subGaussian_empiricalMean_tail
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.
Assumption review
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.
Non-vacuity
Multiple independent nonconstant centered observables with positive proxy variances give a nontrivial exponentially decaying bound as deviation grows.
Acceptance probe (requirement; not executed here)
native Lean compile of fep114_subGaussian_empiricalMean_tail and fep114_empiricalMean_definition with independence, MGF, and deviation premises.
Supporting qualified declarations
fep_fep114.FEP114.fep114_empiricalMean_definition
Boundary qualified declarations
Absent
Canonical body SHA-256
d6f4f5f6333633a35eaee37ebd970fa5109d2a3d8dbd6c560ced6a289ea8dd6e
Exact Lean statement (proof omitted)
theorem fep114_subGaussian_empiricalMean_tail
+      FEP.CollectiveInference.coupledPotential left right state
Source statement SHA-256
49e37a199a1763644433e23ee58a8d4802535c9fb24eae93b24454063e591a64
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
source syntax; proposition elaboration not performed['separated']typed_binder(separated : left state ≠ right state)left state ≠ right stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.CollectiveInference.coupledPotential_strict_descentFEP.CollectiveInference.coupledPotential_strict_descentexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/collective_inference.py
fep-114 · Sub-Gaussian Empirical-Mean Tail Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep114.FEP114.fep114_subGaussian_empiricalMean_tail
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.
Assumption review
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.
Non-vacuity
Multiple independent nonconstant centered observables with positive proxy variances give a nontrivial exponentially decaying bound as deviation grows.
Acceptance probe (requirement; not executed here)
native Lean compile of fep114_subGaussian_empiricalMean_tail and fep114_empiricalMean_definition with independence, MGF, and deviation premises.
Supporting qualified declarations
fep_fep114.FEP114.fep114_empiricalMean_definition
Boundary qualified declarations
Absent
Canonical body SHA-256
d6f4f5f6333633a35eaee37ebd970fa5109d2a3d8dbd6c560ced6a289ea8dd6e
Exact Lean statement (proof omitted)
theorem fep114_subGaussian_empiricalMean_tail
     {Ω : Type*} [MeasurableSpace Ω]
     (μ : Measure Ω) {sampleCount : ℕ}
     (observables : Fin sampleCount → Ω → ℝ)
@@ -734,7 +734,7 @@
         (-((sampleCount : ℝ) * deviation) ^ 2 /
           (2 * ∑ index, proxyVariance index))
Source statement SHA-256
f19575efac2722be8f87efecc2cf1f4c6e8504c40336922f62460a6f333541bb
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['Ω']typed_binder{Ω : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[MeasurableSpace Ω]MeasurableSpace Ωinstance
source syntax; proposition elaboration not performed['μ']typed_binder(μ : Measure Ω)Measure Ωexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder{sampleCount : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['observables']typed_binder(observables : Fin sampleCount → Ω → ℝ)Fin sampleCount → Ω → ℝexplicit
source syntax; proposition elaboration not performed['independent']typed_binder(independent : iIndepFun observables μ)iIndepFun observables μexplicit
source syntax; proposition elaboration not performed['proxyVariance']typed_binder(proxyVariance : Fin sampleCount → ℝ≥0)Fin sampleCount → ℝ≥0explicit
source syntax; proposition elaboration not performed['subGaussian']typed_binder(subGaussian : ∀ index, HasSubgaussianMGF (observables index) (proxyVariance index) μ)∀ index, - HasSubgaussianMGF (observables index) (proxyVariance index) μexplicit
source syntax; proposition elaboration not performed['deviation']typed_binder{deviation : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['deviationNonnegative']typed_binder(deviationNonnegative : 0 ≤ deviation)0 ≤ deviationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.subGaussian_empiricalMean_tailFEP.LearningTheory.subGaussian_empiricalMean_tailexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/learning_theory.py
fep-115 · Simultaneous Finite-Alphabet Frequency Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep115.FEP115.fep115_simultaneous_frequency_bound
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.
Assumption review
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.
Non-vacuity
With one uniform Fin3 observation, target mass1/3 at each symbol and deviation1/2, the three count-deviation events are distinct singletons, each with probability1/3, and their union has probability1. Boolean complementary frequencies can instead have identical deviation events; union-bound distinctness is not assumed by the theorem.
Acceptance probe (requirement; not executed here)
native Lean compile of fep115_simultaneous_frequency_bound and fep115_frequencyDeviationEvent_membership with the exact finite-count event.
Supporting qualified declarations
fep_fep115.FEP115.fep115_frequencyDeviationEvent_membership
Boundary qualified declarations
Absent
Canonical body SHA-256
c667f763198826e08bdb0a7d6a61746d52f89848183b0629b192b39688485d18
Exact Lean statement (proof omitted)
theorem fep115_simultaneous_frequency_bound
+      HasSubgaussianMGF (observables index) (proxyVariance index) μexplicitsource syntax; proposition elaboration not performed['deviation']typed_binder{deviation : ℝ}ℝimplicitsource syntax; proposition elaboration not performed['deviationNonnegative']typed_binder(deviationNonnegative : 0 ≤ deviation)0 ≤ deviationexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.subGaussian_empiricalMean_tailFEP.LearningTheory.subGaussian_empiricalMean_tailexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/learning_theory.py
fep-115 · Simultaneous Finite-Alphabet Frequency Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep115.FEP115.fep115_simultaneous_frequency_bound
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.
Assumption review
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.
Non-vacuity
With one uniform Fin3 observation, target mass1/3 at each symbol and deviation1/2, the three count-deviation events are distinct singletons, each with probability1/3, and their union has probability1. Boolean complementary frequencies can instead have identical deviation events; union-bound distinctness is not assumed by the theorem.
Acceptance probe (requirement; not executed here)
native Lean compile of fep115_simultaneous_frequency_bound and fep115_frequencyDeviationEvent_membership with the exact finite-count event.
Supporting qualified declarations
fep_fep115.FEP115.fep115_frequencyDeviationEvent_membership
Boundary qualified declarations
Absent
Canonical body SHA-256
c667f763198826e08bdb0a7d6a61746d52f89848183b0629b192b39688485d18
Exact Lean statement (proof omitted)
theorem fep115_simultaneous_frequency_bound
     {Ω Alphabet : Type*} [MeasurableSpace Ω]
     [Fintype Alphabet] [DecidableEq Alphabet]
     (μ : Measure Ω) [IsProbabilityMeasure μ]
@@ -757,7 +757,7 @@
             sample target deviation symbol) ≤ perSymbolFailure)∀ symbol,
       μ.real
           (FEP.LearningTheory.frequencyDeviationEvent
-            sample target deviation symbol) ≤ perSymbolFailureexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.simultaneous_frequency_boundFEP.LearningTheory.simultaneous_frequency_boundexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/learning_theory.py
fep-116 · Finite-Hypothesis PAC-Bayes Loss-Gap Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep116.FEP116.fep116_finitePACBayes_with_confidence
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep116_finitePACBayes_with_confidence and fep116_prior_support_nonzero with positive inverse temperature, reference identity, loss-gap potential identity, confidence interval, and log-MGF bound.
Supporting qualified declarations
fep_fep116.FEP116.fep116_prior_support_nonzero
Boundary qualified declarations
Absent
Canonical body SHA-256
70c21c7e768ce805414691d35d589c68d862a589a65f9e52688dd39b1136987b
Exact Lean statement (proof omitted)
theorem fep116_finitePACBayes_with_confidence
+            sample target deviation symbol) ≤ perSymbolFailureexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.simultaneous_frequency_boundFEP.LearningTheory.simultaneous_frequency_boundexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/learning_theory.py
fep-116 · Finite-Hypothesis PAC-Bayes Loss-Gap Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep116.FEP116.fep116_finitePACBayes_with_confidence
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep116_finitePACBayes_with_confidence and fep116_prior_support_nonzero with positive inverse temperature, reference identity, loss-gap potential identity, confidence interval, and log-MGF bound.
Supporting qualified declarations
fep_fep116.FEP116.fep116_prior_support_nonzero
Boundary qualified declarations
Absent
Canonical body SHA-256
70c21c7e768ce805414691d35d589c68d862a589a65f9e52688dd39b1136987b
Exact Lean statement (proof omitted)
theorem fep116_finitePACBayes_with_confidence
     {Hypothesis : Type*} [Fintype Hypothesis]
     (prior posterior : FiniteLaw Hypothesis)
     (certificate : FEP.VariationalDuality.GibbsCertificate Hypothesis)
@@ -782,7 +782,7 @@
       certificate.potential hypothesis = inverseTemperature *
         (populationLoss hypothesis - empiricalLoss hypothesis))∀ hypothesis,
       certificate.potential hypothesis = inverseTemperature *
-        (populationLoss hypothesis - empiricalLoss hypothesis)explicitsource syntax; proposition elaboration not performed['confidence']typed_binder(confidence : ℝ)ℝexplicitsource syntax; proposition elaboration not performed['confidencePositive']typed_binder(confidencePositive : 0 < confidence)0 < confidenceexplicitsource syntax; proposition elaboration not performed['confidenceBelowOne']typed_binder(confidenceBelowOne : confidence < 1)confidence < 1explicitsource syntax; proposition elaboration not performed['logMGFBound']typed_binder(logMGFBound : certificate.logPartition ≤ Real.log confidence⁻¹)certificate.logPartition ≤ Real.log confidence⁻¹explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidenceFEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidenceexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/learning_theory.py
fep-117 · Posterior-Odds Multiplicative Recursion · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep117.FEP117.fep117_posteriorOdds_recursion
Invariant
At positive evidence, posterior odds equal prior odds times the likelihood ratio, and a zero-prior hypothesis retains zero posterior mass.
Assumption review
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.
Non-vacuity
Positive equal favored/reference prior masses and likelihoods3/4 versus1/4 update odds1 to3. A separate zero-prior favored hypothesis remains absent despite unequal positive likelihoods. Reference-prior/reference-likelihood and total-evidence support remain explicit.
Acceptance probe (requirement; not executed here)
native Lean compile of fep117_posteriorOdds_recursion and fep117_zero_prior_boundary with all denominator-support premises.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep117.FEP117.fep117_zero_prior_boundary
Canonical body SHA-256
16f9ca27e8c22b07bd22d2cf3fb3a78be322aa55a2dae70e73f392eae8f52577
Exact Lean statement (proof omitted)
theorem fep117_posteriorOdds_recursion
+        (populationLoss hypothesis - empiricalLoss hypothesis)explicitsource syntax; proposition elaboration not performed['confidence']typed_binder(confidence : ℝ)ℝexplicitsource syntax; proposition elaboration not performed['confidencePositive']typed_binder(confidencePositive : 0 < confidence)0 < confidenceexplicitsource syntax; proposition elaboration not performed['confidenceBelowOne']typed_binder(confidenceBelowOne : confidence < 1)confidence < 1explicitsource syntax; proposition elaboration not performed['logMGFBound']typed_binder(logMGFBound : certificate.logPartition ≤ Real.log confidence⁻¹)certificate.logPartition ≤ Real.log confidence⁻¹explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidenceFEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidenceexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/learning_theory.py
fep-117 · Posterior-Odds Multiplicative Recursion · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep117.FEP117.fep117_posteriorOdds_recursion
Invariant
At positive evidence, posterior odds equal prior odds times the likelihood ratio, and a zero-prior hypothesis retains zero posterior mass.
Assumption review
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.
Non-vacuity
Positive equal favored/reference prior masses and likelihoods3/4 versus1/4 update odds1 to3. A separate zero-prior favored hypothesis remains absent despite unequal positive likelihoods. Reference-prior/reference-likelihood and total-evidence support remain explicit.
Acceptance probe (requirement; not executed here)
native Lean compile of fep117_posteriorOdds_recursion and fep117_zero_prior_boundary with all denominator-support premises.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep117.FEP117.fep117_zero_prior_boundary
Canonical body SHA-256
16f9ca27e8c22b07bd22d2cf3fb3a78be322aa55a2dae70e73f392eae8f52577
Exact Lean statement (proof omitted)
theorem fep117_posteriorOdds_recursion
     {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]
     (prior : FiniteLaw Hypothesis)
     (likelihood : FiniteKernel Hypothesis Evidence)
@@ -797,7 +797,7 @@
         (likelihood favored evidence / likelihood reference evidence)
Exact conclusion
FEP.LearningTheory.posteriorOdds
         prior likelihood evidence evidencePositive favored reference =
       (prior favored / prior reference) *
-        (likelihood favored evidence / likelihood reference evidence)
Source statement SHA-256
ad2c9e2823e16376a440c29ae7be9571a639eb15ec88e2ad3b37ec9945247fb8
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['Hypothesis', 'Evidence']typed_binder{Hypothesis Evidence : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Hypothesis]Fintype Hypothesisinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Evidence]Fintype Evidenceinstance
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Hypothesis)FiniteLaw Hypothesisexplicit
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : FiniteKernel Hypothesis Evidence)FiniteKernel Hypothesis Evidenceexplicit
source syntax; proposition elaboration not performed['evidence']typed_binder(evidence : Evidence)Evidenceexplicit
source syntax; proposition elaboration not performed['evidencePositive']typed_binder(evidencePositive : 0 < likelihood.predictive prior evidence)0 < likelihood.predictive prior evidenceexplicit
source syntax; proposition elaboration not performed['favored', 'reference']typed_binder(favored reference : Hypothesis)Hypothesisexplicit
source syntax; proposition elaboration not performed['referencePriorPositive']typed_binder(referencePriorPositive : 0 < prior reference)0 < prior referenceexplicit
source syntax; proposition elaboration not performed['referenceLikelihoodPositive']typed_binder(referenceLikelihoodPositive : 0 < likelihood reference evidence)0 < likelihood reference evidenceexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.posteriorOdds_recursionFEP.LearningTheory.posteriorOdds_recursionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/learning_theory.py
fep-118 · Exponential Posterior Concentration from a Likelihood Gap · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep118.FEP118.fep118_posteriorGap_concentration
Invariant
A nonnegative per-observation likelihood gap yields an explicit exponential finite-sample upper bound on inferior two-hypothesis posterior weight.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep118_posteriorGap_concentration and fep118_twoHypothesis_witness with the likelihood-gap inequality explicit.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep118.FEP118.fep118_twoHypothesis_witness
Canonical body SHA-256
3bd15a508a3d5626d26403ee5d0383159f066374762e5ca47a1fea2690860e5b
Exact Lean statement (proof omitted)
theorem fep118_posteriorGap_concentration
+        (likelihood favored evidence / likelihood reference evidence)
Source statement SHA-256
ad2c9e2823e16376a440c29ae7be9571a639eb15ec88e2ad3b37ec9945247fb8
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['Hypothesis', 'Evidence']typed_binder{Hypothesis Evidence : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Hypothesis]Fintype Hypothesisinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Evidence]Fintype Evidenceinstance
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Hypothesis)FiniteLaw Hypothesisexplicit
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : FiniteKernel Hypothesis Evidence)FiniteKernel Hypothesis Evidenceexplicit
source syntax; proposition elaboration not performed['evidence']typed_binder(evidence : Evidence)Evidenceexplicit
source syntax; proposition elaboration not performed['evidencePositive']typed_binder(evidencePositive : 0 < likelihood.predictive prior evidence)0 < likelihood.predictive prior evidenceexplicit
source syntax; proposition elaboration not performed['favored', 'reference']typed_binder(favored reference : Hypothesis)Hypothesisexplicit
source syntax; proposition elaboration not performed['referencePriorPositive']typed_binder(referencePriorPositive : 0 < prior reference)0 < prior referenceexplicit
source syntax; proposition elaboration not performed['referenceLikelihoodPositive']typed_binder(referenceLikelihoodPositive : 0 < likelihood reference evidence)0 < likelihood reference evidenceexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.posteriorOdds_recursionFEP.LearningTheory.posteriorOdds_recursionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/learning_theory.py
fep-118 · Exponential Posterior Concentration from a Likelihood Gap · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep118.FEP118.fep118_posteriorGap_concentration
Invariant
A nonnegative per-observation likelihood gap yields an explicit exponential finite-sample upper bound on inferior two-hypothesis posterior weight.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep118_posteriorGap_concentration and fep118_twoHypothesis_witness with the likelihood-gap inequality explicit.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep118.FEP118.fep118_twoHypothesis_witness
Canonical body SHA-256
3bd15a508a3d5626d26403ee5d0383159f066374762e5ca47a1fea2690860e5b
Exact Lean statement (proof omitted)
theorem fep118_posteriorGap_concentration
     (priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)
     (sampleCount : ℕ)
     (priorGoodPositive : 0 < priorGood)
@@ -814,7 +814,7 @@
         priorGood priorBad likelihoodGood likelihoodBad sampleCount ≤
       (priorBad / priorGood) *
         Real.exp (-((sampleCount : ℝ) * likelihoodGap))
Source statement SHA-256
677ba3a2f3a232174aad0054e2067b7ae2f562713499238f2c00f0a751ff0036
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['priorGood', 'priorBad', 'likelihoodGood', 'likelihoodBad', 'likelihoodGap']typed_binder(priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['priorGoodPositive']typed_binder(priorGoodPositive : 0 < priorGood)0 < priorGoodexplicit
source syntax; proposition elaboration not performed['priorBadNonnegative']typed_binder(priorBadNonnegative : 0 ≤ priorBad)0 ≤ priorBadexplicit
source syntax; proposition elaboration not performed['likelihoodGoodPositive']typed_binder(likelihoodGoodPositive : 0 < likelihoodGood)0 < likelihoodGoodexplicit
source syntax; proposition elaboration not performed['likelihoodBadNonnegative']typed_binder(likelihoodBadNonnegative : 0 ≤ likelihoodBad)0 ≤ likelihoodBadexplicit
source syntax; proposition elaboration not performed['likelihoodGapNonnegative']typed_binder(likelihoodGapNonnegative : 0 ≤ likelihoodGap)0 ≤ likelihoodGapexplicit
source syntax; proposition elaboration not performed['gapBound']typed_binder(gapBound : - likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood)likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGoodexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.posteriorGap_concentrationFEP.LearningTheory.posteriorGap_concentrationexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/learning_theory.py
fep-119 · Bayesian-Mixture Log-Loss Regret Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep119.FEP119.fep119_mixtureLogLoss_regret
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep119_mixtureLogLoss_regret and fep119_mixtureEvidence_lower_bound with selected-component support.
Supporting qualified declarations
fep_fep119.FEP119.fep119_mixtureEvidence_lower_bound
Boundary qualified declarations
Absent
Canonical body SHA-256
66355752016cc0d70e0d21660622b739916f4ca9ea38860774a2e8e7aa160e59
Exact Lean statement (proof omitted)
theorem fep119_mixtureLogLoss_regret
+      likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood)likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGoodexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.posteriorGap_concentrationFEP.LearningTheory.posteriorGap_concentrationexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/learning_theory.py
fep-119 · Bayesian-Mixture Log-Loss Regret Bound · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep119.FEP119.fep119_mixtureLogLoss_regret
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
native Lean compile of fep119_mixtureLogLoss_regret and fep119_mixtureEvidence_lower_bound with selected-component support.
Supporting qualified declarations
fep_fep119.FEP119.fep119_mixtureEvidence_lower_bound
Boundary qualified declarations
Absent
Canonical body SHA-256
66355752016cc0d70e0d21660622b739916f4ca9ea38860774a2e8e7aa160e59
Exact Lean statement (proof omitted)
theorem fep119_mixtureLogLoss_regret
     (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)
     (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)
     (selected : Hypothesis)
@@ -822,7 +822,7 @@
     (likelihoodPositive : 0 < likelihood selected) :
     -Real.log (FEP.LearningTheory.mixtureEvidence prior likelihood) ≤
       -Real.log (likelihood selected) - Real.log (prior selected)
Exact conclusion
-Real.log (FEP.LearningTheory.mixtureEvidence prior likelihood) ≤
-      -Real.log (likelihood selected) - Real.log (prior selected)
Source statement SHA-256
f9099f72066898aad9ccb696ccb48816ba33cc5888628896f902e8a4a2fa2fb5
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Hypothesis : Type*} [Fintype Hypothesis]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Hypothesis)FiniteLaw Hypothesisexplicit
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : Hypothesis → ℝ)Hypothesis → ℝexplicit
source syntax; proposition elaboration not performed['likelihoodNonnegative']typed_binder(likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)∀ hypothesis, 0 ≤ likelihood hypothesisexplicit
source syntax; proposition elaboration not performed['selected']typed_binder(selected : Hypothesis)Hypothesisexplicit
source syntax; proposition elaboration not performed['priorPositive']typed_binder(priorPositive : 0 < prior selected)0 < prior selectedexplicit
source syntax; proposition elaboration not performed['likelihoodPositive']typed_binder(likelihoodPositive : 0 < likelihood selected)0 < likelihood selectedexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.mixtureLogLoss_regretFEP.LearningTheory.mixtureLogLoss_regretexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/learning_theory.py
fep-120 · Bayes-Factor Multiplicativity and Model-Evidence Update · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep120.FEP120.fep120_bayesFactor_multiplicative_update
Invariant
Explicitly factorized evidence ratios multiply, and sequential model-odds updates equal one update using product evidence.
Assumption review
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.
Non-vacuity
Evidence three quarters versus one quarter maps unit prior odds to three, and the separate zero-reference theorem pins the exact unsupported comparison boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep120_bayesFactor_multiplicative_update, fep120_twoHypothesis_evidence_witness, and fep120_zero_evidence_boundary.
Supporting qualified declarations
fep_fep120.FEP120.fep120_twoHypothesis_evidence_witness
Boundary qualified declarations
fep_fep120.FEP120.fep120_zero_evidence_boundary
Canonical body SHA-256
59bd0fb1a44ad717b6a58caa39c92bcdba11f8d5a09091a461a547197d40e2d2
Exact Lean statement (proof omitted)
theorem fep120_bayesFactor_multiplicative_update
+      -Real.log (likelihood selected) - Real.log (prior selected)
Source statement SHA-256
f9099f72066898aad9ccb696ccb48816ba33cc5888628896f902e8a4a2fa2fb5
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Hypothesis : Type*} [Fintype Hypothesis]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Hypothesis)FiniteLaw Hypothesisexplicit
source syntax; proposition elaboration not performed['likelihood']typed_binder(likelihood : Hypothesis → ℝ)Hypothesis → ℝexplicit
source syntax; proposition elaboration not performed['likelihoodNonnegative']typed_binder(likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)∀ hypothesis, 0 ≤ likelihood hypothesisexplicit
source syntax; proposition elaboration not performed['selected']typed_binder(selected : Hypothesis)Hypothesisexplicit
source syntax; proposition elaboration not performed['priorPositive']typed_binder(priorPositive : 0 < prior selected)0 < prior selectedexplicit
source syntax; proposition elaboration not performed['likelihoodPositive']typed_binder(likelihoodPositive : 0 < likelihood selected)0 < likelihood selectedexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.mixtureLogLoss_regretFEP.LearningTheory.mixtureLogLoss_regretexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/learning_theory.py
fep-120 · Bayes-Factor Multiplicativity and Model-Evidence Update · formalized
Family context (editorial)
learning-concentration-and-model-evidence
Primary qualified witness
fep_fep120.FEP120.fep120_bayesFactor_multiplicative_update
Invariant
Explicitly factorized evidence ratios multiply, and sequential model-odds updates equal one update using product evidence.
Assumption review
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.
Non-vacuity
Evidence three quarters versus one quarter maps unit prior odds to three, and the separate zero-reference theorem pins the exact unsupported comparison boundary.
Acceptance probe (requirement; not executed here)
native Lean compile of fep120_bayesFactor_multiplicative_update, fep120_twoHypothesis_evidence_witness, and fep120_zero_evidence_boundary.
Supporting qualified declarations
fep_fep120.FEP120.fep120_twoHypothesis_evidence_witness
Boundary qualified declarations
fep_fep120.FEP120.fep120_zero_evidence_boundary
Canonical body SHA-256
59bd0fb1a44ad717b6a58caa39c92bcdba11f8d5a09091a461a547197d40e2d2
Exact Lean statement (proof omitted)
theorem fep120_bayesFactor_multiplicative_update
     (priorOdds firstFavored firstReference secondFavored secondReference : ℝ)
     (firstReferenceNonzero : firstReference ≠ 0)
     (secondReferenceNonzero : secondReference ≠ 0) :
@@ -844,7 +844,7 @@
         FEP.LearningTheory.updatedModelOdds
           (FEP.LearningTheory.updatedModelOdds
             priorOdds firstFavored firstReference)
-          secondFavored secondReference
Source statement SHA-256
9c919e910ee2fdf648997c151f8ad8e36ced28c1963c1b18e329c4fe4ea9c973
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['priorOdds', 'firstFavored', 'firstReference', 'secondFavored', 'secondReference']typed_binder(priorOdds firstFavored firstReference secondFavored secondReference : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['firstReferenceNonzero']typed_binder(firstReferenceNonzero : firstReference ≠ 0)firstReference ≠ 0explicit
source syntax; proposition elaboration not performed['secondReferenceNonzero']typed_binder(secondReferenceNonzero : secondReference ≠ 0)secondReference ≠ 0explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.bayesFactor_multiplicativeFEP.LearningTheory.bayesFactor_multiplicativeexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/learning_theory.py
fep-121 · Laplace-Smoothing Error Identity · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep121.FEP121.fep121_laplaceError_identity
Invariant
For a positive finite sample, add-one smoothing decomposes forecast error into contracted empirical error plus an exact target-dependent offset.
Assumption review
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.
Non-vacuity
The shrinkage coefficient lies in the unit interval and the separate boundary witness in fep-122 shows that the offset can be nonzero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep121_laplaceError_identity and fep121_shrinkage_mem_unitInterval with the positive-sample premises.
Supporting qualified declarations
fep_fep121.FEP121.fep121_shrinkage_mem_unitInterval
Boundary qualified declarations
Absent
Canonical body SHA-256
9ce5ebb4ad0b81610d88ceb9cd2d0f283efed734bddb5956aac66c03dc875ce6
Exact Lean statement (proof omitted)
theorem fep121_laplaceError_identity
+          secondFavored secondReference
Source statement SHA-256
9c919e910ee2fdf648997c151f8ad8e36ced28c1963c1b18e329c4fe4ea9c973
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['priorOdds', 'firstFavored', 'firstReference', 'secondFavored', 'secondReference']typed_binder(priorOdds firstFavored firstReference secondFavored secondReference : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['firstReferenceNonzero']typed_binder(firstReferenceNonzero : firstReference ≠ 0)firstReference ≠ 0explicit
source syntax; proposition elaboration not performed['secondReferenceNonzero']typed_binder(secondReferenceNonzero : secondReference ≠ 0)secondReference ≠ 0explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LearningTheory.bayesFactor_multiplicativeFEP.LearningTheory.bayesFactor_multiplicativeexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/learning_theory.py
fep-121 · Laplace-Smoothing Error Identity · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep121.FEP121.fep121_laplaceError_identity
Invariant
For a positive finite sample, add-one smoothing decomposes forecast error into contracted empirical error plus an exact target-dependent offset.
Assumption review
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.
Non-vacuity
The shrinkage coefficient lies in the unit interval and the separate boundary witness in fep-122 shows that the offset can be nonzero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep121_laplaceError_identity and fep121_shrinkage_mem_unitInterval with the positive-sample premises.
Supporting qualified declarations
fep_fep121.FEP121.fep121_shrinkage_mem_unitInterval
Boundary qualified declarations
Absent
Canonical body SHA-256
9ce5ebb4ad0b81610d88ceb9cd2d0f283efed734bddb5956aac66c03dc875ce6
Exact Lean statement (proof omitted)
theorem fep121_laplaceError_identity
     (successes sampleCount : ℕ) (target : ℝ)
     (sampleCountPositive : 0 < sampleCount)
     (successesAtMost : successes ≤ sampleCount)
@@ -853,11 +853,11 @@
       shrinkage sampleCount * (empiricalRate successes sampleCount - target) +
         laplaceBias sampleCount target
Exact conclusion
laplaceEstimate successes sampleCount - target =
       shrinkage sampleCount * (empiricalRate successes sampleCount - target) +
-        laplaceBias sampleCount target
Source statement SHA-256
ed107055b5246e0ef533113f1d083e89769d6001cecf16ea46d5f3176b7a4f75
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['successes', 'sampleCount']typed_binder(successes sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : successes ≤ sampleCount)successes ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceError_identity']laplaceError_identityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py
fep-122 · Laplace-Smoothing Bias Bound · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep122.FEP122.fep122_laplaceBias_abs_le
Invariant
The absolute target-dependent Laplace offset is at most one pseudo-count divided by the smoothed sample size.
Assumption review
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.
Non-vacuity
At sample count two and target zero, the offset equals one quarter and is explicitly nonzero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep122_laplaceBias_abs_le and fep122_nonzero_boundary_witness.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep122.FEP122.fep122_nonzero_boundary_witness
Canonical body SHA-256
6b9aae9852e27b1a49d75f8068739bedb49cbb62ab4c35d7653e229c8c978c99
Exact Lean statement (proof omitted)
theorem fep122_laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)
+        laplaceBias sampleCount target
Source statement SHA-256
ed107055b5246e0ef533113f1d083e89769d6001cecf16ea46d5f3176b7a4f75
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['successes', 'sampleCount']typed_binder(successes sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : successes ≤ sampleCount)successes ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceError_identity']laplaceError_identityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py
fep-122 · Laplace-Smoothing Bias Bound · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep122.FEP122.fep122_laplaceBias_abs_le
Invariant
The absolute target-dependent Laplace offset is at most one pseudo-count divided by the smoothed sample size.
Assumption review
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.
Non-vacuity
At sample count two and target zero, the offset equals one quarter and is explicitly nonzero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep122_laplaceBias_abs_le and fep122_nonzero_boundary_witness.
Supporting qualified declarations
Absent
Boundary qualified declarations
fep_fep122.FEP122.fep122_nonzero_boundary_witness
Canonical body SHA-256
6b9aae9852e27b1a49d75f8068739bedb49cbb62ab4c35d7653e229c8c978c99
Exact Lean statement (proof omitted)
theorem fep122_laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)
     (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :
     |laplaceBias sampleCount target| ≤
       1 / ((sampleCount : ℝ) + 2)
Exact conclusion
|laplaceBias sampleCount target| ≤
-      1 / ((sampleCount : ℝ) + 2)
Source statement SHA-256
b103ec3c6e0cefa9c67c09e4326b5be21f3bd13312f504c909cc662b7582dfe4
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['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceBias_abs_le']laplaceBias_abs_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py
fep-123 · Absolute-Error Transfer through Laplace Smoothing · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep123.FEP123.fep123_laplaceAbsoluteError_le
Invariant
An absolute empirical-error certificate transfers through add-one smoothing with the exact shrinkage coefficient and one-pseudo-count offset.
Assumption review
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.
Non-vacuity
The source error may be positive and the smoothing offset remains visible; the theorem also proves that any supplied error upper bound is nonnegative.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep123_laplaceAbsoluteError_le and fep123_error_nonnegative.
Supporting qualified declarations
fep_fep123.FEP123.fep123_error_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
1cb497e6f09fec4c75d519f652506a6d698689caa5e3a1be4613b7cef011a4ee
Exact Lean statement (proof omitted)
theorem fep123_laplaceAbsoluteError_le
+      1 / ((sampleCount : ℝ) + 2)
Source statement SHA-256
b103ec3c6e0cefa9c67c09e4326b5be21f3bd13312f504c909cc662b7582dfe4
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['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceBias_abs_le']laplaceBias_abs_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py
fep-123 · Absolute-Error Transfer through Laplace Smoothing · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep123.FEP123.fep123_laplaceAbsoluteError_le
Invariant
An absolute empirical-error certificate transfers through add-one smoothing with the exact shrinkage coefficient and one-pseudo-count offset.
Assumption review
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.
Non-vacuity
The source error may be positive and the smoothing offset remains visible; the theorem also proves that any supplied error upper bound is nonnegative.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep123_laplaceAbsoluteError_le and fep123_error_nonnegative.
Supporting qualified declarations
fep_fep123.FEP123.fep123_error_nonnegative
Boundary qualified declarations
Absent
Canonical body SHA-256
1cb497e6f09fec4c75d519f652506a6d698689caa5e3a1be4613b7cef011a4ee
Exact Lean statement (proof omitted)
theorem fep123_laplaceAbsoluteError_le
     (successes sampleCount : ℕ) (target error : ℝ)
     (sampleCountPositive : 0 < sampleCount)
     (successesAtMost : successes ≤ sampleCount)
@@ -867,7 +867,7 @@
     |laplaceEstimate successes sampleCount - target| ≤
       shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)
Exact conclusion
|laplaceEstimate successes sampleCount - target| ≤
       shrinkage sampleCount * error + 1 / ((sampleCount : ℝ) + 2)
Source statement SHA-256
9b7567663dc895b120f3d65e0ce919711cb0bee5a507867a10cd24e2be6a709f
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['successes', 'sampleCount']typed_binder(successes sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target', 'error']typed_binder(target error : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : successes ≤ sampleCount)successes ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
source syntax; proposition elaboration not performed['empiricalErrorBound']typed_binder(empiricalErrorBound : - |empiricalRate successes sampleCount - target| ≤ error)|empiricalRate successes sampleCount - target| ≤ errorexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceAbsoluteError_le']laplaceAbsoluteError_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py
fep-124 · Squared-Risk Transfer through Laplace Smoothing · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep124.FEP124.fep124_laplaceSquaredError_le
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.
Assumption review
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.
Non-vacuity
Nonzero empirical error and nonzero boundary offset both contribute to the integrated upper bound under a nondegenerate finite sampling law.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep124_laplaceSquaredError_le and fep124_laplaceSquaredRisk_le.
Supporting qualified declarations
fep_fep124.FEP124.fep124_laplaceSquaredRisk_le
Boundary qualified declarations
Absent
Canonical body SHA-256
f8dc6e08acc24f9069692fc37d12a4cebce3bebc4b2b54737e16713be61f4b50
Exact Lean statement (proof omitted)
theorem fep124_laplaceSquaredError_le
+      |empiricalRate successes sampleCount - target| ≤ error)|empiricalRate successes sampleCount - target| ≤ errorexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceAbsoluteError_le']laplaceAbsoluteError_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py
fep-124 · Squared-Risk Transfer through Laplace Smoothing · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep124.FEP124.fep124_laplaceSquaredError_le
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.
Assumption review
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.
Non-vacuity
Nonzero empirical error and nonzero boundary offset both contribute to the integrated upper bound under a nondegenerate finite sampling law.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep124_laplaceSquaredError_le and fep124_laplaceSquaredRisk_le.
Supporting qualified declarations
fep_fep124.FEP124.fep124_laplaceSquaredRisk_le
Boundary qualified declarations
Absent
Canonical body SHA-256
f8dc6e08acc24f9069692fc37d12a4cebce3bebc4b2b54737e16713be61f4b50
Exact Lean statement (proof omitted)
theorem fep124_laplaceSquaredError_le
     (successes sampleCount : ℕ) (target : ℝ)
     (sampleCountPositive : 0 < sampleCount)
     (successesAtMost : successes ≤ sampleCount)
@@ -878,10 +878,10 @@
         2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2
Exact conclusion
(laplaceEstimate successes sampleCount - target) ^ 2 ≤
       2 * shrinkage sampleCount ^ 2 *
           (empiricalRate successes sampleCount - target) ^ 2 +
-        2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2
Source statement SHA-256
bb11673b1709d518db4541f183cee6bbb0767af6f4d8b2cdde6236d95801fd50
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['successes', 'sampleCount']typed_binder(successes sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : successes ≤ sampleCount)successes ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceSquaredError_le']laplaceSquaredError_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py
fep-125 · Bernoulli Brier Excess-Risk Identity · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep125.FEP125.fep125_brierExcess_eq_sqError
Invariant
Bernoulli Brier excess risk relative to the true probability is exactly the squared forecast error.
Assumption review
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.
Non-vacuity
A forecast unequal to the target has positive squared excess, while the self-forecast boundary has exactly zero excess.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep125_brierExcess_eq_sqError and fep125_brierExcess_self.
Supporting qualified declarations
fep_fep125.FEP125.fep125_brierExcess_self
Boundary qualified declarations
Absent
Canonical body SHA-256
6ac9c34ed78d61ddc071ee054034f8577e9df07ec4b9e3390397f471542b3a34
Exact Lean statement (proof omitted)
theorem fep125_brierExcess_eq_sqError (target forecast : ℝ) :
+        2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2
Source statement SHA-256
bb11673b1709d518db4541f183cee6bbb0767af6f4d8b2cdde6236d95801fd50
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['successes', 'sampleCount']typed_binder(successes sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : successes ≤ sampleCount)successes ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceSquaredError_le']laplaceSquaredError_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py
fep-125 · Bernoulli Brier Excess-Risk Identity · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep125.FEP125.fep125_brierExcess_eq_sqError
Invariant
Bernoulli Brier excess risk relative to the true probability is exactly the squared forecast error.
Assumption review
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.
Non-vacuity
A forecast unequal to the target has positive squared excess, while the self-forecast boundary has exactly zero excess.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep125_brierExcess_eq_sqError and fep125_brierExcess_self.
Supporting qualified declarations
fep_fep125.FEP125.fep125_brierExcess_self
Boundary qualified declarations
Absent
Canonical body SHA-256
6ac9c34ed78d61ddc071ee054034f8577e9df07ec4b9e3390397f471542b3a34
Exact Lean statement (proof omitted)
theorem fep125_brierExcess_eq_sqError (target forecast : ℝ) :
     bernoulliBrierScore target forecast - bernoulliBrierScore target target =
       (forecast - target) ^ 2
Exact conclusion
bernoulliBrierScore target forecast - bernoulliBrierScore target target =
-      (forecast - target) ^ 2
Source statement SHA-256
fac45ecc2d144c57967b82df5d060d946dde1aa4a0fac8f823dc64a4648990d8
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['target', 'forecast']typed_binder(target forecast : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.brierExcess_eq_sqError']brierExcess_eq_sqErrorunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py
fep-126 · Finite-Law Laplace Brier-Risk Bound · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep126.FEP126.fep126_laplaceBrierRisk_le
Invariant
Finite-law expected Brier excess for the add-one forecast inherits the squared-error transfer bound.
Assumption review
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.
Non-vacuity
A sampling law with mass on outcomes having unequal success counts produces a genuine weighted risk while retaining total mass one.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep126_laplaceBrierRisk_le and fep126_sampling_mass_one.
Supporting qualified declarations
fep_fep126.FEP126.fep126_sampling_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
3b98ae19d7db62023640fd2c4ac257355f85d6e1a5d82b8e9ffb19e43df3f836
Exact Lean statement (proof omitted)
theorem fep126_laplaceBrierRisk_le
+      (forecast - target) ^ 2
Source statement SHA-256
fac45ecc2d144c57967b82df5d060d946dde1aa4a0fac8f823dc64a4648990d8
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['target', 'forecast']typed_binder(target forecast : ℝ)ℝexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.brierExcess_eq_sqError']brierExcess_eq_sqErrorunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py
fep-126 · Finite-Law Laplace Brier-Risk Bound · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep126.FEP126.fep126_laplaceBrierRisk_le
Invariant
Finite-law expected Brier excess for the add-one forecast inherits the squared-error transfer bound.
Assumption review
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.
Non-vacuity
A sampling law with mass on outcomes having unequal success counts produces a genuine weighted risk while retaining total mass one.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep126_laplaceBrierRisk_le and fep126_sampling_mass_one.
Supporting qualified declarations
fep_fep126.FEP126.fep126_sampling_mass_one
Boundary qualified declarations
Absent
Canonical body SHA-256
3b98ae19d7db62023640fd2c4ac257355f85d6e1a5d82b8e9ffb19e43df3f836
Exact Lean statement (proof omitted)
theorem fep126_laplaceBrierRisk_le
     {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)
     (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)
     (sampleCountPositive : 0 < sampleCount)
@@ -897,7 +897,7 @@
       2 * shrinkage sampleCount ^ 2 *
           FEP.VariationalDuality.expectation sampling (fun outcome =>
             (empiricalRate (successes outcome) sampleCount - target) ^ 2) +
-        2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2
Source statement SHA-256
8468d801f26dffb26c27484cce65673b8716c1ff50eece26a13d6753f86af984
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['Ω']typed_binder{Ω : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Ω]Fintype Ωinstance
source syntax; proposition elaboration not performed['sampling']typed_binder(sampling : FiniteLaw Ω)FiniteLaw Ωexplicit
source syntax; proposition elaboration not performed['successes']typed_binder(successes : Ω → ℕ)Ω → ℕexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)∀ outcome, successes outcome ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceBrierRisk_le']laplaceBrierRisk_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py
fep-127 · Concentration-Event Transfer through Smoothing · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep127.FEP127.fep127_laplaceBadEvent_subset
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.
Assumption review
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.
Non-vacuity
For n=2,target=1/2,error=0, a uniform Boolean sampling law with success counts1 and0 gives raw bad-event probability1/2 and an empty smoothed event, because the smoothed deviations are0 and exactly1/4. This is a strict-containment instance. Constant count1 gives both events empty despite distinct thresholds; event distinctness is not required by the theorem.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep127_laplaceBadEvent_subset and fep127_laplaceBadEvent_probability_le.
Supporting qualified declarations
fep_fep127.FEP127.fep127_laplaceBadEvent_probability_le
Boundary qualified declarations
Absent
Canonical body SHA-256
93863bc021a0520025ce1b77bc50889b26f18e1423c7d549ce092f89e8859fd6
Exact Lean statement (proof omitted)
theorem fep127_laplaceBadEvent_subset
+        2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2
Source statement SHA-256
8468d801f26dffb26c27484cce65673b8716c1ff50eece26a13d6753f86af984
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['Ω']typed_binder{Ω : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Ω]Fintype Ωinstance
source syntax; proposition elaboration not performed['sampling']typed_binder(sampling : FiniteLaw Ω)FiniteLaw Ωexplicit
source syntax; proposition elaboration not performed['successes']typed_binder(successes : Ω → ℕ)Ω → ℕexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)∀ outcome, successes outcome ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceBrierRisk_le']laplaceBrierRisk_leunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py
fep-127 · Concentration-Event Transfer through Smoothing · formalized
Family context (editorial)
finite-sample-risk-and-calibration
Primary qualified witness
fep_fep127.FEP127.fep127_laplaceBadEvent_subset
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.
Assumption review
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.
Non-vacuity
For n=2,target=1/2,error=0, a uniform Boolean sampling law with success counts1 and0 gives raw bad-event probability1/2 and an empty smoothed event, because the smoothed deviations are0 and exactly1/4. This is a strict-containment instance. Constant count1 gives both events empty despite distinct thresholds; event distinctness is not required by the theorem.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep127_laplaceBadEvent_subset and fep127_laplaceBadEvent_probability_le.
Supporting qualified declarations
fep_fep127.FEP127.fep127_laplaceBadEvent_probability_le
Boundary qualified declarations
Absent
Canonical body SHA-256
93863bc021a0520025ce1b77bc50889b26f18e1423c7d549ce092f89e8859fd6
Exact Lean statement (proof omitted)
theorem fep127_laplaceBadEvent_subset
     {Ω : Type*} [Fintype Ω] (successes : Ω → ℕ)
     (sampleCount : ℕ) (target error : ℝ)
     (sampleCountPositive : 0 < sampleCount)
@@ -905,7 +905,7 @@
     (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :
     laplaceBadEvent successes sampleCount target error ⊆
       empiricalBadEvent successes sampleCount target error
Exact conclusion
laplaceBadEvent successes sampleCount target error ⊆
-      empiricalBadEvent successes sampleCount target error
Source statement SHA-256
020746b334eeaa62092972d1a6360475f771725857e1200ebe9f999ae570a75f
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['Ω']typed_binder{Ω : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Ω]Fintype Ωinstance
source syntax; proposition elaboration not performed['successes']typed_binder(successes : Ω → ℕ)Ω → ℕexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target', 'error']typed_binder(target error : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)∀ outcome, successes outcome ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceBadEvent_subset']laplaceBadEvent_subsetunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py
fep-128 · Observation-Contingent Policy-Tree Recursion · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep128.FEP128.fep128_policyTreeValue_node
Invariant
A finite policy-tree node equals its stage cost plus the observation-law weighted values of observation-contingent continuation trees.
Assumption review
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.
Non-vacuity
A successor node can choose different continuation trees after different observations, whereas the depth-zero carrier has exactly zero value.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep128_policyTreeValue_node and fep128_policyTreeValue_leaf.
Supporting qualified declarations
fep_fep128.FEP128.fep128_policyTreeValue_leaf
Boundary qualified declarations
Absent
Canonical body SHA-256
443ac7fd78dc4638df33daf08e5803607ac3458ed042351561d6b95142ec1789
Exact Lean statement (proof omitted)
theorem fep128_policyTreeValue_node
+      empiricalBadEvent successes sampleCount target error
Source statement SHA-256
020746b334eeaa62092972d1a6360475f771725857e1200ebe9f999ae570a75f
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['Ω']typed_binder{Ω : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Ω]Fintype Ωinstance
source syntax; proposition elaboration not performed['successes']typed_binder(successes : Ω → ℕ)Ω → ℕexplicit
source syntax; proposition elaboration not performed['sampleCount']typed_binder(sampleCount : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['target', 'error']typed_binder(target error : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['sampleCountPositive']typed_binder(sampleCountPositive : 0 < sampleCount)0 < sampleCountexplicit
source syntax; proposition elaboration not performed['successesAtMost']typed_binder(successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)∀ outcome, successes outcome ≤ sampleCountexplicit
source syntax; proposition elaboration not performed['targetBounds']typed_binder(targetBounds : target ∈ Set.Icc (0 : ℝ) 1)target ∈ Set.Icc (0 : ℝ) 1explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.EmpiricalRisk.laplaceBadEvent_subset']laplaceBadEvent_subsetunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py
fep-128 · Observation-Contingent Policy-Tree Recursion · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep128.FEP128.fep128_policyTreeValue_node
Invariant
A finite policy-tree node equals its stage cost plus the observation-law weighted values of observation-contingent continuation trees.
Assumption review
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.
Non-vacuity
A successor node can choose different continuation trees after different observations, whereas the depth-zero carrier has exactly zero value.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep128_policyTreeValue_node and fep128_policyTreeValue_leaf.
Supporting qualified declarations
fep_fep128.FEP128.fep128_policyTreeValue_leaf
Boundary qualified declarations
Absent
Canonical body SHA-256
443ac7fd78dc4638df33daf08e5803607ac3458ed042351561d6b95142ec1789
Exact Lean statement (proof omitted)
theorem fep128_policyTreeValue_node
     {Belief Action Observation : Type*}
     [Fintype Belief] [Fintype Action] [Fintype Observation]
     (model : PolicyTreeModel Belief Action Observation)
@@ -922,7 +922,7 @@
         ∑ observation,
           model.observationLaw belief action observation *
             policyTreeValue model (continuation observation)
-              (model.update belief action observation)
Source statement SHA-256
50c0d7737436c2c6b584012f0c4d344c62ad2c18c85d8eba649d5cbcc8c85a7a
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
source syntax; proposition elaboration not performed['continuation']typed_binder(continuation : Observation → PolicyTree Action Observation depth)Observation → PolicyTree Action Observation depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.policyTreeValue_node']policyTreeValue_nodeunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py
fep-129 · Finite Policy-Tree Bellman Minimum · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep129.FEP129.fep129_optimalTreeValue_eq_min
Invariant
Backward induction exposes an exact finite-action Bellman minimum of stage cost plus observation-weighted optimal continuation.
Assumption review
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.
Non-vacuity
The selected action is proved no worse than every explicit alternative at each node rather than merely being named as an argmin.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep129_optimalTreeValue_eq_min and fep129_optimalTreeAction_le.
Supporting qualified declarations
fep_fep129.FEP129.fep129_optimalTreeAction_le
Boundary qualified declarations
Absent
Canonical body SHA-256
ca39e81f27a6bc4814a551ad5a047d53d521abcaa82cc20dac36595b728d6d1e
Exact Lean statement (proof omitted)
theorem fep129_optimalTreeValue_eq_min
+              (model.update belief action observation)
Source statement SHA-256
50c0d7737436c2c6b584012f0c4d344c62ad2c18c85d8eba649d5cbcc8c85a7a
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['action']typed_binder(action : Action)Actionexplicit
source syntax; proposition elaboration not performed['continuation']typed_binder(continuation : Observation → PolicyTree Action Observation depth)Observation → PolicyTree Action Observation depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.policyTreeValue_node']policyTreeValue_nodeunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py
fep-129 · Finite Policy-Tree Bellman Minimum · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep129.FEP129.fep129_optimalTreeValue_eq_min
Invariant
Backward induction exposes an exact finite-action Bellman minimum of stage cost plus observation-weighted optimal continuation.
Assumption review
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.
Non-vacuity
The selected action is proved no worse than every explicit alternative at each node rather than merely being named as an argmin.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep129_optimalTreeValue_eq_min and fep129_optimalTreeAction_le.
Supporting qualified declarations
fep_fep129.FEP129.fep129_optimalTreeAction_le
Boundary qualified declarations
Absent
Canonical body SHA-256
ca39e81f27a6bc4814a551ad5a047d53d521abcaa82cc20dac36595b728d6d1e
Exact Lean statement (proof omitted)
theorem fep129_optimalTreeValue_eq_min
     {Belief Action Observation : Type*}
     [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]
     (model : PolicyTreeModel Belief Action Observation)
@@ -941,7 +941,7 @@
               observation *
             optimalTreeValue model depth
               (model.update belief (optimalTreeAction model depth belief)
-                observation)
Source statement SHA-256
21fa255572345e1ee58d45700e5f7320ff64acaff1b86400ebda69bcd17f99c7
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Action]Nonempty Actioninstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder(depth : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.optimalTreeValue_eq_min']optimalTreeValue_eq_minunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py
fep-130 · Optimal Finite Policy-Tree Existence · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep130.FEP130.fep130_exists_optimalPolicyTree
Invariant
Every finite-depth, finite-carrier policy-tree problem with a nonempty action set has a concrete backward-inducted tree attaining the recursive optimum.
Assumption review
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.
Non-vacuity
The witness is an actual depth-indexed tree and is compared with every other tree on the same finite carrier.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep130_exists_optimalPolicyTree and fep130_policyTree_carrier_finite.
Supporting qualified declarations
fep_fep130.FEP130.fep130_policyTree_carrier_finite
Boundary qualified declarations
Absent
Canonical body SHA-256
b5b5a93bb570882c7e1f8c6c8a1da5d078692550980a3232c8ab8c5a37ac2121
Exact Lean statement (proof omitted)
theorem fep130_exists_optimalPolicyTree
+                observation)
Source statement SHA-256
21fa255572345e1ee58d45700e5f7320ff64acaff1b86400ebda69bcd17f99c7
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Action]Nonempty Actioninstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder(depth : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.optimalTreeValue_eq_min']optimalTreeValue_eq_minunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py
fep-130 · Optimal Finite Policy-Tree Existence · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep130.FEP130.fep130_exists_optimalPolicyTree
Invariant
Every finite-depth, finite-carrier policy-tree problem with a nonempty action set has a concrete backward-inducted tree attaining the recursive optimum.
Assumption review
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.
Non-vacuity
The witness is an actual depth-indexed tree and is compared with every other tree on the same finite carrier.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep130_exists_optimalPolicyTree and fep130_policyTree_carrier_finite.
Supporting qualified declarations
fep_fep130.FEP130.fep130_policyTree_carrier_finite
Boundary qualified declarations
Absent
Canonical body SHA-256
b5b5a93bb570882c7e1f8c6c8a1da5d078692550980a3232c8ab8c5a37ac2121
Exact Lean statement (proof omitted)
theorem fep130_exists_optimalPolicyTree
     {Belief Action Observation : Type*}
     [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]
     (model : PolicyTreeModel Belief Action Observation)
@@ -954,7 +954,7 @@
       policyTreeValue model tree belief = optimalTreeValue model depth belief ∧
         ∀ alternative : PolicyTree Action Observation depth,
           policyTreeValue model tree belief ≤
-            policyTreeValue model alternative belief
Source statement SHA-256
ae826d6fce59dee31885385d2b44e907f4069b3e24df597cbded1453281cf22e
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Action]Nonempty Actioninstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder(depth : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.exists_optimalPolicyTree']exists_optimalPolicyTreeunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py
fep-131 · Open-Loop Plan Embedding into Policy Trees · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep131.FEP131.fep131_openLoopEmbedding_value
Invariant
Reusing the same continuation after every observation embeds an open-loop action plan into the policy-tree carrier without changing its recursive value.
Assumption review
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.
Non-vacuity
At positive depth the embedding duplicates a common continuation across all observation branches; at depth zero both carriers reduce to their unique leaf.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep131_openLoopEmbedding_value and fep131_openLoopEmbedding_leaf.
Supporting qualified declarations
fep_fep131.FEP131.fep131_openLoopEmbedding_leaf
Boundary qualified declarations
Absent
Canonical body SHA-256
54261374ba94b0b3e875ce4ae9840dd29916f5c029ba039e38136ae76788bee8
Exact Lean statement (proof omitted)
theorem fep131_openLoopEmbedding_value
+            policyTreeValue model alternative belief
Source statement SHA-256
ae826d6fce59dee31885385d2b44e907f4069b3e24df597cbded1453281cf22e
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Action]Nonempty Actioninstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder(depth : ℕ)ℕexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.exists_optimalPolicyTree']exists_optimalPolicyTreeunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py
fep-131 · Open-Loop Plan Embedding into Policy Trees · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep131.FEP131.fep131_openLoopEmbedding_value
Invariant
Reusing the same continuation after every observation embeds an open-loop action plan into the policy-tree carrier without changing its recursive value.
Assumption review
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.
Non-vacuity
At positive depth the embedding duplicates a common continuation across all observation branches; at depth zero both carriers reduce to their unique leaf.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep131_openLoopEmbedding_value and fep131_openLoopEmbedding_leaf.
Supporting qualified declarations
fep_fep131.FEP131.fep131_openLoopEmbedding_leaf
Boundary qualified declarations
Absent
Canonical body SHA-256
54261374ba94b0b3e875ce4ae9840dd29916f5c029ba039e38136ae76788bee8
Exact Lean statement (proof omitted)
theorem fep131_openLoopEmbedding_value
     {Belief Action Observation : Type*}
     [Fintype Belief] [Fintype Action] [Fintype Observation]
     (model : PolicyTreeModel Belief Action Observation)
@@ -963,12 +963,12 @@
         (openLoopEmbedding (Observation := Observation) plan) belief =
       openLoopValue model plan belief
Exact conclusion
policyTreeValue model
         (openLoopEmbedding (Observation := Observation) plan) belief =
-      openLoopValue model plan belief
Source statement SHA-256
a4ff4bec2f98588a459cdba6c5892dfb2bcc71f8c7a419de461702744cb47f11
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['plan']typed_binder(plan : OpenLoopPlan Action depth)OpenLoopPlan Action depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.openLoopEmbedding_value']openLoopEmbedding_valueunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py
fep-132 · Closed-Loop Policy-Tree Dominance over Open Loop · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep132.FEP132.fep132_optimalTree_le_openLoop
Invariant
The optimal observation-contingent finite policy tree is no worse than every open-loop plan embedded at the same depth.
Assumption review
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.
Non-vacuity
The strict Boolean witness in fep-134 demonstrates that the inequality can be strict rather than only equality under an observation-irrelevant model.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep132_optimalTree_le_openLoop with an arbitrary same-depth open-loop plan.
Supporting qualified declarations
fep_fep132.FEP132.fep132_finite_horizon_depth
Boundary qualified declarations
Absent
Canonical body SHA-256
e4f421f6d341549632d9966b81e87d36160a8c61f5de848b7cade4f693e7d5cb
Exact Lean statement (proof omitted)
theorem fep132_optimalTree_le_openLoop
+      openLoopValue model plan belief
Source statement SHA-256
a4ff4bec2f98588a459cdba6c5892dfb2bcc71f8c7a419de461702744cb47f11
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['plan']typed_binder(plan : OpenLoopPlan Action depth)OpenLoopPlan Action depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.openLoopEmbedding_value']openLoopEmbedding_valueunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py
fep-132 · Closed-Loop Policy-Tree Dominance over Open Loop · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep132.FEP132.fep132_optimalTree_le_openLoop
Invariant
The optimal observation-contingent finite policy tree is no worse than every open-loop plan embedded at the same depth.
Assumption review
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.
Non-vacuity
The strict Boolean witness in fep-134 demonstrates that the inequality can be strict rather than only equality under an observation-irrelevant model.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep132_optimalTree_le_openLoop with an arbitrary same-depth open-loop plan.
Supporting qualified declarations
fep_fep132.FEP132.fep132_finite_horizon_depth
Boundary qualified declarations
Absent
Canonical body SHA-256
e4f421f6d341549632d9966b81e87d36160a8c61f5de848b7cade4f693e7d5cb
Exact Lean statement (proof omitted)
theorem fep132_optimalTree_le_openLoop
     {Belief Action Observation : Type*}
     [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]
     (model : PolicyTreeModel Belief Action Observation)
     {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief) :
-    optimalTreeValue model depth belief ≤ openLoopValue model plan belief
Exact conclusion
optimalTreeValue model depth belief ≤ openLoopValue model plan belief
Source statement SHA-256
3735afccbf7bbe0b3f37ba520c998888923da4fa3ea2f2241f773e4667b9653c
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Action]Nonempty Actioninstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['plan']typed_binder(plan : OpenLoopPlan Action depth)OpenLoopPlan Action depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.optimalTree_le_openLoop']optimalTree_le_openLoopunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py
fep-133 · Treewise Expected-Free-Energy Decomposition · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep133.FEP133.fep133_policyTree_efe_eq_risk_add_ambiguity
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.
Assumption review
Every belief-indexed generative model satisfies FullSupport and supplies actual model-derived EFE, risk and ambiguity. The generic update is an arbitrary function and need not be the preceding model's Bayesian posterior. The separate BayesianBeliefModel/update_filtered specialization and its policy-tree/POMDP/risk-ambiguity bridges establish that stronger filtered interpretation under their explicit support premises. All horizons/carriers remain finite; empirical adequacy is not established.
Non-vacuity
The induction ranges over observation-contingent continuations and the optimal-value theorem compares independently constructed minimizing trees.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep133_policyTree_efe_eq_risk_add_ambiguity and fep133_optimalValues_agree.
Supporting qualified declarations
fep_fep133.FEP133.fep133_optimalValues_agree
Boundary qualified declarations
Absent
Canonical body SHA-256
9f1d294df477281f873ad5b84f7bc6b9e63c6d99780c3a9fd9e30e526396b01f
Exact Lean statement (proof omitted)
theorem fep133_policyTree_efe_eq_risk_add_ambiguity
+    optimalTreeValue model depth belief ≤ openLoopValue model plan belief
Exact conclusion
optimalTreeValue model depth belief ≤ openLoopValue model plan belief
Source statement SHA-256
3735afccbf7bbe0b3f37ba520c998888923da4fa3ea2f2241f773e4667b9653c
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['Belief', 'Action', 'Observation']typed_binder{Belief Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Action]Nonempty Actioninstance
source syntax; proposition elaboration not performed['model']typed_binder(model : PolicyTreeModel Belief Action Observation)PolicyTreeModel Belief Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['plan']typed_binder(plan : OpenLoopPlan Action depth)OpenLoopPlan Action depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.optimalTree_le_openLoop']optimalTree_le_openLoopunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py
fep-133 · Treewise Expected-Free-Energy Decomposition · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep133.FEP133.fep133_policyTree_efe_eq_risk_add_ambiguity
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.
Assumption review
Every belief-indexed generative model satisfies FullSupport and supplies actual model-derived EFE, risk and ambiguity. The generic update is an arbitrary function and need not be the preceding model's Bayesian posterior. The separate BayesianBeliefModel/update_filtered specialization and its policy-tree/POMDP/risk-ambiguity bridges establish that stronger filtered interpretation under their explicit support premises. All horizons/carriers remain finite; empirical adequacy is not established.
Non-vacuity
The induction ranges over observation-contingent continuations and the optimal-value theorem compares independently constructed minimizing trees.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep133_policyTree_efe_eq_risk_add_ambiguity and fep133_optimalValues_agree.
Supporting qualified declarations
fep_fep133.FEP133.fep133_optimalValues_agree
Boundary qualified declarations
Absent
Canonical body SHA-256
9f1d294df477281f873ad5b84f7bc6b9e63c6d99780c3a9fd9e30e526396b01f
Exact Lean statement (proof omitted)
theorem fep133_policyTree_efe_eq_risk_add_ambiguity
     {Belief State Action Observation : Type*}
     [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation]
     (model : EFEPolicyTreeModel Belief State Action Observation)
@@ -976,21 +976,21 @@
     (belief : Belief) :
     policyTreeValue (efePolicyTreeModel model) tree belief =
       policyTreeValue (riskAmbiguityPolicyTreeModel model) tree belief
Exact conclusion
policyTreeValue (efePolicyTreeModel model) tree belief =
-      policyTreeValue (riskAmbiguityPolicyTreeModel model) tree belief
Source statement SHA-256
cef8627be99f4d7a06190a6d672655f5f677b617ee0a5145fb36270498e289c3
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['Belief', 'State', 'Action', 'Observation']typed_binder{Belief State Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype State]Fintype Stateinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : EFEPolicyTreeModel Belief State Action Observation)EFEPolicyTreeModel Belief State Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['tree']typed_binder(tree : PolicyTree Action Observation depth)PolicyTree Action Observation depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity']policyTree_efe_eq_risk_add_ambiguityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py
fep-134 · Strict Boolean Feedback Advantage · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep134.FEP134.fep134_boolFeedback_strictlyBetter
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.
Assumption review
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.
Non-vacuity
The continuation action provably differs between false and true observations and the strict gap is exactly one half.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep134_boolFeedback_strictlyBetter and fep134_feedback_continuation_changes with both Boolean actions.
Supporting qualified declarations
fep_fep134.FEP134.fep134_feedback_continuation_changes
Boundary qualified declarations
Absent
Canonical body SHA-256
1ee11c28263316c28024c8f0cbf210dd6619a9472431435fe6102fbbdedaf8f4
Exact Lean statement (proof omitted)
theorem fep134_boolFeedback_strictlyBetter (action : Bool) :
+      policyTreeValue (riskAmbiguityPolicyTreeModel model) tree belief
Source statement SHA-256
cef8627be99f4d7a06190a6d672655f5f677b617ee0a5145fb36270498e289c3
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['Belief', 'State', 'Action', 'Observation']typed_binder{Belief State Action Observation : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Belief]Fintype Beliefinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype State]Fintype Stateinstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Action]Fintype Actioninstance
source syntax; proposition elaboration not performed[]instance_requirement[Fintype Observation]Fintype Observationinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : EFEPolicyTreeModel Belief State Action Observation)EFEPolicyTreeModel Belief State Action Observationexplicit
source syntax; proposition elaboration not performed['depth']typed_binder{depth : ℕ}ℕimplicit
source syntax; proposition elaboration not performed['tree']typed_binder(tree : PolicyTree Action Observation depth)PolicyTree Action Observation depthexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : Belief)Beliefexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity']policyTree_efe_eq_risk_add_ambiguityunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py
fep-134 · Strict Boolean Feedback Advantage · formalized
Family context (editorial)
closed-loop-policy-trees-and-efe
Primary qualified witness
fep_fep134.FEP134.fep134_boolFeedback_strictlyBetter
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.
Assumption review
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.
Non-vacuity
The continuation action provably differs between false and true observations and the strict gap is exactly one half.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep134_boolFeedback_strictlyBetter and fep134_feedback_continuation_changes with both Boolean actions.
Supporting qualified declarations
fep_fep134.FEP134.fep134_feedback_continuation_changes
Boundary qualified declarations
Absent
Canonical body SHA-256
1ee11c28263316c28024c8f0cbf210dd6619a9472431435fe6102fbbdedaf8f4
Exact Lean statement (proof omitted)
theorem fep134_boolFeedback_strictlyBetter (action : Bool) :
     policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧
       openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2 ∧
       policyTreeValue boolFeedbackModel boolFeedbackTree false <
         openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false
Exact conclusion
policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧
       openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2 ∧
       policyTreeValue boolFeedbackModel boolFeedbackTree false <
-        openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false
Source statement SHA-256
4a14745f1ceb8623a76f90c97e459d1adefcfe4929e18a55c860e79eef2bd2ae
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['action']typed_binder(action : Bool)Boolexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.boolFeedbackTree_strictlyBetter']boolFeedbackTree_strictlyBetterunresolvedunresolved lexical scopeproof_reference
['FEP.PolicyTrees.boolFeedbackTree_value_zero']boolFeedbackTree_value_zerounresolvedunresolved lexical scopeproof_reference
['FEP.PolicyTrees.boolOpenLoop_value_half']boolOpenLoop_value_halfunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py
fep-135 · Finite-Law Measure Embedding · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep135.FEP135.fep135_embeddedLaw_apply_singleton
Invariant
A normalized finite law embeds as a weighted sum of Dirac measures that preserves every singleton mass and has native measure mass one.
Assumption review
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.
Non-vacuity
Any nonuniform finite law gives distinct native singleton masses while the full measure remains normalized.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep135_embeddedLaw_apply_singleton and fep135_embeddedLaw_normalized for an arbitrary finite law.
Supporting qualified declarations
fep_fep135.FEP135.fep135_embeddedLaw_normalized
Boundary qualified declarations
Absent
Canonical body SHA-256
dbb7bb949236264d31b0782af0e9912d2b9b8de66d4bcbabd129ec4d19c9c2c8
Exact Lean statement (proof omitted)
theorem fep135_embeddedLaw_apply_singleton
+        openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false
Source statement SHA-256
4a14745f1ceb8623a76f90c97e459d1adefcfe4929e18a55c860e79eef2bd2ae
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['action']typed_binder(action : Bool)Boolexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
['FEP.PolicyTrees.boolFeedbackTree_strictlyBetter']boolFeedbackTree_strictlyBetterunresolvedunresolved lexical scopeproof_reference
['FEP.PolicyTrees.boolFeedbackTree_value_zero']boolFeedbackTree_value_zerounresolvedunresolved lexical scopeproof_reference
['FEP.PolicyTrees.boolOpenLoop_value_half']boolOpenLoop_value_halfunresolvedunresolved lexical scopeproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py
fep-135 · Finite-Law Measure Embedding · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep135.FEP135.fep135_embeddedLaw_apply_singleton
Invariant
A normalized finite law embeds as a weighted sum of Dirac measures that preserves every singleton mass and has native measure mass one.
Assumption review
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.
Non-vacuity
Any nonuniform finite law gives distinct native singleton masses while the full measure remains normalized.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep135_embeddedLaw_apply_singleton and fep135_embeddedLaw_normalized for an arbitrary finite law.
Supporting qualified declarations
fep_fep135.FEP135.fep135_embeddedLaw_normalized
Boundary qualified declarations
Absent
Canonical body SHA-256
dbb7bb949236264d31b0782af0e9912d2b9b8de66d4bcbabd129ec4d19c9c2c8
Exact Lean statement (proof omitted)
theorem fep135_embeddedLaw_apply_singleton
     (law : FiniteLaw State) (state : State) :
     FEP.NativeBlanket.embeddedLaw law {state} = ENNReal.ofReal (law state)
Exact conclusion
FEP.NativeBlanket.embeddedLaw law {state} = ENNReal.ofReal (law state)
Source statement SHA-256
91faa79dff9e9cba887f3d349bff60e6d80468f80b2e1e9c4ab5757257482a16
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State] - [MeasurableSpace State] [DiscreteMeasurableSpace State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['law']typed_binder(law : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.embeddedLaw_apply_singletonFEP.NativeBlanket.embeddedLaw_apply_singletonexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/native_blanket_independence.py
fep-136 · Finite-Law Embedding Injectivity and Expectation Transfer · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep136.FEP136.fep136_embeddedLaw_injective
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.
Assumption review
The carrier is finite and discretely measurable and observables are real-valued. Finiteness supplies integrability; no general integration or measure-equivalence theorem is inferred.
Non-vacuity
Distinct point masses remain distinguishable by singleton evaluation and a nonconstant observable produces the same nontrivial expectation on both carriers.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep136_embeddedLaw_injective and fep136_embeddedLaw_expectation.
Supporting qualified declarations
fep_fep136.FEP136.fep136_embeddedLaw_expectation
Boundary qualified declarations
Absent
Canonical body SHA-256
2c91fe60104125349d74a20a55fecf7c8178e7e4fd626a5908a3007ca66d266d
Exact Lean statement (proof omitted)
theorem fep136_embeddedLaw_injective :
+  [MeasurableSpace State] [DiscreteMeasurableSpace State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['law']typed_binder(law : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['state']typed_binder(state : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.embeddedLaw_apply_singletonFEP.NativeBlanket.embeddedLaw_apply_singletonexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/native_blanket_independence.py
fep-136 · Finite-Law Embedding Injectivity and Expectation Transfer · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep136.FEP136.fep136_embeddedLaw_injective
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.
Assumption review
The carrier is finite and discretely measurable and observables are real-valued. Finiteness supplies integrability; no general integration or measure-equivalence theorem is inferred.
Non-vacuity
Distinct point masses remain distinguishable by singleton evaluation and a nonconstant observable produces the same nontrivial expectation on both carriers.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep136_embeddedLaw_injective and fep136_embeddedLaw_expectation.
Supporting qualified declarations
fep_fep136.FEP136.fep136_embeddedLaw_expectation
Boundary qualified declarations
Absent
Canonical body SHA-256
2c91fe60104125349d74a20a55fecf7c8178e7e4fd626a5908a3007ca66d266d
Exact Lean statement (proof omitted)
theorem fep136_embeddedLaw_injective :
     Function.Injective
       (FEP.NativeBlanket.embeddedLaw : FiniteLaw State → Measure State)
Exact conclusion
Function.Injective
       (FEP.NativeBlanket.embeddedLaw : FiniteLaw State → Measure State)
Source statement SHA-256
1b89737a68a32fe74fac38e86a8999fd0831963f32f04597719b028ce23cf9ca
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State] - [MeasurableSpace State] [DiscreteMeasurableSpace State]
Explicit, implicit and instance binder syntax

No rows.

Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.embeddedLaw_injectiveFEP.NativeBlanket.embeddedLaw_injectiveexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/native_blanket_independence.py
fep-137 · Embedded Finite-Kernel Composition · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep137.FEP137.fep137_embeddedPredictive_eq_comp
Invariant
Embedding finite prediction equals native composition of the embedded finite kernel with the embedded prior measure.
Assumption review
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.
Non-vacuity
A nondegenerate prior and a state-dependent finite kernel yield a genuine mixture whose native singleton masses agree with finite prediction.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep137_embeddedPredictive_eq_comp on arbitrary normalized finite priors and kernels.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
55f3f602a6acb373deeb26a8bd084a976804289e683eac4f3263d7b8ba2a1377
Exact Lean statement (proof omitted)
theorem fep137_embeddedPredictive_eq_comp
+  [MeasurableSpace State] [DiscreteMeasurableSpace State]
Explicit, implicit and instance binder syntax

No rows.

Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.embeddedLaw_injectiveFEP.NativeBlanket.embeddedLaw_injectiveexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/native_blanket_independence.py
fep-137 · Embedded Finite-Kernel Composition · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep137.FEP137.fep137_embeddedPredictive_eq_comp
Invariant
Embedding finite prediction equals native composition of the embedded finite kernel with the embedded prior measure.
Assumption review
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.
Non-vacuity
A nondegenerate prior and a state-dependent finite kernel yield a genuine mixture whose native singleton masses agree with finite prediction.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep137_embeddedPredictive_eq_comp on arbitrary normalized finite priors and kernels.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
55f3f602a6acb373deeb26a8bd084a976804289e683eac4f3263d7b8ba2a1377
Exact Lean statement (proof omitted)
theorem fep137_embeddedPredictive_eq_comp
     (prior : FiniteLaw Input) (kernel : FiniteKernel Input Output) :
     FEP.NativeBlanket.embeddedLaw (kernel.predictive prior) =
       FEP.NativeBlanket.embeddedKernel kernel ∘ₘ
@@ -998,7 +998,7 @@
       FEP.NativeBlanket.embeddedKernel kernel ∘ₘ
         FEP.NativeBlanket.embeddedLaw prior
Source statement SHA-256
4b8fd2ec0e2035b7d275d1a03fd8b28d3cb0b2ff8d9945ed8b32f15024636f81
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Input Output : Type*} [Fintype Input] [Fintype Output] [MeasurableSpace Input] [MeasurableSpace Output] - [DiscreteMeasurableSpace Input] [DiscreteMeasurableSpace Output]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Input)FiniteLaw Inputexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel Input Output)FiniteKernel Input Outputexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.embeddedPredictive_eq_compFEP.NativeBlanket.embeddedPredictive_eq_compexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/native_blanket_independence.py
fep-138 · Markov-Blanket Rectangle Factorization · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep138.FEP138.fep138_staticJoint_rectangle_factorization
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.
Assumption review
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.
Non-vacuity
The correlated Boolean model contains two distinct positive blanket/joint atoms while retaining point-mass internal and external conditional rows.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep138_staticJoint_rectangle_factorization on every finite coordinate atom.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
db310fa47dd4edb73d69efb55ce6946337b1def9c7daaefa2d780119db94bf9d
Exact Lean statement (proof omitted)
theorem fep138_staticJoint_rectangle_factorization
+  [DiscreteMeasurableSpace Input] [DiscreteMeasurableSpace Output]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Input)FiniteLaw Inputexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel Input Output)FiniteKernel Input Outputexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.embeddedPredictive_eq_compFEP.NativeBlanket.embeddedPredictive_eq_compexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/native_blanket_independence.py
fep-138 · Markov-Blanket Rectangle Factorization · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep138.FEP138.fep138_staticJoint_rectangle_factorization
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.
Assumption review
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.
Non-vacuity
The correlated Boolean model contains two distinct positive blanket/joint atoms while retaining point-mass internal and external conditional rows.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep138_staticJoint_rectangle_factorization on every finite coordinate atom.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
db310fa47dd4edb73d69efb55ce6946337b1def9c7daaefa2d780119db94bf9d
Exact Lean statement (proof omitted)
theorem fep138_staticJoint_rectangle_factorization
     (model : StaticModel Internal Sensory Active External)
     (blanket : Blanket Sensory Active) (internal : Internal)
     (external : External) :
@@ -1019,7 +1019,7 @@
   [MeasurableSpace Internal] [MeasurableSpace Sensory]
   [MeasurableSpace Active] [MeasurableSpace External]
   [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]
-  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : StaticModel Internal Sensory Active External)StaticModel Internal Sensory Active Externalexplicit
source syntax; proposition elaboration not performed['blanket']typed_binder(blanket : Blanket Sensory Active)Blanket Sensory Activeexplicit
source syntax; proposition elaboration not performed['internal']typed_binder(internal : Internal)Internalexplicit
source syntax; proposition elaboration not performed['external']typed_binder(external : External)Externalexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.staticJoint_rectangle_factorizationFEP.NativeBlanket.staticJoint_rectangle_factorizationexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/native_blanket_independence.py
fep-139 · Native Markov-Blanket Conditional Independence · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep139.FEP139.fep139_staticJoint_condIndepFun
Invariant
The embedded finite blanket factorization satisfies Mathlib's native CondIndepFun predicate for internal and external coordinates conditioned on the sensory-active blanket coordinate.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep139_staticJoint_condIndepFun and fep139_correlatedBlanket_nonvacuous, plus declaration-level trusted-axiom inspection.
Supporting qualified declarations
fep_fep139.FEP139.fep139_correlatedBlanket_nonvacuous
Boundary qualified declarations
Absent
Canonical body SHA-256
20abd300651bbef9ba59dc44b6a3dd8df80cfe9a7eaf13ad434fc4c793691c36
Exact Lean statement (proof omitted)
theorem fep139_staticJoint_condIndepFun
+  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : StaticModel Internal Sensory Active External)StaticModel Internal Sensory Active Externalexplicit
source syntax; proposition elaboration not performed['blanket']typed_binder(blanket : Blanket Sensory Active)Blanket Sensory Activeexplicit
source syntax; proposition elaboration not performed['internal']typed_binder(internal : Internal)Internalexplicit
source syntax; proposition elaboration not performed['external']typed_binder(external : External)Externalexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.staticJoint_rectangle_factorizationFEP.NativeBlanket.staticJoint_rectangle_factorizationexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/native_blanket_independence.py
fep-139 · Native Markov-Blanket Conditional Independence · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep139.FEP139.fep139_staticJoint_condIndepFun
Invariant
The embedded finite blanket factorization satisfies Mathlib's native CondIndepFun predicate for internal and external coordinates conditioned on the sensory-active blanket coordinate.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep139_staticJoint_condIndepFun and fep139_correlatedBlanket_nonvacuous, plus declaration-level trusted-axiom inspection.
Supporting qualified declarations
fep_fep139.FEP139.fep139_correlatedBlanket_nonvacuous
Boundary qualified declarations
Absent
Canonical body SHA-256
20abd300651bbef9ba59dc44b6a3dd8df80cfe9a7eaf13ad434fc4c793691c36
Exact Lean statement (proof omitted)
theorem fep139_staticJoint_condIndepFun
     (model : StaticModel Internal Sensory Active External) :
     CondIndepFun
       (MeasurableSpace.comap FEP.NativeBlanket.blanketCoordinate inferInstance)
@@ -1037,7 +1037,7 @@
   [MeasurableSpace Internal] [MeasurableSpace Sensory]
   [MeasurableSpace Active] [MeasurableSpace External]
   [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]
-  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : StaticModel Internal Sensory Active External)StaticModel Internal Sensory Active Externalexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.staticJoint_condIndepFunFEP.NativeBlanket.staticJoint_condIndepFunexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/native_blanket_independence.py
fep-140 · Conditional Independence under Measurable Coarsening · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep140.FEP140.fep140_condIndepFun_measurableImages
Invariant
Native blanket conditional independence is preserved under measurable images of both internal and external coordinates.
Assumption review
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.
Non-vacuity
Identity maps recover fep-139, while noninjective measurable coarsenings can merge endpoint states without invalidating conditional independence.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep140_condIndepFun_measurableImages with arbitrary measurable endpoint maps.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
14048b2c104a57bf5d4300beb116e89025aba34e4e10b992e0242243494c9c9f
Exact Lean statement (proof omitted)
theorem fep140_condIndepFun_measurableImages
+  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['model']typed_binder(model : StaticModel Internal Sensory Active External)StaticModel Internal Sensory Active Externalexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.staticJoint_condIndepFunFEP.NativeBlanket.staticJoint_condIndepFunexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/native_blanket_independence.py
fep-140 · Conditional Independence under Measurable Coarsening · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep140.FEP140.fep140_condIndepFun_measurableImages
Invariant
Native blanket conditional independence is preserved under measurable images of both internal and external coordinates.
Assumption review
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.
Non-vacuity
Identity maps recover fep-139, while noninjective measurable coarsenings can merge endpoint states without invalidating conditional independence.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep140_condIndepFun_measurableImages with arbitrary measurable endpoint maps.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
14048b2c104a57bf5d4300beb116e89025aba34e4e10b992e0242243494c9c9f
Exact Lean statement (proof omitted)
theorem fep140_condIndepFun_measurableImages
     {InternalImage ExternalImage : Type*}
     [MeasurableSpace InternalImage] [MeasurableSpace ExternalImage]
     (model : StaticModel Internal Sensory Active External)
@@ -1061,7 +1061,7 @@
   [MeasurableSpace Internal] [MeasurableSpace Sensory]
   [MeasurableSpace Active] [MeasurableSpace External]
   [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]
-  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['InternalImage', 'ExternalImage']typed_binder{InternalImage ExternalImage : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[MeasurableSpace InternalImage]MeasurableSpace InternalImageinstance
source syntax; proposition elaboration not performed[]instance_requirement[MeasurableSpace ExternalImage]MeasurableSpace ExternalImageinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : StaticModel Internal Sensory Active External)StaticModel Internal Sensory Active Externalexplicit
source syntax; proposition elaboration not performed['internalImage']typed_binder(internalImage : Internal → InternalImage)Internal → InternalImageexplicit
source syntax; proposition elaboration not performed['externalImage']typed_binder(externalImage : External → ExternalImage)External → ExternalImageexplicit
source syntax; proposition elaboration not performed['internalMeasurable']typed_binder(internalMeasurable : Measurable internalImage)Measurable internalImageexplicit
source syntax; proposition elaboration not performed['externalMeasurable']typed_binder(externalMeasurable : Measurable externalImage)Measurable externalImageexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.staticJoint_condIndepFunFEP.NativeBlanket.staticJoint_condIndepFunexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/native_blanket_independence.py
fep-141 · Native Blanket-Transition Closure · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep141.FEP141.fep141_prediction_preserves_nativeBlanket
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.
Assumption review
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.
Non-vacuity
A transition row may assign multiple positive next blanket regimes and nonconstant conditional endpoint laws while retaining the proved rowwise factorization.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep141_prediction_preserves_nativeBlanket for an arbitrary factorized dynamics row and current state.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
28bdc1d06b1f6ba2c097fece95c3dd06151b87ed8efbe94c55fb5603d8220e8c
Exact Lean statement (proof omitted)
theorem fep141_prediction_preserves_nativeBlanket
+  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['InternalImage', 'ExternalImage']typed_binder{InternalImage ExternalImage : Type*}Type*implicit
source syntax; proposition elaboration not performed[]instance_requirement[MeasurableSpace InternalImage]MeasurableSpace InternalImageinstance
source syntax; proposition elaboration not performed[]instance_requirement[MeasurableSpace ExternalImage]MeasurableSpace ExternalImageinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : StaticModel Internal Sensory Active External)StaticModel Internal Sensory Active Externalexplicit
source syntax; proposition elaboration not performed['internalImage']typed_binder(internalImage : Internal → InternalImage)Internal → InternalImageexplicit
source syntax; proposition elaboration not performed['externalImage']typed_binder(externalImage : External → ExternalImage)External → ExternalImageexplicit
source syntax; proposition elaboration not performed['internalMeasurable']typed_binder(internalMeasurable : Measurable internalImage)Measurable internalImageexplicit
source syntax; proposition elaboration not performed['externalMeasurable']typed_binder(externalMeasurable : Measurable externalImage)Measurable externalImageexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.staticJoint_condIndepFunFEP.NativeBlanket.staticJoint_condIndepFunexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/native_blanket_independence.py
fep-141 · Native Blanket-Transition Closure · formalized
Family context (editorial)
finite-to-native-blanket-transfer
Primary qualified witness
fep_fep141.FEP141.fep141_prediction_preserves_nativeBlanket
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.
Assumption review
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.
Non-vacuity
A transition row may assign multiple positive next blanket regimes and nonconstant conditional endpoint laws while retaining the proved rowwise factorization.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep141_prediction_preserves_nativeBlanket for an arbitrary factorized dynamics row and current state.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
28bdc1d06b1f6ba2c097fece95c3dd06151b87ed8efbe94c55fb5603d8220e8c
Exact Lean statement (proof omitted)
theorem fep141_prediction_preserves_nativeBlanket
     (dynamics : Dynamics Internal Sensory Active External)
     (current : DynamicState Internal Sensory Active External) :
     CondIndepFun
@@ -1082,9 +1082,9 @@
   [MeasurableSpace Internal] [MeasurableSpace Sensory]
   [MeasurableSpace Active] [MeasurableSpace External]
   [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]
-  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['dynamics']typed_binder(dynamics : Dynamics Internal Sensory Active External)Dynamics Internal Sensory Active Externalexplicit
source syntax; proposition elaboration not performed['current']typed_binder(current : DynamicState Internal Sensory Active External)DynamicState Internal Sensory Active Externalexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.prediction_preserves_nativeBlanketFEP.NativeBlanket.prediction_preserves_nativeBlanketexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/native_blanket_independence.py
fep-142 · Finite Exponential-Family Normalization and Support · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep142.FEP142.fep142_exponentialFamily_sum_one
Invariant
Strictly positive base weights normalize the finite scalar exponential family to a full-support probability law at every natural parameter.
Assumption review
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.
Non-vacuity
The maintained nonconstant three-state family supplies unequal supported masses away from zero while retaining exact normalization.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep142_exponentialFamily_sum_one and fep142_exponentialFamily_pointwise_pos.
Supporting qualified declarations
fep_fep142.FEP142.fep142_exponentialFamily_pointwise_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
a77d0eb7dfb104fc2bf3cac53318532c9af4f8ae1e8d5315c2a1a3a50865b3d3
Exact Lean statement (proof omitted)
theorem fep142_exponentialFamily_sum_one
+  [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['dynamics']typed_binder(dynamics : Dynamics Internal Sensory Active External)Dynamics Internal Sensory Active Externalexplicit
source syntax; proposition elaboration not performed['current']typed_binder(current : DynamicState Internal Sensory Active External)DynamicState Internal Sensory Active Externalexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.NativeBlanket.prediction_preserves_nativeBlanketFEP.NativeBlanket.prediction_preserves_nativeBlanketexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/native_blanket_independence.py
fep-142 · Finite Exponential-Family Normalization and Support · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep142.FEP142.fep142_exponentialFamily_sum_one
Invariant
Strictly positive base weights normalize the finite scalar exponential family to a full-support probability law at every natural parameter.
Assumption review
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.
Non-vacuity
The maintained nonconstant three-state family supplies unequal supported masses away from zero while retaining exact normalization.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep142_exponentialFamily_sum_one and fep142_exponentialFamily_pointwise_pos.
Supporting qualified declarations
fep_fep142.FEP142.fep142_exponentialFamily_pointwise_pos
Boundary qualified declarations
Absent
Canonical body SHA-256
a77d0eb7dfb104fc2bf3cac53318532c9af4f8ae1e8d5315c2a1a3a50865b3d3
Exact Lean statement (proof omitted)
theorem fep142_exponentialFamily_sum_one
     (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :
-    ∑ outcome, family.law parameter outcome = 1
Exact conclusion
∑ outcome, family.law parameter outcome = 1
Source statement SHA-256
2c6a5bbdf1383df2da2230f35b0bb47413b38a76462070fa266a8add76a2a29c
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/exponential_family_geometry.py
fep-143 · Affine Exponential-Family Log-Density Ratio · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep143.FEP143.fep143_logDensityRatio_eq
Invariant
The supported log-density ratio between two parameters is affine in the sufficient statistic with the exact log-partition difference.
Assumption review
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.
Non-vacuity
A nonconstant statistic and distinct parameters produce outcome-dependent log-density ratios.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep143_logDensityRatio_eq for arbitrary parameters and an arbitrary finite outcome.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
cb82166922f058bd22491d30fbd3544c03f8744c4746221d3a258baacb898d2a
Exact Lean statement (proof omitted)
theorem fep143_logDensityRatio_eq
+    ∑ outcome, family.law parameter outcome = 1
Exact conclusion
∑ outcome, family.law parameter outcome = 1
Source statement SHA-256
2c6a5bbdf1383df2da2230f35b0bb47413b38a76462070fa266a8add76a2a29c
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/exponential_family_geometry.py
fep-143 · Affine Exponential-Family Log-Density Ratio · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep143.FEP143.fep143_logDensityRatio_eq
Invariant
The supported log-density ratio between two parameters is affine in the sufficient statistic with the exact log-partition difference.
Assumption review
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.
Non-vacuity
A nonconstant statistic and distinct parameters produce outcome-dependent log-density ratios.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep143_logDensityRatio_eq for arbitrary parameters and an arbitrary finite outcome.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
cb82166922f058bd22491d30fbd3544c03f8744c4746221d3a258baacb898d2a
Exact Lean statement (proof omitted)
theorem fep143_logDensityRatio_eq
     (family : ScalarExponentialFamily Outcome)
     (left right : ℝ) (outcome : Outcome) :
     Real.log
@@ -1093,30 +1093,30 @@
         (family.logPartition left - family.logPartition right)
Exact conclusion
Real.log
         (family.law left outcome / family.law right outcome) =
       (left - right) * family.statistic outcome -
-        (family.logPartition left - family.logPartition right)
Source statement SHA-256
485d40c679cc88bf9ddbbe513516d0a46b0077fae3a24bb38550444b5f0041c5
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['outcome']typed_binder(outcome : Outcome)Outcomeexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/exponential_family_geometry.py
fep-144 · Finite Log-Partition Gradient · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep144.FEP144.fep144_logPartition_hasDerivAt
Invariant
The derivative of the finite scalar log-partition function equals the mean sufficient statistic.
Assumption review
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.
Non-vacuity
The three-state statistic gives a nonconstant finite log-partition function whose mean changes with the parameter.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep144_logPartition_hasDerivAt on the maintained finite family carrier.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
a419d2362d11b1f4a6e7ed0a8faa60ebd0daee90698aea125b3123a7c43f91da
Exact Lean statement (proof omitted)
theorem fep144_logPartition_hasDerivAt
+        (family.logPartition left - family.logPartition right)
Source statement SHA-256
485d40c679cc88bf9ddbbe513516d0a46b0077fae3a24bb38550444b5f0041c5
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['outcome']typed_binder(outcome : Outcome)Outcomeexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/exponential_family_geometry.py
fep-144 · Finite Log-Partition Gradient · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep144.FEP144.fep144_logPartition_hasDerivAt
Invariant
The derivative of the finite scalar log-partition function equals the mean sufficient statistic.
Assumption review
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.
Non-vacuity
The three-state statistic gives a nonconstant finite log-partition function whose mean changes with the parameter.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep144_logPartition_hasDerivAt on the maintained finite family carrier.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
a419d2362d11b1f4a6e7ed0a8faa60ebd0daee90698aea125b3123a7c43f91da
Exact Lean statement (proof omitted)
theorem fep144_logPartition_hasDerivAt
     (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :
-    HasDerivAt family.logPartition (family.mean parameter) parameter
Exact conclusion
HasDerivAt family.logPartition (family.mean parameter) parameter
Source statement SHA-256
537ddb500e88078866997639cc3787dbe3d37fdc1301c31c00dcc175b3a4454e
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/exponential_family_geometry.py
fep-145 · Centered Exponential-Family Score Identity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep145.FEP145.fep145_score_eq_statistic_sub_mean
Invariant
The scalar score is the sufficient statistic centered by its family mean and therefore has exactly zero expectation.
Assumption review
The centered score is defined on the finite full-support exponential family. The primary unfolds that definition and the supporting theorem proves zero mean. The existing law_hasDerivAt establishes mass derivative=mass*score, so positivity supports the natural-parameter log-derivative interpretation. This does not establish score regularity for arbitrary likelihoods.
Non-vacuity
A nonconstant statistic yields positive and negative centered scores across outcomes while their normalized weighted mean cancels exactly.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep145_score_eq_statistic_sub_mean and fep145_score_mean_zero.
Supporting qualified declarations
fep_fep145.FEP145.fep145_score_mean_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
d05a313346869e52d534b695b51a5819e4d7f24beda9077de2973543b79fb021
Exact Lean statement (proof omitted)
theorem fep145_score_eq_statistic_sub_mean
+    HasDerivAt family.logPartition (family.mean parameter) parameter
Exact conclusion
HasDerivAt family.logPartition (family.mean parameter) parameter
Source statement SHA-256
537ddb500e88078866997639cc3787dbe3d37fdc1301c31c00dcc175b3a4454e
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/exponential_family_geometry.py
fep-145 · Centered Exponential-Family Score Identity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep145.FEP145.fep145_score_eq_statistic_sub_mean
Invariant
The scalar score is the sufficient statistic centered by its family mean and therefore has exactly zero expectation.
Assumption review
The centered score is defined on the finite full-support exponential family. The primary unfolds that definition and the supporting theorem proves zero mean. The existing law_hasDerivAt establishes mass derivative=mass*score, so positivity supports the natural-parameter log-derivative interpretation. This does not establish score regularity for arbitrary likelihoods.
Non-vacuity
A nonconstant statistic yields positive and negative centered scores across outcomes while their normalized weighted mean cancels exactly.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep145_score_eq_statistic_sub_mean and fep145_score_mean_zero.
Supporting qualified declarations
fep_fep145.FEP145.fep145_score_mean_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
d05a313346869e52d534b695b51a5819e4d7f24beda9077de2973543b79fb021
Exact Lean statement (proof omitted)
theorem fep145_score_eq_statistic_sub_mean
     (family : ScalarExponentialFamily Outcome) (parameter : ℝ)
     (outcome : Outcome) :
     family.score parameter outcome =
       family.statistic outcome - family.mean parameter
Exact conclusion
family.score parameter outcome =
-      family.statistic outcome - family.mean parameter
Source statement SHA-256
11d5c6466849fd69bd7e82d016854bfa45d541bf78a45ceb8af853403d2367b3
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['outcome']typed_binder(outcome : Outcome)Outcomeexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/exponential_family_geometry.py
fep-146 · Log-Partition Hessian–Variance–Fisher Identity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep146.FEP146.fep146_logPartition_secondDeriv_eq_variance
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.
Assumption review
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.
Non-vacuity
The statistic (0,1,2) under unit base weights has variance two thirds, whereas every constant statistic has exactly zero variance and Fisher information.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-146 declarations, including the positive and zero-information boundaries.
Supporting qualified declarations
fep_fep146.FEP146.fep146_fisher_eq_variance; fep_fep146.FEP146.fep146_threeState_variance_positive
Boundary qualified declarations
fep_fep146.FEP146.fep146_constantStatistic_zero_boundary
Canonical body SHA-256
7608490c97d2c1be72c5c211d86cbc3ac735f047445834914af0971b82495868
Exact Lean statement (proof omitted)
theorem fep146_logPartition_secondDeriv_eq_variance
+      family.statistic outcome - family.mean parameter
Source statement SHA-256
11d5c6466849fd69bd7e82d016854bfa45d541bf78a45ceb8af853403d2367b3
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['outcome']typed_binder(outcome : Outcome)Outcomeexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/exponential_family_geometry.py
fep-146 · Log-Partition Hessian–Variance–Fisher Identity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep146.FEP146.fep146_logPartition_secondDeriv_eq_variance
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.
Assumption review
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.
Non-vacuity
The statistic (0,1,2) under unit base weights has variance two thirds, whereas every constant statistic has exactly zero variance and Fisher information.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-146 declarations, including the positive and zero-information boundaries.
Supporting qualified declarations
fep_fep146.FEP146.fep146_fisher_eq_variance; fep_fep146.FEP146.fep146_threeState_variance_positive
Boundary qualified declarations
fep_fep146.FEP146.fep146_constantStatistic_zero_boundary
Canonical body SHA-256
7608490c97d2c1be72c5c211d86cbc3ac735f047445834914af0971b82495868
Exact Lean statement (proof omitted)
theorem fep146_logPartition_secondDeriv_eq_variance
     (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :
-    HasDerivAt family.mean (family.variance parameter) parameter
Exact conclusion
HasDerivAt family.mean (family.variance parameter) parameter
Source statement SHA-256
5c08230fa5b758448eff3d0f9608f00f22c4ae1837682f1d523c5e29487096a0
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/exponential_family_geometry.py
fep-147 · Exponential-Family KL–Bregman Identity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep147.FEP147.fep147_exponentialFamily_KL_eq_bregman
Invariant
Finite KL between two members of the same supported scalar exponential family equals the oriented Bregman divergence of the log-partition potential.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep147_exponentialFamily_KL_eq_bregman and the explicit full-support theorem.
Supporting qualified declarations
fep_fep147.FEP147.fep147_exponentialFamily_fullSupport
Boundary qualified declarations
Absent
Canonical body SHA-256
fe6ccc94bce2a98484f4e2bac7da38c0503a0069a9f32ee7b8d90cba05d7f713
Exact Lean statement (proof omitted)
theorem fep147_exponentialFamily_KL_eq_bregman
+    HasDerivAt family.mean (family.variance parameter) parameter
Exact conclusion
HasDerivAt family.mean (family.variance parameter) parameter
Source statement SHA-256
5c08230fa5b758448eff3d0f9608f00f22c4ae1837682f1d523c5e29487096a0
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['parameter']typed_binder(parameter : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/exponential_family_geometry.py
fep-147 · Exponential-Family KL–Bregman Identity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep147.FEP147.fep147_exponentialFamily_KL_eq_bregman
Invariant
Finite KL between two members of the same supported scalar exponential family equals the oriented Bregman divergence of the log-partition potential.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep147_exponentialFamily_KL_eq_bregman and the explicit full-support theorem.
Supporting qualified declarations
fep_fep147.FEP147.fep147_exponentialFamily_fullSupport
Boundary qualified declarations
Absent
Canonical body SHA-256
fe6ccc94bce2a98484f4e2bac7da38c0503a0069a9f32ee7b8d90cba05d7f713
Exact Lean statement (proof omitted)
theorem fep147_exponentialFamily_KL_eq_bregman
     (family : ScalarExponentialFamily Outcome) (left right : ℝ) :
     finiteKL (family.law left) (family.law right) =
       family.logPartitionBregman left right
Exact conclusion
finiteKL (family.law left) (family.law right) =
-      family.logPartitionBregman left right
Source statement SHA-256
577c4809f7bd4f06b5b30f84dd2854c730d263bf943bef8387765abf47ccbb83
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/exponential_family_geometry.py
fep-148 · Natural-to-Mean Coordinate Injectivity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep148.FEP148.fep148_meanParameter_strictMono
Invariant
Positive statistic variance throughout a closed interval makes the natural-to-mean coordinate map strictly monotone and injective there.
Assumption review
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.
Non-vacuity
The three-state family has variance2/3 at0, and constant statistics show why positivity is required. A concrete nontrivial interval instance additionally needs variance positivity throughout that interval, derived either from continuity near0 or from full support and a nonconstant statistic; the retained point witness alone is not that interval certificate.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep148_meanParameter_strictMono and fep148_meanParameter_injective under the interval variance premise.
Supporting qualified declarations
fep_fep148.FEP148.fep148_meanParameter_injective
Boundary qualified declarations
Absent
Canonical body SHA-256
11122c494c41f390d310b2eaf383c91c45fcd4890332a5ab0342660d87dd6318
Exact Lean statement (proof omitted)
theorem fep148_meanParameter_strictMono
+      family.logPartitionBregman left right
Source statement SHA-256
577c4809f7bd4f06b5b30f84dd2854c730d263bf943bef8387765abf47ccbb83
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/exponential_family_geometry.py
fep-148 · Natural-to-Mean Coordinate Injectivity · formalized
Family context (editorial)
finite-exponential-family-dual-geometry
Primary qualified witness
fep_fep148.FEP148.fep148_meanParameter_strictMono
Invariant
Positive statistic variance throughout a closed interval makes the natural-to-mean coordinate map strictly monotone and injective there.
Assumption review
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.
Non-vacuity
The three-state family has variance2/3 at0, and constant statistics show why positivity is required. A concrete nontrivial interval instance additionally needs variance positivity throughout that interval, derived either from continuity near0 or from full support and a nonconstant statistic; the retained point witness alone is not that interval certificate.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep148_meanParameter_strictMono and fep148_meanParameter_injective under the interval variance premise.
Supporting qualified declarations
fep_fep148.FEP148.fep148_meanParameter_injective
Boundary qualified declarations
Absent
Canonical body SHA-256
11122c494c41f390d310b2eaf383c91c45fcd4890332a5ab0342660d87dd6318
Exact Lean statement (proof omitted)
theorem fep148_meanParameter_strictMono
     (family : ScalarExponentialFamily Outcome) {lower upper : ℝ}
     (hVariance : ∀ parameter ∈ Set.Icc lower upper,
       0 < family.variance parameter) :
     StrictMonoOn family.mean (Set.Icc lower upper)
Exact conclusion
StrictMonoOn family.mean (Set.Icc lower upper)
Source statement SHA-256
2386b608a85ad06337d6e227a56efb6e954ccaa7f31fa841be0ebec5f8e46493
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['family']typed_binder(family : ScalarExponentialFamily Outcome)ScalarExponentialFamily Outcomeexplicit
source syntax; proposition elaboration not performed['lower', 'upper']typed_binder{lower upper : ℝ}ℝimplicit
source syntax; proposition elaboration not performed['hVariance']typed_binder(hVariance : ∀ parameter ∈ Set.Icc lower upper, 0 < family.variance parameter)∀ parameter ∈ Set.Icc lower upper, - 0 < family.variance parameterexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/exponential_family_geometry.py
fep-149 · Two-State Continuous-Time Markov Kernel · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep149.FEP149.fep149_twoStateSemigroup_rowSum
Invariant
Positive two-state rates define a nonnegative transition matrix with every row summing to one for nonnegative time.
Assumption review
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.
Non-vacuity
The benchmark rates seven tenths and three tenths give decay rate one and a nonuniform stationary law.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all three fep-149 declarations for both source states and arbitrary nonnegative time.
Supporting qualified declarations
fep_fep149.FEP149.fep149_twoStateSemigroup_nonnegative; fep_fep149.FEP149.fep149_benchmarkRates_exact
Boundary qualified declarations
Absent
Canonical body SHA-256
adf32afc3ea56e0b85cd3af1dd15b6ec6842ca67ea434a87df8db2e2b99ed63a
Exact Lean statement (proof omitted)
theorem fep149_twoStateSemigroup_rowSum
+      0 < family.variance parameterexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/exponential_family_geometry.py
fep-149 · Two-State Continuous-Time Markov Kernel · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep149.FEP149.fep149_twoStateSemigroup_rowSum
Invariant
Positive two-state rates define a nonnegative transition matrix with every row summing to one for nonnegative time.
Assumption review
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.
Non-vacuity
The benchmark rates seven tenths and three tenths give decay rate one and a nonuniform stationary law.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all three fep-149 declarations for both source states and arbitrary nonnegative time.
Supporting qualified declarations
fep_fep149.FEP149.fep149_twoStateSemigroup_nonnegative; fep_fep149.FEP149.fep149_benchmarkRates_exact
Boundary qualified declarations
Absent
Canonical body SHA-256
adf32afc3ea56e0b85cd3af1dd15b6ec6842ca67ea434a87df8db2e2b99ed63a
Exact Lean statement (proof omitted)
theorem fep149_twoStateSemigroup_rowSum
     (rates : TwoStateRates) (time : ℝ) (source : Bool) :
-    ∑ target, rates.transition time source target = 1
Exact conclusion
∑ target, rates.transition time source target = 1
Source statement SHA-256
b7ee1ba49a8a773f5b2a62f99724ca45555e8a156cb7cc6a9fcf4652c5e1c824
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['source']typed_binder(source : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py
fep-150 · Continuous-Time Identity at Zero · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep150.FEP150.fep150_twoStateSemigroup_zero
Invariant
The exact two-state continuous-time transition matrix is the identity at time zero.
Assumption review
Both rates remain strictly positive through the maintained rate structure. The equality is entrywise on the Boolean carrier.
Non-vacuity
Diagonal entries equal one and off-diagonal entries equal zero, so the result distinguishes all four transition entries.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep150_twoStateSemigroup_zero for every Boolean source and target.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
60bc21df3a2c009e2eb6b63a6e749f77597b5559af8c0b77adbaf2b3cd593ec5
Exact Lean statement (proof omitted)
theorem fep150_twoStateSemigroup_zero
+    ∑ target, rates.transition time source target = 1
Exact conclusion
∑ target, rates.transition time source target = 1
Source statement SHA-256
b7ee1ba49a8a773f5b2a62f99724ca45555e8a156cb7cc6a9fcf4652c5e1c824
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['source']typed_binder(source : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py
fep-150 · Continuous-Time Identity at Zero · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep150.FEP150.fep150_twoStateSemigroup_zero
Invariant
The exact two-state continuous-time transition matrix is the identity at time zero.
Assumption review
Both rates remain strictly positive through the maintained rate structure. The equality is entrywise on the Boolean carrier.
Non-vacuity
Diagonal entries equal one and off-diagonal entries equal zero, so the result distinguishes all four transition entries.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep150_twoStateSemigroup_zero for every Boolean source and target.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
60bc21df3a2c009e2eb6b63a6e749f77597b5559af8c0b77adbaf2b3cd593ec5
Exact Lean statement (proof omitted)
theorem fep150_twoStateSemigroup_zero
     (rates : TwoStateRates) (source target : Bool) :
-    rates.transition 0 source target = if source = target then 1 else 0
Exact conclusion
rates.transition 0 source target = if source = target then 1 else 0
Source statement SHA-256
93e5df3d1d1db00493b38a4a0b3bbe2184ed78ecbfd9de755f3fbb526932b66d
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py
fep-151 · Two-State Chapman–Kolmogorov Semigroup · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep151.FEP151.fep151_twoStateSemigroup_add
Invariant
The exact two-state transition matrices satisfy the Chapman–Kolmogorov additive semigroup law entrywise.
Assumption review
Rates are strictly positive. The entrywise additive matrix identity holds for arbitrary real times; restricting both times to be nonnegative supplies its probability-kernel interpretation. No continuous-path or PDE existence theorem is inferred from this identity.
Non-vacuity
Positive unequal rates and positive times produce nonidentity kernels whose matrix product still equals the transition at summed time.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep151_twoStateSemigroup_add for all Boolean source and target states.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
b3f2bc69d9c46994a3d4868497e5c572ad953cbf54129fe5fcecc4e01910ba69
Exact Lean statement (proof omitted)
theorem fep151_twoStateSemigroup_add
+    rates.transition 0 source target = if source = target then 1 else 0
Exact conclusion
rates.transition 0 source target = if source = target then 1 else 0
Source statement SHA-256
93e5df3d1d1db00493b38a4a0b3bbe2184ed78ecbfd9de755f3fbb526932b66d
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py
fep-151 · Two-State Chapman–Kolmogorov Semigroup · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep151.FEP151.fep151_twoStateSemigroup_add
Invariant
The exact two-state transition matrices satisfy the Chapman–Kolmogorov additive semigroup law entrywise.
Assumption review
Rates are strictly positive. The entrywise additive matrix identity holds for arbitrary real times; restricting both times to be nonnegative supplies its probability-kernel interpretation. No continuous-path or PDE existence theorem is inferred from this identity.
Non-vacuity
Positive unequal rates and positive times produce nonidentity kernels whose matrix product still equals the transition at summed time.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep151_twoStateSemigroup_add for all Boolean source and target states.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
b3f2bc69d9c46994a3d4868497e5c572ad953cbf54129fe5fcecc4e01910ba69
Exact Lean statement (proof omitted)
theorem fep151_twoStateSemigroup_add
     (rates : TwoStateRates) (left right : ℝ) (source target : Bool) :
     rates.transition (left + right) source target =
       ∑ middle,
@@ -1124,7 +1124,7 @@
           rates.transition right middle target
Exact conclusion
rates.transition (left + right) source target =
       ∑ middle,
         rates.transition left source middle *
-          rates.transition right middle target
Source statement SHA-256
a4467057b3fa962f265b1e642db38676920731c7cd2868e689f4259e3f6c1ebb
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py
fep-152 · Two-State Continuous-Time Master Equation · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep152.FEP152.fep152_twoStateSemigroup_hasDerivAt
Invariant
Every transition entry is differentiable and its derivative equals both the generator-times-transition and transition-times-generator finite sums.
Assumption review
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.
Non-vacuity
Positive unequal rates give nonzero off-diagonal derivatives away from stationarity and exercise both left and right generator products.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep152_twoStateSemigroup_hasDerivAt for all four entries.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
f3dd536b4cc43bcaec1fa311f1364e65f55b64eede686c58c7717441ab28ab6a
Exact Lean statement (proof omitted)
theorem fep152_twoStateSemigroup_hasDerivAt
+          rates.transition right middle target
Source statement SHA-256
a4467057b3fa962f265b1e642db38676920731c7cd2868e689f4259e3f6c1ebb
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['left', 'right']typed_binder(left right : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py
fep-152 · Two-State Continuous-Time Master Equation · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep152.FEP152.fep152_twoStateSemigroup_hasDerivAt
Invariant
Every transition entry is differentiable and its derivative equals both the generator-times-transition and transition-times-generator finite sums.
Assumption review
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.
Non-vacuity
Positive unequal rates give nonzero off-diagonal derivatives away from stationarity and exercise both left and right generator products.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep152_twoStateSemigroup_hasDerivAt for all four entries.
Supporting qualified declarations
Absent
Boundary qualified declarations
Absent
Canonical body SHA-256
f3dd536b4cc43bcaec1fa311f1364e65f55b64eede686c58c7717441ab28ab6a
Exact Lean statement (proof omitted)
theorem fep152_twoStateSemigroup_hasDerivAt
     (rates : TwoStateRates) (time : ℝ) (source target : Bool) :
     HasDerivAt (fun candidate ↦ rates.transition candidate source target)
         (∑ middle,
@@ -1140,23 +1140,23 @@
       HasDerivAt (fun candidate ↦ rates.transition candidate source target)
         (∑ middle,
           rates.transition time source middle * rates.generator middle target)
-        time
Source statement SHA-256
4dd0da2b184ebac3bfb95a163753ac1ad66460d10bfc719b6e85784e4b6f5f66
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py
fep-153 · Continuous-Time Stationarity and Detailed Balance · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep153.FEP153.fep153_twoStateSemigroup_stationary
Invariant
The explicit stationary law is invariant under every nonnegative-time transition and satisfies detailed balance entrywise.
Assumption review
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.
Non-vacuity
Unequal benchmark rates produce a nonuniform stationary law while still balancing the two opposing fluxes.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep153_twoStateSemigroup_stationary and fep153_twoStateSemigroup_detailedBalance.
Supporting qualified declarations
fep_fep153.FEP153.fep153_twoStateSemigroup_detailedBalance
Boundary qualified declarations
Absent
Canonical body SHA-256
7f493ed3806ad7c993b0a8221583b40f3e5c3f0d5e8e8b7abc9292c16c96e2b4
Exact Lean statement (proof omitted)
theorem fep153_twoStateSemigroup_stationary
+        time
Source statement SHA-256
4dd0da2b184ebac3bfb95a163753ac1ad66460d10bfc719b6e85784e4b6f5f66
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['source', 'target']typed_binder(source target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py
fep-153 · Continuous-Time Stationarity and Detailed Balance · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep153.FEP153.fep153_twoStateSemigroup_stationary
Invariant
The explicit stationary law is invariant under every nonnegative-time transition and satisfies detailed balance entrywise.
Assumption review
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.
Non-vacuity
Unequal benchmark rates produce a nonuniform stationary law while still balancing the two opposing fluxes.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep153_twoStateSemigroup_stationary and fep153_twoStateSemigroup_detailedBalance.
Supporting qualified declarations
fep_fep153.FEP153.fep153_twoStateSemigroup_detailedBalance
Boundary qualified declarations
Absent
Canonical body SHA-256
7f493ed3806ad7c993b0a8221583b40f3e5c3f0d5e8e8b7abc9292c16c96e2b4
Exact Lean statement (proof omitted)
theorem fep153_twoStateSemigroup_stationary
     (rates : TwoStateRates) (time : ℝ) (target : Bool) :
     (∑ source,
         rates.stationaryLaw source * rates.transition time source target) =
       rates.stationaryLaw target
Exact conclusion
(∑ source,
         rates.stationaryLaw source * rates.transition time source target) =
-      rates.stationaryLaw target
Source statement SHA-256
e2942d429f630b0cdb62591f2ae5d64facbcd0fb4eaed647c00b5504b373e48e
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py
fep-154 · Exact Two-State Exponential Relaxation · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep154.FEP154.fep154_twoStateRelaxation_exact
Invariant
The true-state mass of any initial Boolean law relaxes toward stationarity by the exact factor exp(-(a+b)t).
Assumption review
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.
Non-vacuity
The benchmark point mass differs from the nonuniform stationary law, so the decaying deviation starts nonzero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep154_twoStateRelaxation_exact and fep154_benchmarkInitial_nonstationary.
Supporting qualified declarations
fep_fep154.FEP154.fep154_benchmarkInitial_nonstationary
Boundary qualified declarations
Absent
Canonical body SHA-256
8722d3c3fa8eabcd1d5f97d7f68f6149fcc42e46eb66cf018ccaa6e41bda13d8
Exact Lean statement (proof omitted)
theorem fep154_twoStateRelaxation_exact
+      rates.stationaryLaw target
Source statement SHA-256
e2942d429f630b0cdb62591f2ae5d64facbcd0fb4eaed647c00b5504b373e48e
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['target']typed_binder(target : Bool)Boolexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py
fep-154 · Exact Two-State Exponential Relaxation · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep154.FEP154.fep154_twoStateRelaxation_exact
Invariant
The true-state mass of any initial Boolean law relaxes toward stationarity by the exact factor exp(-(a+b)t).
Assumption review
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.
Non-vacuity
The benchmark point mass differs from the nonuniform stationary law, so the decaying deviation starts nonzero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of fep154_twoStateRelaxation_exact and fep154_benchmarkInitial_nonstationary.
Supporting qualified declarations
fep_fep154.FEP154.fep154_benchmarkInitial_nonstationary
Boundary qualified declarations
Absent
Canonical body SHA-256
8722d3c3fa8eabcd1d5f97d7f68f6149fcc42e46eb66cf018ccaa6e41bda13d8
Exact Lean statement (proof omitted)
theorem fep154_twoStateRelaxation_exact
     (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :
     rates.trueMass initial time - rates.stationaryTrue =
       rates.rho time * (initial true - rates.stationaryTrue)
Exact conclusion
rates.trueMass initial time - rates.stationaryTrue =
-      rates.rho time * (initial true - rates.stationaryTrue)
Source statement SHA-256
b3e8e19848c4a5cb8c923fe882fb24259c610d1f1c616725d11a36a011532a0c
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['initial']typed_binder(initial : FiniteLaw Bool)FiniteLaw Boolexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py
fep-155 · Exact Two-State Quadratic Lyapunov Decay · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep155.FEP155.fep155_twoStateLyapunov_exact
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.
Assumption review
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.
Non-vacuity
The benchmark nonstationary point mass has a strictly negative Lyapunov derivative at time zero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all three fep-155 declarations, including the strict benchmark derivative.
Supporting qualified declarations
fep_fep155.FEP155.fep155_twoStateLyapunov_hasDerivAt; fep_fep155.FEP155.fep155_benchmarkLyapunov_strictlyDecreasing
Boundary qualified declarations
Absent
Canonical body SHA-256
1b7073996bdaed2a093c8f579ba210c4e1ee13d83eae24dd0c2c9703d371999e
Exact Lean statement (proof omitted)
theorem fep155_twoStateLyapunov_exact
+      rates.rho time * (initial true - rates.stationaryTrue)
Source statement SHA-256
b3e8e19848c4a5cb8c923fe882fb24259c610d1f1c616725d11a36a011532a0c
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['initial']typed_binder(initial : FiniteLaw Bool)FiniteLaw Boolexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py
fep-155 · Exact Two-State Quadratic Lyapunov Decay · formalized
Family context (editorial)
two-state-continuous-time-thermodynamics
Primary qualified witness
fep_fep155.FEP155.fep155_twoStateLyapunov_exact
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.
Assumption review
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.
Non-vacuity
The benchmark nonstationary point mass has a strictly negative Lyapunov derivative at time zero.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all three fep-155 declarations, including the strict benchmark derivative.
Supporting qualified declarations
fep_fep155.FEP155.fep155_twoStateLyapunov_hasDerivAt; fep_fep155.FEP155.fep155_benchmarkLyapunov_strictlyDecreasing
Boundary qualified declarations
Absent
Canonical body SHA-256
1b7073996bdaed2a093c8f579ba210c4e1ee13d83eae24dd0c2c9703d371999e
Exact Lean statement (proof omitted)
theorem fep155_twoStateLyapunov_exact
     (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :
     rates.lyapunov initial time =
       rates.rho time ^ 2 *
         (initial true - rates.stationaryTrue) ^ 2
Exact conclusion
rates.lyapunov initial time =
       rates.rho time ^ 2 *
-        (initial true - rates.stationaryTrue) ^ 2
Source statement SHA-256
086618cb9fcd16ed6bc31eabf24b681a35e9c14b1e28829da05a4d77fd0d03a4
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['initial']typed_binder(initial : FiniteLaw Bool)FiniteLaw Boolexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py
fep-156 · Planning as Inference: the EFE Policy-Selection Bridge · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe
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.
Assumption review
The primary Boltzmann-law minimization assumes a normalized finite full-support prior and gamma>0 and minimizes expected supplied real cost plus gamma^-1 KL to the prior over normalized candidate laws. Identifying that cost with model-derived EFE is a separate specialization. Deterministic finite-policy and finite-tree EFE/risk-ambiguity argmin statements are separate declarations. No continuous-action or general planning algorithm is claimed; supported sparse-prior and negative/zero-precision boundaries remain separately scoped foundation results.
Non-vacuity
A full-support finite prior, positive precision and nonconstant finite cost give a nondegenerate Boltzmann probability law attaining the unique KL-regularized objective minimum -gamma^-1 log Z. Separately, a nonempty finite policy carrier has a deterministic EFE argmin and the treewise declarations preserve finite optimal values; that deterministic argmin is not identified with the Boltzmann law or its regularized objective value.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all nine fep-156 declarations.
Supporting qualified declarations
fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimal_value; fep_fep156.FEP156.fep156_efeControlObjective_eq_gibbsFreeEnergy; fep_fep156.FEP156.fep156_efeControlObjective_eq_kl_sub_logPartition; fep_fep156.FEP156.fep156_efeControlObjective_sub_eq_kl; fep_fep156.FEP156.fep156_argminEFE_eq_risk_add_ambiguity; fep_fep156.FEP156.fep156_finiteArgminEFE_minimizes_risk_add_ambiguity; fep_fep156.FEP156.fep156_exists_EFE_minimizing_policy; fep_fep156.FEP156.fep156_policyTree_value_agreement
Boundary qualified declarations
Absent
Canonical body SHA-256
99527b5d9e0f1930f622a786ee2258a50f371fed6facbfc06e76cd31c6987e90
Exact Lean statement (proof omitted)
theorem fep156_boltzmann_control_posterior_minimizes_efe (prior : FiniteLaw Action)
+        (initial true - rates.stationaryTrue) ^ 2
Source statement SHA-256
086618cb9fcd16ed6bc31eabf24b681a35e9c14b1e28829da05a4d77fd0d03a4
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['initial']typed_binder(initial : FiniteLaw Bool)FiniteLaw Boolexplicit
source syntax; proposition elaboration not performed['time']typed_binder(time : ℝ)ℝexplicit
Source declaration mentions

No rows.

Owned canonical source identity
src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py
fep-156 · Planning as Inference: the EFE Policy-Selection Bridge · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe
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.
Assumption review
The primary Boltzmann-law minimization assumes a normalized finite full-support prior and gamma>0 and minimizes expected supplied real cost plus gamma^-1 KL to the prior over normalized candidate laws. Identifying that cost with model-derived EFE is a separate specialization. Deterministic finite-policy and finite-tree EFE/risk-ambiguity argmin statements are separate declarations. No continuous-action or general planning algorithm is claimed; supported sparse-prior and negative/zero-precision boundaries remain separately scoped foundation results.
Non-vacuity
A full-support finite prior, positive precision and nonconstant finite cost give a nondegenerate Boltzmann probability law attaining the unique KL-regularized objective minimum -gamma^-1 log Z. Separately, a nonempty finite policy carrier has a deterministic EFE argmin and the treewise declarations preserve finite optimal values; that deterministic argmin is not identified with the Boltzmann law or its regularized objective value.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all nine fep-156 declarations.
Supporting qualified declarations
fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimal_value; fep_fep156.FEP156.fep156_efeControlObjective_eq_gibbsFreeEnergy; fep_fep156.FEP156.fep156_efeControlObjective_eq_kl_sub_logPartition; fep_fep156.FEP156.fep156_efeControlObjective_sub_eq_kl; fep_fep156.FEP156.fep156_argminEFE_eq_risk_add_ambiguity; fep_fep156.FEP156.fep156_finiteArgminEFE_minimizes_risk_add_ambiguity; fep_fep156.FEP156.fep156_exists_EFE_minimizing_policy; fep_fep156.FEP156.fep156_policyTree_value_agreement
Boundary qualified declarations
Absent
Canonical body SHA-256
99527b5d9e0f1930f622a786ee2258a50f371fed6facbfc06e76cd31c6987e90
Exact Lean statement (proof omitted)
theorem fep156_boltzmann_control_posterior_minimizes_efe (prior : FiniteLaw Action)
     (prior_pos : ∀ policy, 0 < prior policy) (γ : ℝ) (hγ : 0 < γ)
     (cost : Action → ℝ) (Q : FiniteLaw Action) :
     efeControlObjective prior γ cost (controlPosterior prior γ cost) ≤
@@ -1169,7 +1169,7 @@
         efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔
       Q = controlPosterior prior γ cost)
Source statement SHA-256
c0908aa4276132837913ff79174d26dbc64763295a709038ff2061ff94ea8fbb
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Action State Outcome Policy Belief Observation : Type*} [Fintype Action] [Fintype State] [Fintype Outcome] [Fintype Policy] - [Fintype Belief] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Action)FiniteLaw Actionexplicit
source syntax; proposition elaboration not performed['prior_pos']typed_binder(prior_pos : ∀ policy, 0 < prior policy)∀ policy, 0 < prior policyexplicit
source syntax; proposition elaboration not performed['γ']typed_binder(γ : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hγ']typed_binder(hγ : 0 < γ)0 < γexplicit
source syntax; proposition elaboration not performed['cost']typed_binder(cost : Action → ℝ)Action → ℝexplicit
source syntax; proposition elaboration not performed['Q']typed_binder(Q : FiniteLaw Action)FiniteLaw Actionexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efeFEP.EFEPolicy.boltzmann_control_posterior_minimizes_efeexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py
fep-157 · The Perception-Action Loop as a Closed-Loop Active-Inference Theorem · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound
Invariant
For one positive-evidence observation, outcome surprisal is bounded by perception VFE, whose exact gap is finite KL from the belief to its filtered posterior; the selected filtered-model policy has EFE equal to risk plus ambiguity under FullSupport. Supporting declarations give the finite observation-averaged posterior-KL chain bound, native predictive KL data processing, a Dobrushin total-variation bound under an explicit coefficient, Bayesian-filter/kernel reconstruction and selected-policy minimization. Flat policy EFE makes the policy posterior equal its prior. No realized-observation monotonicity, accumulated trajectory bound or dynamical fixed-point/convergence theorem is asserted.
Assumption review
Policy, state and outcome carriers are finite; beliefs are normalized laws on the finite state carrier, not an assumed finite space of all beliefs. The primary needs positive observation evidence and FullSupport at the filtered model; finite posterior-KL decomposition additionally needs a positive reference law and full likelihood support. The native predictive DPI is separately stated on discrete measurable carriers. Prediction uses an explicit HasDobrushinBound; strict TV contraction additionally needs a coefficient below one and a nonzero initial distance. The flat-EFE posterior identity is algebraic and is not an iterated-loop fixed-point theorem.
Non-vacuity
Nonuniform supported beliefs and informative likelihoods can instantiate the exact VFE gap and the observation-averaged KL decomposition. The selected-policy and filter/kernel equalities are actual finite operations. The flat-EFE case yields posterior=prior, an algebraic boundary; these declarations do not supply a strict realized-step surprisal-decrease or dynamical fixed-point witness.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all thirteen fep-157 declarations.
Supporting qualified declarations
fep_fep157.FEP157.fep157_perception_kl_decomposition; fep_fep157.FEP157.fep157_perception_step_kl_nonincrease; fep_fep157.FEP157.fep157_perception_native_kl_nonincrease; fep_fep157.FEP157.fep157_prediction_dobrushin_contraction; fep_fep157.FEP157.fep157_perceptionVFE_gap; fep_fep157.FEP157.fep157_policyPosterior_eq_controlPosterior; fep_fep157.FEP157.fep157_loop_fixed_point_is_boltzmann; fep_fep157.FEP157.fep157_selectedPolicy_minimizes; fep_fep157.FEP157.fep157_filteredBelief_eq_forwardFilter; fep_fep157.FEP157.fep157_perceptionActionStep_eq; fep_fep157.FEP157.fep157_perceptionActionKernel_apply; fep_fep157.FEP157.fep157_posteriorKernel_joint_eq_swap
Boundary qualified declarations
Absent
Canonical body SHA-256
aefbafc073adf0165e7ee7a5773bde98e8af7ea6659c194de5daac597d5c5307
Exact Lean statement (proof omitted)
theorem fep157_loop_invariant_surprisal_bound [Nonempty Policy]
+  [Fintype Belief] [Fintype Observation]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Action)FiniteLaw Actionexplicit
source syntax; proposition elaboration not performed['prior_pos']typed_binder(prior_pos : ∀ policy, 0 < prior policy)∀ policy, 0 < prior policyexplicit
source syntax; proposition elaboration not performed['γ']typed_binder(γ : ℝ)ℝexplicit
source syntax; proposition elaboration not performed['hγ']typed_binder(hγ : 0 < γ)0 < γexplicit
source syntax; proposition elaboration not performed['cost']typed_binder(cost : Action → ℝ)Action → ℝexplicit
source syntax; proposition elaboration not performed['Q']typed_binder(Q : FiniteLaw Action)FiniteLaw Actionexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efeFEP.EFEPolicy.boltzmann_control_posterior_minimizes_efeexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py
fep-157 · The Perception-Action Loop as a Closed-Loop Active-Inference Theorem · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound
Invariant
For one positive-evidence observation, outcome surprisal is bounded by perception VFE, whose exact gap is finite KL from the belief to its filtered posterior; the selected filtered-model policy has EFE equal to risk plus ambiguity under FullSupport. Supporting declarations give the finite observation-averaged posterior-KL chain bound, native predictive KL data processing, a Dobrushin total-variation bound under an explicit coefficient, Bayesian-filter/kernel reconstruction and selected-policy minimization. Flat policy EFE makes the policy posterior equal its prior. No realized-observation monotonicity, accumulated trajectory bound or dynamical fixed-point/convergence theorem is asserted.
Assumption review
Policy, state and outcome carriers are finite; beliefs are normalized laws on the finite state carrier, not an assumed finite space of all beliefs. The primary needs positive observation evidence and FullSupport at the filtered model; finite posterior-KL decomposition additionally needs a positive reference law and full likelihood support. The native predictive DPI is separately stated on discrete measurable carriers. Prediction uses an explicit HasDobrushinBound; strict TV contraction additionally needs a coefficient below one and a nonzero initial distance. The flat-EFE posterior identity is algebraic and is not an iterated-loop fixed-point theorem.
Non-vacuity
Nonuniform supported beliefs and informative likelihoods can instantiate the exact VFE gap and the observation-averaged KL decomposition. The selected-policy and filter/kernel equalities are actual finite operations. The flat-EFE case yields posterior=prior, an algebraic boundary; these declarations do not supply a strict realized-step surprisal-decrease or dynamical fixed-point witness.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all thirteen fep-157 declarations.
Supporting qualified declarations
fep_fep157.FEP157.fep157_perception_kl_decomposition; fep_fep157.FEP157.fep157_perception_step_kl_nonincrease; fep_fep157.FEP157.fep157_perception_native_kl_nonincrease; fep_fep157.FEP157.fep157_prediction_dobrushin_contraction; fep_fep157.FEP157.fep157_perceptionVFE_gap; fep_fep157.FEP157.fep157_policyPosterior_eq_controlPosterior; fep_fep157.FEP157.fep157_loop_fixed_point_is_boltzmann; fep_fep157.FEP157.fep157_selectedPolicy_minimizes; fep_fep157.FEP157.fep157_filteredBelief_eq_forwardFilter; fep_fep157.FEP157.fep157_perceptionActionStep_eq; fep_fep157.FEP157.fep157_perceptionActionKernel_apply; fep_fep157.FEP157.fep157_posteriorKernel_joint_eq_swap
Boundary qualified declarations
Absent
Canonical body SHA-256
aefbafc073adf0165e7ee7a5773bde98e8af7ea6659c194de5daac597d5c5307
Exact Lean statement (proof omitted)
theorem fep157_loop_invariant_surprisal_bound [Nonempty Policy]
     (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)
     (outcome : Outcome)
     (hEvidence : 0 < model.likelihood.predictive belief outcome)
@@ -1202,37 +1202,37 @@
             (selectedPolicy model (filteredBelief model belief outcome hEvidence))
Source statement SHA-256
298db1292b9c9a86781b2a62ba64881d7727ac80b090a154ab74d6927d0fd6a9
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Policy State Outcome : Type*} [Fintype Policy] [Fintype State] [Fintype Outcome]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed[]instance_requirement[Nonempty Policy]Nonempty Policyinstance
source syntax; proposition elaboration not performed['model']typed_binder(model : GenerativeModel Policy State Outcome)GenerativeModel Policy State Outcomeexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : FiniteLaw State)FiniteLaw Stateexplicit
source syntax; proposition elaboration not performed['outcome']typed_binder(outcome : Outcome)Outcomeexplicit
source syntax; proposition elaboration not performed['hEvidence']typed_binder(hEvidence : 0 < model.likelihood.predictive belief outcome)0 < model.likelihood.predictive belief outcomeexplicit
source syntax; proposition elaboration not performed['support']typed_binder(support : FullSupport (withInitialState model (filteredBelief model belief outcome hEvidence)))FullSupport (withInitialState model - (filteredBelief model belief outcome hEvidence))explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.PerceptionActionLoop.loop_invariant_surprisal_boundFEP.PerceptionActionLoop.loop_invariant_surprisal_boundexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py
fep-158 · Bayesian Model Reduction · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep158.FEP158.fep158_reduction_free_energy_monotone
Invariant
Weights bounded above by one make positive unnormalized masked evidence no greater than full predictive evidence, so its negative-log evidence free energy is no smaller. For a nonnegative mask with positive prior normalizer, the normalized reduced-prior predictive equals maskedEvidence divided by that normalizer; no universal direction relative to full predictive evidence is claimed for this normalized quantity. Supported reduced posteriors obey exact weighted reconstruction and cross-multiplied odds identities. Separately, the Gibbs objective gap to its optimizer equals finite KL, and the fixed-variance Gaussian natural-chart log ratio is explicit.
Assumption review
Parameters and evidence use finite normalized law/kernel carriers. The primary free-energy comparison assumes weight<=1 pointwise and positive masked evidence. Normalized masked-prior/posterior statements additionally require nonnegative weights, positive prior mask normalizer and positive relevant evidence; ordinary log/ratio clauses retain their support assumptions. GibbsCertificate optimizer-gap identities and the fixed-variance Gaussian log Bayes factor are separate statements, with no general asymptotic model-selection or automatic full/reduced evidence monotonicity claim.
Non-vacuity
With prior masses(1/2,1/2), likelihoods(9/10,1/10) and mask(1,0), full evidence is1/2, unnormalized masked evidence9/20, mask normalizer1/2 and normalized reduced-prior evidence9/10. Positive support permits exact posterior reweighting. This exercises both evidence notions without reversing the proved comparison.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all ten fep-158 declarations.
Supporting qualified declarations
fep_fep158.FEP158.fep158_maskedEvidence_le_predictive; fep_fep158.FEP158.fep158_maskedPrior_predictive_eq; fep_fep158.FEP158.fep158_reduction_posterior_reconstruction; fep_fep158.FEP158.fep158_reduction_posterior_odds; fep_fep158.FEP158.fep158_reduced_posterior_reconstructs; fep_fep158.FEP158.fep158_gibbsFreeEnergy_eq_neg_dvObjective; fep_fep158.FEP158.fep158_reduction_free_energy_change_eq_kl; fep_fep158.FEP158.fep158_reduction_free_energy_monotone_gibbs; fep_fep158.FEP158.fep158_gaussianLogBayesFactor_eq
Boundary qualified declarations
Absent
Canonical body SHA-256
44393b67feb0b234e1efae4d21fc485049b950683c6d6a445e7dc58f37add32d
Exact Lean statement (proof omitted)
theorem fep158_reduction_free_energy_monotone (prior : FiniteLaw Parameter)
+      (filteredBelief model belief outcome hEvidence))explicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.PerceptionActionLoop.loop_invariant_surprisal_boundFEP.PerceptionActionLoop.loop_invariant_surprisal_boundexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py
fep-158 · Bayesian Model Reduction · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep158.FEP158.fep158_reduction_free_energy_monotone
Invariant
Weights bounded above by one make positive unnormalized masked evidence no greater than full predictive evidence, so its negative-log evidence free energy is no smaller. For a nonnegative mask with positive prior normalizer, the normalized reduced-prior predictive equals maskedEvidence divided by that normalizer; no universal direction relative to full predictive evidence is claimed for this normalized quantity. Supported reduced posteriors obey exact weighted reconstruction and cross-multiplied odds identities. Separately, the Gibbs objective gap to its optimizer equals finite KL, and the fixed-variance Gaussian natural-chart log ratio is explicit.
Assumption review
Parameters and evidence use finite normalized law/kernel carriers. The primary free-energy comparison assumes weight<=1 pointwise and positive masked evidence. Normalized masked-prior/posterior statements additionally require nonnegative weights, positive prior mask normalizer and positive relevant evidence; ordinary log/ratio clauses retain their support assumptions. GibbsCertificate optimizer-gap identities and the fixed-variance Gaussian log Bayes factor are separate statements, with no general asymptotic model-selection or automatic full/reduced evidence monotonicity claim.
Non-vacuity
With prior masses(1/2,1/2), likelihoods(9/10,1/10) and mask(1,0), full evidence is1/2, unnormalized masked evidence9/20, mask normalizer1/2 and normalized reduced-prior evidence9/10. Positive support permits exact posterior reweighting. This exercises both evidence notions without reversing the proved comparison.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all ten fep-158 declarations.
Supporting qualified declarations
fep_fep158.FEP158.fep158_maskedEvidence_le_predictive; fep_fep158.FEP158.fep158_maskedPrior_predictive_eq; fep_fep158.FEP158.fep158_reduction_posterior_reconstruction; fep_fep158.FEP158.fep158_reduction_posterior_odds; fep_fep158.FEP158.fep158_reduced_posterior_reconstructs; fep_fep158.FEP158.fep158_gibbsFreeEnergy_eq_neg_dvObjective; fep_fep158.FEP158.fep158_reduction_free_energy_change_eq_kl; fep_fep158.FEP158.fep158_reduction_free_energy_monotone_gibbs; fep_fep158.FEP158.fep158_gaussianLogBayesFactor_eq
Boundary qualified declarations
Absent
Canonical body SHA-256
44393b67feb0b234e1efae4d21fc485049b950683c6d6a445e7dc58f37add32d
Exact Lean statement (proof omitted)
theorem fep158_reduction_free_energy_monotone (prior : FiniteLaw Parameter)
     (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)
     (data : Evidence) (hw1 : ∀ x, weight x ≤ 1)
     (hE : 0 < maskedEvidence prior weight kernel data) :
     evidenceFreeEnergy (kernel.predictive prior data) ≤
       evidenceFreeEnergy (maskedEvidence prior weight kernel data)
Exact conclusion
evidenceFreeEnergy (kernel.predictive prior data) ≤
-      evidenceFreeEnergy (maskedEvidence prior weight kernel data)
Source statement SHA-256
a3f9effd459c88bb8702bff10e61e4d3288d040f57bf2a6181ca8bdcd3c010a8
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Parameter Evidence : Type*} [Fintype Parameter] [Fintype Evidence]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Parameter)FiniteLaw Parameterexplicit
source syntax; proposition elaboration not performed['weight']typed_binder(weight : Parameter → ℝ)Parameter → ℝexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel Parameter Evidence)FiniteKernel Parameter Evidenceexplicit
source syntax; proposition elaboration not performed['data']typed_binder(data : Evidence)Evidenceexplicit
source syntax; proposition elaboration not performed['hw1']typed_binder(hw1 : ∀ x, weight x ≤ 1)∀ x, weight x ≤ 1explicit
source syntax; proposition elaboration not performed['hE']typed_binder(hE : 0 < maskedEvidence prior weight kernel data)0 < maskedEvidence prior weight kernel dataexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.BayesianModelReduction.reduction_free_energy_monotoneFEP.BayesianModelReduction.reduction_free_energy_monotoneexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py
fep-159 · EFE and Entropy-Production Time-Scale Separation · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity
Invariant
For a full-support two-state belief, its finite KL gap to the invariant law is at most productionRate/decayRate. A specific policy-independent perfect-observation model has EFE equal to the semigroup-evolved gap; that gap is bounded by the explicit squared exponential relaxation factor times the initial chi-square expression. At positive time the supported source-target slice production equals(1-rho)*productionRate/decayRate. Under inverse-epsilon rate scaling, the old attainable-scale theorem is preserved. The uniform theorem controls every sufficiently small positive epsilon, and the Tendsto theorem proves the genuine right-hand limit at zero for every fixed positive time and initial finite law.
Assumption review
All statements use the explicit two-state continuous-time semigroup and positive rates. The uniform bound and right-hand limit require fixed strictly positive time but permit zero-mass atoms in the initial law. The affinity and slice-path identities retain their explicit full-support premises; the path identity is one-slice, not a general path-space theorem. The ness_flow import remains only an orphan-adoption marker.
Non-vacuity
A symmetric-rate nonstationary three-quarter/one-quarter belief and a sparse point mass both satisfy the positive-time right limit. The stationary law has exactly zero gap at every positive scale and nonnegative time. At time zero the symmetric point mass retains log 2 at every positive scale, so dropping the positive-time premise is refuted. These controls use the same existing finite probability carrier and public owner.
Acceptance probe (requirement; not executed here)
Warning-free native Lean compile of all eleven fep-159 declarations, strict importing consumer with five concrete controls, and seven standard-axiom reports for the two public limit proofs and those controls.
Supporting qualified declarations
fep_fep159.FEP159.fep159_expectedFreeEnergy_le_productionRate_div_decayRate; fep_fep159.FEP159.fep159_slow_fast_separation_statement; fep_fep159.FEP159.fep159_fastRelaxation_epistemic_vanishes; fep_fep159.FEP159.fep159_fastRelaxation_eventually_small; fep_fep159.FEP159.fep159_fastRelaxation_tendsto; fep_fep159.FEP159.fep159_slicePath_entropyProduction_eq; fep_fep159.FEP159.fep159_beliefAffinity_eq_localAffinity; fep_fep159.FEP159.fep159_productionRate_nonneg; fep_fep159.FEP159.fep159_twoStateModel_expectedFreeEnergy; fep_fep159.FEP159.fep159_epistemicGain_rateScaling
Boundary qualified declarations
Absent
Canonical body SHA-256
1ad540198dead5e0acc7fd13f65d8020319490fc32b3eaf9de3bc231cbb2b7ba
Exact Lean statement (proof omitted)
theorem fep159_epistemic_gain_bounded_by_affinity (rates : TwoStateRates)
+      evidenceFreeEnergy (maskedEvidence prior weight kernel data)
Source statement SHA-256
a3f9effd459c88bb8702bff10e61e4d3288d040f57bf2a6181ca8bdcd3c010a8
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{Parameter Evidence : Type*} [Fintype Parameter] [Fintype Evidence]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['prior']typed_binder(prior : FiniteLaw Parameter)FiniteLaw Parameterexplicit
source syntax; proposition elaboration not performed['weight']typed_binder(weight : Parameter → ℝ)Parameter → ℝexplicit
source syntax; proposition elaboration not performed['kernel']typed_binder(kernel : FiniteKernel Parameter Evidence)FiniteKernel Parameter Evidenceexplicit
source syntax; proposition elaboration not performed['data']typed_binder(data : Evidence)Evidenceexplicit
source syntax; proposition elaboration not performed['hw1']typed_binder(hw1 : ∀ x, weight x ≤ 1)∀ x, weight x ≤ 1explicit
source syntax; proposition elaboration not performed['hE']typed_binder(hE : 0 < maskedEvidence prior weight kernel data)0 < maskedEvidence prior weight kernel dataexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.BayesianModelReduction.reduction_free_energy_monotoneFEP.BayesianModelReduction.reduction_free_energy_monotoneexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py
fep-159 · EFE and Entropy-Production Time-Scale Separation · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity
Invariant
For a full-support two-state belief, its finite KL gap to the invariant law is at most productionRate/decayRate. A specific policy-independent perfect-observation model has EFE equal to the semigroup-evolved gap; that gap is bounded by the explicit squared exponential relaxation factor times the initial chi-square expression. At positive time the supported source-target slice production equals(1-rho)*productionRate/decayRate. Under inverse-epsilon rate scaling, the old attainable-scale theorem is preserved. The uniform theorem controls every sufficiently small positive epsilon, and the Tendsto theorem proves the genuine right-hand limit at zero for every fixed positive time and initial finite law.
Assumption review
All statements use the explicit two-state continuous-time semigroup and positive rates. The uniform bound and right-hand limit require fixed strictly positive time but permit zero-mass atoms in the initial law. The affinity and slice-path identities retain their explicit full-support premises; the path identity is one-slice, not a general path-space theorem. The ness_flow import remains only an orphan-adoption marker.
Non-vacuity
A symmetric-rate nonstationary three-quarter/one-quarter belief and a sparse point mass both satisfy the positive-time right limit. The stationary law has exactly zero gap at every positive scale and nonnegative time. At time zero the symmetric point mass retains log 2 at every positive scale, so dropping the positive-time premise is refuted. These controls use the same existing finite probability carrier and public owner.
Acceptance probe (requirement; not executed here)
Warning-free native Lean compile of all eleven fep-159 declarations, strict importing consumer with five concrete controls, and seven standard-axiom reports for the two public limit proofs and those controls.
Supporting qualified declarations
fep_fep159.FEP159.fep159_expectedFreeEnergy_le_productionRate_div_decayRate; fep_fep159.FEP159.fep159_slow_fast_separation_statement; fep_fep159.FEP159.fep159_fastRelaxation_epistemic_vanishes; fep_fep159.FEP159.fep159_fastRelaxation_eventually_small; fep_fep159.FEP159.fep159_fastRelaxation_tendsto; fep_fep159.FEP159.fep159_slicePath_entropyProduction_eq; fep_fep159.FEP159.fep159_beliefAffinity_eq_localAffinity; fep_fep159.FEP159.fep159_productionRate_nonneg; fep_fep159.FEP159.fep159_twoStateModel_expectedFreeEnergy; fep_fep159.FEP159.fep159_epistemicGain_rateScaling
Boundary qualified declarations
Absent
Canonical body SHA-256
1ad540198dead5e0acc7fd13f65d8020319490fc32b3eaf9de3bc231cbb2b7ba
Exact Lean statement (proof omitted)
theorem fep159_epistemic_gain_bounded_by_affinity (rates : TwoStateRates)
     (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i) :
     finiteKL belief rates.stationaryLaw ≤
       productionRate rates belief / rates.decayRate
Exact conclusion
finiteKL belief rates.stationaryLaw ≤
-      productionRate rates belief / rates.decayRate
Source statement SHA-256
a6d4d8fc041fc51da373de78f7cabf8ef9ebcdce587ef8d264e9675e12b9df9d
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : FiniteLaw Bool)FiniteLaw Boolexplicit
source syntax; proposition elaboration not performed['hSupport']typed_binder(hSupport : ∀ i, 0 < belief i)∀ i, 0 < belief iexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.TimeScaleEFE.epistemic_gain_bounded_by_affinityFEP.TimeScaleEFE.epistemic_gain_bounded_by_affinityexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py
fep-160 · Helmholtz–Ao Decomposition of Nonequilibrium Steady Currents · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep160.FEP160.fep160_aoDecomposition
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all thirteen fep-160 declarations.
Supporting qualified declarations
fep_fep160.FEP160.fep160_skewQuadratic_eq_zero; fep_fep160.FEP160.fep160_skewTrace_eq_zero; fep_fep160.FEP160.fep160_circulationPart_skew; fep_fep160.FEP160.fep160_symmetricPart_reversible; fep_fep160.FEP160.fep160_current_eq_twice_circulation; fep_fep160.FEP160.fep160_probabilityCurrent_eq_twice_circulation; fep_fep160.FEP160.fep160_symmetricPart_current_eq_zero; fep_fep160.FEP160.fep160_detailedBalanced_iff_circulation_eq_zero; fep_fep160.FEP160.fep160_forceSplit; fep_fep160.FEP160.fep160_stationaryCurrent_divergence_zero; fep_fep160.FEP160.fep160_circulation_divergence_zero; fep_fep160.FEP160.fep160_cycle_ao_ness
Boundary qualified declarations
Absent
Canonical body SHA-256
bda3a4b5f541dd90bb2312e75a217ca36a7662240fbe46445c44722b64576a35
Exact Lean statement (proof omitted)
theorem fep160_aoDecomposition {rate : State → State → ℝ}
+      productionRate rates belief / rates.decayRate
Source statement SHA-256
a6d4d8fc041fc51da373de78f7cabf8ef9ebcdce587ef8d264e9675e12b9df9d
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['rates']typed_binder(rates : TwoStateRates)TwoStateRatesexplicit
source syntax; proposition elaboration not performed['belief']typed_binder(belief : FiniteLaw Bool)FiniteLaw Boolexplicit
source syntax; proposition elaboration not performed['hSupport']typed_binder(hSupport : ∀ i, 0 < belief i)∀ i, 0 < belief iexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.TimeScaleEFE.epistemic_gain_bounded_by_affinityFEP.TimeScaleEFE.epistemic_gain_bounded_by_affinityexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py
fep-160 · Helmholtz–Ao Decomposition of Nonequilibrium Steady Currents · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep160.FEP160.fep160_aoDecomposition
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all thirteen fep-160 declarations.
Supporting qualified declarations
fep_fep160.FEP160.fep160_skewQuadratic_eq_zero; fep_fep160.FEP160.fep160_skewTrace_eq_zero; fep_fep160.FEP160.fep160_circulationPart_skew; fep_fep160.FEP160.fep160_symmetricPart_reversible; fep_fep160.FEP160.fep160_current_eq_twice_circulation; fep_fep160.FEP160.fep160_probabilityCurrent_eq_twice_circulation; fep_fep160.FEP160.fep160_symmetricPart_current_eq_zero; fep_fep160.FEP160.fep160_detailedBalanced_iff_circulation_eq_zero; fep_fep160.FEP160.fep160_forceSplit; fep_fep160.FEP160.fep160_stationaryCurrent_divergence_zero; fep_fep160.FEP160.fep160_circulation_divergence_zero; fep_fep160.FEP160.fep160_cycle_ao_ness
Boundary qualified declarations
Absent
Canonical body SHA-256
bda3a4b5f541dd90bb2312e75a217ca36a7662240fbe46445c44722b64576a35
Exact Lean statement (proof omitted)
theorem fep160_aoDecomposition {rate : State → State → ℝ}
     {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :
-    rate i j = symmetricPart rate law i j + circulationPart rate law i j
Exact conclusion
rate i j = symmetricPart rate law i j + circulationPart rate law i j
Source statement SHA-256
04c0daa50dc47a82ba9fdba2e77a485f5bd055d60841fda323db08cb4b04ea55
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['rate']typed_binder{rate : State → State → ℝ}State → State → ℝimplicit
source syntax; proposition elaboration not performed['law']typed_binder{law : FiniteLaw State}FiniteLaw Stateimplicit
source syntax; proposition elaboration not performed['hSupport']typed_binder(hSupport : ∀ i, 0 < law i)∀ i, 0 < law iexplicit
source syntax; proposition elaboration not performed['i', 'j']typed_binder(i j : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.HelmholtzAoNess.aoDecompositionFEP.HelmholtzAoNess.aoDecompositionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py
fep-161 · Skew Bilinear Cancellation of the Trace and Quadratic Terms · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep161.FEP161.fep161_skewTrace_eq_zero
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.
Assumption review
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.
Non-vacuity
Both cancellations are exact identities on their hypothesis classes, witnessed by any nonzero skew matrix against a nonzero symmetric one.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all two fep-161 declarations.
Supporting qualified declarations
fep_fep161.FEP161.fep161_skewQuadratic_eq_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
862299f15c8e8cab65cffbbe09f249a618c10f6e7cf635b2c26731258a187852
Exact Lean statement (proof omitted)
theorem fep161_skewTrace_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)
-    (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0
Exact conclusion
traceOf (mulOf Q H) = 0
Source statement SHA-256
0ca4766d398444a5f032eb5d8fd1c585307cde58b548af65d788c8ec26810096
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']typed_binder(Q H : Fin n → Fin n → ℝ)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 declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.skewTrace_eq_zeroFEP.GeometricMechanics.skewTrace_eq_zeroexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_mechanics.py
fep-162 · The Discrete Hessian as a Symmetrization Construction · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep162.FEP162.fep162_skewTrace_symmetrize_eq_zero
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.
Assumption review
The construction replaces the continuum Clairaut theorem by finite algebra; it does not claim differentiability, a continuum Hessian, or convergence of mixed-difference quotients.
Non-vacuity
The symmetrized matrix is symmetric for every input and coincides with the given matrix exactly on the symmetric subclass.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all three fep-162 declarations.
Supporting qualified declarations
fep_fep162.FEP162.fep162_symmetrize_symmetric; fep_fep162.FEP162.fep162_symmetrize_of_symmetric
Boundary qualified declarations
Absent
Canonical body SHA-256
ae3a24dc33ae40ce35b84c866a5b017ab7e5efc2ddba163a9984cc4f6e72fc6b
Exact Lean statement (proof omitted)
theorem fep162_skewTrace_symmetrize_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)
-    (hQ : SkewSymmetric Q) : traceOf (mulOf Q (symmetrize H)) = 0
Exact conclusion
traceOf (mulOf Q (symmetrize H)) = 0
Source statement SHA-256
a93cfa7fdbc54095d83c890d1ba0c5ed1ebd19d29118d098fcd7be1695a30fee
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']typed_binder(Q H : Fin n → Fin n → ℝ)Fin n → Fin n → ℝexplicit
source syntax; proposition elaboration not performed['hQ']typed_binder(hQ : SkewSymmetric Q)SkewSymmetric Qexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.skewTrace_symmetrize_eq_zeroFEP.GeometricMechanics.skewTrace_symmetrize_eq_zeroexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_mechanics.py
fep-163 · The Three-Term Solenoidal Expansion and Its Conditional Drop · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep163.FEP163.fep163_solenoidal_expansion
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.
Assumption review
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.
Non-vacuity
The remainder witness evaluates to exactly 1 on concrete two-direction derivative data, so the unconditional drop is not vacuously unreachable.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all six fep-163 declarations.
Supporting qualified declarations
fep_fep163.FEP163.fep163_weightedDivergence_eq; fep_fep163.FEP163.fep163_solenoidal_drop_of_orthogonal; fep_fep163.FEP163.fep163_solenoidal_drop_of_constantQ; fep_fep163.FEP163.fep163_expansion_remainder_witness
Boundary qualified declarations
Absent
Canonical body SHA-256
85db749354c569cfa3501b2a17913c55031b7fcc4e6fd6712916ef56e48fb9f1
Exact Lean statement (proof omitted)
theorem fep163_solenoidal_expansion {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)
+    rate i j = symmetricPart rate law i j + circulationPart rate law i j
Exact conclusion
rate i j = symmetricPart rate law i j + circulationPart rate law i j
Source statement SHA-256
04c0daa50dc47a82ba9fdba2e77a485f5bd055d60841fda323db08cb4b04ea55
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State]
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['rate']typed_binder{rate : State → State → ℝ}State → State → ℝimplicit
source syntax; proposition elaboration not performed['law']typed_binder{law : FiniteLaw State}FiniteLaw Stateimplicit
source syntax; proposition elaboration not performed['hSupport']typed_binder(hSupport : ∀ i, 0 < law i)∀ i, 0 < law iexplicit
source syntax; proposition elaboration not performed['i', 'j']typed_binder(i j : State)Stateexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.HelmholtzAoNess.aoDecompositionFEP.HelmholtzAoNess.aoDecompositionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py
fep-161 · Skew Bilinear Cancellation of the Trace and Quadratic Terms · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep161.FEP161.fep161_skewTrace_eq_zero
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.
Assumption review
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.
Non-vacuity
Both cancellations are exact identities on their hypothesis classes, witnessed by any nonzero skew matrix against a nonzero symmetric one.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all two fep-161 declarations.
Supporting qualified declarations
fep_fep161.FEP161.fep161_skewQuadratic_eq_zero
Boundary qualified declarations
Absent
Canonical body SHA-256
862299f15c8e8cab65cffbbe09f249a618c10f6e7cf635b2c26731258a187852
Exact Lean statement (proof omitted)
theorem fep161_skewTrace_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)
+    (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0
Exact conclusion
traceOf (mulOf Q H) = 0
Source statement SHA-256
0ca4766d398444a5f032eb5d8fd1c585307cde58b548af65d788c8ec26810096
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']typed_binder(Q H : Fin n → Fin n → ℝ)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 declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.skewTrace_eq_zeroFEP.GeometricMechanics.skewTrace_eq_zeroexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_mechanics.py
fep-162 · The Discrete Hessian as a Symmetrization Construction · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep162.FEP162.fep162_skewTrace_symmetrize_eq_zero
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.
Assumption review
The construction replaces the continuum Clairaut theorem by finite algebra; it does not claim differentiability, a continuum Hessian, or convergence of mixed-difference quotients.
Non-vacuity
The symmetrized matrix is symmetric for every input and coincides with the given matrix exactly on the symmetric subclass.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all three fep-162 declarations.
Supporting qualified declarations
fep_fep162.FEP162.fep162_symmetrize_symmetric; fep_fep162.FEP162.fep162_symmetrize_of_symmetric
Boundary qualified declarations
Absent
Canonical body SHA-256
ae3a24dc33ae40ce35b84c866a5b017ab7e5efc2ddba163a9984cc4f6e72fc6b
Exact Lean statement (proof omitted)
theorem fep162_skewTrace_symmetrize_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)
+    (hQ : SkewSymmetric Q) : traceOf (mulOf Q (symmetrize H)) = 0
Exact conclusion
traceOf (mulOf Q (symmetrize H)) = 0
Source statement SHA-256
a93cfa7fdbc54095d83c890d1ba0c5ed1ebd19d29118d098fcd7be1695a30fee
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']typed_binder(Q H : Fin n → Fin n → ℝ)Fin n → Fin n → ℝexplicit
source syntax; proposition elaboration not performed['hQ']typed_binder(hQ : SkewSymmetric Q)SkewSymmetric Qexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.skewTrace_symmetrize_eq_zeroFEP.GeometricMechanics.skewTrace_symmetrize_eq_zeroexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_mechanics.py
fep-163 · The Three-Term Solenoidal Expansion and Its Conditional Drop · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep163.FEP163.fep163_solenoidal_expansion
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.
Assumption review
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.
Non-vacuity
The remainder witness evaluates to exactly 1 on concrete two-direction derivative data, so the unconditional drop is not vacuously unreachable.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all six fep-163 declarations.
Supporting qualified declarations
fep_fep163.FEP163.fep163_weightedDivergence_eq; fep_fep163.FEP163.fep163_solenoidal_drop_of_orthogonal; fep_fep163.FEP163.fep163_solenoidal_drop_of_constantQ; fep_fep163.FEP163.fep163_expansion_remainder_witness
Boundary qualified declarations
Absent
Canonical body SHA-256
85db749354c569cfa3501b2a17913c55031b7fcc4e6fd6712916ef56e48fb9f1
Exact Lean statement (proof omitted)
theorem fep163_solenoidal_expansion {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)
     (g dlogp : Fin n → ℝ) (hcoup : ∀ i, dlogp i = -g i) :
     weightedDivergence Q H DQ g dlogp
       = traceOf (mulOf Q H) - dot g (mulVec Q g) + dot (divQ DQ) g
Exact conclusion
weightedDivergence Q H DQ g dlogp
-      = traceOf (mulOf Q H) - dot g (mulVec Q g) + dot (divQ DQ) g
Source statement SHA-256
ab74fca348286803a73d1a002578f7ac1ec0662faef978075ded5c63875f80fe
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['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.solenoidal_expansionFEP.GeometricMechanics.solenoidal_expansionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_mechanics.py
fep-164 · Graph Divergence of the Candidate Solenoidal Current · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep164.FEP164.fep164_graphDecomposition
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.
Assumption review
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.
Non-vacuity
The decomposition and the Leibniz rule are exact on every finite node set, and the residual term is generically nonzero by nodeDiv_skew.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-164 declarations.
Supporting qualified declarations
fep_fep164.FEP164.fep164_nodeDiv_skew; fep_fep164.FEP164.fep164_weightedNodeDiv_eq; fep_fep164.FEP164.fep164_weightedCurrent_div_eq
Boundary qualified declarations
Absent
Canonical body SHA-256
da9b07d9cd8e5bf9818b2e16fa9855defd931c9623acc85fea43f65275083095
Exact Lean statement (proof omitted)
theorem fep164_graphDecomposition {n : ℕ} (Q : Fin n → Fin n → ℝ)
+      = traceOf (mulOf Q H) - dot g (mulVec Q g) + dot (divQ DQ) g
Source statement SHA-256
ab74fca348286803a73d1a002578f7ac1ec0662faef978075ded5c63875f80fe
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['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.solenoidal_expansionFEP.GeometricMechanics.solenoidal_expansionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_mechanics.py
fep-164 · Graph Divergence of the Candidate Solenoidal Current · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep164.FEP164.fep164_graphDecomposition
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.
Assumption review
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.
Non-vacuity
The decomposition and the Leibniz rule are exact on every finite node set, and the residual term is generically nonzero by nodeDiv_skew.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-164 declarations.
Supporting qualified declarations
fep_fep164.FEP164.fep164_nodeDiv_skew; fep_fep164.FEP164.fep164_weightedNodeDiv_eq; fep_fep164.FEP164.fep164_weightedCurrent_div_eq
Boundary qualified declarations
Absent
Canonical body SHA-256
da9b07d9cd8e5bf9818b2e16fa9855defd931c9623acc85fea43f65275083095
Exact Lean statement (proof omitted)
theorem fep164_graphDecomposition {n : ℕ} (Q : Fin n → Fin n → ℝ)
     (g : Fin n → ℝ) (hQ : SkewSymmetric Q) (i : Fin n) :
-    nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i
Exact conclusion
nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i
Source statement SHA-256
630038c783a28e35eff4ef8f338eb0254f1b6c4d88b0b42bc5970a8b380e9b92
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']typed_binder(Q : Fin n → Fin n → ℝ)Fin n → Fin n → ℝexplicit
source syntax; proposition elaboration not performed['g']typed_binder(g : 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['i']typed_binder(i : Fin n)Fin nexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.graphDecompositionFEP.GeometricMechanics.graphDecompositionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_mechanics.py
fep-165 · Necessity Witness for the Unconditional Solenoidal Drop · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep165.FEP165.fep165_witness_drop_fails
Invariant
For the exact two-node skew transport matrix[[0,1],[-1,0]] and gradient(1,0), the node vector Qg is(0,-1), graph node divergence of Q is(2,-2), and graph node divergence of currentOf(Q,g) is(1,-1), hence1 at node0. This refutes an unconditional zero graph-current-divergence claim. No H,DQ or dlogp data are supplied here; the separate fep-163 remainder witness addresses its derivative-data carrier.
Assumption review
This is a concrete finite graph counterexample with outflow-minus-inflow node divergence and edge current Qij*g_j. It does not assert that fep-163 orthogonality or spatially constant-Q directional-derivative hypotheses fail: those involve separately supplied DQ data. Identifying graph divergence with analytic or fep-163 weighted derivative divergence would require a separate proved bridge.
Non-vacuity
The exact graph witness evaluates nodeDiv(currentOf Q g) at node0 to1 despite plain skew Q. It is nonvacuous for that graph claim. On the derivative-data carrier, the same pointwise Q and g can instead be paired with H=0,DQ=0,dlogp=-g and have weightedDivergence=0; the two divergence notions are not identified.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all five fep-165 declarations.
Supporting qualified declarations
fep_fep165.FEP165.fep165_witnessQ_skew; fep_fep165.FEP165.fep165_witness_current; fep_fep165.FEP165.fep165_witness_divQ; fep_fep165.FEP165.fep165_witness_divergence
Boundary qualified declarations
Absent
Canonical body SHA-256
e9e869324e2b63cb5feb3e5bd476980e366aa70e6bc3bab29cbfbdccb2a1590a
Exact Lean statement (proof omitted)
theorem fep165_witness_drop_fails : nodeDiv (currentOf witnessQ witnessG) 0 = 1
Exact conclusion
nodeDiv (currentOf witnessQ witnessG) 0 = 1
Source statement SHA-256
574a92e35ffcc5eaf3daea03a05126909401309ebf4916e6a0f6da811819456d
Active namespace variable context (not an elaborated signature)

No rows.

Explicit, implicit and instance binder syntax

No rows.

Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.witness_drop_failsFEP.GeometricMechanics.witness_drop_failsexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_mechanics.py
fep-166 · Uniqueness of the Law-Weighted Reversible/Circulation Split · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep166.FEP166.fep166_split_unique
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all seven fep-166 declarations.
Supporting qualified declarations
fep_fep166.FEP166.fep166_reversible_split_unique; fep_fep166.FEP166.fep166_twoByTwo_support; fep_fep166.FEP166.fep166_twoByTwo_predicates; fep_fep166.FEP166.fep166_twoByTwo_split_canonical; fep_fep166.FEP166.fep166_twoByTwo_circulation_nonzero; fep_fep166.FEP166.fep166_twoByTwo_circulation_negative
Boundary qualified declarations
Absent
Canonical body SHA-256
d8d624e56974056f21ebb5ebc311bd11d9d57a007cf82dcbc019db92a5668108
Exact Lean statement (proof omitted)
theorem fep166_split_unique
+    nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i
Exact conclusion
nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i
Source statement SHA-256
630038c783a28e35eff4ef8f338eb0254f1b6c4d88b0b42bc5970a8b380e9b92
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']typed_binder(Q : Fin n → Fin n → ℝ)Fin n → Fin n → ℝexplicit
source syntax; proposition elaboration not performed['g']typed_binder(g : 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['i']typed_binder(i : Fin n)Fin nexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.graphDecompositionFEP.GeometricMechanics.graphDecompositionexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_mechanics.py
fep-165 · Necessity Witness for the Unconditional Solenoidal Drop · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep165.FEP165.fep165_witness_drop_fails
Invariant
For the exact two-node skew transport matrix[[0,1],[-1,0]] and gradient(1,0), the node vector Qg is(0,-1), graph node divergence of Q is(2,-2), and graph node divergence of currentOf(Q,g) is(1,-1), hence1 at node0. This refutes an unconditional zero graph-current-divergence claim. No H,DQ or dlogp data are supplied here; the separate fep-163 remainder witness addresses its derivative-data carrier.
Assumption review
This is a concrete finite graph counterexample with outflow-minus-inflow node divergence and edge current Qij*g_j. It does not assert that fep-163 orthogonality or spatially constant-Q directional-derivative hypotheses fail: those involve separately supplied DQ data. Identifying graph divergence with analytic or fep-163 weighted derivative divergence would require a separate proved bridge.
Non-vacuity
The exact graph witness evaluates nodeDiv(currentOf Q g) at node0 to1 despite plain skew Q. It is nonvacuous for that graph claim. On the derivative-data carrier, the same pointwise Q and g can instead be paired with H=0,DQ=0,dlogp=-g and have weightedDivergence=0; the two divergence notions are not identified.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all five fep-165 declarations.
Supporting qualified declarations
fep_fep165.FEP165.fep165_witnessQ_skew; fep_fep165.FEP165.fep165_witness_current; fep_fep165.FEP165.fep165_witness_divQ; fep_fep165.FEP165.fep165_witness_divergence
Boundary qualified declarations
Absent
Canonical body SHA-256
e9e869324e2b63cb5feb3e5bd476980e366aa70e6bc3bab29cbfbdccb2a1590a
Exact Lean statement (proof omitted)
theorem fep165_witness_drop_fails : nodeDiv (currentOf witnessQ witnessG) 0 = 1
Exact conclusion
nodeDiv (currentOf witnessQ witnessG) 0 = 1
Source statement SHA-256
574a92e35ffcc5eaf3daea03a05126909401309ebf4916e6a0f6da811819456d
Active namespace variable context (not an elaborated signature)

No rows.

Explicit, implicit and instance binder syntax

No rows.

Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.witness_drop_failsFEP.GeometricMechanics.witness_drop_failsexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_mechanics.py
fep-166 · Uniqueness of the Law-Weighted Reversible/Circulation Split · formalized
Family context (editorial)
standalone-efe-formalizations
Primary qualified witness
fep_fep166.FEP166.fep166_split_unique
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.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all seven fep-166 declarations.
Supporting qualified declarations
fep_fep166.FEP166.fep166_reversible_split_unique; fep_fep166.FEP166.fep166_twoByTwo_support; fep_fep166.FEP166.fep166_twoByTwo_predicates; fep_fep166.FEP166.fep166_twoByTwo_split_canonical; fep_fep166.FEP166.fep166_twoByTwo_circulation_nonzero; fep_fep166.FEP166.fep166_twoByTwo_circulation_negative
Boundary qualified declarations
Absent
Canonical body SHA-256
d8d624e56974056f21ebb5ebc311bd11d9d57a007cf82dcbc019db92a5668108
Exact Lean statement (proof omitted)
theorem fep166_split_unique
     (hSupport : ∀ i, 0 < law i)
     (hS : ∀ i j, law i * S i j = law j * S j i)
     (hA : ∀ i j, law i * A i j = -(law j * A j i))
     (hSum : ∀ i j, rate i j = S i j + A i j) :
     S = symmetricPart rate law ∧ A = circulationPart rate law
Exact conclusion
S = symmetricPart rate law ∧ A = circulationPart rate law
Source statement SHA-256
384b4d16d47da2ea364315da5e73e0f800de1831dd266cc9838b58e8733fdd69
Active namespace variable context (not an elaborated signature)
Retained active variable commands
source
{State : Type*} [Fintype State] {rate S A : State → State → ℝ} - {law : FiniteLaw State}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['hSupport']typed_binder(hSupport : ∀ i, 0 < law i)∀ i, 0 < law iexplicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : ∀ i j, law i * S i j = law j * S j i)∀ i j, law i * S i j = law j * S j iexplicit
source syntax; proposition elaboration not performed['hA']typed_binder(hA : ∀ i j, law i * A i j = -(law j * A j i))∀ i j, law i * A i j = -(law j * A j i)explicit
source syntax; proposition elaboration not performed['hSum']typed_binder(hSum : ∀ i j, rate i j = S i j + A i j)∀ i j, rate i j = S i j + A i jexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LawWeightedSplit.fep166_split_uniqueFEP.LawWeightedSplit.fep166_split_uniqueexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py
fep-167 · Frobenius Least-Squares Projection of the Symmetrizer · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep167.FEP167.fep167_frobenius_pythagoras
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.
Assumption review
Matrix projection only, no differentiability, no continuum Clairaut theorem, no Bregman-projection existence/uniqueness claim.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-167 declarations.
Supporting qualified declarations
fep_fep167.FEP167.fep167_symmetrize_minimizes; fep_fep167.FEP167.fep167_projection_unique; fep_fep167.FEP167.fep167_residual_example
Boundary qualified declarations
Absent
Canonical body SHA-256
9b8423bb7d96d67de69ed5c93825ac59e37513d421693cf7c0518660607f8697
Exact Lean statement (proof omitted)
theorem fep167_frobenius_pythagoras {n : ℕ} (H S : Fin n → Fin n → ℝ)
+  {law : FiniteLaw State}
Explicit, implicit and instance binder syntax
Exact primary binder groups; types are not elaborated here
hypothesis statusnamesrolesourcetype sourcevisibility
source syntax; proposition elaboration not performed['hSupport']typed_binder(hSupport : ∀ i, 0 < law i)∀ i, 0 < law iexplicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : ∀ i j, law i * S i j = law j * S j i)∀ i j, law i * S i j = law j * S j iexplicit
source syntax; proposition elaboration not performed['hA']typed_binder(hA : ∀ i j, law i * A i j = -(law j * A j i))∀ i j, law i * A i j = -(law j * A j i)explicit
source syntax; proposition elaboration not performed['hSum']typed_binder(hSum : ∀ i j, rate i j = S i j + A i j)∀ i j, rate i j = S i j + A i jexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.LawWeightedSplit.fep166_split_uniqueFEP.LawWeightedSplit.fep166_split_uniqueexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py
fep-167 · Frobenius Least-Squares Projection of the Symmetrizer · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep167.FEP167.fep167_frobenius_pythagoras
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.
Assumption review
Matrix projection only, no differentiability, no continuum Clairaut theorem, no Bregman-projection existence/uniqueness claim.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-167 declarations.
Supporting qualified declarations
fep_fep167.FEP167.fep167_symmetrize_minimizes; fep_fep167.FEP167.fep167_projection_unique; fep_fep167.FEP167.fep167_residual_example
Boundary qualified declarations
Absent
Canonical body SHA-256
9b8423bb7d96d67de69ed5c93825ac59e37513d421693cf7c0518660607f8697
Exact Lean statement (proof omitted)
theorem fep167_frobenius_pythagoras {n : ℕ} (H S : Fin n → Fin n → ℝ)
     (hS : SymmetricOf S) :
     frobeniusSq (H - S)
       = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)
Exact conclusion
frobeniusSq (H - S)
-      = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)
Source statement SHA-256
20643519ee3062d2daf404f20834a1394b2f8500ea0cc52e11fda70b8bab2ddb
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['H', 'S']typed_binder(H S : Fin n → Fin n → ℝ)Fin n → Fin n → ℝexplicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : SymmetricOf S)SymmetricOf Sexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.fep167_frobenius_pythagorasFEP.GeometricMechanics.fep167_frobenius_pythagorasexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_lean/catalogue/bodies/geometric_mechanics.py
fep-168 · Quantitative Control of the Uncanceled Divergence Remainder · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep168.FEP168.fep168_weightedDivergence_eq_remainderDot
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 uncanceled remainder with its abs-product corollary, and equality is attained on aligned nonzero data with norm(g)^2 = 1.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-168 declarations.
Supporting qualified declarations
fep_fep168.FEP168.fep168_remainder_sq_budget; fep_fep168.FEP168.fep168_absolute_budget; fep_fep168.FEP168.fep168_equality_attained
Boundary qualified declarations
Absent
Canonical body SHA-256
7c1b83386845555ec06438b2b4e05241267cc69747617de316d3cea8246f157c
Exact Lean statement (proof omitted)
theorem fep168_weightedDivergence_eq_remainderDot {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)
+      = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)
Source statement SHA-256
20643519ee3062d2daf404f20834a1394b2f8500ea0cc52e11fda70b8bab2ddb
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['H', 'S']typed_binder(H S : Fin n → Fin n → ℝ)Fin n → Fin n → ℝexplicit
source syntax; proposition elaboration not performed['hS']typed_binder(hS : SymmetricOf S)SymmetricOf Sexplicit
Source declaration mentions
Lexical declaration mentions and import context, not elaborated or minimal proof dependencies. Unresolved names remain unresolved.
candidatesidentifierqualified nameresolutionrole
[]FEP.GeometricMechanics.fep167_frobenius_pythagorasFEP.GeometricMechanics.fep167_frobenius_pythagorasexact or same-namespace source identifierproof_reference
Owned canonical source identity
src/fep_formal/catalogue/bodies/geometric_mechanics.py
fep-168 · Quantitative Control of the Uncanceled Divergence Remainder · formalized
Family context (editorial)
geometric-mechanics-notation
Primary qualified witness
fep_fep168.FEP168.fep168_weightedDivergence_eq_remainderDot
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 uncanceled remainder with its abs-product corollary, and equality is attained on aligned nonzero data with norm(g)^2 = 1.
Assumption review
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.
Non-vacuity
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.
Acceptance probe (requirement; not executed here)
warning-free native Lean compile of all four fep-168 declarations.
Supporting qualified declarations
fep_fep168.FEP168.fep168_remainder_sq_budget; fep_fep168.FEP168.fep168_absolute_budget; fep_fep168.FEP168.fep168_equality_attained
Boundary qualified declarations
Absent
Canonical body SHA-256
7c1b83386845555ec06438b2b4e05241267cc69747617de316d3cea8246f157c
Exact Lean statement (proof omitted)
theorem fep168_weightedDivergence_eq_remainderDot {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)
     (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)
     (hcoup : ∀ i, dlogp i = -g i) :
-    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. Actual consumed endpoint lemma: fep_fep014.FEP014.fep014_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. Actual consumed endpoint lemma: fep_fep021.FEP021.fep021_efe_epistemic_balance. The epistemic balance requires the explicit hvalue premise that information value does not exceed pragmatic cost.
fep-004fep-038formalFEPComposed.fep004_fep038_metric_nonneg
fep_fep004.FEP004.fep004_fisherMetric_nonneg derives Bernoulli tangent self-metric nonnegativity after fep_fep038.FEP038.fep038_fisherInformation_eq discharges its nonnegative-weight premise on 0 < p < 1; the old metric specialization identifies the carrier.
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). Actual consumed endpoint lemma: fep_fep007.FEP007.fep007_normalizedMessage_sum_one.
fep-008fep-028conceptualAbsent: blocker or conceptual association
Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.
fep-011fep-026formalFEPComposed.fep011_fep026_complexity_nonneg
fep_fep011.FEP011.fep011_surprise_nonneg derives nonnegative fep026 prior complexity through the exact negative-log identity, for probability mass 0 < p ≤ 1; arbitrary real densities above 1 are excluded.
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. Actual consumed endpoint lemmas: fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost, fep_fep028.FEP028.fep028_softmax_le_one, fep_fep028.FEP028.fep028_softmax_nonneg. The proof consumes unit-interval supporting lemmas, not the primary sum-univ theorem; nonempty support and nonnegative temperature are explicit.
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. The finite positive-temperature Helmholtz functional now has a qualified decomposition, unique Gibbs minimum and actual log-partition derivative (FEPComposed.fep013_finite_helmholtz_decomposition, FEPComposed.fep013_finite_helmholtz_unique_minimum, FEPComposed.fep013_finite_equilibrium_derivative). Its physical free energy is shifted and temperature-scaled finite KL, not identical to the native extended-valued fep-002 VFE; this edge remains conceptual.
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. Actual consumed endpoint lemmas: fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy, fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt.
fep-016fep-032formal_pairingFEPComposed.fep016_quadratic_pairs_fep032_descent
The checked conjunction places nonnegative precision-weighted quadratic energy beside bounded-step scalar energy descent on the same state and center. It asserts neither a Laplace approximation nor a derivation or general optimizer theorem.
fep-017fep-045conceptualAbsent: blocker or conceptual association
The native posterior-kernel laws provide normalized Bayesian semantics, and fep-045 proves Bernoulli posterior closure. This relation remains conceptual because no explicit theorem bridges the posterior-kernel carrier to that conjugate-family carrier.
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. Actual consumed endpoint lemma: fep_fep021.FEP021.fep021_efe_epistemic_balance. The explicit hvalue upper bound on information gain is required; the identity is not an unconditional untruncated EFE decomposition.
fep-022fep-027formalFEPComposed.fep022_fep027_predictive_child_marginal
fep_fep027.FEP027.fep027_hierarchical_snd derives the actual posterior-predictive child marginal, then kernel/measure composition associativity yields sequential prediction under SFinite parent and SFinite kernels; no extra Bayesian identification is inferred.
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. Actual consumed endpoint lemma: fep_fep014.FEP014.fep014_kl_nonneg.
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. Actual consumed endpoint lemma: fep_fep049.FEP049.fep049_entropyProduction_nonneg. Nonnegative resistance is an explicit premise; no physical current conservation or calibrated constitutive law is inferred.
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. Actual consumed endpoint lemma: fep_fep027.FEP027.fep027_hierarchical_snd.
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). Actual consumed endpoint lemma: fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity.
fep-030fep-031formal_pairingFEPComposed.fep030_fep031_binary_maxEntropy
The full-support binary Gibbs masses of fep031 are exactly energyGibbsLaw, and its finite entropy is exactly the Real.binEntropy carrier used by fep030. At a supplied matched mean energy, this law uniquely maximizes that binary entropy; the witness also retains fep030’s bound/equality characterization on the same normalized candidate law. This is an exact finite carrier identification and constrained specialization, not a derivation of arbitrary Gibbs laws from the binary entropy bound or existence of a temperature for every target mean.
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. Actual consumed endpoint lemma: fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff.
fep-032fep-043formalFEPComposed.fep032_fep043_gradient_iteration_tendsto
fep_fep032.FEP032.fep032_quadraticUpdate_tendsto derives convergence of the actual fep043 quadratic gradient-step iterates via the exact update-map identity, under0<2*a*eta<2; no convergence at endpoint effective steps is claimed.
fep-034fep-047conceptualAbsent: blocker or conceptual association
Reviewed 2026-10-23 against the exact fep034_filter_joint_reconstruction and fep047_forward_compose statements and the delivered PTree exact-marginal/star/cycle theory; see docs/relations-endpoint-adjudication.md, FORM-S10. Finite matrix propagation supplies unnormalized weights; native posterior reconstruction additionally requires an observation kernel and conditioning. No cross-endpoint equality, null-observation ratio, generic normalized-child-message theorem, or loopy convergence claim is made. Keep conceptual; any formal tag change requires a qualified witness and reviewed seal delta.
fep-034fep-017formalFEPComposed.fep034_fep017_filter_joint_reconstruction
fep_fep017.FEP017.fep017_posterior_joint_reconstruction derives swapped joint reconstruction for the actual fep034 filter at the transition-predicted finite prior, using the old exact filter/posterior identity; retain measurable carriers, StandardBorel/nonempty latent space and finite prior/transition/likelihood kernels. No arbitrary pointwise null-version equality is inferred.
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. Actual consumed endpoint lemmas: fep_fep036.FEP036.fep036_smoothedRate_lt_one, fep_fep036.FEP036.fep036_smoothedRate_pos, fep_fep045.FEP045.fep045_bernoulli_posterior_closed, fep_fep045.FEP045.fep045_evidence_pos. Positive binary likelihoods and the smoothed count bounds establish nonzero evidence; no asymptotic empirical-rate theorem is consumed.
fep-037fep-020formalFEPComposed.fep037_autocorrelation_tracks_fep020
The composed theorem applies fep_fep020.FEP020.fep020_iterate_deviation and unfolds fep037_autocorrelation/fep037_relaxation to identify twice the centered two-state evolution with the unit-variance autocorrelation expression. This is an exact algebraic identity for real alpha; normalized Markov or relaxation semantics require their separate parameter-domain assumptions.
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_fep005_partition_conservation_via_cover
fep_fep005.FEP005.fep005_disjoint and fep_fep005.FEP005.fep005_total_cover supply actual pairwise disjointness and union coverage to Finset.sum_biUnion, deriving fep039 additive block-energy conservation on the same 20-state/4-block carrier.
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. Actual consumed endpoint lemma: fep_fep014.FEP014.fep014_kl_eq_zero_iff.
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. Actual consumed endpoint lemmas: fep_fep036.FEP036.fep036_smoothedRate_lt_one, fep_fep036.FEP036.fep036_smoothedRate_pos. The success count enters definitionally; List.count_le_length and the two smoothed-rate supporting lemmas establish interiority, not empirical-rate convergence.
fep-046fep-045formalFEPComposed.fep046_single_break_is_fep045_bernoulli
For a single stick fraction chosen as fep045_posteriorParameter, the composed theorem identifies allocated and residual weights with the true and false Bernoulli-mass definitions and uses fep_fep046.FEP046.fep046_mass_conservation to derive their sum-one identity. This algebra holds for arbitrary real inputs; nonnegative probability interpretation additionally needs a posterior in [0,1]. No general Dirichlet-process or infinite-series claim follows.
fep-050fep-049formalFEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production
Conditional constitutive bridge: nonnegative conductances let fep_fep049.FEP049.fep049_entropyProduction_nonneg supply a nonnegative quadratic entropy-production value. The explicit hBalance premise identifies that real value with fep_fep050.FEP050.fep050_totalEntropyChange Q T kB; positive T and Q<=W then let fep_fep050.FEP050.fep050_landauer_work_bound_of_entropy_balance derive the Landauer work threshold. The identification, including its entropy units and any time-scale interpretation, is assumed rather than derived by either topic. This witness retains its original statement and consumes the conditional entropy-balance helper; it does not instantiate ErasureModel, establish local detailed balance, or remove the assumptions of the current path-model primary theorem.
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
The witness pairs the Bayesian inversion involution with posterior reconstruction under the stated native assumptions; neither endpoint law is derived from the other.
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. Actual consumed endpoint lemmas: fep_fep002.FEP002.fep002_elbo_bound, fep_fep060.FEP060.fep060_coordinateELBO_decomposition, fep_fep060.FEP060.fep060_coordinateKL_nonnegative. Finite normalized laws/kernels and strictly positive reference prior/kernel support are explicit; the bound uses the nonnegative conditional-KL remainder.
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
The witness pairs finite channel KL contraction with native KL nonnegativity for separately supplied measures; no finite/native identification is proved.
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-072formalFEPComposed.fep074_backwardEvidence_supplies_fep072_filter
The actual fep-074 forward/backward evidence equality transports positive backward evidence into the premise of the actual fep-072 filtering recursion, then identifies its weighted atoms on the same finite carrier. Zero evidence remains excluded.
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
The witness pairs separately proved convergence statements; it does not identify their update maps or establish equivalence of iterations.
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 catalog'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-048formalFEPComposed.fep112_consensus_fixed_pair_is_equal
For a fixed pair of the specified consensus update, actual fep-112 contraction makes each disagreement atom a fixed point of the actual fep-048 half update; its unique fixed point is zero, so the two finite laws are equal. This does not assert a unique fixed pair or arbitrary-coupling contraction.
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 witness pairs the finite event union bound with Bernoulli count-likelihood factorization; neither conjunct is derived from the other.
fep-116fep-001formal_pairingFEPComposed.fep116_pac_bayes_refines_fep001_variational_bound
The witness pairs a finite PAC-Bayes bound with an independent native variational-bound instance; the latter is not a consequence of the former.
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-124formalFEPComposed.fep125_brier_identity_transfers_fep124_risk_bound
The actual fep-125 pointwise Brier-excess identity identifies the sampled risk with squared error on the same finite law, allowing the actual fep-124 Laplace squared-risk bound to apply. Positive sample count and probability bounds remain explicit.
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-131formalFEPComposed.fep130_attaining_tree_dominates_fep131_embedded_plans
An attaining tree supplied by actual fep-130 is compared with the open-loop embedding from actual fep-131; its value-preservation law gives finite-depth closed-loop dominance over every embedded plan. Universal strict advantage and infinite-horizon optimality are not claimed.
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-148formalFEPComposed.fep146_positive_fisher_supplies_fep148_mean_injectivity
The actual fep-146 Fisher/variance identity transports interval-wise positive Fisher information into the variance premise of actual fep-148 strict monotonicity and injectivity. Constant-statistic and degenerate-information cases are excluded by the stated positivity premise.
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-155formalFEPComposed.fep154_nonstationary_relaxation_supplies_fep155_strict_decay
The actual fep-154 relaxation formula turns nonstationary initial mass into a strictly positive Lyapunov value; combined with the actual fep-155 derivative law and positive rates, this gives strict two-state decay. Stationary initial laws have zero derivative instead.
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-117formalFEPComposed.fep158_masked_evidence_supplies_fep117_reduced_odds
The actual fep-158 masked-evidence identity supplies the predictive-evidence denominator consumed by the actual fep-117 reduced posterior-odds formula on the same finite carrier. Required positive evidence and reference weights are retained.
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-161formalFEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation
The actual fep-162 symmetrization theorem constructs the symmetric-matrix premise consumed by the actual fep-161 skew-trace theorem. This finite-matrix derivation does not establish continuum Clairaut regularity or a 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 uncanceled 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. For the finite discrete static joint model, the native measure bridge identifies the authored conditional kernels with Mathlib conditional distributions almost everywhere and proves CondIndepFun for internal and external coordinates given the blanket. The separate measure-theoretic topic proves symmetry and a trivial-sigma-algebra instance of CondIndep. Arbitrary measurable-carrier transport and conditioning coarsening are not established by this finite bridge.FEP.MarkovBlanket.conditional_internal_external_factorization
FEP.MarkovBlanket.conditional_mutualInformation_zero
FEP.NativeBlanket.staticJoint_condIndepFun
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 catalog 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. Those weak-duality witnesses alone imply neither strong duality nor extended-divergence semantics. On the fair Boolean source with Boolean Hamming distortion, the exact natural-log rate curve is attained, has the derived converse, and has the stated positive finite log-ratio dual optimizer for strictly interior budgets; the zero-budget limiting multiplier is unbounded. For arbitrary finite alphabets, nonnegative distortion and an actual strictly feasible fixed-source law, the finite mass carrier now gives attained primal/dual extrema and complementary slackness, including zero atoms. Every feasible finite nonnegative-distortion problem additionally has equal primal infimum and dual supremum, including feasible endpoints; finite maximizing multipliers remain separately qualified by strict feasibility. No continuous-alphabet or uniqueness conclusion is claimed.FEP.VariationalDuality.FairBoolean.boolean_closed_exact_minimum
FEP.VariationalDuality.FairBoolean.boolean_interior_dual_exact
FEP.VariationalDuality.FairBoolean.interiorMultiplier_unbounded_near_zero
FEP.VariationalDuality.dvObjective_eq_logPartition_iff
FEP.VariationalDuality.finiteChannel_dataProcessing
FEP.VariationalDuality.fixedSampleImportanceJensen
FEP.VariationalDuality.meanFieldCoordinate_optimum_iff
FEP.VariationalDuality.rateDistortion_exists_minimizer_and_dual_supremum
FEP.VariationalDuality.rateDistortion_exists_slater_dual_optimizer
FEP.VariationalDuality.rateDistortion_primal_dual_extrema
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. The actual derivative of the interior Bernoulli Fisher–Rao coordinate is additionally identified with the topic Jacobian, giving the stated one-dimensional metric pullback; no global chart or path-length theorem is inferred.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
FEPComposed.fep018_coordinate_derivative_is_fep038
FEPComposed.fep018_fep038_actual_metric_pullback
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. At each fixed positive time, its inverse-scale family also satisfies a uniform sufficiently-small-scale bound and a genuine right-hand limit at zero; no such limit is claimed at time zero. Each result is a standalone Lean module bridged to its nearest catalog 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
fep_fep159.FEP159.fep159_fastRelaxation_eventually_small
fep_fep159.FEP159.fep159_fastRelaxation_tendsto
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. For finite energies and positive temperature, the same normalized carrier proves the physical Helmholtz functional is free energy plus temperature-scaled KL, with a unique Gibbs minimum and the derivative of the actual log-partition free energy. A two-level Boolean uniform law is strictly above the minimum. Zero temperature is excluded; this does not identify physical free energy with native fep-002 VFE.FEPComposed.fep013_finite_equilibrium_derivative
FEPComposed.fep013_finite_helmholtz_decomposition
FEPComposed.fep013_finite_helmholtz_unique_minimum
FEPComposed.fep013_gaussianHelmholtz_derivative
FEPComposed.fep013_two_level_uniform_strict
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

Reproduce with fep-lean methods export --output-root DIRECTORY; fep-lean methods check --output-root DIRECTORY compares exact artifact bytes without repairing them. Checkout inspection uses fep-lean --project-root CHECKOUT methods export --output-root DIRECTORY. Visual positions and editorial tags carry no theorem implication.

Download canonical visual model · Source and evidence scope are included above

+ 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_formal/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. Actual consumed endpoint lemma: fep_fep014.FEP014.fep014_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. Actual consumed endpoint lemma: fep_fep021.FEP021.fep021_efe_epistemic_balance. The epistemic balance requires the explicit hvalue premise that information value does not exceed pragmatic cost.
fep-004fep-038formalFEPComposed.fep004_fep038_metric_nonneg
fep_fep004.FEP004.fep004_fisherMetric_nonneg derives Bernoulli tangent self-metric nonnegativity after fep_fep038.FEP038.fep038_fisherInformation_eq discharges its nonnegative-weight premise on 0 < p < 1; the old metric specialization identifies the carrier.
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). Actual consumed endpoint lemma: fep_fep007.FEP007.fep007_normalizedMessage_sum_one.
fep-008fep-028conceptualAbsent: blocker or conceptual association
Finite argmin existence and finite softmax normalization represent deterministic and stochastic policy-selection layers.
fep-011fep-026formalFEPComposed.fep011_fep026_complexity_nonneg
fep_fep011.FEP011.fep011_surprise_nonneg derives nonnegative fep026 prior complexity through the exact negative-log identity, for probability mass 0 < p ≤ 1; arbitrary real densities above 1 are excluded.
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. Actual consumed endpoint lemmas: fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost, fep_fep028.FEP028.fep028_softmax_le_one, fep_fep028.FEP028.fep028_softmax_nonneg. The proof consumes unit-interval supporting lemmas, not the primary sum-univ theorem; nonempty support and nonnegative temperature are explicit.
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. The finite positive-temperature Helmholtz functional now has a qualified decomposition, unique Gibbs minimum and actual log-partition derivative (FEPComposed.fep013_finite_helmholtz_decomposition, FEPComposed.fep013_finite_helmholtz_unique_minimum, FEPComposed.fep013_finite_equilibrium_derivative). Its physical free energy is shifted and temperature-scaled finite KL, not identical to the native extended-valued fep-002 VFE; this edge remains conceptual.
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. Actual consumed endpoint lemmas: fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy, fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt.
fep-016fep-032formal_pairingFEPComposed.fep016_quadratic_pairs_fep032_descent
The checked conjunction places nonnegative precision-weighted quadratic energy beside bounded-step scalar energy descent on the same state and center. It asserts neither a Laplace approximation nor a derivation or general optimizer theorem.
fep-017fep-045conceptualAbsent: blocker or conceptual association
The native posterior-kernel laws provide normalized Bayesian semantics, and fep-045 proves Bernoulli posterior closure. This relation remains conceptual because no explicit theorem bridges the posterior-kernel carrier to that conjugate-family carrier.
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. Actual consumed endpoint lemma: fep_fep021.FEP021.fep021_efe_epistemic_balance. The explicit hvalue upper bound on information gain is required; the identity is not an unconditional untruncated EFE decomposition.
fep-022fep-027formalFEPComposed.fep022_fep027_predictive_child_marginal
fep_fep027.FEP027.fep027_hierarchical_snd derives the actual posterior-predictive child marginal, then kernel/measure composition associativity yields sequential prediction under SFinite parent and SFinite kernels; no extra Bayesian identification is inferred.
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. Actual consumed endpoint lemma: fep_fep014.FEP014.fep014_kl_nonneg.
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. Actual consumed endpoint lemma: fep_fep049.FEP049.fep049_entropyProduction_nonneg. Nonnegative resistance is an explicit premise; no physical current conservation or calibrated constitutive law is inferred.
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. Actual consumed endpoint lemma: fep_fep027.FEP027.fep027_hierarchical_snd.
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). Actual consumed endpoint lemma: fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity.
fep-030fep-031formal_pairingFEPComposed.fep030_fep031_binary_maxEntropy
The full-support binary Gibbs masses of fep031 are exactly energyGibbsLaw, and its finite entropy is exactly the Real.binEntropy carrier used by fep030. At a supplied matched mean energy, this law uniquely maximizes that binary entropy; the witness also retains fep030’s bound/equality characterization on the same normalized candidate law. This is an exact finite carrier identification and constrained specialization, not a derivation of arbitrary Gibbs laws from the binary entropy bound or existence of a temperature for every target mean.
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. Actual consumed endpoint lemma: fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff.
fep-032fep-043formalFEPComposed.fep032_fep043_gradient_iteration_tendsto
fep_fep032.FEP032.fep032_quadraticUpdate_tendsto derives convergence of the actual fep043 quadratic gradient-step iterates via the exact update-map identity, under0<2*a*eta<2; no convergence at endpoint effective steps is claimed.
fep-034fep-047conceptualAbsent: blocker or conceptual association
Reviewed 2026-10-23 against the exact fep034_filter_joint_reconstruction and fep047_forward_compose statements and the delivered PTree exact-marginal/star/cycle theory; see docs/relations-endpoint-adjudication.md, FORM-S10. Finite matrix propagation supplies unnormalized weights; native posterior reconstruction additionally requires an observation kernel and conditioning. No cross-endpoint equality, null-observation ratio, generic normalized-child-message theorem, or loopy convergence claim is made. Keep conceptual; any formal tag change requires a qualified witness and reviewed seal delta.
fep-034fep-017formalFEPComposed.fep034_fep017_filter_joint_reconstruction
fep_fep017.FEP017.fep017_posterior_joint_reconstruction derives swapped joint reconstruction for the actual fep034 filter at the transition-predicted finite prior, using the old exact filter/posterior identity; retain measurable carriers, StandardBorel/nonempty latent space and finite prior/transition/likelihood kernels. No arbitrary pointwise null-version equality is inferred.
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. Actual consumed endpoint lemmas: fep_fep036.FEP036.fep036_smoothedRate_lt_one, fep_fep036.FEP036.fep036_smoothedRate_pos, fep_fep045.FEP045.fep045_bernoulli_posterior_closed, fep_fep045.FEP045.fep045_evidence_pos. Positive binary likelihoods and the smoothed count bounds establish nonzero evidence; no asymptotic empirical-rate theorem is consumed.
fep-037fep-020formalFEPComposed.fep037_autocorrelation_tracks_fep020
The composed theorem applies fep_fep020.FEP020.fep020_iterate_deviation and unfolds fep037_autocorrelation/fep037_relaxation to identify twice the centered two-state evolution with the unit-variance autocorrelation expression. This is an exact algebraic identity for real alpha; normalized Markov or relaxation semantics require their separate parameter-domain assumptions.
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_fep005_partition_conservation_via_cover
fep_fep005.FEP005.fep005_disjoint and fep_fep005.FEP005.fep005_total_cover supply actual pairwise disjointness and union coverage to Finset.sum_biUnion, deriving fep039 additive block-energy conservation on the same 20-state/4-block carrier.
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. Actual consumed endpoint lemma: fep_fep014.FEP014.fep014_kl_eq_zero_iff.
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. Actual consumed endpoint lemmas: fep_fep036.FEP036.fep036_smoothedRate_lt_one, fep_fep036.FEP036.fep036_smoothedRate_pos. The success count enters definitionally; List.count_le_length and the two smoothed-rate supporting lemmas establish interiority, not empirical-rate convergence.
fep-046fep-045formalFEPComposed.fep046_single_break_is_fep045_bernoulli
For a single stick fraction chosen as fep045_posteriorParameter, the composed theorem identifies allocated and residual weights with the true and false Bernoulli-mass definitions and uses fep_fep046.FEP046.fep046_mass_conservation to derive their sum-one identity. This algebra holds for arbitrary real inputs; nonnegative probability interpretation additionally needs a posterior in [0,1]. No general Dirichlet-process or infinite-series claim follows.
fep-050fep-049formalFEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production
Conditional constitutive bridge: nonnegative conductances let fep_fep049.FEP049.fep049_entropyProduction_nonneg supply a nonnegative quadratic entropy-production value. The explicit hBalance premise identifies that real value with fep_fep050.FEP050.fep050_totalEntropyChange Q T kB; positive T and Q<=W then let fep_fep050.FEP050.fep050_landauer_work_bound_of_entropy_balance derive the Landauer work threshold. The identification, including its entropy units and any time-scale interpretation, is assumed rather than derived by either topic. This witness retains its original statement and consumes the conditional entropy-balance helper; it does not instantiate ErasureModel, establish local detailed balance, or remove the assumptions of the current path-model primary theorem.
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
The witness pairs the Bayesian inversion involution with posterior reconstruction under the stated native assumptions; neither endpoint law is derived from the other.
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. Actual consumed endpoint lemmas: fep_fep002.FEP002.fep002_elbo_bound, fep_fep060.FEP060.fep060_coordinateELBO_decomposition, fep_fep060.FEP060.fep060_coordinateKL_nonnegative. Finite normalized laws/kernels and strictly positive reference prior/kernel support are explicit; the bound uses the nonnegative conditional-KL remainder.
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
The witness pairs finite channel KL contraction with native KL nonnegativity for separately supplied measures; no finite/native identification is proved.
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-072formalFEPComposed.fep074_backwardEvidence_supplies_fep072_filter
The actual fep-074 forward/backward evidence equality transports positive backward evidence into the premise of the actual fep-072 filtering recursion, then identifies its weighted atoms on the same finite carrier. Zero evidence remains excluded.
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
The witness pairs separately proved convergence statements; it does not identify their update maps or establish equivalence of iterations.
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 catalog'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-048formalFEPComposed.fep112_consensus_fixed_pair_is_equal
For a fixed pair of the specified consensus update, actual fep-112 contraction makes each disagreement atom a fixed point of the actual fep-048 half update; its unique fixed point is zero, so the two finite laws are equal. This does not assert a unique fixed pair or arbitrary-coupling contraction.
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 witness pairs the finite event union bound with Bernoulli count-likelihood factorization; neither conjunct is derived from the other.
fep-116fep-001formal_pairingFEPComposed.fep116_pac_bayes_refines_fep001_variational_bound
The witness pairs a finite PAC-Bayes bound with an independent native variational-bound instance; the latter is not a consequence of the former.
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-124formalFEPComposed.fep125_brier_identity_transfers_fep124_risk_bound
The actual fep-125 pointwise Brier-excess identity identifies the sampled risk with squared error on the same finite law, allowing the actual fep-124 Laplace squared-risk bound to apply. Positive sample count and probability bounds remain explicit.
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-131formalFEPComposed.fep130_attaining_tree_dominates_fep131_embedded_plans
An attaining tree supplied by actual fep-130 is compared with the open-loop embedding from actual fep-131; its value-preservation law gives finite-depth closed-loop dominance over every embedded plan. Universal strict advantage and infinite-horizon optimality are not claimed.
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-148formalFEPComposed.fep146_positive_fisher_supplies_fep148_mean_injectivity
The actual fep-146 Fisher/variance identity transports interval-wise positive Fisher information into the variance premise of actual fep-148 strict monotonicity and injectivity. Constant-statistic and degenerate-information cases are excluded by the stated positivity premise.
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-155formalFEPComposed.fep154_nonstationary_relaxation_supplies_fep155_strict_decay
The actual fep-154 relaxation formula turns nonstationary initial mass into a strictly positive Lyapunov value; combined with the actual fep-155 derivative law and positive rates, this gives strict two-state decay. Stationary initial laws have zero derivative instead.
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-117formalFEPComposed.fep158_masked_evidence_supplies_fep117_reduced_odds
The actual fep-158 masked-evidence identity supplies the predictive-evidence denominator consumed by the actual fep-117 reduced posterior-odds formula on the same finite carrier. Required positive evidence and reference weights are retained.
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-161formalFEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation
The actual fep-162 symmetrization theorem constructs the symmetric-matrix premise consumed by the actual fep-161 skew-trace theorem. This finite-matrix derivation does not establish continuum Clairaut regularity or a 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 uncanceled 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. For the finite discrete static joint model, the native measure bridge identifies the authored conditional kernels with Mathlib conditional distributions almost everywhere and proves CondIndepFun for internal and external coordinates given the blanket. The separate measure-theoretic topic proves symmetry and a trivial-sigma-algebra instance of CondIndep. Arbitrary measurable-carrier transport and conditioning coarsening are not established by this finite bridge.FEP.MarkovBlanket.conditional_internal_external_factorization
FEP.MarkovBlanket.conditional_mutualInformation_zero
FEP.NativeBlanket.staticJoint_condIndepFun
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 catalog 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. Those weak-duality witnesses alone imply neither strong duality nor extended-divergence semantics. On the fair Boolean source with Boolean Hamming distortion, the exact natural-log rate curve is attained, has the derived converse, and has the stated positive finite log-ratio dual optimizer for strictly interior budgets; the zero-budget limiting multiplier is unbounded. For arbitrary finite alphabets, nonnegative distortion and an actual strictly feasible fixed-source law, the finite mass carrier now gives attained primal/dual extrema and complementary slackness, including zero atoms. Every feasible finite nonnegative-distortion problem additionally has equal primal infimum and dual supremum, including feasible endpoints; finite maximizing multipliers remain separately qualified by strict feasibility. No continuous-alphabet or uniqueness conclusion is claimed.FEP.VariationalDuality.FairBoolean.boolean_closed_exact_minimum
FEP.VariationalDuality.FairBoolean.boolean_interior_dual_exact
FEP.VariationalDuality.FairBoolean.interiorMultiplier_unbounded_near_zero
FEP.VariationalDuality.dvObjective_eq_logPartition_iff
FEP.VariationalDuality.finiteChannel_dataProcessing
FEP.VariationalDuality.fixedSampleImportanceJensen
FEP.VariationalDuality.meanFieldCoordinate_optimum_iff
FEP.VariationalDuality.rateDistortion_exists_minimizer_and_dual_supremum
FEP.VariationalDuality.rateDistortion_exists_slater_dual_optimizer
FEP.VariationalDuality.rateDistortion_primal_dual_extrema
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. The actual derivative of the interior Bernoulli Fisher–Rao coordinate is additionally identified with the topic Jacobian, giving the stated one-dimensional metric pullback; no global chart or path-length theorem is inferred.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
FEPComposed.fep018_coordinate_derivative_is_fep038
FEPComposed.fep018_fep038_actual_metric_pullback
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. At each fixed positive time, its inverse-scale family also satisfies a uniform sufficiently-small-scale bound and a genuine right-hand limit at zero; no such limit is claimed at time zero. Each result is a standalone Lean module bridged to its nearest catalog 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
fep_fep159.FEP159.fep159_fastRelaxation_eventually_small
fep_fep159.FEP159.fep159_fastRelaxation_tendsto
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. For finite energies and positive temperature, the same normalized carrier proves the physical Helmholtz functional is free energy plus temperature-scaled KL, with a unique Gibbs minimum and the derivative of the actual log-partition free energy. A two-level Boolean uniform law is strictly above the minimum. Zero temperature is excluded; this does not identify physical free energy with native fep-002 VFE.FEPComposed.fep013_finite_equilibrium_derivative
FEPComposed.fep013_finite_helmholtz_decomposition
FEPComposed.fep013_finite_helmholtz_unique_minimum
FEPComposed.fep013_gaussianHelmholtz_derivative
FEPComposed.fep013_two_level_uniform_strict
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

Reproduce with fep-formal methods export --output-root DIRECTORY; fep-formal methods check --output-root DIRECTORY compares exact artifact bytes without repairing them. Checkout inspection uses fep-formal --project-root CHECKOUT methods export --output-root DIRECTORY. Visual positions and editorial tags carry no theorem implication.

Download canonical visual model · Source and evidence scope are included above

diff --git a/docs/mathematical-positioning/positioning.json b/docs/mathematical-positioning/positioning.json index e9d53b7c..3814c248 100644 --- a/docs/mathematical-positioning/positioning.json +++ b/docs/mathematical-positioning/positioning.json @@ -8434,7 +8434,7 @@ 1, 1 ], - "reading_anchor": "src/fep_lean/formal/geometric_optimization.lean", + "reading_anchor": "src/fep_formal/formal/geometric_optimization.lean", "redundant_logit_information": [ [ 0.2222222222222222, @@ -8939,14 +8939,14 @@ }, "schema_version": 1, "semantic_policy": { - "native_evidence": "A validated receipt from uv run fep-lean verify --fail-on-warnings establishes exact-source native compilation only; it does not establish the semantic disposition below or a full Hermes/OpenGauss run.", + "native_evidence": "A validated receipt from uv run fep-formal verify --fail-on-warnings establishes exact-source native compilation only; it does not establish the semantic disposition below or a full Hermes/OpenGauss run.", "review_date": "2026-10-19", "schema_version": 2, "status_policy": "Any semantic disposition or mathlib_status change requires exact theorem review, regenerated projections, focused and aggregate native Lean acceptance, and an explicit changelog entry; compilation alone never promotes a proxy." }, "source_origin": "checkout", "source_sha256": { - "__init__.py": "f772577abbe7a0ccc5e1bbc2024949b8d2d85cbb3d82eab7870f74121e7b06bc", + "__init__.py": "4aa1cea1c92376b961af0487052040a964de67f21531d956379157bfb556f793", "catalogue/bodies/causal_blankets_interventions.py": "392a9cdc8fc401ca4b684f160049b1b48144dc59c986cbb2ad01760e9643bf99", "catalogue/bodies/closed_loop_policy_trees.py": "66e4396290f1128c0f35b5b9211469a426ebaf4d0e13790467c431251c17780b", "catalogue/bodies/collective_inference.py": "fa0b3a94bb49d43a310da37c324e5452f44141cc009c44d487b9ebef78690e80", @@ -8969,12 +8969,12 @@ "catalogue/bodies/standalone_efe_formalizations.py": "da17bf17e4cfa56271cb4e0948457a279fe66a42a412f25959c6b6a70d32365a", "catalogue/bodies/temporal_inference.py": "820d493f82c2de309e51ca931b3c44807688e9d96cc9050b605bf99585d813a9", "catalogue/bodies/variational_duality.py": "aa53d3a653b8102b0c6789e3c7102ff962c507d34e6b5f1ac1639044d4e629ce", - "catalogue/latex.py": "aa976f48534bdaa5b78ed3f87ce7f7d1837e582bdd815873046999c22a6abab5", - "catalogue/registry.py": "a758f1be3f4b4efbdbd80fb5854c71557f3e392fd90587b3c59656716fdfa268", + "catalogue/latex.py": "848251fe98430f330818fc89e73318efd54f1155301022edce7c63ba79a0c499", + "catalogue/registry.py": "d9b04f02e608309e687ca4555b6ba75f91fdc18eecad26f879d07104c273349d", "catalogue/relations.py": "f848780337e03a4b19013a5f45a26a91c1b58d46f78964fcdab5aa54782e182b", "catalogue/schema.py": "75c7c90e829eb7373c09bd3fa7e264937aeac1b8d880b513932975deae5677a0", - "catalogue/semantics.py": "4a47ebebac7aab2120738b1e922790e3f0afb603cc18a8b06dec7307101f131b", - "catalogue/topics.py": "97b5e0dd45673df52cd8399332dc1fcddebe0f6f8ad5a5434abec2ed599f564a", + "catalogue/semantics.py": "6e16597ba9272c73df43575d3306a0d3cc993629e1edde019a76de3d5781506e", + "catalogue/topics.py": "6013594ec5ff2a5a8b75e38ce9e340bc756e41c45b0e58049b35d8c8769593d9", "formal/active_inference.lean": "260417ac91c6e0b31b29212ce85c8d643a1ecb10909d4acafa0b53f5504cbf07", "formal/bayesian_model_reduction.lean": "721c1e39ffcfe5557c0138134cac5fb5c1b78669ac475cd99465401653fa441f", "formal/causal_dynamics.lean": "a87844ec42f395cb8532fa96c7d5b6b956731e1b0f6069f748d512e43add686c", @@ -9009,7 +9009,7 @@ "formal/continuous_time_markov.lean": "1294732d3ddd6bd3711a00b6895e09fff45dd720cddb8d9db8e78ad458b10ea4", "formal/controlled_markov.lean": "6cf6aa0a04704074d38dba03663349833544ef24fda92e7ad0c6ae6e77eb659a", "formal/decision_risk.lean": "6dc1eed6ac2600ecc1c563bafba8526696ac41dcb44ad13dcd46c211a3fc32b2", - "formal/declarations.py": "6921e78b81fe1dce9ba1ed5d7d0b69bf0991a15467560f80d31143357e840309", + "formal/declarations.py": "f06d0f2d10edca4b4ef6eb8c96a924b0c6c1b8251055e1d40fa18fe278b774c6", "formal/efe_policy_selection.lean": "ee28ad77d0114ed238518c2112e5d9a99a1b2bb96c5673ef24fbb8ca75550555", "formal/efe_time_scale_separation.lean": "d0ff527a45a6d74cad08b128b9c480a76d6e7dcafbb1cffdf86d5dc854a33b1c", "formal/empirical_risk.lean": "f64571536d09b14ba68d0b3bc344f08f14c87bd9c8aec50259a3f2cd35a28574", @@ -9033,7 +9033,7 @@ "formal/law_weighted_split.lean": "8f3337e433c93828fb1a5185c962b47e2d521b4cd3792e75f3a484e5ca14bc35", "formal/learning_theory.lean": "f39bf2504d47de1f76399fce0471396c0b546ddc25872572e8efa853b2e75582", "formal/linear_gaussian_semigroup.lean": "d4373ff6c120d2b55bf717338b2a4a210f34d89c44a73fd98562f0226098985d", - "formal/manifest.py": "e99bc2bb55d88872d04a851430fae6ca9978bc9aea12de493e923c3d8b9f4157", + "formal/manifest.py": "acb7ae9827ea76440a767114da8ff91ae544a324b9925cea0f1a8414a0dc2dc0", "formal/markov_blanket.lean": "6e214ee37ba6525d1ca5b44130ceaf4b410e03a0bb18d9b3070c4f8b90280011", "formal/markov_semigroup.lean": "03284d5d473fdb3b6a2af5ae43ca2970e6f46af1b3b8915f8d0c123c177f6c02", "formal/measure_bayes.lean": "e2fa1b071381bbf684625e7317a02a357337df80596f95d9084d6e721a719c51", @@ -9049,16 +9049,16 @@ "formal/statistical_convergence.lean": "6ff46d028d91e8fb7473bd2ef83bfa54dd51dd9a2e500a4ee63c8b782e3485cf", "formal/temporal_inference.lean": "7b1260acd419ac368ea490d58b2e33c02b53d969e690ce1b805a177f2bb9e3b4", "formal/variational_duality.lean": "05cad799baf805992412c82c09ad6d1c3354c24ccd6801114c3e23e546c43ba1", - "inputs/catalogue_metadata.yaml": "f2659ffb8e72f5d2881154b55c3537a2743ce5a83689b19b63b1d685e698693c", + "inputs/catalogue_metadata.yaml": "b0af8b16513084cffc6eff8176ba5b1a9a524591a51acbe652256489e698974d", "inputs/formalism_relations.yaml": "7c3334ef66f8a2a94071dc7cc27471a0e6122ff49e19d90c926427daa331ba80", "inputs/positioning.yaml": "d18b1e937babd732ac94414935f606e671ffb54a19f022de15b0dc45ed245e2d", - "inputs/theorem_maturity.yaml": "35250c1fcb1bb77137ee6b3fdfbc93f3a0e6c031668b55a2fa574dca18df11a5", + "inputs/theorem_maturity.yaml": "ee493bf4d954be5cb7067d6124231243e386e0d04b08e72212de8dcd125ecb3c", "lean_source.py": "67790e70ab3ae3af48d9d2cd570e0d641f18fa03519c06b17c9a0b21acbc6781", "methods/__init__.py": "3d9676464dc5a9c196e57bc502e42a7d69672f0add6bc535d31a31917da9ac99", - "methods/model.py": "8b517cc056b4b8e577790d50333762febc4f0ff5ceae96a431cc2dc15bf321dc", - "methods/probes.py": "30690d7b66923a2df06b59c93b95549b8dad5018cc2ae6a2ce1f256af64e326b", - "methods/projection.py": "a1237cd5d2433ef2b40cba2ee9cd739ebc1a2de34e49ebba5d7b235da3f4e0b7", - "methods/visualization.py": "3c12c0213ef98a4b1ad803836d637969efe4a3e28e02302d3ba63ed2f229719a" + "methods/model.py": "b824d2dc92b17077925710ccc3e36adc51c71fc0c9a32e245e0d5bab2e73d4d6", + "methods/probes.py": "4030265b3f3b04dc11f73164474daa2c3db343cc0a65f90a186903a334829e0a", + "methods/projection.py": "fe13f02fcb239c5d6fb913ca4a430257ec2ef21c8ca2735ffd7166474b1dec0c", + "methods/visualization.py": "b5b7f10277e9e89bf00b1fc93e91cbc9a8cff6faf95a6d3e26bab72e4d2bb1c2" }, "theorem_analysis": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -9186,7 +9186,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.actionLaw_mass", "source_line": 624, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem actionLaw_mass [Fintype Action] [DecidableEq Action]\n (policyToAction : Policy → Action) (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (action : Action) :\n actionLaw policyToAction precision model support action =\n ∑ policy, if policyToAction policy = action then\n policyPosterior precision model support policy else 0", "statement_sha256": "51007cf292885247f3489ee0e4522b41a8e04bb8ec949581983d18495962ac8b" }, @@ -9285,7 +9285,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.actionPredictedState_eq_predictedState", "source_line": 569, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem actionPredictedState_eq_predictedState\n [Fintype Action]\n (model : GenerativeModel Policy State Outcome)\n (interface : ActionInterface model Action) (policy : Policy) :\n (interface.actionTransition (interface.policyToAction policy)).predictive\n model.initialState =\n predictedState model policy", "statement_sha256": "99298d9535740d00891835edbf2cc1993c612016db30ffea57c09a4068191ffd" }, @@ -9377,7 +9377,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_append", "source_line": 399, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem cumulativeExpectedFreeEnergyFrom_append\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (headPlan tailPlan : List Policy) :\n cumulativeExpectedFreeEnergyFrom model current (headPlan ++ tailPlan) =\n cumulativeExpectedFreeEnergyFrom model current headPlan +\n cumulativeExpectedFreeEnergyFrom model\n (planStateFrom model current headPlan) tailPlan", "statement_sha256": "b026518f3c0018553205148701f8cc5965cee9cfa4a8da4e270ed9e5eccd6a4c" }, @@ -9485,7 +9485,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_nonneg", "source_line": 415, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem cumulativeExpectedFreeEnergyFrom_nonneg\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (plan : List Policy)\n (support : PlanFullSupportFrom model current plan) :\n 0 ≤ cumulativeExpectedFreeEnergyFrom model current plan", "statement_sha256": "469b5dd8c7bb8c59f7b997ab8f33535fdfea09390043b11062d00e90bb6d1d7d" }, @@ -9583,7 +9583,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.cumulativeExpectedFreeEnergy_nonneg", "source_line": 442, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem cumulativeExpectedFreeEnergy_nonneg\n (model : GenerativeModel Policy State Outcome) (plan : List Policy)\n (support : PlanFullSupport model plan) :\n 0 ≤ cumulativeExpectedFreeEnergy model plan", "statement_sha256": "1f3add8a3779645171c2a6b05605ceb15b9d3fb82d14059e8c57ec7447f1c7b1" }, @@ -9703,7 +9703,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.epistemicValue_eq_entropy_sub_ambiguity", "source_line": 273, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem epistemicValue_eq_entropy_sub_ambiguity\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n epistemicValue model policy =\n entropy (predictedOutcome model policy) - ambiguity model policy", "statement_sha256": "b02b7b9c43d89980d279c573ddee85ecfcb469c280a5bfefddc286527a66e52c" }, @@ -9793,7 +9793,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.epistemicValue_nonneg", "source_line": 156, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem epistemicValue_nonneg\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n 0 ≤ epistemicValue model policy", "statement_sha256": "3be7776d894b95cb76b69d02d1c117dea0f4c42974184a5a43c1f9e4d2e2ef46" }, @@ -9864,7 +9864,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.exists_expectedFreeEnergy_minimizer", "source_line": 540, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem exists_expectedFreeEnergy_minimizer\n (model : GenerativeModel Policy State Outcome) :\n ∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", "statement_sha256": "d3034ded832e2b7822cdfc3fce033209d60458c50f82d97a57074625bf093948" }, @@ -9962,7 +9962,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.exists_policyMAP", "source_line": 524, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem exists_policyMAP (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) :\n ∃ policy : Policy, ∀ alternative : Policy,\n policyPosterior precision model support alternative ≤\n policyPosterior precision model support policy", "statement_sha256": "a69167499837f1835a18eb3db511f2cd39a8805730ffcddd3376ef6f1a06fa76" }, @@ -10050,7 +10050,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.expectedFreeEnergy_eq_negPragmaticValuePlusEpistemicValue", "source_line": 875, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem expectedFreeEnergy_eq_negPragmaticValuePlusEpistemicValue\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n expectedFreeEnergy model policy =\n -(pragmaticValue model policy + epistemicValue model policy)", "statement_sha256": "89ee25ab830fa3c08745a9aa19ed4c8152ef45e0ca95470cd394c222bdaf07ff" }, @@ -10154,7 +10154,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity", "source_line": 303, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem expectedFreeEnergy_eq_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n expectedFreeEnergy model policy =\n risk model policy + ambiguity model policy", "statement_sha256": "71b83d3e40898f7cd2853ce539fd9aeae070597c421a92c0e6d387c75ccccadf" }, @@ -10268,7 +10268,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.expectedFreeEnergy_nonneg", "source_line": 316, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem expectedFreeEnergy_nonneg\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n 0 ≤ expectedFreeEnergy model policy", "statement_sha256": "94fb1fa3c6c91400cbf5caee64ac4bba34e2b10bc6f618ea2f094948cef04165" }, @@ -10398,7 +10398,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActActionMarginal_eq_actionLaw", "source_line": 687, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActActionMarginal_eq_actionLaw\n [Fintype Action] [DecidableEq Action]\n (precision : ℝ) (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model)\n (interface : ActionInterface model Action) :\n inferSelectActActionMarginal precision model support interface =\n actionLaw interface.policyToAction precision model support", "statement_sha256": "06a6a6058648d96373d6e7b848048a9c1707575bb9cc3adb9cefa665f1d52795" }, @@ -10552,7 +10552,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActJoint_factorization", "source_line": 660, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActJoint_factorization\n [Fintype Action] [DecidableEq Action]\n (precision : ℝ) (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model)\n (interface : ActionInterface model Action)\n (policy : Policy) (action : Action) (state : State) :\n inferSelectActJoint precision model support interface\n (policy, (action, state)) =\n policyPosterior precision model support policy *\n (if action = interface.policyToAction policy then\n predictedState model policy state else 0)", "statement_sha256": "e0ceb03f00072ee926099620ae3fc773dfd231f1897b667bd5634591b23194dc" }, @@ -10679,7 +10679,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActJoint_policyMarginal", "source_line": 647, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActJoint_policyMarginal\n [Fintype Action] [DecidableEq Action]\n (precision : ℝ) (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model)\n (interface : ActionInterface model Action) (policy : Policy) :\n (inferSelectActJoint precision model support interface).fstMarginal policy =\n policyPosterior precision model support policy", "statement_sha256": "929556682b7f68350c69689831f5d446a5b7d26c7cbe23686201f29ef024dead" }, @@ -10813,7 +10813,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActKernel_mass", "source_line": 603, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActKernel_mass\n [Fintype Action] [DecidableEq Action]\n (model : GenerativeModel Policy State Outcome)\n (interface : ActionInterface model Action)\n (policy : Policy) (action : Action) (state : State) :\n inferSelectActKernel model interface policy (action, state) =\n if action = interface.policyToAction policy then\n predictedState model policy state else 0", "statement_sha256": "9df24dcdeba922ef07335bfd82d38d91d03d9ee1827601159cdb6986e8dfdbf1" }, @@ -10931,7 +10931,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.negative_variationalFreeEnergy_le_logEvidence", "source_line": 254, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem negative_variationalFreeEnergy_le_logEvidence\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State) :\n -variationalFreeEnergy model policy outcome h recognition ≤\n Real.log (predictedOutcome model policy outcome)", "statement_sha256": "71ae527dd935fc293aa52b816d87a3a64359ed25000cd15e1f4122317fe82403" }, @@ -11022,7 +11022,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.not_fullSupport_of_preference_eq_zero", "source_line": 171, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem not_fullSupport_of_preference_eq_zero\n (model : GenerativeModel Policy State Outcome) (outcome : Outcome)\n (hzero : model.preferences outcome = 0) : ¬FullSupport model", "statement_sha256": "af8e8f69ef289956d54d00648b9231fd3454b32df4d93299c2694879ae7e8e63" }, @@ -11142,7 +11142,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.outcomeSurprisal_le_variationalFreeEnergy", "source_line": 220, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem outcomeSurprisal_le_variationalFreeEnergy\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State) :\n outcomeSurprisal model policy outcome ≤\n variationalFreeEnergy model policy outcome h recognition", "statement_sha256": "a522d14f38a4e09d180395eb33bfe652f926c9cf549c13dbb91520c4bf4876c5" }, @@ -11234,7 +11234,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.planStateFrom_append", "source_line": 387, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem planStateFrom_append\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (headPlan tailPlan : List Policy) :\n planStateFrom model current (headPlan ++ tailPlan) =\n planStateFrom model (planStateFrom model current headPlan) tailPlan", "statement_sha256": "d69d2c013a0f9207fd89a0ec4dbb70e4e6735fcb1567771a30efc2db157e3b09" }, @@ -11333,7 +11333,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.planStateFrom_eq_rolloutPredictive", "source_line": 373, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem planStateFrom_eq_rolloutPredictive [DecidableEq State]\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (plan : List Policy) :\n planStateFrom model current plan =\n (rolloutKernel model plan).predictive current", "statement_sha256": "73325a9afef710a9bdaf7512aea1d7f8ba061fc1cae4e828e7a66fa8cbc56f08" }, @@ -11452,7 +11452,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.plannedPosteriorState_mul_evidence", "source_line": 114, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem plannedPosteriorState_mul_evidence [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (plan : List Policy)\n (outcome : Outcome) (h : 0 < plannedOutcome model plan outcome)\n (state : State) :\n plannedPosteriorState model plan outcome h state *\n plannedOutcome model plan outcome =\n plannedState model plan state * model.likelihood state outcome", "statement_sha256": "b655c64000cb6147cdcd80b2a7f08759e8a1528ac2bc25d37efff8a17d6cedf7" }, @@ -11549,7 +11549,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.plannedState_append", "source_line": 96, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem plannedState_append [DecidableEq State]\n (model : GenerativeModel Policy State Outcome)\n (headPlan tailPlan : List Policy) :\n plannedState model (headPlan ++ tailPlan) =\n (rolloutKernel model tailPlan).predictive\n (plannedState model headPlan)", "statement_sha256": "f6bf53db9f3670eb58eee23e584c2fddcd871b142c717ad70deaeaff7878de41" }, @@ -11628,7 +11628,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.plannedState_nil", "source_line": 89, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem plannedState_nil [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) :\n plannedState model [] = model.initialState", "statement_sha256": "e974f198f5d6733cb360d225325f50f6ba0f157b3555d8a3763b9c3504e35ca2" }, @@ -11709,7 +11709,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.policyPartition_pos", "source_line": 461, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem policyPartition_pos (precision : ℝ)\n (model : GenerativeModel Policy State Outcome) :\n 0 < policyPartition precision model", "statement_sha256": "1d13dfbe3424a30e4c87cb22dfe76b76f43d6f5dbe7164bf30cf998d76a45807" }, @@ -11848,7 +11848,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.policyPosterior_antitone_expectedFreeEnergy", "source_line": 500, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem policyPosterior_antitone_expectedFreeEnergy\n {precision : ℝ} (hprecision : 0 ≤ precision)\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n {policy₁ policy₂ : Policy}\n (hprior : model.policyPrior policy₁ = model.policyPrior policy₂)\n (hG : expectedFreeEnergy model policy₁ ≤\n expectedFreeEnergy model policy₂) :\n policyPosterior precision model support policy₂ ≤\n policyPosterior precision model support policy₁", "statement_sha256": "de0f9342a83bfd61734fb6326be0b0f28d5ae060de910dc6d471804c37200ab8" }, @@ -11956,7 +11956,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.policyPosterior_mul_partition", "source_line": 491, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem policyPosterior_mul_partition (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (policy : Policy) :\n policyPosterior precision model support policy *\n policyPartition precision model =\n policyWeight precision model policy", "statement_sha256": "e6a88f50eae293a5be2a6d16eaaee745a0144bd351439566418761abd835dd0d" }, @@ -12067,7 +12067,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.posteriorState_mul_evidence", "source_line": 194, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem posteriorState_mul_evidence\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (state : State) :\n posteriorState model policy outcome h state *\n predictedOutcome model policy outcome =\n predictedState model policy state * model.likelihood state outcome", "statement_sha256": "336427d0915efc5111aadbbe1fb837a65fc52e47bbd9f74d6e275d4a0ea60123" }, @@ -12148,7 +12148,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.pragmaticValue_eq_negPragmaticCost", "source_line": 865, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem pragmaticValue_eq_negPragmaticCost\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n pragmaticValue model policy = -pragmaticCost model policy", "statement_sha256": "16716019f3c5a313e6ddc9fe95f2510ad2d20de2555685cdbc799327b38a9e4a" }, @@ -12239,7 +12239,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.predictedJoint_fstMarginal_mass", "source_line": 180, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem predictedJoint_fstMarginal_mass\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (state : State) :\n (predictedJoint model policy).fstMarginal state =\n predictedState model policy state", "statement_sha256": "080c8c3a1f0a851247658a89cb4ee1fa097d5bf2898983eb11c9e012d69ba78e" }, @@ -12320,7 +12320,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.predictedJoint_sndMarginal", "source_line": 188, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem predictedJoint_sndMarginal\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n (predictedJoint model policy).sndMarginal =\n predictedOutcome model policy", "statement_sha256": "45aea12152141da46061dc89de062a12706ac4e023e4a20fdb55df8d92e90d18" }, @@ -12420,7 +12420,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.risk_eq_crossEntropy_sub_entropy", "source_line": 265, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem risk_eq_crossEntropy_sub_entropy\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n risk model policy =\n pragmaticCost model policy - entropy (predictedOutcome model policy)", "statement_sha256": "6c29e9d7b23ce89772514f254b7c8fb688c80d0f5c701dadf85178964ad83fb0" }, @@ -12510,7 +12510,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.rolloutKernel_append", "source_line": 71, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem rolloutKernel_append [DecidableEq State]\n (model : GenerativeModel Policy State Outcome)\n (headPlan tailPlan : List Policy) :\n rolloutKernel model (headPlan ++ tailPlan) =\n FiniteKernel.comp (rolloutKernel model tailPlan)\n (rolloutKernel model headPlan)", "statement_sha256": "457d7ed70d3785f8d248b59f8e2259ae982e34c776c07dc7c7fb0c94ffd4ad11" }, @@ -12617,7 +12617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.staticState_cumulativeEFE_decomposition", "source_line": 889, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem staticState_cumulativeEFE_decomposition\n [DecidableEq State] [DecidableEq Policy]\n (model : GenerativeModel Policy State Outcome)\n (plan : List Policy)\n (hidentity : ∀ policy, model.transition policy = FiniteKernel.identity) :\n cumulativeExpectedFreeEnergy model plan =\n (plan.map (expectedFreeEnergy model)).sum", "statement_sha256": "1ffe4357c79ac65417c87df6aeb22ff0c0af3fa8e4e561c6206d41d7264c24eb" }, @@ -12705,7 +12705,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_ambiguity", "source_line": 799, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_ambiguity\n (prior : FiniteLaw Bool) (policy : Bool) :\n ambiguity (symmetricBoolModel prior) policy = entropy fairBoolLaw", "statement_sha256": "4310600a4400c404b1a8eaa7158f06b507ef5218a474a7de6acf8fdeeec31c17" }, @@ -12811,7 +12811,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_expectedFreeEnergy", "source_line": 810, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_expectedFreeEnergy\n (prior : FiniteLaw Bool) (policy : Bool) :\n expectedFreeEnergy (symmetricBoolModel prior) policy = entropy fairBoolLaw", "statement_sha256": "30da0fb4cc5bcb08b09a127c924cbd9d72f7b7039960fe95d7e15b136dad521f" }, @@ -12895,7 +12895,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_fullSupport", "source_line": 779, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_fullSupport (prior : FiniteLaw Bool) :\n FullSupport (symmetricBoolModel prior)", "statement_sha256": "46b7c7d95fe01b3c91a77e696925df1f83e267a2c88badaf41b6c3a9b749db58" }, @@ -12999,7 +12999,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_policyPosterior_eq_prior", "source_line": 819, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_policyPosterior_eq_prior\n (precision : ℝ) (prior : FiniteLaw Bool) (policy : Bool) :\n policyPosterior precision (symmetricBoolModel prior)\n (symmetricBoolModel_fullSupport prior) policy = prior policy", "statement_sha256": "34b6cf08aa8300c1fd14cc51bd51c3acd7382842d67b18ff8c7e4eaa72d3fbce" }, @@ -13083,7 +13083,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_policyPrior_changes_posterior", "source_line": 834, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_policyPrior_changes_posterior (precision : ℝ) :\n policyPosterior precision (symmetricBoolModel trueBiasedPolicyPrior)\n (symmetricBoolModel_fullSupport trueBiasedPolicyPrior) true = 3 / 4 ∧\n policyPosterior precision (symmetricBoolModel falseBiasedPolicyPrior)\n (symmetricBoolModel_fullSupport falseBiasedPolicyPrior) true = 1 / 4", "statement_sha256": "d1c5049667e8a44f6547226360118b34f4ce4e29ae4da12145d92efcca0e49ea" }, @@ -13164,7 +13164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_predictedOutcome", "source_line": 765, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_predictedOutcome\n (prior : FiniteLaw Bool) (policy : Bool) :\n predictedOutcome (symmetricBoolModel prior) policy = fairBoolLaw", "statement_sha256": "a8f0e6949ca30983c3e96c7107b961ed546e6bab4e433e96c62004bee5807fb0" }, @@ -13245,7 +13245,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_predictedState", "source_line": 755, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_predictedState\n (prior : FiniteLaw Bool) (policy : Bool) :\n predictedState (symmetricBoolModel prior) policy = fairBoolLaw", "statement_sha256": "1748dae6c192aa14262e156ba28cb7183b13a7ae197b9def8c58e31b821f810f" }, @@ -13341,7 +13341,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_risk_zero", "source_line": 792, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_risk_zero\n (prior : FiniteLaw Bool) (policy : Bool) :\n risk (symmetricBoolModel prior) policy = 0", "statement_sha256": "8679fd798468d38ccd65d36da5bbdad36e4f8e038f60237d6c935e20c71cdb0e" }, @@ -13461,7 +13461,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.variationalFreeEnergy_eq_surprisal_iff", "source_line": 241, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem variationalFreeEnergy_eq_surprisal_iff\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State) :\n variationalFreeEnergy model policy outcome h recognition =\n outcomeSurprisal model policy outcome ↔\n recognition = posteriorState model policy outcome h", "statement_sha256": "08293d4ecd6acc572f85e3db4b006fd7f75a6d289cf511de0a324ce7b4bc1e3a" }, @@ -13571,7 +13571,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.variationalFreeEnergy_posterior", "source_line": 231, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem variationalFreeEnergy_posterior\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome) :\n variationalFreeEnergy model policy outcome h\n (posteriorState model policy outcome h) =\n outcomeSurprisal model policy outcome", "statement_sha256": "3b67fe8648f00a347ac9f09e169eca7b917ed45acdad713cefd3aaf8f048641a" }, @@ -13644,7 +13644,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.gaussianLogBayesFactor_eq", "source_line": 212, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem gaussianLogBayesFactor_eq (family : FixedVarianceGaussian)\n (natural x : ℝ) :\n Real.log\n (gaussianPDFReal (family.naturalToMean natural) family.variance x /\n gaussianPDFReal 0 family.variance x) =\n natural * x - family.naturalLogPartition natural", "statement_sha256": "e262723832afaf4c20df51806dad1f874a3df85355bd09bc7e116afe25efb17b" }, @@ -13716,7 +13716,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.gibbsFreeEnergy_eq_neg_dvObjective", "source_line": 178, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem gibbsFreeEnergy_eq_neg_dvObjective (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand = -dvObjective c cand", "statement_sha256": "620dfe9992d0095fe9c99020e9a13fd54ca90c969a97f7f015234e70f0c2ad39" }, @@ -13818,7 +13818,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.maskedEvidence_le_predictive", "source_line": 67, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem maskedEvidence_le_predictive (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1) :\n maskedEvidence prior weight kernel data ≤ kernel.predictive prior data", "statement_sha256": "4d3c445aacc2f1e966836bb61877600832b645f0c2f4590d53d4e89c485c4737" }, @@ -13930,7 +13930,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.maskedPrior_predictive_eq", "source_line": 89, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem maskedPrior_predictive_eq (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x) :\n kernel.predictive (maskedPrior prior weight hw hZ) data =\n maskedEvidence prior weight kernel data / ∑ y, weight y * prior y", "statement_sha256": "b22075909f86ff5c7d1cb257b283afae0dc3a7e373dd018cfcd09c13aaa72918" }, @@ -14089,7 +14089,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduced_posterior_reconstructs", "source_line": 140, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduced_posterior_reconstructs (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hP : 0 < kernel.predictive prior data)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x =\n FiniteKernel.posterior prior kernel data hP x * weight x *\n (kernel.predictive prior data /\n maskedEvidence prior weight kernel data)", "statement_sha256": "4cb43a3ed135ef58889835243675298037eefa732f5141dd091af488d79b97d8" }, @@ -14184,7 +14184,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_free_energy_change_eq_kl", "source_line": 186, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_free_energy_change_eq_kl (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand - gibbsFreeEnergy c c.optimizer =\n finiteKL cand c.optimizer", "statement_sha256": "dbf178c5a70b26968432dc0aca53f84ba69f82e6c97f8ed6ffc0108032033df3" }, @@ -14303,7 +14303,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_free_energy_monotone", "source_line": 164, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_free_energy_monotone (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1)\n (hE : 0 < maskedEvidence prior weight kernel data) :\n evidenceFreeEnergy (kernel.predictive prior data) ≤\n evidenceFreeEnergy (maskedEvidence prior weight kernel data)", "statement_sha256": "9449585ba8a3dab52fdd5d73cb69be9bd4b42f27f744626d393589b6a5e0a0f0" }, @@ -14390,7 +14390,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_free_energy_monotone_gibbs", "source_line": 198, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_free_energy_monotone_gibbs\n (c : GibbsCertificate Parameter) (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c c.optimizer ≤ gibbsFreeEnergy c cand", "statement_sha256": "3a66c7457f3ecdf5dc31221beac2274b53a9945bcbc62061ad9ac40f280a05ba" }, @@ -14530,7 +14530,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_posterior_odds", "source_line": 123, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_posterior_odds (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x y : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n (weight y * prior y * kernel y data) =\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy y *\n (weight x * prior x * kernel x data)", "statement_sha256": "044c2dee9f7ebb7a8ea4699432939611ceaa710fd9dc991c38915028643d7f2d" }, @@ -14669,7 +14669,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_posterior_reconstruction", "source_line": 104, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_posterior_reconstruction (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n maskedEvidence prior weight kernel data =\n weight x * prior x * kernel x data", "statement_sha256": "e87d59227f4a776876bb983d07ff93f00b7cfad750d3d9ebf4167b0f82af5bcb" }, @@ -14728,7 +14728,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolFactorizedMixture_eq_correlatedBlanket", "source_line": 351, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolFactorizedMixture_eq_correlatedBlanket :\n mixLaw (1 / 2 : ℝ) (by norm_num) (by norm_num)\n ((FiniteLaw.pointMass false).product (FiniteLaw.pointMass false))\n ((FiniteLaw.pointMass true).product (FiniteLaw.pointMass true)) =\n correlatedBoolBlanket", "statement_sha256": "ab5262880b82cd85c8dcee60f9f5b89fd93b5dfb72673aae5e00d5b97e12cd8b" }, @@ -14800,7 +14800,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolFactorizedMixture_not_factorized", "source_line": 365, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolFactorizedMixture_not_factorized :\n let mixture :=\n mixLaw (1 / 2 : ℝ) (by norm_num) (by norm_num)\n ((FiniteLaw.pointMass false).product (FiniteLaw.pointMass false))\n ((FiniteLaw.pointMass true).product (FiniteLaw.pointMass true))\n mixture ≠ mixture.fstMarginal.product mixture.sndMarginal", "statement_sha256": "cad36254a4409dd556c097576996fbf0c6aa724ea1485591961333c229b62842" }, @@ -14859,7 +14859,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolHalfMixture_false", "source_line": 215, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolHalfMixture_false : boolHalfMixture false = 1 / 2", "statement_sha256": "c6e1cd4da2200d27ffa60a46ad2e00c3d61d24f491cc02aaeb0a5adfed31a5e0" }, @@ -14918,7 +14918,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolHalfMixture_true", "source_line": 218, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolHalfMixture_true : boolHalfMixture true = 1 / 2", "statement_sha256": "76e5b380bcc4ae4635d46ee5285d4f09f5b769aa88d3dab67e1069138ebab0a2" }, @@ -15023,7 +15023,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolIntervention_false_mediator_true_zero", "source_line": 567, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolIntervention_false_mediator_true_zero :\n mediatorMarginal (interventionalJoint boolOrderedModel false) true = 0", "statement_sha256": "c9b5b7546589e0d8b0c55bf382bf9dffbc45f5e5749478796370ea71c7ed0c8b" }, @@ -15135,7 +15135,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolIntervention_preserves_named_nonDescendant", "source_line": 584, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolIntervention_preserves_named_nonDescendant :\n nonDescendantMarginal (interventionalJoint boolOrderedModel false) =\n nonDescendantMarginal (interventionalJoint boolOrderedModel true)", "statement_sha256": "11c899e340aaa04ea21e9fe462ce5761c9f6bf05ad02446b77f100b0505fa570" }, @@ -15240,7 +15240,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolIntervention_true_mediator_true_one", "source_line": 576, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolIntervention_true_mediator_true_one :\n mediatorMarginal (interventionalJoint boolOrderedModel true) true = 1", "statement_sha256": "a812fa8797459b4a643622bd1ab4131d051eec810482fde2d42a19a97add88ac" }, @@ -15345,7 +15345,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolMediatorEvidence_true", "source_line": 678, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolMediatorEvidence_true :\n mediatorEvidence boolOrderedModel true = 1 / 2", "statement_sha256": "d6507a6dbae71edb68714d0d89c814299430cb221f7618171aa291fc656e616d" }, @@ -15442,7 +15442,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.conditionalMutualInformation_eq_zero_iff_factorizes", "source_line": 59, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem conditionalMutualInformation_eq_zero_iff_factorizes\n (model : ConditionalBlanketModel Blanket Internal External)\n (hBlanket : ∀ blanket, 0 < model.blanketLaw blanket) :\n conditionalMutualInformation model = 0 ↔ Factorizes model", "statement_sha256": "8154beb17f5675bf19399cb25930a8e691596befe4ac42e76dcb440d77d79fc6" }, @@ -15521,7 +15521,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.conditionalMutualInformation_nonneg", "source_line": 49, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem conditionalMutualInformation_nonneg\n (model : ConditionalBlanketModel Blanket Internal External) :\n 0 ≤ conditionalMutualInformation model", "statement_sha256": "9c849edda6566af49e8fd56730ee83b538d1e951c0322003643b51c54dc75365" }, @@ -15580,7 +15580,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_cross_zero", "source_line": 322, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_cross_zero :\n correlatedBoolBlanket (false, true) = 0 ∧\n correlatedBoolBlanket (true, false) = 0", "statement_sha256": "b0388a713b308ce85051952bad373b282310eb475d666382844223627f9dcc69" }, @@ -15639,7 +15639,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_diagonal", "source_line": 317, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_diagonal :\n correlatedBoolBlanket (false, false) = 1 / 2 ∧\n correlatedBoolBlanket (true, true) = 1 / 2", "statement_sha256": "f2ce67d2e5faedf27594ebb74e58936fc8267e94dd04db4daa0306481d397fdd" }, @@ -15721,7 +15721,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_mutualInformation_pos", "source_line": 340, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_mutualInformation_pos :\n 0 < mutualInformation correlatedBoolBlanket", "statement_sha256": "1a3f536af4c86b72ac0b152b772d037e15f8f99bbf80fc4bb6485f093574ec04" }, @@ -15780,7 +15780,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_not_factorized", "source_line": 329, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_not_factorized :\n correlatedBoolBlanket ≠\n correlatedBoolBlanket.fstMarginal.product\n correlatedBoolBlanket.sndMarginal", "statement_sha256": "124530b668778cc818da687062a7d47b079d7897c426e4b4a1230ddfd4c3e1a1" }, @@ -15972,7 +15972,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.coupledBlanket_conditionalMutualInformation_zero", "source_line": 290, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem coupledBlanket_conditionalMutualInformation_zero\n {Blanket₁ Blanket₂ Internal₁ Internal₂ External₁ External₂ : Type*}\n [Fintype Blanket₁] [Fintype Blanket₂]\n [Fintype Internal₁] [Fintype Internal₂]\n [Fintype External₁] [Fintype External₂]\n (blanketLaw : FiniteLaw (Blanket₁ × Blanket₂))\n (internal₁ : FiniteKernel Blanket₁ Internal₁)\n (internal₂ : FiniteKernel Blanket₂ Internal₂)\n (external₁ : FiniteKernel Blanket₁ External₁)\n (external₂ : FiniteKernel Blanket₂ External₂) (blanket : Blanket₁ × Blanket₂) :\n mutualInformation\n (conditionalJoint\n (coupledBlanketModel blanketLaw internal₁ internal₂ external₁ external₂)\n blanket) = 0", "statement_sha256": "c550b41851f3ecc2a72f61658d4175636d02f560c63bc2fcb7b37b4c5498cdb2" }, @@ -16087,7 +16087,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionKernel_chosen", "source_line": 390, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionKernel_chosen\n {Context Value : Type*} [Fintype Context] [Fintype Value]\n [DecidableEq Value] (chosen : Value) (context : Context) :\n interventionKernel (Context := Context) chosen context chosen = 1", "statement_sha256": "4b26b0c691915013c0e0e5c3e16e52922b257283dfb9b88612f752a31e79ac25" }, @@ -16213,7 +16213,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionKernel_other", "source_line": 396, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionKernel_other\n {Context Value : Type*} [Fintype Context] [Fintype Value]\n [DecidableEq Value] (chosen other : Value) (hOther : other ≠ chosen)\n (context : Context) :\n interventionKernel (Context := Context) chosen context other = 0", "statement_sha256": "611a3f1dff85a5f56a9daf166cedff3f42ac9e1c6fa9f93639d1fec0e0e86050" }, @@ -16328,7 +16328,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionKernel_sum_one", "source_line": 384, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionKernel_sum_one\n {Context Value : Type*} [Fintype Context] [Fintype Value]\n [DecidableEq Value] (chosen : Value) (context : Context) :\n ∑ value, interventionKernel (Context := Context) chosen context value = 1", "statement_sha256": "c47341c06bd92f9fb44041516377a01bd4b5fae17cacb1dc1d488360441c2fcd" }, @@ -16472,7 +16472,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionalMediatorMarginal_mass", "source_line": 519, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionalMediatorMarginal_mass [DecidableEq Root]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (mediator : Mediator) :\n mediatorMarginal (interventionalJoint model root) mediator =\n model.mediatorGivenRoot root mediator", "statement_sha256": "82791452cc5bfba47c7d64662e07bd3b8ce09fbb8bcdd8316f5097b5065ebdc1" }, @@ -16624,7 +16624,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionalMediator_eq_of_mediatorKernel_eq", "source_line": 544, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionalMediator_eq_of_mediatorKernel_eq [DecidableEq Root]\n (left right : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (hMediator : left.mediatorGivenRoot = right.mediatorGivenRoot)\n (root : Root) :\n mediatorMarginal (interventionalJoint left root) =\n mediatorMarginal (interventionalJoint right root)", "statement_sha256": "507491def9784de8a46aab285a86d712ddfeea96bdf7895cf4a21d285371f3aa" }, @@ -16797,7 +16797,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkovConditional_reconstruction", "source_line": 635, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkovConditional_reconstruction\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator)\n (root : Root) (outcome : Outcome) :\n localMarkovConditional model nonDescendant mediator hEvidence (root, outcome) *\n (model.nonDescendantLaw nonDescendant * mediatorEvidence model mediator) =\n orderedJoint model (((root, nonDescendant), mediator), outcome)", "statement_sha256": "2b36639328f49da19b38679b61d1c38e750613e0426cbf7b8dbeebf50e929b13" }, @@ -16943,7 +16943,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkov_factorization_from_ordered", "source_line": 612, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkov_factorization_from_ordered\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n localMarkovConditional model nonDescendant mediator hEvidence =\n (model.mediatorGivenRoot.posterior model.rootLaw mediator hEvidence).product\n (model.outcomeGivenParents.row (nonDescendant, mediator))", "statement_sha256": "1bb86bcffe8133043a3833a365954ce6172eb41a69929d2971d600d89eba8dd7" }, @@ -17098,7 +17098,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkov_mutualInformation_zero", "source_line": 622, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkov_mutualInformation_zero\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n mutualInformation\n (localMarkovConditional model nonDescendant mediator hEvidence) = 0", "statement_sha256": "658718460a0cf9de3153aa36847da14fa3671f29568bc7937b36eaae44acb1ae" }, @@ -17234,7 +17234,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkov_zeroEvidence_boundary", "source_line": 669, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkov_zeroEvidence_boundary\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (mediator : Mediator) (hZero : mediatorEvidence model mediator = 0) :\n ¬0 < mediatorEvidence model mediator", "statement_sha256": "48423a5b0427008fbe775660051bf2ad2970bb57ca5a4e0a1506dc8449b4dc52" }, @@ -17410,7 +17410,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.mixture_factorizes_of_shared_right", "source_line": 193, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem mixture_factorizes_of_shared_right\n {Left Right : Type*} [Fintype Left] [Fintype Right]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (left right : FiniteLaw (Left × Right))\n (leftInternal rightInternal : FiniteLaw Left)\n (shared : FiniteLaw Right)\n (hLeft : left = leftInternal.product shared)\n (hRight : right = rightInternal.product shared) :\n let mixture := mixLaw weight hWeightNonneg hWeightLeOne left right\n mixture = mixture.fstMarginal.product mixture.sndMarginal", "statement_sha256": "893984c3e7cc8ca0a6cda216e2776fc2af77fc7fec070c79609cfee0ae4005e1" }, @@ -17548,7 +17548,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.mixture_product_shared_left", "source_line": 173, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem mixture_product_shared_left\n {Left Right : Type*} [Fintype Left] [Fintype Right]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (shared : FiniteLaw Left) (left right : FiniteLaw Right) :\n mixLaw weight hWeightNonneg hWeightLeOne\n (shared.product left) (shared.product right) =\n shared.product (mixLaw weight hWeightNonneg hWeightLeOne left right)", "statement_sha256": "5b566cb9e1df30163003eaa4a346d1dc1722bf68134eb6e419fd8b67e31506e6" }, @@ -17686,7 +17686,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.mixture_product_shared_right", "source_line": 155, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem mixture_product_shared_right\n {Left Right : Type*} [Fintype Left] [Fintype Right]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (left right : FiniteLaw Left) (shared : FiniteLaw Right) :\n mixLaw weight hWeightNonneg hWeightLeOne\n (left.product shared) (right.product shared) =\n (mixLaw weight hWeightNonneg hWeightLeOne left right).product shared", "statement_sha256": "f0b2058e28ccbbace295637fae53bd5bad29665515fbb6fc18403e43bb6d0f45" }, @@ -17820,7 +17820,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.nonDescendant_intervention_invariant", "source_line": 488, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem nonDescendant_intervention_invariant [DecidableEq Root]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) :\n nonDescendantMarginal (interventionalJoint model root) =\n model.nonDescendantLaw", "statement_sha256": "66b144cfdfad977986cdc64df08eba8a47a0e5f33cea7fee577164ae0cf2c565" }, @@ -17926,7 +17926,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.ofStaticModel_conditionalMutualInformation_zero", "source_line": 107, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem ofStaticModel_conditionalMutualInformation_zero\n {Sensory Active : Type*} [Fintype Sensory] [Fintype Active]\n (model : StaticModel Internal Sensory Active External) :\n conditionalMutualInformation (ofStaticModel model) = 0", "statement_sha256": "f80e3cf0dc944d4593085b3ccf52afca6c61dff78d3111e9ff613f4a0b9fa076" }, @@ -18023,7 +18023,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.ofStaticModel_factorizes", "source_line": 91, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem ofStaticModel_factorizes\n {Sensory Active : Type*} [Fintype Sensory] [Fintype Active]\n (model : StaticModel Internal Sensory Active External) :\n Factorizes (ofStaticModel model)", "statement_sha256": "25bb9e96692568111ede4596b6cfb7cfd2425996817c99a204bc896784132ca1" }, @@ -18179,7 +18179,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.orderedJoint_factorization", "source_line": 456, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem orderedJoint_factorization\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nonDescendant : NonDescendant)\n (mediator : Mediator) (outcome : Outcome) :\n orderedJoint model (((root, nonDescendant), mediator), outcome) =\n ((model.rootLaw root * model.nonDescendantLaw nonDescendant) *\n model.mediatorGivenRoot root mediator) *\n model.outcomeGivenParents (nonDescendant, mediator) outcome", "statement_sha256": "06a29da92031b43b4833ac89acabcf710ea0bd71df3b54c2342b91134ce28021" }, @@ -18295,7 +18295,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.orderedJoint_sum_one", "source_line": 465, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem orderedJoint_sum_one\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome) :\n ∑ state, orderedJoint model state = 1", "statement_sha256": "8f76bb63a75d207c5401a76bfcfd584a07538e644f0d68884a53f4cb1616f84b" }, @@ -18440,7 +18440,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.pairedKernel_predictive_product", "source_line": 243, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem pairedKernel_predictive_product\n {Input₁ Input₂ Output₁ Output₂ : Type*}\n [Fintype Input₁] [Fintype Input₂]\n [Fintype Output₁] [Fintype Output₂]\n (leftLaw : FiniteLaw Input₁) (rightLaw : FiniteLaw Input₂)\n (leftKernel : FiniteKernel Input₁ Output₁)\n (rightKernel : FiniteKernel Input₂ Output₂) :\n (pairedKernel leftKernel rightKernel).predictive\n (leftLaw.product rightLaw) =\n (leftKernel.predictive leftLaw).product\n (rightKernel.predictive rightLaw)", "statement_sha256": "0a1fd7584a3ab44c8348f39cb239b9dc257e912e682f380e8e8e0df2cfdf57cb" }, @@ -18578,7 +18578,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.sharedConditional_mixture_preserves_joint", "source_line": 135, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "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" }, @@ -18658,7 +18658,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_nonneg", "source_line": 756, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem asymMatrix3_nonneg (i j : Fin 3) : 0 ≤ asymMatrix3 i j", "statement_sha256": "5e0197009f318e76cb0beffdb3c0563e042fa4313bceba311ad3e551ec159b43" }, @@ -18737,7 +18737,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_row", "source_line": 759, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem asymMatrix3_row (i : Fin 3) : ∑ j, asymMatrix3 i j = 1", "statement_sha256": "526e3ba54cda036fa921fac98d26067e33ead655f3df426d1deb57a429927c2c" }, @@ -18805,7 +18805,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_scrambling", "source_line": 762, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem asymMatrix3_scrambling : (3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3", "statement_sha256": "510a7fe91bfd4a891cf10966688d2bf4d58a8d781e1382f8ca02545b8c2f9c5d" }, @@ -18910,7 +18910,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_strict_contraction", "source_line": 771, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -18978,7 +18978,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness", "source_line": 351, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -19116,7 +19116,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.collectiveVFE_additive", "source_line": 152, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -19241,7 +19241,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", "source_line": 313, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -19349,7 +19349,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMass_conserved", "source_line": 268, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -19429,7 +19429,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMatrix2_nonneg", "source_line": 713, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem consensusMatrix2_nonneg (i j : Fin 2) : 0 ≤ consensusMatrix2 i j", "statement_sha256": "9c2d1870da79f0d8f5ce644e8d02f43d18aa9b517ec563f1fbd420f92d2142a3" }, @@ -19508,7 +19508,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMatrix2_row", "source_line": 716, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem consensusMatrix2_row (i : Fin 2) : ∑ j, consensusMatrix2 i j = 1", "statement_sha256": "8561d451e85f991ed7ea0256ff3bcbbb92c7bcae7709942f77079538f77577ca" }, @@ -19576,7 +19576,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMatrix2_scrambling", "source_line": 720, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem consensusMatrix2_scrambling : (1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2", "statement_sha256": "09e59d2a58df422fc3de6854e267e8da2910ab9f8122e6cff44feeae6e2bc1b7" }, @@ -19684,7 +19684,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", "source_line": 284, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -19799,7 +19799,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensus_gap_tendsto_zero", "source_line": 328, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -19938,7 +19938,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensus_spread_le_half", "source_line": 742, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "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" }, @@ -20046,7 +20046,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", "source_line": 377, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -20171,7 +20171,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.coupledPotential_strict_descent", "source_line": 392, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -20318,7 +20318,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.crossEntropy_linearPool_left", "source_line": 424, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -20425,7 +20425,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.crossEntropy_self_eq_entropy", "source_line": 442, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem crossEntropy_self_eq_entropy (p : FiniteLaw α) :\n crossEntropy p p = entropy p", "statement_sha256": "f690f9bc5b7bae125cd5d149a7259a23f9f7c07c521a6b3aed1c931790a57753" }, @@ -20506,7 +20506,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.identityMixing2_no_contraction", "source_line": 799, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -20586,7 +20586,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.identityMixing2_nonneg", "source_line": 791, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem identityMixing2_nonneg (i j : Fin 2) : 0 ≤ identityMixing2 i j", "statement_sha256": "abd0ea990013ca61a436c35b6e26b1c214719001fa35f6889ae1d8ebd9c168f3" }, @@ -20665,7 +20665,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.identityMixing2_row", "source_line": 794, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem identityMixing2_row (i : Fin 2) : ∑ j, identityMixing2 i j = 1", "statement_sha256": "e045cd205bdd67deaa713a27779709450631d0034548f54c71963115beabea3f" }, @@ -20803,7 +20803,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.independentEFE_additive", "source_line": 188, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -20991,7 +20991,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", "source_line": 448, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -21173,7 +21173,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.linearPool_kl_minimal", "source_line": 473, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -21373,7 +21373,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.linearPool_kl_unique_minimiser", "source_line": 485, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -21499,7 +21499,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", "source_line": 510, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem logPoolNormalizer_pos (w : ι → ℝ) (p : ι → FiniteLaw α) :\n 0 < logPoolNormalizer w p", "statement_sha256": "911eb89bdb09df86db5aa894c684aa52f6657f3c621bd00bc49425a8e84897f5" }, @@ -21676,7 +21676,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", "source_line": 536, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -21855,7 +21855,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_kl_minimal", "source_line": 573, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22052,7 +22052,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_kl_unique_minimiser", "source_line": 582, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22195,7 +22195,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_pos", "source_line": 522, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem logPool_pos (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) :\n 0 < logPool w p x", "statement_sha256": "4e5426c36fdc34f68adeed1584eb78816654493fd98a0e450f1c95e5865a9b44" }, @@ -22338,7 +22338,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.log_logPool", "source_line": 526, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22446,7 +22446,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.mixStep_consensusMatrix2", "source_line": 729, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22583,7 +22583,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.mixStep_diff_le", "source_line": 633, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22732,7 +22732,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.productAgent_joint_mass", "source_line": 54, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22841,7 +22841,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", "source_line": 81, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22940,7 +22940,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.productKernel_sum_one", "source_line": 45, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23057,7 +23057,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", "source_line": 625, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem sub_le_valueSpread (x : ι → ℝ) (i j : ι) : x i - x j ≤ valueSpread x", "statement_sha256": "66b7390fdd7e50866c9a213c55fc142404135c2100fc42a453a48c0d4a71aa71" }, @@ -23165,7 +23165,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one", "source_line": 231, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23304,7 +23304,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", "source_line": 675, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23457,7 +23457,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_lt", "source_line": 698, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23563,7 +23563,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", "source_line": 618, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem valueSpread_nonneg (x : ι → ℝ) : 0 ≤ valueSpread x", "statement_sha256": "e139878bf783a3069fba9fd24cf64bc7c27c895787d95b09975d9f8b9dfe2c36" }, @@ -23695,7 +23695,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup", "source_line": 275, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -23847,7 +23847,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition", "source_line": 231, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -23943,7 +23943,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add", "source_line": 127, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -24008,7 +24008,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", "source_line": 119, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem kernel_zero (semigroup : FiniteMarkovSemigroup State) :\n semigroup.kernel 0 le_rfl = FiniteKernel.identity", "statement_sha256": "a13736d6b1cd4a086e6616e4bbb7f026d40448150f99d74fab5bd30d9dbb4529" }, @@ -24127,7 +24127,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction", "source_line": 138, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -24249,7 +24249,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant", "source_line": 159, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -24567,7 +24567,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.transition_eq_of_generator_eq", "source_line": 2007, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem transition_eq_of_generator_eq {A B : FiniteMarkovSemigroup S}\n (hGen : A.generator = B.generator) (t : ℝ) (i j : S) :\n A.transition t i j = B.transition t i j", "statement_sha256": "adb0cf8bd905ccb7738b611112e46e04a5818ed9de1d61e49b9625ce64c55aea" }, @@ -24872,7 +24872,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.exp_eq_exp_uniformShift_mul", "source_line": 1923, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_eq_exp_uniformShift_mul (g : FiniteRateGenerator S) (t : ℝ) :\n NormedSpace.exp (t • g.matrix) =\n NormedSpace.exp (t • g.uniformShift) *\n (Real.exp (-(g.uniformRate * t)) • (1 : Matrix S S ℝ))", "statement_sha256": "080c35262175752fadd218c867407fa95dc43830be7547cf0520014bad0e3f93" }, @@ -25193,7 +25193,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.exp_nonneg", "source_line": 1939, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_nonneg (g : FiniteRateGenerator S) {t : ℝ} (ht : 0 ≤ t) :\n MatrixNonneg (NormedSpace.exp (t • g.matrix))", "statement_sha256": "8ee4b4c6026c7c96117fef74d65e0bd4a960b0aae6363a0f26a092bf591babc8" }, @@ -25508,7 +25508,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.exp_rowSum", "source_line": 1950, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_rowSum (g : FiniteRateGenerator S) (t : ℝ) (i : S) :\n ∑ j, NormedSpace.exp (t • g.matrix) i j = 1", "statement_sha256": "847e70dccb1c6661edf8473d702020e872306c6967a36991f2ae7f8e4b0b8bbd" }, @@ -25815,7 +25815,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.hasDerivAt_exp_entry_left", "source_line": 1966, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem hasDerivAt_exp_entry_left (M : Matrix S S ℝ) (t : ℝ) (i j : S) :\n HasDerivAt (fun u : ℝ => NormedSpace.exp (u • M) i j)\n (∑ k, M i k * NormedSpace.exp (t • M) k j) t", "statement_sha256": "054948f0ad1df7526c407dc1ac59af308db27268e022ad7fa48746f931ce2e9a" }, @@ -26122,7 +26122,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.hasDerivAt_exp_entry_right", "source_line": 1955, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem hasDerivAt_exp_entry_right (M : Matrix S S ℝ) (t : ℝ) (i j : S) :\n HasDerivAt (fun u : ℝ => NormedSpace.exp (u • M) i j)\n (∑ k, NormedSpace.exp (t • M) i k * M k j) t", "statement_sha256": "42ef004c7e38db6a451fdcf2ebb5a510e63703cb0df89e4e411ff76c48ad7dd1" }, @@ -26408,7 +26408,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.matrix_eq_uniformRate_smul", "source_line": 1915, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrix_eq_uniformRate_smul (g : FiniteRateGenerator S) :\n g.matrix = g.uniformRate • (g.uniformKernelMatrix - 1)", "statement_sha256": "afd16e7e3e68ed1671f0e895f4145aad6de118fc22e4a543c7cd1fdb22dfd86e" }, @@ -26704,7 +26704,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.neg_diag_le_uniformRate", "source_line": 1856, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem neg_diag_le_uniformRate (g : FiniteRateGenerator S) (i : S) :\n -g i i ≤ g.uniformRate", "statement_sha256": "67c1d5dbe0d6a8f4159b94bc6249805c547bf494f9334e2d97fcbfac93ace819" }, @@ -26792,7 +26792,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced", "source_line": 72, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -27088,7 +27088,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.rate_diag_nonpos", "source_line": 1843, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rate_diag_nonpos (g : FiniteRateGenerator S) (i : S) : g i i ≤ 0", "statement_sha256": "7008076d5f64861d4ab97abaf90d4c4c015bb6a0537a3d384bb98239191c0fa4" }, @@ -27395,7 +27395,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.semigroup_transition_eq_exponentialCandidate", "source_line": 1995, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem semigroup_transition_eq_exponentialCandidate (g : FiniteRateGenerator S)\n (t : ℝ) (i j : S) :\n g.semigroup.transition t i j = g.exponentialCandidate t i j", "statement_sha256": "c833869a253f842ed4d317be045014f70fb31c5ea3dd892ba7d4abd66f1a190e" }, @@ -27681,7 +27681,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformKernelMatrix_nonneg", "source_line": 1894, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformKernelMatrix_nonneg (g : FiniteRateGenerator S) :\n MatrixNonneg g.uniformKernelMatrix", "statement_sha256": "7e75f498b32576d0a2344b377a9d43b36e8d80044299ad60f59fe5ace9a5b1dd" }, @@ -27977,7 +27977,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformKernelMatrix_rowSum", "source_line": 1906, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformKernelMatrix_rowSum (g : FiniteRateGenerator S) (i : S) :\n ∑ j, g.uniformKernelMatrix i j = 1", "statement_sha256": "be787412c1bb314c610cb1e35bf4176d55e2b990e0a66a494c5805dbf30d1664" }, @@ -28263,7 +28263,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformRate_pos", "source_line": 1864, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformRate_pos (g : FiniteRateGenerator S) : 0 < g.uniformRate", "statement_sha256": "db35706934aa1033331f0744f30fee8a5bcd83d37a6e8530fbdfabdef01e2975" }, @@ -28549,7 +28549,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformShift_nonneg", "source_line": 1874, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformShift_nonneg (g : FiniteRateGenerator S) :\n MatrixNonneg g.uniformShift", "statement_sha256": "5499d7d80ce7a612f1dd9d07110ca34dc16f75a406120cc6ddbf973465a639ba" }, @@ -28787,7 +28787,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary", "source_line": 1743, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem benchmarkInitial_nonstationary :\n benchmarkInitial true ≠ benchmarkRates.stationaryTrue", "statement_sha256": "6edb4a4865786203f9147da68c36f149f500a539cfed1fe6254d06d78019ed2c" }, @@ -29025,7 +29025,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg", "source_line": 1748, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem benchmarkLyapunov_deriv_zero_neg :\n -2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", "statement_sha256": "379a706bdeb1d1e9a858290b0428e86eecd617f5bf8371c6055be409b4539b21" }, @@ -29263,7 +29263,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact", "source_line": 1739, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem benchmarkRates_exact :\n benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", "statement_sha256": "48bfa10290599c465dd64c6998719aeded066c6cfffafb253fbb56dbaa6434db" }, @@ -29512,7 +29512,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced", "source_line": 1672, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem certifiedSemigroup_detailedBalanced (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", "statement_sha256": "c69b598b5c04217332cf1bf4f07a1b7240ec1a7167eeec0bb85de67c5e43a89d" }, @@ -29781,7 +29781,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel", "source_line": 1652, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -30030,7 +30030,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary", "source_line": 1659, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem certifiedSemigroup_stationary (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsStationary rates.stationaryLaw", "statement_sha256": "a005724180ba826f4fe0860649ba2caa4ad7258186d4d038a574518ac0d76e55" }, @@ -30279,7 +30279,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos", "source_line": 1368, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem decayRate_pos (rates : TwoStateRates) : 0 < rates.decayRate", "statement_sha256": "86526d6bd8dd0f315b3524a9618f3b93437c8f7a30f1b273470c151f8cf4b9fe" }, @@ -30559,7 +30559,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.exponentialCandidate_eq_transition", "source_line": 2077, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exponentialCandidate_eq_transition (rates : TwoStateRates)\n (time : ℝ) (source target : Bool) :\n rates.rateGenerator.exponentialCandidate time source target =\n rates.transition time source target", "statement_sha256": "dbcd3c5c8882e38556a78fe310e130345db558c44b7548f9a35c464d0035b9e8" }, @@ -30829,7 +30829,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition", "source_line": 1558, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -31098,7 +31098,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact", "source_line": 1706, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -31367,7 +31367,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt", "source_line": 1714, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -31636,7 +31636,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact", "source_line": 1685, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -31896,7 +31896,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add", "source_line": 1427, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -32155,7 +32155,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt", "source_line": 1513, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -32424,7 +32424,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one", "source_line": 1417, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rho_le_one (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time) :\n rates.rho time ≤ 1", "statement_sha256": "dd6e5935e9503d37c529d2dcfc0cdd12c694517c759c2c5526f846cd95bc3b06" }, @@ -32683,7 +32683,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos", "source_line": 1414, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rho_pos (rates : TwoStateRates) (time : ℝ) : 0 < rates.rho time", "statement_sha256": "e5f6cd42b07398ea67800ad81f0ae399452c7fd665a7f72c32bfbb7e39493521" }, @@ -32932,7 +32932,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero", "source_line": 1424, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rho_zero (rates : TwoStateRates) : rates.rho 0 = 1", "statement_sha256": "fbeee211efd611dee89d1f646cb96f45b9988671b651582ac691c518b57a5ee1" }, @@ -33181,7 +33181,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate", "source_line": 1396, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryFalse_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryFalse * rates.decayRate = rates.backward", "statement_sha256": "a04b2f39b752f608835b86f11e7cad46f2143089bf1bb8361a2b878915adb338" }, @@ -33430,7 +33430,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos", "source_line": 1377, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryFalse_pos (rates : TwoStateRates) :\n 0 < rates.stationaryFalse", "statement_sha256": "64d3b283272edfca45f72342fd19c3ef2bface483f4ef6b0798078f2d39c2b45" }, @@ -33679,7 +33679,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate", "source_line": 1391, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryTrue_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryTrue * rates.decayRate = rates.forward", "statement_sha256": "6874f27edadb61de648647d5586caed64736bca58c82900f3286986297a4cc8b" }, @@ -33928,7 +33928,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos", "source_line": 1381, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryTrue_pos (rates : TwoStateRates) :\n 0 < rates.stationaryTrue", "statement_sha256": "9c32db44caf1eda456b54b9ea03da912b58cfa5e907e8b726cf539f9c5ffea83" }, @@ -34177,7 +34177,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one", "source_line": 1385, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationary_sum_one (rates : TwoStateRates) :\n rates.stationaryFalse + rates.stationaryTrue = 1", "statement_sha256": "0b0dca5d0c9c9a6aec202781397067ae842eb93ca24e80d458ed1dcee14d3b32" }, @@ -34448,7 +34448,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add", "source_line": 1483, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -34718,7 +34718,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance", "source_line": 1616, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -34988,7 +34988,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt", "source_line": 1521, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -35258,7 +35258,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation", "source_line": 1587, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -35528,7 +35528,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator", "source_line": 1572, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -35808,7 +35808,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg", "source_line": 1457, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -36077,7 +36077,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum", "source_line": 1442, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -36346,7 +36346,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary", "source_line": 1603, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -36606,7 +36606,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero", "source_line": 1477, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -36885,7 +36885,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.uniformised_kernel_eq", "source_line": 2084, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformised_kernel_eq (rates : TwoStateRates) (time : ℝ)\n (hTime : 0 ≤ time) :\n rates.rateGenerator.semigroup.kernel time hTime = rates.kernel time hTime", "statement_sha256": "13922334d42f1dac1c89de457166cded10a2afe683ad841e4e1e19a7117ca98d" }, @@ -37165,7 +37165,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.uniformised_transition_eq", "source_line": 2067, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformised_transition_eq (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n rates.rateGenerator.semigroup.transition time source target =\n rates.transition time source target", "statement_sha256": "c109793839fdba98d8343a36abb713469440a660457cde6d6b20223a8df66c1d" }, @@ -37414,7 +37414,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", "source_line": 925, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -37691,7 +37691,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", "source_line": 916, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -37936,7 +37936,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", "source_line": 1112, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionIndexedSemigroup_false_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", "statement_sha256": "4dbf85e7471957be555df67a78a97e2fdd7d87d429b7b5b4e91d15f5d42144d0" }, @@ -38199,7 +38199,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne", "source_line": 1130, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionIndexedSemigroup_kernels_ne :\n boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", "statement_sha256": "4f0cbc5b25a66f6fd128892dcfe1e86361747bdccaac7fe73a536f81d14220e0" }, @@ -38437,7 +38437,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", "source_line": 1122, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionIndexedSemigroup_true_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", "statement_sha256": "931507902df4e6634c1cf8649baf521fae523af09cfcf70e61c19b64c1dba684" }, @@ -38686,7 +38686,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg", "source_line": 1088, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionSampleTime_nonneg (action : Bool) :\n 0 ≤ boolBlanketActionSampleTime action", "statement_sha256": "7e7a28ee87d4cc90e36682c92e7ac68f70087b31aa740c4c538b148bfdcf8f47" }, @@ -38995,7 +38995,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState", "source_line": 1205, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -39278,7 +39278,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", "source_line": 1187, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -39558,7 +39558,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition", "source_line": 1165, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -39803,7 +39803,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform", "source_line": 1065, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -40048,7 +40048,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant", "source_line": 1327, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketInitial_not_invariant :\n ¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", "statement_sha256": "93c978b39afbd8030708e2546f8cd1b30b39f1b0405a7a1d78a57bfc93018878" }, @@ -40286,7 +40286,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketRefreshTime_pos", "source_line": 1080, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketRefreshTime_pos : 0 < boolBlanketRefreshTime", "statement_sha256": "c15ef94b1f33cd2ca3d7673b794275256f7e9bfa237a1a0b48bc8f9ae4fa6627" }, @@ -40524,7 +40524,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketState_card", "source_line": 947, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketState_card :\n Fintype.card BoolBlanketState = 16", "statement_sha256": "16849fddcbcfdc25ac716796f3ce344894a4495b6d05f213dbbaa0bee5fb158f" }, @@ -40769,7 +40769,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary", "source_line": 1246, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -41024,7 +41024,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", "source_line": 1307, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanket_finiteKL_strict_decrease :\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", "statement_sha256": "7f47bddac2de0dd928d08818ce5452a5f169562d253f6a939f361c8b97be5330" }, @@ -41283,7 +41283,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease", "source_line": 1339, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -41580,7 +41580,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.exp_hasSum_entry", "source_line": 1785, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_hasSum_entry (M : Matrix S S ℝ) (i j : S) :\n HasSum (fun n : ℕ => (((Nat.factorial n : ℕ) : ℝ)⁻¹ • M ^ n) i j)\n ((NormedSpace.exp M) i j)", "statement_sha256": "7650b3184b893747086971da0cf28aa43e38f0d46f64bb77755a09c24eb1c650" }, @@ -41866,7 +41866,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.exp_smul_one", "source_line": 1833, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_smul_one (c : ℝ) :\n NormedSpace.exp (c • (1 : Matrix S S ℝ)) = Real.exp c • (1 : Matrix S S ℝ)", "statement_sha256": "8bf6118c4ac6642ca921b7f529369a72e7f51bfe43784da0f3dc32b9505a8c77" }, @@ -42195,7 +42195,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.exp_smul_rowSum", "source_line": 1812, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_smul_rowSum {M : Matrix S S ℝ} (hM : ∀ i, ∑ j, M i j = 0)\n (s : ℝ) (i : S) : ∑ j, NormedSpace.exp (s • M) i j = 1", "statement_sha256": "181ff019cdf2e877d408ced49ed37d4fe0b0795043360872c89b274252606482" }, @@ -42444,7 +42444,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal", "source_line": 959, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem liftInternalLaw_fstMarginal (internal : FiniteLaw Bool) :\n (liftInternalLaw internal).fstMarginal = internal", "statement_sha256": "ce0f9609e77db5d5a2d22b07ca6d72b0d6deddb6cde341add03fe7f5189d0b61" }, @@ -42703,7 +42703,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform", "source_line": 968, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -43013,7 +43013,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw", "source_line": 1030, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -43290,7 +43290,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", "source_line": 995, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -43619,7 +43619,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_exp_smul", "source_line": 1793, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_exp_smul {M : Matrix S S ℝ} (hM : MatrixNonneg M)\n {s : ℝ} (hs : 0 ≤ s) : MatrixNonneg (NormedSpace.exp (s • M))", "statement_sha256": "39e8f74a36273b8d171764f757df32743306442698bb694a1907795103824bf5" }, @@ -43921,7 +43921,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_mul", "source_line": 1766, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_mul {M N : Matrix S S ℝ} (hM : MatrixNonneg M)\n (hN : MatrixNonneg N) : MatrixNonneg (M * N)", "statement_sha256": "1180590391c01ce8539ffd416a1f3f95dadc1e9ad40ec9e6e42eaf96d9ed89bf" }, @@ -44196,7 +44196,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_one", "source_line": 1773, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_one : MatrixNonneg (1 : Matrix S S ℝ)", "statement_sha256": "cf284c6bf755ccd5de47ea4971a0b010a7cd5e93c38194123144a16dca5e5679" }, @@ -44515,7 +44515,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_pow", "source_line": 1778, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_pow {M : Matrix S S ℝ} (hM : MatrixNonneg M) (n : ℕ) :\n MatrixNonneg (M ^ n)", "statement_sha256": "28b100e1bbb96254fa0c28c9b9a0fbfa33f9560ce0d90ebfbebd319df69c2ba2" }, @@ -44650,7 +44650,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition", "source_line": 560, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -44861,7 +44861,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", "source_line": 764, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -45062,7 +45062,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform", "source_line": 861, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -45216,7 +45216,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", "source_line": 654, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -45329,7 +45329,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", "source_line": 719, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem refreshSemigroup_uniform_stationary :\n refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", "statement_sha256": "fd08a300d83b75b24f3268b2a0b88780c22e4cb4cd0614f7072597e5fe0025fc" }, @@ -45460,7 +45460,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_add", "source_line": 491, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -45595,7 +45595,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt", "source_line": 548, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -45730,7 +45730,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator", "source_line": 598, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -45865,7 +45865,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_nonneg", "source_line": 447, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46000,7 +46000,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", "source_line": 460, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46124,7 +46124,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_sum_one", "source_line": 475, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem refreshTransition_sum_one (time : ℝ) (source : State) :\n ∑ target, refreshTransition time source target = 1", "statement_sha256": "febb83b782fc8823ec37c5487fbdb0a75b2ef23e06a80bffd7584e68fa82beaa" }, @@ -46244,7 +46244,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_zero", "source_line": 485, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46560,7 +46560,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.sum_pow_succ_eq_zero", "source_line": 1803, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem sum_pow_succ_eq_zero {M : Matrix S S ℝ} (hM : ∀ i, ∑ j, M i j = 0)\n (n : ℕ) (i : S) : ∑ j, (M ^ (n + 1)) i j = 0", "statement_sha256": "50971622f9b0e8ec66c6e9faea299ce4d52bc87bb81445fbdd9ec374309fa99b" }, @@ -46585,7 +46585,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", "source_line": 322, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46617,7 +46617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero", "source_line": 328, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46642,7 +46642,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced", "source_line": 315, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem threeCycle_not_detailedBalanced :\n ¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", "statement_sha256": "d68ee5298d04dbc9d2507ce54751c41b74dcbbab3a9455afc74f798a0ade8079" }, @@ -46667,7 +46667,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_stationary", "source_line": 308, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem threeCycle_stationary :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw", "statement_sha256": "7c32dcaaed73f4de9b4f453b9d1c065a53c7b3079d28305723d7885d565ff3e6" }, @@ -46806,7 +46806,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", "source_line": 68, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46935,7 +46935,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_sum_one", "source_line": 81, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47064,7 +47064,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.actionEvidence_zero_boundary", "source_line": 93, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47153,7 +47153,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", "source_line": 211, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPartition_pos (prior : FiniteLaw Action)\n (energy : Action → ℝ) :\n 0 < boltzmannPartition prior energy", "statement_sha256": "dc197afe4714fbcc8ffd33f117a8144a46326cef7402aaed09abbaf267925961" }, @@ -47259,7 +47259,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_eq_zero_iff", "source_line": 246, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPosterior_eq_zero_iff (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n boltzmannPosterior prior energy action = 0 ↔ prior action = 0", "statement_sha256": "3b7a5964d94aa7efed3ba5926997903fec0028a91a9b7c4217623da554a7da84" }, @@ -47365,7 +47365,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_mul_partition", "source_line": 238, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47471,7 +47471,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_pos_iff", "source_line": 256, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPosterior_pos_iff (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n 0 < boltzmannPosterior prior energy action ↔ 0 < prior action", "statement_sha256": "cbd43ecef55c644a8f9dc39d9033a3f9cc99e1142055996ea84e8d4851c28faf" }, @@ -47550,7 +47550,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", "source_line": 279, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPosterior_zero_energy (prior : FiniteLaw Action) :\n boltzmannPosterior prior (fun _ => 0) = prior", "statement_sha256": "f1a170f6370e7d4dbc2d641310ba40b811200b66ac1584bdcb38469ee6b7b467" }, @@ -47647,7 +47647,7 @@ ], "qualified_name": "FEP.ControlledMarkov.boolReachablePOMDP_update_sound", "source_line": 619, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47769,7 +47769,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq", "source_line": 575, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47863,7 +47863,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", "source_line": 553, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47949,7 +47949,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", "source_line": 542, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48053,7 +48053,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", "source_line": 564, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48152,7 +48152,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.controlPosterior_sum_one", "source_line": 292, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48248,7 +48248,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.controlPosterior_zero_cost", "source_line": 298, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem controlPosterior_zero_cost (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", "statement_sha256": "85e81a42b7a9b06510458da4c6db5188805f198e081b1be5419a092b3007db26" }, @@ -48347,7 +48347,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.controlledKernel_sum_one", "source_line": 31, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48463,7 +48463,7 @@ ], "qualified_name": "FEP.ControlledMarkov.desirabilityStep_nonneg", "source_line": 412, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48558,7 +48558,7 @@ ], "qualified_name": "FEP.ControlledMarkov.desirabilityStep_zero_cost_one", "source_line": 423, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48669,7 +48669,7 @@ ], "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", "source_line": 432, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem exists_finite_minimizer {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) :\n ∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", "statement_sha256": "15f6d60894af56c03b0d782710b64bca417bccd7b5b4094d94b0c1764875c3cb" }, @@ -48797,7 +48797,7 @@ ], "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", "source_line": 449, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem finiteArgmin_le {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) (alternative : ι) :\n objective (finiteArgmin objective) ≤ objective alternative", "statement_sha256": "5a5d8669c3d09d4e2b8ca33716a681ecd1fdff7638184b108b6c05def20121f8" }, @@ -48913,7 +48913,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.log_boltzmannPosterior", "source_line": 266, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem log_boltzmannPosterior (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) (hprior : 0 < prior action) :\n Real.log (boltzmannPosterior prior energy action) =\n Real.log (prior action) - energy action -\n Real.log (boltzmannPartition prior energy)", "statement_sha256": "345fc0be0fbcb0c658f80f46628e16f287c534a33be5b47648c9da7f5e02ec4e" }, @@ -49040,7 +49040,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.reachableBelief_policyValue_eq", "source_line": 174, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49163,7 +49163,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanPartition_pos", "source_line": 312, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49323,7 +49323,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy", "source_line": 373, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49456,7 +49456,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanValue_partition_pos", "source_line": 358, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49581,7 +49581,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", "source_line": 345, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49711,7 +49711,7 @@ ], "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEAction_le", "source_line": 501, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49824,7 +49824,7 @@ ], "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEValue_succ", "source_line": 486, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49905,7 +49905,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", "source_line": 668, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedbackExpectedCost_zero :\n twoStageFeedbackExpectedCost = 0", "statement_sha256": "3cacca59e7d5f417f22ecf1f79153cea0037e5964c576f83a837aee958a852e2" }, @@ -50003,7 +50003,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop", "source_line": 682, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedback_beats_openLoop (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", "statement_sha256": "ee5ff03790b8e6de8b267d703520a5a550bb31f848aa64ef72a23772615b8960" }, @@ -50084,7 +50084,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_changes_action", "source_line": 650, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", "statement_sha256": "88c9fb5cd85736a29fcf86e9f20b5593d3bbae6170faa8dd11ca52dd41217929" }, @@ -50176,7 +50176,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", "source_line": 640, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedback_eq_observation (observation : Bool) :\n twoStageFeedback observation = observation", "statement_sha256": "75f89290630a57d012e136cd01d1d94240a16367a659e62fb2bbd61234173b13" }, @@ -50261,7 +50261,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", "source_line": 674, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageOpenLoopExpectedCost_eq_half (action : Bool) :\n twoStageOpenLoopExpectedCost action = 1 / 2", "statement_sha256": "cba609e57d77d1c26d861358a99fd1290dd33469780229e9f63a86b39fc70b5b" }, @@ -50411,7 +50411,7 @@ ], "qualified_name": "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling", "source_line": 348, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -50493,7 +50493,7 @@ ], "qualified_name": "FEP.DecisionRisk.boolPointMass_klDiv_eq_top", "source_line": 77, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -50614,7 +50614,7 @@ ], "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", "source_line": 398, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem boolPrior_zeroOneRisk (report : Bool) :\n ∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", "statement_sha256": "575505267a149f1a82bcbc2fba9e5dab5be18b79730e0b57ca6376f87d141e89" }, @@ -50715,7 +50715,7 @@ ], "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", "source_line": 377, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem boolZeroOneLoss_measurable :\n Measurable (Function.uncurry boolZeroOneLoss)", "statement_sha256": "7141d9e03e363c81a935632ac9e8c3c3fe2838108e07538b152e4478b1a2f677" }, @@ -50863,7 +50863,7 @@ ], "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", "source_line": 258, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem channelJoint_fstMarginal (prior : FiniteLaw α)\n (experiment : FiniteKernel α β) :\n (experiment.joint prior).fstMarginal = prior", "statement_sha256": "500c79fc96e7e21187458248fee53b1868883abf3c68c74ec6cbb38290450b67" }, @@ -51015,7 +51015,7 @@ ], "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", "source_line": 246, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -51162,7 +51162,7 @@ ], "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", "source_line": 211, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -51252,7 +51252,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", "source_line": 55, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -51342,7 +51342,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", "source_line": 36, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -51393,7 +51393,7 @@ ], "qualified_name": "FEP.DecisionRisk.finiteKL_asymmetric_bool", "source_line": 149, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem finiteKL_asymmetric_bool :\n finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", "statement_sha256": "1eb597e2bf76d2dec840e4a11dcfdaf055099a017eb1bbb0a8f7c9666fb82e75" }, @@ -51586,7 +51586,7 @@ ], "qualified_name": "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport", "source_line": 311, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -51778,7 +51778,7 @@ ], "qualified_name": "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling", "source_line": 327, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -51892,7 +51892,7 @@ ], "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", "source_line": 434, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem garbledBool_bayesRisk_eq_half :\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", "statement_sha256": "f710912db85c5d1a0332caedfee89807846f09718bab0b21204f76bec834a82a" }, @@ -52025,7 +52025,7 @@ ], "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", "source_line": 227, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -52155,7 +52155,7 @@ ], "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", "source_line": 190, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -52332,7 +52332,7 @@ ], "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", "source_line": 269, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -52496,7 +52496,7 @@ ], "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", "source_line": 284, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -52586,7 +52586,7 @@ ], "qualified_name": "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report", "source_line": 112, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -52687,7 +52687,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBoolArgminEstimator", "source_line": 407, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBoolArgminEstimator :\n IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", "statement_sha256": "b1d9b279351bf9c4c38d43895393dfc2ef4b5581e9afd25bc24dcc35a3add012" }, @@ -52795,7 +52795,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", "source_line": 425, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBool_bayesRisk_eq_zero :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", "statement_sha256": "3eafce0c453c11e575eee8486d47986f1b7e5ce3ce4d5524ae7b86055907ab3f" }, @@ -52909,7 +52909,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled", "source_line": 444, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBool_bayesRisk_lt_garbled :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", "statement_sha256": "6b9f29c6033f3c1a352d654d8c14da635f414fa6046fae217c2eba76759177fa" }, @@ -53017,7 +53017,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", "source_line": 418, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBool_isBayesEstimator :\n IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", "statement_sha256": "19c1fc738f7d1ba211b166a00ff937df36c81281618513109caa1f83c22c7e65" }, @@ -53107,7 +53107,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", "source_line": 63, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -53197,7 +53197,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", "source_line": 46, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -53286,7 +53286,7 @@ ], "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", "source_line": 71, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -53414,7 +53414,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity", "source_line": 441, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -53584,7 +53584,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_maximizes_efe_of_negative_precision", "source_line": 218, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem boltzmann_control_posterior_maximizes_efe_of_negative_precision\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ < 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n efeControlObjective prior γ cost Q ≤\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", "statement_sha256": "8ed09a8d5401f37d3d717598c27417d05d811c286fcd5eb46f79ddb8937aa65b" }, @@ -53738,7 +53738,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value", "source_line": 309, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -53894,7 +53894,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe", "source_line": 296, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -54064,7 +54064,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe_of_relativeSupport", "source_line": 186, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem boltzmann_control_posterior_minimizes_efe_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : 0 < γ) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\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": "3055b1d26f1b80c979d3dee53162d2dc1bc8c9d8262b17731bd52db2c8b656b6" }, @@ -54192,7 +54192,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.controlPosterior_relativeSupport", "source_line": 87, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem controlPosterior_relativeSupport (prior : FiniteLaw Action)\n (γ : ℝ) (cost : Action → ℝ) :\n ∀ policy, controlPosterior prior γ cost policy ≠ 0 → 0 < prior policy", "statement_sha256": "cdc46b83d29cb7ad32daad2a9756a3498e863a29e42f60ea02ef4e9ec617aa6c" }, @@ -54341,7 +54341,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", "source_line": 250, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -54497,7 +54497,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", "source_line": 271, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -54653,7 +54653,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition_of_relativeSupport", "source_line": 136, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_eq_kl_sub_logPartition_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", "statement_sha256": "63f596d489c7717d4199107a8d3dde883b443d77fed45787c330d620786ad656" }, @@ -54817,7 +54817,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_optimizer_iff_of_relativeSupport", "source_line": 173, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_eq_optimizer_iff_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost)) ↔\n Q = controlPosterior prior γ cost", "statement_sha256": "cf624fd908e318bcf5329d52ca8ba72ff5dec12b9042106fb15d19778d7db6ba" }, @@ -54983,7 +54983,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_lt_optimizer_of_negative_precision", "source_line": 237, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_lt_optimizer_of_negative_precision\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ < 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy)\n (hne : Q ≠ controlPosterior prior γ cost) :\n efeControlObjective prior γ cost Q <\n efeControlObjective prior γ cost (controlPosterior prior γ cost)", "statement_sha256": "bdf5fb63227fdf5b93ae93a2a8f053bff6caf980f58ceb74887494f8dedc028b" }, @@ -55149,7 +55149,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_optimizer_lt_of_relativeSupport", "source_line": 205, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_optimizer_lt_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : 0 < γ) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy)\n (hne : Q ≠ controlPosterior prior γ cost) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) <\n efeControlObjective prior γ cost Q", "statement_sha256": "d79cb7f90fe372544ba2dc907c6780b52141543fb7abff17bf58fd0ac9ec0b59" }, @@ -55299,7 +55299,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_optimizer_value", "source_line": 149, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_optimizer_value (prior : FiniteLaw Action)\n (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", "statement_sha256": "d558bc073f408bd1c255020951a897af44bf734fa818f30610b5786d96bedac2" }, @@ -55455,7 +55455,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", "source_line": 282, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -55617,7 +55617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl_of_relativeSupport", "source_line": 160, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_sub_eq_kl_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", "statement_sha256": "b06ad4a3ec74466adcec29f7c021076cd590c42821e2c1483f78ff4913b9518b" }, @@ -55781,7 +55781,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControl_scaled_objective_eq_kl_sub_logPartition", "source_line": 97, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControl_scaled_objective_eq_kl_sub_logPartition\n (prior : FiniteLaw Action) (γ : ℝ) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n γ * expectation Q cost + finiteKL Q prior =\n finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost)", "statement_sha256": "54adeb337fbb93c3ccb05f0f3469cfe5807bd1e4188d671cbf3fe7b56dd35069" }, @@ -55897,7 +55897,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.exists_EFE_minimizing_policy", "source_line": 475, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -56041,7 +56041,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity", "source_line": 462, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -56193,7 +56193,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.policyTree_value_agreement", "source_line": 487, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -56317,7 +56317,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_negative_precision_strict_gap", "source_line": 374, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_negative_precision_strict_gap (γ : ℝ) (hγ : γ < 0) :\n efeControlObjective sparseGibbsPrior γ sparseGibbsCost\n (FiniteLaw.pointMass 0) <\n efeControlObjective sparseGibbsPrior γ sparseGibbsCost\n (controlPosterior sparseGibbsPrior γ sparseGibbsCost)", "statement_sha256": "fc63eeaf9a2fc4cf76eee64bb51f0f05710ddf42f64a76b180897ad6f3ee7333" }, @@ -56405,7 +56405,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_partition", "source_line": 334, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_partition :\n efeControlPartition sparseGibbsPrior 1 sparseGibbsCost = 2", "statement_sha256": "ea52d10e8aecb890dcbc4ed54922d169506bd7bc2d1a75eb20b1d13ce9c03517" }, @@ -56511,7 +56511,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_posterior_mass", "source_line": 341, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_posterior_mass (policy : Fin 3) :\n controlPosterior sparseGibbsPrior 1 sparseGibbsCost policy =\n ![1 / 4, 3 / 4, 0] policy", "statement_sha256": "cc5ac967f5f2499015c9132975bd98d573fe9eab84a96869b922da4e21f434ab" }, @@ -56612,7 +56612,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_supported_strict_gap", "source_line": 353, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_supported_strict_gap :\n efeControlObjective sparseGibbsPrior 1 sparseGibbsCost\n (controlPosterior sparseGibbsPrior 1 sparseGibbsCost) <\n efeControlObjective sparseGibbsPrior 1 sparseGibbsCost sparseGibbsPrior ∧\n controlPosterior sparseGibbsPrior 1 sparseGibbsCost 2 = 0", "statement_sha256": "146f3b58e95e88d0e32ca4fce392c72d381635383913bb553a54c89ae30b8b3f" }, @@ -56709,7 +56709,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.zeroPrecision_prior_not_minimizer", "source_line": 420, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem zeroPrecision_prior_not_minimizer :\n let prior : FiniteLaw Bool := FiniteLaw.uniform\n let cost : Bool → ℝ := fun policy => if policy then 1 else 0\n (∀ policy, 0 < prior policy) ∧ controlPosterior prior 0 cost = prior ∧\n efeControlObjective prior 0 cost (FiniteLaw.pointMass false) <\n efeControlObjective prior 0 cost (controlPosterior prior 0 cost)", "statement_sha256": "796b542f4bc4970439427adef26736c7db97aaa70727efc9929859c53200ca0e" }, @@ -56814,7 +56814,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.zeroReference_unsupported_candidate_beats_posterior", "source_line": 397, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem zeroReference_unsupported_candidate_beats_posterior :\n let prior : FiniteLaw Bool := FiniteLaw.pointMass false\n let candidate : FiniteLaw Bool := FiniteLaw.pointMass true\n let cost : Bool → ℝ := fun policy => if policy then -2 else 0\n (prior true = 0 ∧ candidate true = 1) ∧\n efeControlObjective prior 1 cost candidate <\n efeControlObjective prior 1 cost (controlPosterior prior 1 cost)", "statement_sha256": "7a977a14acc960890678048f30976c7c923b15d4cc49b357d31a93e05489d384" }, @@ -56906,7 +56906,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.distinct_posteriors", "source_line": 809, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem distinct_posteriors : ProbabilityTheory.betaMeasure 2 1 ≠ ProbabilityTheory.betaMeasure 1 2", "statement_sha256": "5d2d370a21f8bfaaf380c1db391931a7ccf9a32b4c9a06323548a1a5d9bb029d" }, @@ -57003,7 +57003,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.likelihood_measurable", "source_line": 682, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem likelihood_measurable (s f : ℕ) : Measurable (likelihood s f)", "statement_sha256": "bf4d4df9ecb8a586acac555a0dc27a50fe72b2cffecda7d94a5784411f329a2d" }, @@ -57101,7 +57101,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.noninteger_measure_recovery", "source_line": 771, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem noninteger_measure_recovery :\n (ProbabilityTheory.betaMeasure (1 / 2) (3 / 2)).withDensity (likelihood 0 0) =\n ProbabilityTheory.betaMeasure (1 / 2) (3 / 2)", "statement_sha256": "cb491a241af4c2f77be855adea1c23c42a9e7876d2bbb14dac33c14f9f55fa66" }, @@ -57193,7 +57193,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.noninteger_prior_recovery", "source_line": 768, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem noninteger_prior_recovery : normalizer (1 / 2) (3 / 2) 0 0 = 1", "statement_sha256": "fa1ea28d121193283c4ccac4ff490f15319c829b29c16e09aca0a5b495a14197" }, @@ -57278,7 +57278,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.nonpositive_shape_refused", "source_line": 833, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem nonpositive_shape_refused : ¬ (0 < (0 : ℝ)) ∧ ¬ (0 < (-1 : ℝ))", "statement_sha256": "0e8aaa0a79809acc23c0b462f28a4b3ed857caa2238299fd93dbfab2264efbdb" }, @@ -57425,7 +57425,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalized_posterior", "source_line": 750, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_posterior {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n (ENNReal.ofReal (normalizer a b s f))⁻¹ •\n (ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f) =\n ProbabilityTheory.betaMeasure (a + (s : ℝ)) (b + (f : ℝ))", "statement_sha256": "23b437fbbec1852b84aa6ddb2117472ff6b9c2cc0fd9893ec324556867e9865b" }, @@ -57560,7 +57560,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalized_probability", "source_line": 758, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_probability {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n IsProbabilityMeasure ((ENNReal.ofReal (normalizer a b s f))⁻¹ •\n (ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f))", "statement_sha256": "dd55d1d9ad92ab986cb0f47974ed719b8144787416c222e512e7cd00b564dbb8" }, @@ -57668,7 +57668,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalizer_finite", "source_line": 679, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalizer_finite (a b : ℝ) (s f : ℕ) :\n ENNReal.ofReal (normalizer a b s f) ≠ ⊤", "statement_sha256": "b0ce29c78fd005703e8139cc969eb9f0c3d3187efc3cc154684df5a150c55b80" }, @@ -57796,7 +57796,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalizer_pos", "source_line": 674, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalizer_pos {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n 0 < normalizer a b s f", "statement_sha256": "4198fe07f2a4d3a065f31b6a2ff71802c6057efa2b8ef71e05f30db9fec09023" }, @@ -57904,7 +57904,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.outside_pdf_zero", "source_line": 835, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem outside_pdf_zero (a b x : ℝ) (hx : x ≤ 0 ∨ 1 ≤ x) :\n ProbabilityTheory.betaPDF a b x = 0", "statement_sha256": "4f6721b853f8917e42d0e8538742bd2255b4af203d06ae12aa9a3ed54346e669" }, @@ -58055,7 +58055,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.pdf_product", "source_line": 702, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem pdf_product {a b : ℝ} (ha : 0 < a) (hb : 0 < b)\n (s f : ℕ) (x : ℝ) :\n ProbabilityTheory.betaPDF a b x * likelihood s f x =\n ENNReal.ofReal (normalizer a b s f) *\n ProbabilityTheory.betaPDF (a + (s : ℝ)) (b + (f : ℝ)) x", "statement_sha256": "c5d95d0566a8f359be44b2e0ee411b4bafafb95df6f1d6b6114017cd0c019097" }, @@ -58193,7 +58193,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.real_pdf_product", "source_line": 686, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem real_pdf_product {a b : ℝ} (ha : 0 < a) (hb : 0 < b)\n (s f : ℕ) (x : ℝ) :\n ProbabilityTheory.betaPDFReal a b x * (x ^ s * (1 - x) ^ f) =\n normalizer a b s f * ProbabilityTheory.betaPDFReal (a + (s : ℝ)) (b + (f : ℝ)) x", "statement_sha256": "99ad52b02c9a04df5d5465a5728bccf071ea73b036299625255c430a6099d7c2" }, @@ -58278,7 +58278,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_failure_normalizer", "source_line": 792, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_failure_normalizer : normalizer 1 1 0 1 = 1 / 2", "statement_sha256": "5bf6de53dae206a9d5d6660f9d3f9d52531ae311459535da2894f10bc4541188" }, @@ -58376,7 +58376,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_failure_posterior", "source_line": 802, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_failure_posterior :\n (ENNReal.ofReal (1 / 2 : ℝ))⁻¹ •\n (ProbabilityTheory.betaMeasure 1 1).withDensity (likelihood 0 1) =\n ProbabilityTheory.betaMeasure 1 2", "statement_sha256": "45f1305197953357cb09364ecaa9e30fafab4d89ae2c65fefa8a3557fb2914d1" }, @@ -58461,7 +58461,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_success_normalizer", "source_line": 789, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_success_normalizer : normalizer 1 1 1 0 = 1 / 2", "statement_sha256": "38f110e25d5215dfc1060eb79a911058d13d8fa387ad05e4d0595b1e99f949d0" }, @@ -58559,7 +58559,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_success_posterior", "source_line": 795, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_success_posterior :\n (ENNReal.ofReal (1 / 2 : ℝ))⁻¹ •\n (ProbabilityTheory.betaMeasure 1 1).withDensity (likelihood 1 0) =\n ProbabilityTheory.betaMeasure 2 1", "statement_sha256": "43b5256343e7e5d80e09be31ccbd2a8a5be0a6e5f2f4dfd67c4b83a76b4f3012" }, @@ -58694,7 +58694,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.weighted_mass", "source_line": 742, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_mass {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n ((ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f)) Set.univ =\n ENNReal.ofReal (normalizer a b s f)", "statement_sha256": "66e6946472ce1ef57febc78ada73e1e43306fc8153a0201d1d31590a86edae31" }, @@ -58835,7 +58835,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.weighted_measure", "source_line": 726, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_measure {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n (ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f) =\n ENNReal.ofReal (normalizer a b s f) •\n ProbabilityTheory.betaMeasure (a + (s : ℝ)) (b + (f : ℝ))", "statement_sha256": "ec65dd1d6130c5b37ee8cf2c5ee9039676b7fb2661725800d170c2a30cd92b93" }, @@ -58927,7 +58927,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.wrong_inverse_ratio", "source_line": 818, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem wrong_inverse_ratio : ENNReal.ofReal (normalizer 1 1 1 0) ≠ ENNReal.ofReal (2 : ℝ)", "statement_sha256": "26452d2d2eb8a7a5cb5708ec201d5d47bdb22b0d42b34cb727b77934391d036b" }, @@ -59025,7 +59025,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.wrong_scaled_measure_refused", "source_line": 822, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem wrong_scaled_measure_refused :\n (ProbabilityTheory.betaMeasure 1 1).withDensity (likelihood 1 0) ≠\n ENNReal.ofReal (2 : ℝ) • ProbabilityTheory.betaMeasure 2 1", "statement_sha256": "2b31baa0989421c19dc968229be8ac4fe2cfb92d72408bfdf82ce190ebc44141" }, @@ -59142,7 +59142,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.zero_counts", "source_line": 764, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem zero_counts {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n normalizer a b 0 0 = 1", "statement_sha256": "e5009d1156b0540cec26986a87f21a94b7fcde4fa0167e83b7e84e1459eb9718" }, @@ -59250,7 +59250,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaProductPosterior.betaPiZ_empty", "source_line": 1314, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem betaPiZ_empty (a b : Fin 0 → ℝ) (s t : Fin 0 → ℕ) :\n betaPiZ 0 a b s t = 1", "statement_sha256": "7066b3926d8083473261209d455dd60b4838643439387d8ddaf1a4fdef4ecff1" }, @@ -59405,7 +59405,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaProductPosterior.betaPiZ_pos_finite", "source_line": 1266, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem betaPiZ_pos_finite (n : ℕ) (a b : Fin n → ℝ) (s t : Fin n → ℕ)\n (ha : ∀ i, 0 ProbabilityTheory.betaMeasure (a i) (b i))).withDensity\n (fun x => ∏ i, likelihood (s i) (t i) (x i)) =\n Measure.pi (fun i => ProbabilityTheory.betaMeasure (a i+(s i:ℝ)) (b i+(t i:ℝ)))", "statement_sha256": "6f5c0291aa3dbfd1c8cd588c9877bfecceb709b1183ab5ad510a29083503c65f" }, @@ -59735,7 +59735,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaProductPosterior.weighted_beta_pi", "source_line": 1274, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_beta_pi (n : ℕ) (a b : Fin n → ℝ) (s t : Fin n → ℕ)\n (ha : ∀ i, 0 ProbabilityTheory.betaMeasure (a i) (b i))).withDensity\n (fun x => ∏ i, likelihood (s i) (t i) (x i)) =\n betaPiZ n a b s t • Measure.pi (fun i =>\n ProbabilityTheory.betaMeasure (a i+(s i:ℝ)) (b i+(t i:ℝ)))", "statement_sha256": "71510e8f66ca92b7b2b43acf58954b8aa8f577479b1e724ca34de3eb72a837f1" }, @@ -59896,7 +59896,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.incidence_factorization", "source_line": 1021, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem incidence_factorization {I J : Type*} [Fintype I] [Fintype J]\n (a : J → ℝ) (b : I → ℝ) (counts : J → ℕ) (uses : I → J → Prop)\n [∀ i j, Decidable (uses i j)] :\n (∏ j, (a j * ∏ i, if uses i j then b i else 1) ^ counts j) =\n (∏ j, a j ^ counts j) *\n ∏ i, b i ^ (∑ j, if uses i j then counts j else 0)", "statement_sha256": "5b2516732f69acda6b15bea050a387fdb3280f59613042d6083214bcdb6b99b7" }, @@ -60005,7 +60005,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.three_category_pullback", "source_line": 1039, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem three_category_pullback (u v : ℝ) (c0 c1 c2 : ℕ) :\n u ^ c0 * ((1-u)*v) ^ c1 * ((1-u)*(1-v)) ^ c2 =\n (u ^ c0 * (1-u) ^ (c1+c2)) * (v ^ c1 * (1-v) ^ c2)", "statement_sha256": "b3f654fb34a134d30d8bd6050f6d818e724fa530cb00d7b38312cf95551ce239" }, @@ -60102,7 +60102,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.three_category_zero_counts", "source_line": 1046, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem three_category_zero_counts (u v : ℝ) :\n u ^ (0:ℕ) * ((1-u)*v) ^ (0:ℕ) * ((1-u)*(1-v)) ^ (0:ℕ) = 1", "statement_sha256": "19d8d4bf468250bd38c222619a6f71eca2886441b8e10c9d15b2306b04d8b016" }, @@ -60187,7 +60187,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.wrong_tail_count_refused", "source_line": 1050, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem wrong_tail_count_refused :\n ((1-(1/2:ℝ))*(1-(1/3:ℝ))) ^ (1:ℕ) ≠\n (1-(1/3:ℝ)) ^ (1:ℕ)", "statement_sha256": "8dff64ce30be760056cb528dd36f25db5305d4ad4ab8dae5b74f2b27fee1badc" }, @@ -60323,7 +60323,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.matrixZ_pos_finite", "source_line": 1482, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem matrixZ_pos_finite (m k : ℕ) (α : Fin m → Fin (k+1) → ℝ)\n (hα : ∀ r j, 0<α r j) (c : Fin m → Fin (k+1) → ℕ) :\n matrixZ m k α c ≠ 0 ∧ matrixZ m k α c ≠ ⊤", "statement_sha256": "57c0cb3349d665f2ff6cd963207dd8f691691a922f0b613f4187da2393b7c163" }, @@ -60463,7 +60463,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.normalized_rows", "source_line": 1489, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_rows (m k : ℕ) (α : Fin m → Fin (k+1) → ℝ)\n (hα : ∀ r j, 0<α r j) (c : Fin m → Fin (k+1) → ℕ) :\n (matrixZ m k α c)⁻¹ • (Measure.pi (fun r => family k (α r))).withDensity\n (fun A => ∏ r, categoricalLikelihood k (c r) (A r)) =\n Measure.pi (fun r => family k (fun j => α r j+(c r j:ℝ)))", "statement_sha256": "fb02433892cec37a762584f8e658b8354c1031d1411d094e15d26d1aa57485e0" }, @@ -60624,7 +60624,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.vector_pi_scale_factors", "source_line": 1443, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem vector_pi_scale_factors {K : Type*} [Fintype K] (μ : K → Measure E)\n (c : K → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite (c i • μ i)] :\n Measure.pi (fun i => c i • μ i) = (∏ i, c i) • Measure.pi μ", "statement_sha256": "b5dcef0ec9f4732c66f869f74813574355b12630a5b7304ed698890060f6a1d1" }, @@ -60796,7 +60796,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.vector_pi_withDensity", "source_line": 1400, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem vector_pi_withDensity (n : ℕ) (μ : Fin n → Measure E)\n (f : Fin n → E → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite ((μ i).withDensity (f i))] (hf : ∀ i, Measurable (f i)) :\n (Measure.pi μ).withDensity (fun x => ∏ i, f i (x i)) =\n Measure.pi (fun i => (μ i).withDensity (f i))", "statement_sha256": "c19cccb486ee5c95896641dcf838d379f0257a5a099ac9f1be5b5792e7e91b97" }, @@ -60968,7 +60968,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.weighted_rows", "source_line": 1464, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_rows (m k : ℕ) (α : Fin m → Fin (k+1) → ℝ)\n (hα : ∀ r j, 0<α r j) (c : Fin m → Fin (k+1) → ℕ) :\n (Measure.pi (fun r => family k (α r))).withDensity\n (fun A => ∏ r, categoricalLikelihood k (c r) (A r)) =\n matrixZ m k α c • Measure.pi (fun r => family k (fun j => α r j+(c r j:ℝ)))", "statement_sha256": "bec6e73691ff496c0ee01400ca18fc61e28cab268d6f5c1c235d998bb36e19d6" }, @@ -61119,7 +61119,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.FinitePiWeighting.fin_pi_withDensity", "source_line": 1195, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem fin_pi_withDensity (n : ℕ) (μ : Fin n → Measure ℝ)\n (f : Fin n → ℝ → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite ((μ i).withDensity (f i))] (hf : ∀ i, Measurable (f i)) :\n (Measure.pi μ).withDensity (fun x => ∏ i, f i (x i)) =\n Measure.pi (fun i => (μ i).withDensity (f i))", "statement_sha256": "c1a5e3e6e3082572db786e5567c703df0600cd04cb8605fe034d773529d7c5c4" }, @@ -61259,7 +61259,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.FinitePiWeighting.pi_scale_factors", "source_line": 1238, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem pi_scale_factors {K : Type*} [Fintype K] (μ : K → Measure ℝ)\n (c : K → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite (c i • μ i)] :\n Measure.pi (fun i => c i • μ i) = (∏ i, c i) • Measure.pi μ", "statement_sha256": "aae2c6c37f612200265457c2f41ea52d19857183249fbd0c181edf4f312e4c4d" }, @@ -61425,7 +61425,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.MeasureTransport.map_likelihood_weight", "source_line": 857, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem map_likelihood_weight (μ : Measure X) (T : X → Y)\n (L : Y → ENNReal) (hT : Measurable T) (hL : Measurable L) :\n (μ.withDensity (fun x => L (T x))).map T =\n (μ.map T).withDensity L", "statement_sha256": "52dcc8118dc304ea5810ba8bd3ca1d8b3515589c4616587b21d41c1b55c33f43" }, @@ -61617,7 +61617,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.MeasureTransport.product_likelihood_weight", "source_line": 867, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem product_likelihood_weight (μ : Measure X) (ν : Measure Y)\n [SFinite μ] [SFinite ν] (f : X → ENNReal) (g : Y → ENNReal)\n (hf : Measurable f) (hg : Measurable g) :\n (μ.prod ν).withDensity (fun z => f z.1 * g z.2) =\n (μ.withDensity f).prod (ν.withDensity g)", "statement_sha256": "2acda92df3d747f15dfec936dc8d68ec5f049e58afa61222cdc875168c38d1f2" }, @@ -61714,7 +61714,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.beta_ae_Ioo", "source_line": 973, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem beta_ae_Ioo (a b : ℝ) :\n ∀ᵐ x ∂ProbabilityTheory.betaMeasure a b, 0 < x ∧ x < 1", "statement_sha256": "22f01f72c9e550a1c08fe754680b0940305b0b91d3d4d41c7d1750083a4c1812" }, @@ -61855,7 +61855,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.family_ae_simplex", "source_line": 998, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem family_ae_simplex (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) :\n ∀ᵐ p ∂family n α, (∀ i, 0 ≤ p i) ∧ ∑ i, p i = 1", "statement_sha256": "56f0fc1d1ded9a30f496075307220b49912c80312607c6c4ec63923beb93850d" }, @@ -61984,7 +61984,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.family_probability", "source_line": 922, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem family_probability (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) : IsProbabilityMeasure (family n α)", "statement_sha256": "669b9c86aa22ca599f5cdd0735bfc433b7c8bc42adbfc1aaea8d0b51740c45b4" }, @@ -62103,7 +62103,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.family_zero", "source_line": 942, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem family_zero (α : Fin 1 → ℝ) (hα : ∀ i, 0 < α i) :\n family 0 α = Measure.dirac (fun _ : Fin 1 => (1 : ℝ))", "statement_sha256": "b2964111a9ab6e7a1b9d1abf0a19b28a44869057b85113e6b36bec3ce5c0a168" }, @@ -62199,7 +62199,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.measurable_stickMap", "source_line": 902, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem measurable_stickMap (n : ℕ) : Measurable (stickMap n)", "statement_sha256": "86929c2adb2536e49cd5de3c3b8dcbcf2d86f199f71f2d584a8773732af2e34d" }, @@ -62328,7 +62328,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickLaw_ae_unit", "source_line": 984, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickLaw_ae_unit (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) :\n ∀ᵐ v ∂stickLaw n α, ∀ i, 0 ≤ v i ∧ v i ≤ 1", "statement_sha256": "dbac2b11a8013eaf09e05615fa717864894fa5e02ea266e41371362062086dce" }, @@ -62451,7 +62451,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickLaw_probability", "source_line": 914, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickLaw_probability (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) : IsProbabilityMeasure (stickLaw n α)", "statement_sha256": "c6b343921cedeb385b1b0d80c4de138290597b18f4f3a6c56b6731efdfdf3082" }, @@ -62577,7 +62577,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickMap_nonneg", "source_line": 930, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_nonneg (n : ℕ) (v : Fin n → ℝ)\n (hv : ∀ j, 0 ≤ v j ∧ v j ≤ 1) (i : Fin (n + 1)) : 0 ≤ stickMap n v i", "statement_sha256": "b8e40724a09e6f9a7c29cffb262d1875906cba67232f744ee51f2761706275c8" }, @@ -62683,7 +62683,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickMap_sum_one", "source_line": 953, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_sum_one (n : ℕ) (v : Fin n → ℝ) :\n ∑ i : Fin (n + 1), stickMap n v i = 1", "statement_sha256": "cd69b1354af87d108e5873383482f8e8b9646ea8188d593825d75ba83796fdf0" }, @@ -62779,7 +62779,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickMap_zero", "source_line": 938, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_zero (v : Fin 0 → ℝ) : stickMap 0 v = fun _ => 1", "statement_sha256": "9206a4f0994a59748201ee6ac137a500709125d6b32abe2d2a3049c1082df42d" }, @@ -62905,7 +62905,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.tailShape_pos", "source_line": 891, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem tailShape_pos (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) (i : Fin n) : 0 < tailShape n α i", "statement_sha256": "6660266e968f5789ed50f2e1e080ab41830e87d78f1bab764b5cb44c5305ebd8" }, @@ -63044,7 +63044,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.normalized_family", "source_line": 1377, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_family (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n (stickZ n α c)⁻¹ • (family n α).withDensity (categoricalLikelihood n c) =\n family n (fun j => α j+(c j:ℝ))", "statement_sha256": "6c8b32ef69982ac034d11108ce325317cc021fd1821cd723fa7b8662edad533a" }, @@ -63187,7 +63187,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.stickZ_pos_finite", "source_line": 1339, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickZ_pos_finite (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n stickZ n α c ≠ 0 ∧ stickZ n α c ≠ ⊤", "statement_sha256": "d4948edef6f98715abad9f1de23d7b229a27a84824ab177f423956837afdd67e" }, @@ -63344,7 +63344,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.weighted_family", "source_line": 1358, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_family (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n (family n α).withDensity (categoricalLikelihood n c) =\n stickZ n α c • family n (fun j => α j+(c j:ℝ))", "statement_sha256": "37c1d1a0fe78241e953c43db75fd198cc42ecc7f404e194dfccad9ebe2a08fbf" }, @@ -63485,7 +63485,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.weighted_family_mass", "source_line": 1369, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_family_mass (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n ((family n α).withDensity (categoricalLikelihood n c)) Set.univ = stickZ n α c", "statement_sha256": "13ee5f143da488ce7c8c3b3f1faf5e06894aa6fc688b3074aaf00d7c548d83ef" }, @@ -63636,7 +63636,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.weighted_stickLaw", "source_line": 1344, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_stickLaw (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n (stickLaw n α).withDensity (stickLikelihood n c) =\n stickZ n α c • stickLaw n (fun j => α j+(c j:ℝ))", "statement_sha256": "250d9a695420eca7b8793174dfd30f62f2df8baa9d7770c167d55725236126e4" }, @@ -63752,7 +63752,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.headFactor_likelihood", "source_line": 1096, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem headFactor_likelihood (n : ℕ) (v : Fin n → ℝ) (c : Fin (n+1) → ℕ) :\n (∏ j, headFactor n v j ^ c j) = ∏ i : Fin n, v i ^ c i.castSucc", "statement_sha256": "0c86a865ba063551f608af664605ff1ad2b0a0c5743be8db09459df1573f9d68" }, @@ -63868,7 +63868,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.stickMap_incidence", "source_line": 1075, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_incidence (n : ℕ) (v : Fin n → ℝ) (j : Fin (n+1)) :\n stickMap n v j = headFactor n v j *\n ∏ i : Fin n, if i.val < j.val then (1-v i) else 1", "statement_sha256": "28ca267303dfddf72ebab30365cce5a54ec179b238f390dfa256531d325d2b86" }, @@ -63999,7 +63999,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.stickMap_likelihood_incidence", "source_line": 1086, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_likelihood_incidence (n : ℕ) (v : Fin n → ℝ)\n (c : Fin (n+1) → ℕ) :\n (∏ j, stickMap n v j ^ c j) =\n (∏ j, headFactor n v j ^ c j) *\n ∏ i : Fin n, (1-v i) ^ (∑ j : Fin (n+1), if i.val < j.val then c j else 0)", "statement_sha256": "3e24ac543798df21b6b044ec0dfdf2ae8a593e8785473bb09af1a3aad06ea517" }, @@ -64125,7 +64125,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.tailShape_update", "source_line": 1102, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem tailShape_update (n : ℕ) (α : Fin (n+1) → ℝ)\n (c : Fin (n+1) → ℕ) (i : Fin n) :\n tailShape n (fun j => α j + (c j : ℝ)) i =\n tailShape n α i + (tailCount n c i : ℝ)", "statement_sha256": "fce598fddfd3712fdd029031d841ed35f1bacab209d32d51aea6a8fe3dba6b8f" }, @@ -64240,7 +64240,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.zero_stick_likelihood", "source_line": 1112, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem zero_stick_likelihood (v : Fin 0 → ℝ) (c : Fin 1 → ℕ) :\n (∏ j, stickMap 0 v j ^ c j) = 1", "statement_sha256": "d85340aa2e6aa4533704ca98939d5c3cffce9a7229881d40e19e34537dc39b99" }, @@ -64381,7 +64381,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.ae_likelihood_pullback", "source_line": 1171, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem ae_likelihood_pullback (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0 < α j) (c : Fin (n+1) → ℕ) :\n ∀ᵐ v ∂stickLaw n α, categoricalLikelihood n c (stickMap n v) = stickLikelihood n c v", "statement_sha256": "6ffe99fe6ddb3489cf2da36ff351913245282b33903f55496a90710493867b7d" }, @@ -64528,7 +64528,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.ennreal_likelihood_pullback", "source_line": 1153, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem ennreal_likelihood_pullback (n : ℕ) (v : Fin n → ℝ) (c : Fin (n+1) → ℕ)\n (hv : ∀ i, 0 ≤ v i ∧ v i ≤ 1) :\n categoricalLikelihood n c (stickMap n v) = stickLikelihood n c v", "statement_sha256": "ed5a4c764f5628f1f76639083e0e58e98cdcd7a1f47e3254ffa97ad9bf3557f3" }, @@ -64652,7 +64652,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.ofReal_product", "source_line": 1143, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem ofReal_product {K : Type*} [Fintype K] (f : K → ℝ) (hf : ∀ k, 0 ≤ f k) :\n ENNReal.ofReal (∏ k, f k) = ∏ k, ENNReal.ofReal (f k)", "statement_sha256": "6e5ba8a9e3cce9dcef83d7053279c064c6360cb5adb63078c020355fd984eb6c" }, @@ -64791,7 +64791,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.real_likelihood_pullback", "source_line": 1136, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem real_likelihood_pullback (n : ℕ) (v : Fin n → ℝ) (c : Fin (n+1) → ℕ) :\n (∏ j, stickMap n v j ^ c j) =\n ∏ i : Fin n, (v i ^ c i.castSucc * (1-v i) ^ tailCount n c i)", "statement_sha256": "f624b35a574964e6b5d97f4d1dffe6aa830bcb59bb642def749183e4556bb49e" }, @@ -64907,7 +64907,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.tail_exponent_eq", "source_line": 1131, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem tail_exponent_eq (n : ℕ) (c : Fin (n+1) → ℕ) (i : Fin n) :\n (∑ j : Fin (n+1), if i.val < j.val then c j else 0) = tailCount n c i", "statement_sha256": "acf38c67f72798dd7abcf4a3c3b9d6733a88d2e5330e66f90e735661d8d289ef" }, @@ -64969,7 +64969,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", "source_line": 240, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -65109,7 +65109,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletBinary_bernoulliBayes_bridge", "source_line": 560, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletBinary_bernoulliBayes_bridge (success failure : ℝ)\n (successPositive : 0 < success) (failurePositive : 0 < failure) :\n let α := binaryPseudoCounts success failure\n let p := polyaPredictive α (fun _ => 0) true\n let l₁ := polyaPredictive α (Pi.single true 1 : Bool → ℕ) true\n let l₀ := polyaPredictive α (Pi.single false 1 : Bool → ℕ) true\n p * l₁ / (p * l₁ + (1 - p) * l₀) =\n polyaPredictive α (Pi.single true 1 : Bool → ℕ) true", "statement_sha256": "bb5a0c6c8c03a1902ca85818deab1e24f0d27b99bafe8b7a54fed358485cac30" }, @@ -65218,7 +65218,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletPosterior_total", "source_line": 395, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletPosterior_total (α : K → ℝ) (n : K → ℕ) :\n ∑ k, dirichletPosterior α n k = dirichletTotal α n", "statement_sha256": "58bb1ccc55f8a23a0242b34fc2ecb188b5ea087b8c5818a52b79e2599ec8ae6f" }, @@ -65360,7 +65360,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletSequenceProbability_eq_countProbability", "source_line": 522, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletSequenceProbability_eq_countProbability (α : K → ℝ)\n (xs : List K) :\n dirichletSequenceProbability α xs =\n polyaCountProbability α (fun k => xs.count k)", "statement_sha256": "fe5a07e0a4336f2cbb73efc967c761308eecbaf28c416417493ed9c8a29dfbed" }, @@ -65492,7 +65492,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletSequenceProbability_eq_counts", "source_line": 481, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletSequenceProbability_eq_counts (xs : List K) :\n ∀ α : K → ℝ, dirichletSequenceProbability α xs =\n (∏ k, risingFactorial (α k) (xs.count k)) /\n risingFactorial (∑ k, α k) xs.length", "statement_sha256": "f5efdc8b3027bc9747ed07fc61bf27e8d27fce64ecf88bc0155bb47b57829a11" }, @@ -65639,7 +65639,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletSequenceProbability_exchangeable", "source_line": 531, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletSequenceProbability_exchangeable (α : K → ℝ)\n {xs ys : List K} (permutation : xs.Perm ys) :\n dirichletSequenceProbability α xs = dirichletSequenceProbability α ys", "statement_sha256": "cc5c26012e5c8ebaa6bddf65cbff7ccc4f19f68e1daaa496e33453fb964d4ef1" }, @@ -65711,7 +65711,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_add", "source_line": 168, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -65782,7 +65782,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_const", "source_line": 186, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem expectation_const (sampling : FiniteLaw Ω) (constant : ℝ) :\n VariationalDuality.expectation sampling (fun _ => constant) = constant", "statement_sha256": "8ba5a17071f1d9a3283ced20904197fac138298e288bdfd2dae7fa8700fd1b50" }, @@ -65863,7 +65863,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", "source_line": 175, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -65945,7 +65945,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_mono", "source_line": 160, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66027,7 +66027,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", "source_line": 278, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66149,7 +66149,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", "source_line": 90, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66301,7 +66301,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_probability_le", "source_line": 328, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66426,7 +66426,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", "source_line": 309, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66507,7 +66507,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", "source_line": 78, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66563,7 +66563,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.laplaceBias_nonzero_witness", "source_line": 345, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem laplaceBias_nonzero_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", "statement_sha256": "310c7ae1b9948ec17d31121fffea1317871ec35215c8600d13224c9d20049b46" }, @@ -66697,7 +66697,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceBrierRisk_le", "source_line": 254, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66779,7 +66779,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", "source_line": 63, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -66884,7 +66884,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", "source_line": 118, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -67036,7 +67036,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", "source_line": 193, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -67222,7 +67222,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedKernel_nonneg", "source_line": 607, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedKernel_nonneg {R : Type*} (α : R → K → ℝ) (n : R → K → ℕ)\n (alphaNonneg : ∀ r k, 0 ≤ α r k) (r : R) (k : K) :\n 0 ≤ learnedKernel α n r k", "statement_sha256": "dc4b0d45fee0478e837125cbc4b822a76e05b2776bba8b7888d2d7eb264082ce" }, @@ -67403,7 +67403,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedKernel_row_sum_one", "source_line": 613, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedKernel_row_sum_one {R : Type*} (α : R → K → ℝ) (n : R → K → ℕ)\n (rowPositive : ∀ r, 0 < ∑ k, α r k + ∑ k, (n r k : ℝ)) (r : R) :\n ∑ k, learnedKernel α n r k = 1", "statement_sha256": "c07d87648f495f6c6a4719ccf8b086a32b2914a89fafca6167f608d5601903fc" }, @@ -67603,7 +67603,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedLikelihood_normalised", "source_line": 630, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedLikelihood_normalised {S : Type*} (α : S → K → ℝ)\n (n : S → K → ℕ) (alphaPositive : ∀ s k, 0 < α s k) [Nonempty K] (s : S) :\n (∀ o, 0 ≤ learnedLikelihood α n s o) ∧\n ∑ o, learnedLikelihood α n s o = 1", "statement_sha256": "e2cd7a6a90f7700b2832a3d20dbf92c6e7d08e2953e2e6aee444b853f0b08b09" }, @@ -67819,7 +67819,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedTransition_normalised", "source_line": 641, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedTransition_normalised {S U : Type*} (α : S × U → K → ℝ)\n (n : S × U → K → ℕ) (alphaPositive : ∀ r k, 0 < α r k) [Nonempty K]\n (s : S) (u : U) :\n (∀ s', 0 ≤ learnedTransition α n s u s') ∧\n ∑ s', learnedTransition α n s u s' = 1", "statement_sha256": "cf39c5af5311a318b58da227d802adfa35bbf040bd1c57f222d7689660ff0373" }, @@ -67938,7 +67938,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.listCountSum", "source_line": 514, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem listCountSum (xs : List K) : ∑ k, xs.count k = xs.length", "statement_sha256": "4fc359e0d67234acc080609b118ac3d7669efc364ab2693fd226242d68e0145f" }, @@ -68084,7 +68084,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaCountProbability_succ", "source_line": 442, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaCountProbability_succ (α : K → ℝ) (n : K → ℕ) (x : K) :\n polyaCountProbability α (n + (Pi.single x 1 : K → ℕ)) =\n polyaPredictive α n x * polyaCountProbability α n", "statement_sha256": "e8dbd10499542f8db6067f5f5972ee6f515dd234736795ecbf41d18c4da0f24e" }, @@ -68214,7 +68214,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_binary", "source_line": 549, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_binary (success failure : ℝ) (n : Bool → ℕ) :\n polyaPredictive (binaryPseudoCounts success failure) n true =\n (success + (n true : ℝ)) /\n (success + failure + ((n true : ℝ) + (n false : ℝ)))", "statement_sha256": "54f1bf3cab5ec77b2abb4225a71beb10d5abbf2cac753361f8379601cd93cc7e" }, @@ -68340,7 +68340,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_binary_laplace", "source_line": 583, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_binary_laplace (n : Bool → ℕ) :\n polyaPredictive (binaryPseudoCounts 1 1) n true =\n laplaceEstimate (n true) (n true + n false)", "statement_sha256": "9ec1348a697e8bbc9b21cd94431d41fdd4d462e5af7f15009af74638e52ce940" }, @@ -68471,7 +68471,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_eq_posterior_normalised", "source_line": 401, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_eq_posterior_normalised (α : K → ℝ) (n : K → ℕ) (k : K) :\n polyaPredictive α n k =\n dirichletPosterior α n k / ∑ j, dirichletPosterior α n j", "statement_sha256": "1ad85aae7ed9633fe75cededcb3250e185fc7d85430d9cfeaf5b1df02abf0ae2" }, @@ -68610,7 +68610,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_nonneg", "source_line": 408, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_nonneg (α : K → ℝ) (n : K → ℕ)\n (alphaNonneg : ∀ k, 0 ≤ α k) (k : K) :\n 0 ≤ polyaPredictive α n k", "statement_sha256": "b7bffc3c7044d2e627c6006c3edf729ed94195febadcf199dee62f8211d90d76" }, @@ -68744,7 +68744,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_ones", "source_line": 593, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_ones (n : K → ℕ) (k : K) :\n polyaPredictive (fun _ => (1 : ℝ)) n k =\n ((n k : ℝ) + 1) / ((∑ j, (n j : ℝ)) + Fintype.card K)", "statement_sha256": "fa243e52384550e6330d3100b48e1ee8350b77e16d4e0cb0f880f58f8b19269b" }, @@ -68901,7 +68901,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_pos", "source_line": 426, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_pos (α : K → ℝ) (n : K → ℕ)\n (alphaPositive : ∀ k, 0 < α k) [Nonempty K] (k : K) :\n 0 < polyaPredictive α n k", "statement_sha256": "6c263ba17bd878ff136d99616b0f68058022429e7e492cacf3184a91499cced7" }, @@ -69035,7 +69035,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_sum_one", "source_line": 418, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_sum_one (α : K → ℝ) (n : K → ℕ)\n (totalPositive : 0 < ∑ j, α j + ∑ j, (n j : ℝ)) :\n ∑ k, polyaPredictive α n k = 1", "statement_sha256": "8d28b81898df235bbb82a328662ceb84665bfbff6dfa9920a8a664a778d2c789" }, @@ -69139,7 +69139,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.risingFactorial_succ_left", "source_line": 366, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem risingFactorial_succ_left (a : ℝ) (m : ℕ) :\n risingFactorial a (m + 1) = a * risingFactorial (a + 1) m", "statement_sha256": "79cdd2d1b7965e6df5a533765622f76a39d6798c1143b40735704c2997b0c257" }, @@ -69243,7 +69243,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.risingFactorial_succ_right", "source_line": 377, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem risingFactorial_succ_right (a : ℝ) (m : ℕ) :\n risingFactorial a (m + 1) = risingFactorial a m * (a + m)", "statement_sha256": "2eb70411adaa126d2a872a7bee2d93387e782d4da34385ed55e6aee412dbb1ef" }, @@ -69337,7 +69337,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.risingFactorial_zero", "source_line": 363, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem risingFactorial_zero (a : ℝ) : risingFactorial a 0 = 1", "statement_sha256": "40ffad503ce92de35ef7891201f4c8ed86983fb9bcfa24a7339cc9863681ae44" }, @@ -69398,7 +69398,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.shrinkage_le_one", "source_line": 56, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem shrinkage_le_one (sampleCount : ℕ) :\n shrinkage sampleCount ≤ 1", "statement_sha256": "7e70ad651f8bae5b6c07932cc2ff4a41b56cdaeb3ccae460a9a1ffd3b3dbb4ec" }, @@ -69459,7 +69459,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", "source_line": 51, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem shrinkage_nonneg (sampleCount : ℕ) :\n 0 ≤ shrinkage sampleCount", "statement_sha256": "8f9e79225727e85761036de9ea627c03ab4b9ccca72f5a75e4c04b6e03906edf" }, @@ -69568,7 +69568,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero", "source_line": 424, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -69660,7 +69660,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman", "source_line": 370, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -69761,7 +69761,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL", "source_line": 355, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -69842,7 +69842,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance", "source_line": 154, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem fisher_eq_variance (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", "statement_sha256": "5f0beee45d89505e104149eb141d77488481feb87c0d52d42b6b1d989c321654" }, @@ -69943,7 +69943,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt", "source_line": 265, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70029,7 +70029,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos", "source_line": 75, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem law_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.law parameter outcome", "statement_sha256": "ad000d133af492936126ba9c88be8c5ebdcde5ada5762ff26f3d99d954334844" }, @@ -70131,7 +70131,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq", "source_line": 304, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70222,7 +70222,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt", "source_line": 238, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", "statement_sha256": "039fa2048638e77176f74b6d74d99498829bf218e9caacff99b0c8be0829cdbc" }, @@ -70314,7 +70314,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman", "source_line": 327, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70415,7 +70415,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq", "source_line": 289, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70517,7 +70517,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn", "source_line": 393, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70619,7 +70619,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono", "source_line": 379, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70695,7 +70695,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", "source_line": 86, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70786,7 +70786,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt", "source_line": 248, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem mean_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", "statement_sha256": "5ee292fe68385aeb74729108ec2831f1e461af5ca69518426e46cceced961557" }, @@ -70867,7 +70867,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero", "source_line": 132, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -70958,7 +70958,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt", "source_line": 229, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -71034,7 +71034,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos", "source_line": 57, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem partition_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) : 0 < family.partition parameter", "statement_sha256": "f10ef8bc4173e8f7a7a994a622d01e08a7bf9b3e9cb1181196267423b0949a6d" }, @@ -71125,7 +71125,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean", "source_line": 125, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -71195,7 +71195,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", "source_line": 409, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem threeState_variance_zero : threeStateFamily.variance 0 = 2 / 3", "statement_sha256": "da20e31971b78ba048982b21e612c3474ff35cbacd59ec366182566a9145c117" }, @@ -71272,7 +71272,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos", "source_line": 413, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem threeState_variance_zero_pos : 0 < threeStateFamily.variance 0", "statement_sha256": "95dda5d86e5125880d663a04fc18fcd43dacd62bb8be6d1eff827a0da5d53850" }, @@ -71353,7 +71353,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment", "source_line": 159, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -71439,7 +71439,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos", "source_line": 52, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem weight_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.weight parameter outcome", "statement_sha256": "3c673d17c383f6352097f8d57e4ef69f7deaf78798b7efe357a024c35761cac7" }, @@ -71535,7 +71535,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt", "source_line": 212, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -71556,7 +71556,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external", "source_line": 183, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_four_external :\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", "statement_sha256": "ba427b973cade1f06772407c7a742efe4492255985255d1bd4f6c645d28e01ce" }, @@ -71577,7 +71577,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory", "source_line": 191, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_four_sensory :\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", "statement_sha256": "761955f54384734da1bd0c0fbfd12921a6e114fc188b50785b8253779a37e43a" }, @@ -71598,7 +71598,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_six", "source_line": 199, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_six :\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix", "statement_sha256": "3384deba99aea33d14d2048451d120e50052b22e3661bb2bef925c6108cde5f1" }, @@ -71619,7 +71619,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_two", "source_line": 176, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_two :\n K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", "statement_sha256": "c94f709b74e3e9ffbbf07462e7442b81504f668ef41b5c6a5088d7a1ab67d676" }, @@ -71640,7 +71640,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_external_internal", "source_line": 317, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_external_internal : K external internal = 0", "statement_sha256": "45eadcc0db17724670582f586751896725d84b7707c8889799224ac38d7fee37" }, @@ -71668,7 +71668,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_isHermitian", "source_line": 117, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_isHermitian : K.IsHermitian", "statement_sha256": "2ffb540b7a753993aa6ffa5baf359b18ea68113f99a6be9b2d558641dc823a54" }, @@ -71689,7 +71689,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_isSymm", "source_line": 112, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_isSymm : K.IsSymm", "statement_sha256": "bd0de063d4e98370d0c13a659938be4c1105e0e7d7e2f6fda21e04ea817129bc" }, @@ -71710,7 +71710,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_mul_Sigma", "source_line": 251, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_mul_Sigma : K * Sigma = 1", "statement_sha256": "d1d6fa0b7f5681d8cdeb8a9e13529efac07a710d0eb6e446fd2e18487a7554c4" }, @@ -71731,7 +71731,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_normalizedAllOnes", "source_line": 539, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_normalizedAllOnes :\n K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes", "statement_sha256": "79e146510beb22dc96e9ae564d6f5568cc89547a1b7efde94d809585254ecea7" }, @@ -71759,7 +71759,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_posDef", "source_line": 122, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_posDef : K.PosDef", "statement_sha256": "b56ebb7bd5959ff344195d377d1aa856138c2d532ce73ba453fe610ab406e651" }, @@ -71780,7 +71780,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_eq_entries", "source_line": 261, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_eq_entries :\n Sigma = fun\n | external, external => 7 / 24\n | external, sensory => 1 / 12\n | external, active => 1 / 12\n | external, internal => 1 / 24\n | sensory, external => 1 / 12\n | sensory, sensory => 7 / 24\n | sensory, active => 1 / 24\n | sensory, internal => 1 / 12\n | active, external => 1 / 12\n | active, sensory => 1 / 24\n | active, active => 7 / 24\n | active, internal => 1 / 12\n | internal, external => 1 / 24\n | internal, sensory => 1 / 12\n | internal, active => 1 / 12\n | internal, internal => 7 / 24", "statement_sha256": "ac0df693d6123d537a49101c30424ae9fd458aedc8214c4f6fd814f2a00bcb1c" }, @@ -71808,7 +71808,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_external_internal", "source_line": 321, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_external_internal : Sigma external internal = 1 / 24", "statement_sha256": "dabdf6634c5da24054d7ce064e6d07a15800698e4fee5517c26c884a2dd1a44b" }, @@ -71836,7 +71836,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_external_internal_ne_zero", "source_line": 325, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_external_internal_ne_zero : Sigma external internal ≠ 0", "statement_sha256": "38c3531119466c065e092b06477587fa6f39c3a989ec1506c803401fe9cbb0bf" }, @@ -71864,7 +71864,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_isSymm", "source_line": 306, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_isSymm : Sigma.IsSymm", "statement_sha256": "b6302bbba8f9d142cbc9b287b11097327daf0eb29d516f63a48c4f030980b2fd" }, @@ -71885,7 +71885,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_mul_K", "source_line": 256, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_mul_K : Sigma * K = 1", "statement_sha256": "98e83144ec3427c97728ad3fdb46d6c14c41510e8bad9e07246e9e15f230d916" }, @@ -71913,7 +71913,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_normalizedAllOnes", "source_line": 547, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_normalizedAllOnes :\n Sigma *ᵥ normalizedAllOnes = (1 / 2 : ℝ) • normalizedAllOnes", "statement_sha256": "d02700429a07ef1adce18675dd108ab4728d7567e2cda356cbc13ee9ab09e231" }, @@ -71934,7 +71934,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_posDef", "source_line": 312, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_posDef : Sigma.PosDef", "statement_sha256": "2b86e4e33f19149729517780e3fb366db0b7f31bdb05722afb7a74c2f0a659a1" }, @@ -71973,7 +71973,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.allOnesProjection_embedding", "source_line": 527, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem allOnesProjection_embedding (value : ℝ) :\n allOnesProjection (allOnesEmbedding value) = value", "statement_sha256": "d14f91ef9d80b57c08af3ef986bb11577e6e7db0bb62e656ba9b5569155ff40f" }, @@ -72001,7 +72001,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.allOnes_projection_nontrivial", "source_line": 534, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem allOnes_projection_nontrivial :\n allOnesProjection normalizedAllOnes = 1", "statement_sha256": "0ce2ad6d2a1bb19f05c14c0082ce0addea91e2d963db632ceadb6276138a9c72" }, @@ -72022,7 +72022,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.axisFin_order", "source_line": 58, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem axisFin_order :\n axisFin external = 0 ∧\n axisFin sensory = 1 ∧\n axisFin active = 2 ∧\n axisFin internal = 3", "statement_sha256": "571ef2af4be60fb298dd29f0b28aa49272325a8594adb94e28d2350cd9db1134" }, @@ -72043,7 +72043,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.axis_cardinality", "source_line": 66, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem axis_cardinality : Fintype.card Axis = 4", "statement_sha256": "489a5f3951777e31503b4d65f4fbcb92d4f4cc4f4b456f1b0b7bc2dcbd63046d" }, @@ -72064,7 +72064,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.axis_pairwise_ne", "source_line": 72, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem axis_pairwise_ne :\n external ≠ sensory ∧ external ≠ active ∧ external ≠ internal ∧\n sensory ≠ active ∧ sensory ≠ internal ∧ active ≠ internal", "statement_sha256": "c6a6db9004f7789d4c4fdb897c2e8395402ad521202ce5cbc360639b829aab2e" }, @@ -72109,7 +72109,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.eigenmodes_independent", "source_line": 230, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem eigenmodes_independent\n (two fourExternal fourSensory six : ℝ)\n (h : ∀ axis,\n two * eigenmodeTwo axis +\n fourExternal * eigenmodeFourExternal axis +\n fourSensory * eigenmodeFourSensory axis +\n six * eigenmodeSix axis = 0) :\n two = 0 ∧ fourExternal = 0 ∧ fourSensory = 0 ∧ six = 0", "statement_sha256": "a2df629ed5be753229545a7c1f45eb2e1f9b3f58bba8b474a2d99c7d5d80ee49" }, @@ -72130,7 +72130,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.eigenmodes_nonzero", "source_line": 206, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem eigenmodes_nonzero :\n eigenmodeTwo ≠ 0 ∧\n eigenmodeFourExternal ≠ 0 ∧\n eigenmodeFourSensory ≠ 0 ∧\n eigenmodeSix ≠ 0", "statement_sha256": "12a2796000efe563597c51d5ec5089307a068b898c987406192e0c0c11d42af1" }, @@ -72162,7 +72162,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.evolution_normalizedAllOnes", "source_line": 655, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem evolution_normalizedAllOnes (time : ℝ≥0) :\n NormedSpace.exp ((-(time : ℝ)) • K) *ᵥ normalizedAllOnes =\n Real.exp (-2 * (time : ℝ)) • normalizedAllOnes", "statement_sha256": "00a21c95036e45835e905487fb1a6dfd5bf6a0ec50669f8b64dd7df85d8fc454" }, @@ -72370,7 +72370,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.exactFin4Carrier", "source_line": 867, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem exactFin4Carrier :\n Fintype.card Axis = 4 ∧\n (axisFin external = 0 ∧ axisFin sensory = 1 ∧\n axisFin active = 2 ∧ axisFin internal = 3) ∧\n (external ≠ sensory ∧ external ≠ active ∧ external ≠ internal ∧\n sensory ≠ active ∧ sensory ≠ internal ∧ active ≠ internal) ∧\n K.IsSymm ∧ K.PosDef ∧\n K * Sigma = 1 ∧ Sigma * K = 1 ∧ Sigma.IsSymm ∧ Sigma.PosDef ∧\n (Sigma = fun\n | external, external => 7 / 24\n | external, sensory => 1 / 12\n | external, active => 1 / 12\n | external, internal => 1 / 24\n | sensory, external => 1 / 12\n | sensory, sensory => 7 / 24\n | sensory, active => 1 / 24\n | sensory, internal => 1 / 12\n | active, external => 1 / 12\n | active, sensory => 1 / 24\n | active, active => 7 / 24\n | active, internal => 1 / 12\n | internal, external => 1 / 24\n | internal, sensory => 1 / 12\n | internal, active => 1 / 12\n | internal, internal => 7 / 24) ∧\n K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo ∧\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal ∧\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory ∧\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix ∧\n (eigenmodeTwo ≠ 0 ∧ eigenmodeFourExternal ≠ 0 ∧\n eigenmodeFourSensory ≠ 0 ∧ eigenmodeSix ≠ 0) ∧\n (∀ two fourExternal fourSensory six : ℝ,\n (∀ axis,\n two * eigenmodeTwo axis +\n fourExternal * eigenmodeFourExternal axis +\n fourSensory * eigenmodeFourSensory axis +\n six * eigenmodeSix axis = 0) →\n two = 0 ∧ fourExternal = 0 ∧ fourSensory = 0 ∧ six = 0) ∧\n K external internal = 0 ∧\n Sigma external internal = 1 / 24 ∧ Sigma external internal ≠ 0 ∧\n (∀ (time : ℝ≥0),\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosSemidef) ∧\n (∀ (time : ℝ≥0), 0 < time →\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosDef) ∧\n (∀ center time state,\n transition center time state =\n multivariateGaussian\n (center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K)) (state - center))\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ)) ∧\n (∀ center left right,\n transition center (left + right) =\n transition center right ∘ₖ transition center left) ∧\n (∀ center,\n stationaryLaw center = multivariateGaussian center Sigma) ∧\n (∀ center,\n FEP.MarkovSemigroup.InvariantLaw\n (nativeSemigroup center) (stationaryLaw center)) ∧\n (∀ center state,\n Tendsto (fun time : ℝ≥0 => transitionProbability center time state)\n atTop (nhds (stationaryProbability center))) ∧\n ⟪normalizedAllOnes, normalizedAllOnes⟫ = 1 ∧\n K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes ∧\n Sigma *ᵥ normalizedAllOnes = (1 / 2 : ℝ) • normalizedAllOnes ∧\n (∀ center, (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2) ∧\n (∀ center time,\n projectedTransition center time =\n (scalarParameters center).ouTransition time)", "statement_sha256": "5ee1f0a7d302c08435bc0e3d739d4bdc52d990e79dd011b1705902e73d10de0b" }, @@ -72413,7 +72413,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.integral_transition_tendsto_invariant", "source_line": 490, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem integral_transition_tendsto_invariant\n (center state : StandardizedState)\n (f : StandardizedState →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (transitionProbability center time state : Measure StandardizedState))\n atTop\n (nhds (∫ next, f next ∂\n (stationaryProbability center : Measure StandardizedState)))", "statement_sha256": "e1f141f9aabc4c689f27d86d5893233da9f305ca35c05f304cb96158304d65f6" }, @@ -72434,7 +72434,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.normalizedAllOnes_unit", "source_line": 519, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem normalizedAllOnes_unit :\n ⟪normalizedAllOnes, normalizedAllOnes⟫ = 1", "statement_sha256": "9d34455967af35133a72fd638a4b0e2341ac226130d341c32b9c59977920cab8" }, @@ -72466,7 +72466,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.parameters_covariance", "source_line": 341, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem parameters_covariance (center : StandardizedState) :\n (parameters center).covariance = Sigma", "statement_sha256": "6f81f75e533770f8531ef561fe90a13f584d460b4f22bd4e7fc7358e726ac12a" }, @@ -72515,7 +72515,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.projectedTransition_eq_scalarOU", "source_line": 842, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem projectedTransition_eq_scalarOU (center : ℝ) (time : ℝ≥0) :\n projectedTransition center time =\n (scalarParameters center).ouTransition time", "statement_sha256": "2fbf64da912730b74746258bf548dc95c1280331d92e516e4392dbb329927ee6" }, @@ -72547,7 +72547,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.scalarParameters_exact", "source_line": 684, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem scalarParameters_exact (center : ℝ) :\n (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2", "statement_sha256": "93eccf2dc8b0099761091e7ec5b515cea01471a9b8f1471c293472943ef851fd" }, @@ -72579,7 +72579,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.stationaryLaw_eq_gaussian", "source_line": 431, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_eq_gaussian (center : StandardizedState) :\n stationaryLaw center = multivariateGaussian center Sigma", "statement_sha256": "849c78e3f2f85e609a41d72fc31e316d2763357060d99c56b2fd8a0d273e1628" }, @@ -72611,7 +72611,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.stationaryLaw_invariant", "source_line": 436, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_invariant (center : StandardizedState) :\n FEP.MarkovSemigroup.InvariantLaw\n (nativeSemigroup center) (stationaryLaw center)", "statement_sha256": "6761da990e6210f7368d515df58f5de9467963cd931b962a1ab569b33779939a" }, @@ -72663,7 +72663,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transitionCovariance_posDef", "source_line": 368, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_posDef (center : StandardizedState)\n (time : ℝ≥0) (hTime : 0 < time) :\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosDef", "statement_sha256": "510e474970bb676522b2fa66c3d71943e0d6fec5b48c7e2bb8feeb4a82677a97" }, @@ -72705,7 +72705,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transitionCovariance_posSemidef", "source_line": 358, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_posSemidef (center : StandardizedState)\n (time : ℝ≥0) :\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosSemidef", "statement_sha256": "c2288a375ab5438745c2a4102b1d0edb03f4ff6647dd4014b8de5365df74f83d" }, @@ -72738,7 +72738,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transitionProbability_tendsto_invariant", "source_line": 482, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transitionProbability_tendsto_invariant\n (center state : StandardizedState) :\n Tendsto (fun time : ℝ≥0 => transitionProbability center time state)\n atTop (nhds (stationaryProbability center))", "statement_sha256": "3f52518abefcdb6131edd1043c5f02491920385d0e71d235697f8cc140998475" }, @@ -72781,7 +72781,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_add", "source_line": 407, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_add (center : StandardizedState) (left right : ℝ≥0) :\n transition center (left + right) =\n transition center right ∘ₖ transition center left", "statement_sha256": "ae6fafa337c2c942e3b56a05ea3642722784526914e67d701e16920a779ee495" }, @@ -72833,7 +72833,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_apply", "source_line": 378, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_apply (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) :\n transition center time state =\n multivariateGaussian\n (center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K)) (state - center))\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ)", "statement_sha256": "39e1ecb4d253c0bcde14e63439868275d33308bcc4049e19b261abb0f7340244" }, @@ -72896,7 +72896,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_covariance", "source_line": 456, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_covariance (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) (left right : Axis) :\n cov[fun next => next left, fun next => next right;\n transition center time state] =\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ) left right", "statement_sha256": "4138b297b17ced27014a966d4a151773fd47e60c332bd05c93fd28b02093e27a" }, @@ -72948,7 +72948,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_mean", "source_line": 444, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_mean (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) :\n (∫ next, next ∂transition center time state) =\n center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K)) (state - center)", "statement_sha256": "3cc5a9d29809af487f85c4f13d95c2b11f16ed74b89a18e7d50baea1328dbcf6" }, @@ -73000,7 +73000,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_univ", "source_line": 395, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_univ (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) :\n transition center time state Set.univ = 1", "statement_sha256": "244c4ffc79abf2c173eb420886f081036aed21d1e300e45b69f7f77903d1b87d" }, @@ -73032,7 +73032,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_zero", "source_line": 401, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_zero (center : StandardizedState) :\n transition center 0 = Kernel.id", "statement_sha256": "d9e947b68ba44d2be3b232ad21806d5816d484c4d0b59a8424ad597b3b6d8af1" }, @@ -73091,7 +73091,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.boolBiased_entropy_lt_log_two", "source_line": 601, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem boolBiased_entropy_lt_log_two :\n entropy boolBiased < Real.log 2", "statement_sha256": "3d3ed81e7694760d3223c7eb4acad12d5afbcc74c427bbfdb390c7c6a1c2b127" }, @@ -73171,7 +73171,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalEntropy_nonneg", "source_line": 261, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalEntropy_nonneg\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n 0 ≤ conditionalEntropy prior kernel", "statement_sha256": "fca76ad5b938028e42b94a2486e3448d59ae871cac2222dd714d23c85d85a049" }, @@ -73262,7 +73262,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalKL_eq_crossEntropy_sub_entropy", "source_line": 345, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalKL_eq_crossEntropy_sub_entropy\n (prior : FiniteLaw α) (actual reference : FiniteKernel α β)\n (hreference : ∀ x y, 0 < reference x y) :\n conditionalKL prior actual reference =\n conditionalCrossEntropy prior actual reference -\n conditionalEntropy prior actual", "statement_sha256": "9b0c45979775d8d94af8e3b26edd08d625cc4bd9476a86f6482680b9f0205748" }, @@ -73365,7 +73365,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalKL_eq_zero_iff", "source_line": 277, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalKL_eq_zero_iff\n (prior : FiniteLaw α) (actual reference : FiniteKernel α β)\n (hprior : ∀ x, 0 < prior x) :\n conditionalKL prior actual reference = 0 ↔ actual = reference", "statement_sha256": "2227898980a38579520165372f675ebf1f88a136f34b42edc1cbcae9bd59d17d" }, @@ -73446,7 +73446,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalKL_nonneg", "source_line": 268, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalKL_nonneg\n (prior : FiniteLaw α) (actual reference : FiniteKernel α β) :\n 0 ≤ conditionalKL prior actual reference", "statement_sha256": "9746cc3fdd65116340bc02c6b58e16441db55d2ed6859548621a622e6069a20e" }, @@ -73498,7 +73498,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_disjoint_pointMass_totalized", "source_line": 149, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem crossEntropy_disjoint_pointMass_totalized :\n crossEntropy (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 0", "statement_sha256": "f74ea1881802bf10ffc1978b51333f8fa69ebd93218509de661dfe10b3f7d003" }, @@ -73593,7 +73593,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_joint", "source_line": 317, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem crossEntropy_joint\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n crossEntropy (actualKernel.joint actualPrior)\n (referenceKernel.joint referencePrior) =\n crossEntropy actualPrior referencePrior +\n conditionalCrossEntropy actualPrior actualKernel referenceKernel", "statement_sha256": "e0a9f5491904443e1ef0bff7572b76e5d6bfef18fa4c6b35981cc5e1fc3f98db" }, @@ -73676,7 +73676,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_product_marginals", "source_line": 469, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "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" }, @@ -73747,7 +73747,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", "source_line": 559, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem crossEntropy_uniform [Nonempty α] (p : FiniteLaw α) :\n crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α)", "statement_sha256": "89826f4b0ca900c322e6be3704c8e3ad8136f86e93486c0d714029f211533e3f" }, @@ -73843,7 +73843,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_eq_log_card_iff", "source_line": 579, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -73916,7 +73916,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_joint_eq_add_conditional", "source_line": 302, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -74012,7 +74012,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_le_log_card", "source_line": 571, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem entropy_le_log_card [Nonempty α] (p : FiniteLaw α) :\n entropy p ≤ Real.log (Fintype.card α)", "statement_sha256": "07a88f13ae67e89ea1d525cc3201b9d5d5402dbef07e3050294a084bb1f03c62" }, @@ -74106,7 +74106,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform", "source_line": 588, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -74169,7 +74169,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_nonneg", "source_line": 126, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem entropy_nonneg (p : FiniteLaw α) : 0 ≤ entropy p", "statement_sha256": "eb76c2347a2b3a4bbfa8eb67a54c2f1cd92139215fe077b7c6655d93b1f37b7d" }, @@ -74242,7 +74242,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_product", "source_line": 397, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem entropy_product (p : FiniteLaw α) (q : FiniteLaw β) :\n entropy (p.product q) = entropy p + entropy q", "statement_sha256": "b307234b93b5624b1b8f4e5239b7b3b42771dc4b3bd363393bc39e09cf627ee6" }, @@ -74294,7 +74294,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized", "source_line": 158, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_disjoint_pointMass_totalized :\n finiteKL (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 1", "statement_sha256": "dfda67abead3160fe4ac8de606584c98755782c609f3b7ca032d4191c16f4c3c" }, @@ -74375,7 +74375,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", "source_line": 235, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -74446,7 +74446,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_eq_zero_iff", "source_line": 167, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_eq_zero_iff (p q : FiniteLaw α) :\n finiteKL p q = 0 ↔ p = q", "statement_sha256": "8453cb83f1fdff0ec74e971d76e6247fed5b97efc07a2f7c8e0fb1f791a03dc5" }, @@ -74566,7 +74566,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_joint_chain_rule", "source_line": 362, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_joint_chain_rule\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n finiteKL (actualKernel.joint actualPrior)\n (referenceKernel.joint referencePrior) =\n finiteKL actualPrior referencePrior +\n conditionalKL actualPrior actualKernel referenceKernel", "statement_sha256": "240aa136bbabda705d916bc0ee63672c1167c039608b60ca234c6670f8cfa4ac" }, @@ -74630,7 +74630,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_nonneg", "source_line": 132, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_nonneg (p q : FiniteLaw α) : 0 ≤ finiteKL p q", "statement_sha256": "78381e09fd3a1a8f1134f0484cb358e721bf0a7b1fe4532c6704251ac9a17ef2" }, @@ -74738,7 +74738,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_prior_le_joint", "source_line": 383, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_prior_le_joint\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n finiteKL actualPrior referencePrior ≤\n finiteKL (actualKernel.joint actualPrior)\n (referenceKernel.joint referencePrior)", "statement_sha256": "074ae9fe0b6528bbe8c6bc0f63c9b8a120ae92f362461315729e38e3871267a8" }, @@ -74840,7 +74840,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_product", "source_line": 414, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_product\n (p q : FiniteLaw α) (r s : FiniteLaw β)\n (hq : ∀ x, 0 < q x) (hs : ∀ y, 0 < s y) :\n finiteKL (p.product r) (q.product s) =\n finiteKL p q + finiteKL r s", "statement_sha256": "c17998cf4e03334343389eac6bb035545219af87cdbcb967fb1202ae086b09d2" }, @@ -74903,7 +74903,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_self", "source_line": 138, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_self (p : FiniteLaw α) : finiteKL p p = 0", "statement_sha256": "dbe49945a6abd0a9fac5cda377ce9190b6d3b50c2e26beeb2623a24c9d506571" }, @@ -74982,7 +74982,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteWeightMeasure_probability", "source_line": 97, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteWeightMeasure_probability {α : Type*} [Fintype α]\n [MeasurableSpace α] (p : α → ℝ) (hp : ∀ x, 0 ≤ p x)\n (hnormalized : ∑ x, p x = 1) : IsProbabilityMeasure (finiteWeightMeasure p)", "statement_sha256": "25e73f38e31b0c354f46a0ea5edd9348acd2a253f14cc700fc81805eded61e31" }, @@ -75059,7 +75059,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteWeightMeasure_singleton", "source_line": 41, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteWeightMeasure_singleton {α : Type*} [Fintype α]\n [MeasurableSpace α] [DiscreteMeasurableSpace α] (p : α → ℝ) (x : α) :\n finiteWeightMeasure p {x} = ENNReal.ofReal (p x)", "statement_sha256": "e2239d0d38a782e6d0822f5e376dabf417ce9881c431f4542bb14f33a440d068" }, @@ -75164,7 +75164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteWeightMeasure_withDensity_ratio", "source_line": 47, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteWeightMeasure_withDensity_ratio {α : Type*} [Fintype α]\n [MeasurableSpace α] [DiscreteMeasurableSpace α] (p q : α → ℝ)\n (hp : ∀ x, 0 ≤ p x) (hq : ∀ x, 0 ≤ q x)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n (finiteWeightMeasure q).withDensity (fun x => ENNReal.ofReal (p x / q x)) =\n finiteWeightMeasure p", "statement_sha256": "ca429e9ac60f1b8b826c7112dc0179f09a96ded85b45dfed248ca80d5f295184" }, @@ -75275,7 +75275,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.klDiv_finiteWeightMeasure", "source_line": 66, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem klDiv_finiteWeightMeasure {α : Type*} [Fintype α]\n [MeasurableSpace α] [DiscreteMeasurableSpace α] (p q : α → ℝ)\n (hp : ∀ x, 0 ≤ p x) (hq : ∀ x, 0 ≤ q x)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n InformationTheory.klDiv (finiteWeightMeasure p) (finiteWeightMeasure q) =\n ENNReal.ofReal (∑ x, q x * InformationTheory.klFun (p x / q x))", "statement_sha256": "5c8504b478e8b261b33e439b80cbd069160e2ab452677b8536052915e926f843" }, @@ -75371,7 +75371,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_eq_entropy_marginals", "source_line": 492, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_eq_entropy_marginals (joint : FiniteLaw (α × β))\n (hfst : ∀ x, 0 < joint.fstMarginal x)\n (hsnd : ∀ y, 0 < joint.sndMarginal y) :\n mutualInformation joint =\n entropy joint.fstMarginal + entropy joint.sndMarginal - entropy joint", "statement_sha256": "6379ceff5536b6d242c347a0f6dd6f1dbe4e65d194d885241c4489e3228abbfe" }, @@ -75477,7 +75477,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_eq_predictive_entropy_sub_conditional", "source_line": 512, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_eq_predictive_entropy_sub_conditional\n (prior : FiniteLaw α) (kernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < prior x)\n (hpredictive : ∀ y, 0 < kernel.predictive prior y) :\n mutualInformation (kernel.joint prior) =\n entropy (kernel.predictive prior) - conditionalEntropy prior kernel", "statement_sha256": "7fbab147beafdf493a455641618b75cc07c71cdd95f7cde374c9191d57f0fb5e" }, @@ -75547,7 +75547,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_eq_zero_iff", "source_line": 504, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_eq_zero_iff (joint : FiniteLaw (α × β)) :\n mutualInformation joint = 0 ↔\n joint = joint.fstMarginal.product joint.sndMarginal", "statement_sha256": "57de0e7ea300c78091891c380509ae659e81e4cb7688fb10e08e38e6dfe917d6" }, @@ -75653,7 +75653,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_le_predictive_entropy", "source_line": 540, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_le_predictive_entropy\n (prior : FiniteLaw α) (kernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < prior x)\n (hpredictive : ∀ y, 0 < kernel.predictive prior y) :\n mutualInformation (kernel.joint prior) ≤\n entropy (kernel.predictive prior)", "statement_sha256": "88959fa3823d8ddbe0f36eabff59f26a315d1ed3ea4df5ea2a5e69a1b1cf3acf" }, @@ -75723,7 +75723,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_nonneg", "source_line": 456, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_nonneg (joint : FiniteLaw (α × β)) :\n 0 ≤ mutualInformation joint", "statement_sha256": "2be6944073af35150fbd40182877f017ba9d567d88d90026d894c8cddbe42a54" }, @@ -75803,7 +75803,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_product_eq_zero", "source_line": 461, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_product_eq_zero (p : FiniteLaw α) (q : FiniteLaw β) :\n mutualInformation (p.product q) = 0", "statement_sha256": "570713996a8afee0b08819ae181309caab83ea3e3dcca798e61fa677e1ecba54" }, @@ -75874,7 +75874,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", "source_line": 553, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem uniform_mass_pos [Nonempty α] (x : α) :\n 0 < (FiniteLaw.uniform : FiniteLaw α) x", "statement_sha256": "8c17c0049626223565d8f2e7bd07c4a7c3949120f8be812915fd73a7e18d6a36" }, @@ -75948,7 +75948,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.weighted_klFun_eq_log_score", "source_line": 225, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem weighted_klFun_eq_log_score {a b : ℝ} (hb : 0 < b) :\n b * klFun (a / b) =\n (-a * Real.log b - Real.negMulLog a) + (b - a)", "statement_sha256": "c63a505cb3da7906d6251c7fe9bd7b4e584dccb04103870ec56da8324c1e5481" }, @@ -76071,7 +76071,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.comp_assoc", "source_line": 200, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem comp_assoc {δ : Type*} [Fintype δ]\n (latest : FiniteKernel γ δ) (middle : FiniteKernel β γ)\n (earliest : FiniteKernel α β) :\n comp latest (comp middle earliest) =\n comp (comp latest middle) earliest", "statement_sha256": "cca78e96f27c0345c80e86d3db2f9ea2bf971b96e00971be6be3e5ec1d7cc4c9" }, @@ -76164,7 +76164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.comp_identity_left", "source_line": 219, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem comp_identity_left [DecidableEq β] (kernel : FiniteKernel α β) :\n comp identity kernel = kernel", "statement_sha256": "0dc60d4ddbdafa58de93cfbe6b0d2590b7acbc73bffa083a3f502a95f8ed1860" }, @@ -76257,7 +76257,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.comp_identity_right", "source_line": 212, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem comp_identity_right [DecidableEq α] (kernel : FiniteKernel α β) :\n comp kernel identity = kernel", "statement_sha256": "5016774ef43ba105a60c16c82bd9f6bcc8447333b59f70332a8f9c0025a21e61" }, @@ -76346,7 +76346,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.ext_mass", "source_line": 167, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem ext_mass {kernel₁ kernel₂ : FiniteKernel α β}\n (h : kernel₁.mass = kernel₂.mass) : kernel₁ = kernel₂", "statement_sha256": "74f71c931b23eb17a6d1fe2131a893de9087afec0fbef5594233c2b6f95820f9" }, @@ -76444,7 +76444,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.joint_fstMarginal_mass", "source_line": 284, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem joint_fstMarginal_mass (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (x : α) :\n (joint prior kernel).fstMarginal x = prior x", "statement_sha256": "72dd5b01485ab65fa223e933add38cee6fae416e534420eae73be0fd688cca50" }, @@ -76562,7 +76562,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.posterior_mul_predictive", "source_line": 273, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem posterior_mul_predictive (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < predictive prior kernel y) (x : α) :\n posterior prior kernel y hy x * predictive prior kernel y =\n prior x * kernel x y", "statement_sha256": "f120ab8f6a409744241c2855030c995f293d856f5b098faf71be4c6c5b78e064" }, @@ -76667,7 +76667,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.predictive_comp", "source_line": 246, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem predictive_comp (prior : FiniteLaw α)\n (later : FiniteKernel β γ) (earlier : FiniteKernel α β) :\n (comp later earlier).predictive prior =\n later.predictive (earlier.predictive prior)", "statement_sha256": "3ef3f7883b1d73534100a26aba55026e0ffa9e34f9e984ce51508020291fa600" }, @@ -76760,7 +76760,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.predictive_identity", "source_line": 257, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem predictive_identity [DecidableEq α] (prior : FiniteLaw α) :\n identity.predictive prior = prior", "statement_sha256": "b6200c4b9de1e436a64e7cb3b151076a2591eaaf49f2b40b3bc5d5dc538bddb9" }, @@ -76858,7 +76858,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.predictive_mass", "source_line": 241, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem predictive_mass (prior : FiniteLaw α) (kernel : FiniteKernel α β)\n (y : β) :\n predictive prior kernel y = ∑ x : α, prior x * kernel x y", "statement_sha256": "e4e5541fbe8e292d0f22a8811859df52ef4763f057e24bf40485addf6862726e" }, @@ -76946,7 +76946,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.coe_mass", "source_line": 41, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem coe_mass (p : FiniteLaw α) (x : α) : p x = p.mass x", "statement_sha256": "03b1193300f3ddb7ed5b7e814d7de7b229280f91b88171d9b8cf471945a3503f" }, @@ -77035,7 +77035,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.ext_mass", "source_line": 45, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem ext_mass {p q : FiniteLaw α} (h : p.mass = q.mass) : p = q", "statement_sha256": "ca74f5a1471cba978764a33c80b0a4987d64048148e8c40cea31471d210afc80" }, @@ -77131,7 +77131,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.map_id_mass", "source_line": 144, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem map_id_mass [DecidableEq α] (p : FiniteLaw α) (x : α) :\n p.map id x = p x", "statement_sha256": "93f6e866d6e1e11e1a0037da704620e818c7c96af592b01ab75dd46c2aa571f2" }, @@ -77237,7 +77237,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.map_mass", "source_line": 140, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem map_mass [DecidableEq β] (f : α → β) (p : FiniteLaw α) (y : β) :\n p.map f y = ∑ x : α, if f x = y then p x else 0", "statement_sha256": "7cf6fe57571eeef32d0c1f516628f3418ace71b66ecebfaa60eb1cb03085cc4c" }, @@ -77325,7 +77325,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.mass_le_one", "source_line": 52, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem mass_le_one (p : FiniteLaw α) (x : α) : p x ≤ 1", "statement_sha256": "e7f27f95ebeceb1fe4f94334ba30fc3f3a9bc643269b9e6443ea418c316f155e" }, @@ -77413,7 +77413,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.mass_mem_Icc", "source_line": 60, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem mass_mem_Icc (p : FiniteLaw α) (x : α) : p x ∈ Set.Icc (0 : ℝ) 1", "statement_sha256": "0a42d65fde7a7f6692bd74d63c9cee51234642c21d5351279b574652480c2634" }, @@ -77514,7 +77514,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_fstMarginal", "source_line": 114, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_fstMarginal (p : FiniteLaw α) (q : FiniteLaw β) :\n (p.product q).fstMarginal = p", "statement_sha256": "b7fe9d74afeb07827b72b570fbef8413a46e4efa20ed7ad8d870af17bc6b5b63" }, @@ -77612,7 +77612,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_fstMarginal_mass", "source_line": 102, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_fstMarginal_mass (p : FiniteLaw α) (q : FiniteLaw β)\n (x : α) :\n (p.product q).fstMarginal x = p x", "statement_sha256": "b5fb8d3ccc65c06349ffda2571be865541e7c5d49adbc96458fa4144197abfc2" }, @@ -77713,7 +77713,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_sndMarginal", "source_line": 121, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_sndMarginal (p : FiniteLaw α) (q : FiniteLaw β) :\n (p.product q).sndMarginal = q", "statement_sha256": "b0eb272dcea919c1235985c8e8aaa0f6c7ebd2ad3acd1f22accb1753bd945dce" }, @@ -77811,7 +77811,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_sndMarginal_mass", "source_line": 108, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_sndMarginal_mass (p : FiniteLaw α) (q : FiniteLaw β)\n (y : β) :\n (p.product q).sndMarginal y = q y", "statement_sha256": "ebc0b0d04c426ac4128193316aa3b079eefd2ebc968865bf9d1824dcd76449b2" }, @@ -77896,7 +77896,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.hasDobrushinBound_comp", "source_line": 207, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem hasDobrushinBound_comp\n (later earlier : FiniteKernel State State)\n {laterCoefficient earlierCoefficient : ℝ}\n (hLater : HasDobrushinBound later laterCoefficient)\n (hEarlier : HasDobrushinBound earlier earlierCoefficient) :\n HasDobrushinBound (FiniteKernel.comp later earlier)\n (laterCoefficient * earlierCoefficient)", "statement_sha256": "aaba9f325d4a165d30f352723a46be931d915738019ff9d1f2f4411be62e80fb" }, @@ -77947,7 +77947,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.hasDobrushinBound_identity", "source_line": 238, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem hasDobrushinBound_identity [DecidableEq State] :\n HasDobrushinBound\n (FiniteKernel.identity : FiniteKernel State State) 1", "statement_sha256": "370edcac1c1c279d7b5720b35fdcb5b191367b2acbc86d286642012ec3dc06c5" }, @@ -78051,7 +78051,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.hasDobrushinBound_kernelPower", "source_line": 248, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem hasDobrushinBound_kernelPower [DecidableEq State]\n (kernel : FiniteKernel State State) {coefficient : ℝ}\n (hBound : HasDobrushinBound kernel coefficient) (n : ℕ) :\n HasDobrushinBound (kernelPower kernel n) (coefficient ^ n)", "statement_sha256": "799bb9fa8c70bae9709990088cfc5ec8324db2cf5c9bcff1fed3464d46feb269" }, @@ -78135,7 +78135,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isInvariant_comp", "source_line": 90, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isInvariant_comp\n (law : FiniteLaw State)\n (later earlier : FiniteKernel State State)\n (hEarlier : IsInvariant law earlier)\n (hLater : IsInvariant law later) :\n IsInvariant law (FiniteKernel.comp later earlier)", "statement_sha256": "c0c8114a08ab4d2baccaf7097ead87dfce0e2ed2536626fbaa533096dddce65b" }, @@ -78233,7 +78233,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isInvariant_kernelPower", "source_line": 100, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isInvariant_kernelPower [DecidableEq State]\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hInvariant : IsInvariant law kernel) (n : ℕ) :\n IsInvariant law (kernelPower kernel n)", "statement_sha256": "9b973958d5dbcdeecf1845c8ac5bb9948e29f9e9ca4dd25e6165f2a1471eeb3b" }, @@ -78327,7 +78327,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isReversible_comp_of_commute", "source_line": 129, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isReversible_comp_of_commute\n (law : FiniteLaw State)\n (later earlier : FiniteKernel State State)\n (hEarlier : IsReversible law earlier)\n (hLater : IsReversible law later)\n (hCommute : FiniteKernel.comp later earlier =\n FiniteKernel.comp earlier later) :\n IsReversible law (FiniteKernel.comp later earlier)", "statement_sha256": "daf2ebde359c800cf2d0711296a0b3440795ecee788548468f1bcfbe77438e5e" }, @@ -78388,7 +78388,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isReversible_identity", "source_line": 118, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isReversible_identity [DecidableEq State]\n (law : FiniteLaw State) :\n IsReversible law (FiniteKernel.identity : FiniteKernel State State)", "statement_sha256": "cd46d9ef2cef1f68768aec4eac43c812bfa0406cfec382c05392ad1367968e5d" }, @@ -78498,7 +78498,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isReversible_kernelPower", "source_line": 169, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isReversible_kernelPower [DecidableEq State]\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (n : ℕ) :\n IsReversible law (kernelPower kernel n)", "statement_sha256": "c2939a1ea1d4f106e25a4fc85d4ad0af72703f67d7868a7f5991d189e2697647" }, @@ -78577,7 +78577,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernelPower_add", "source_line": 70, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernelPower_add [DecidableEq State]\n (kernel : FiniteKernel State State) (m n : ℕ) :\n kernelPower kernel (m + n) =\n FiniteKernel.comp (kernelPower kernel m) (kernelPower kernel n)", "statement_sha256": "577e4de1e6f4e036c5fa1354ffa059e95f25557b4c7ac748395438bcd41c832b" }, @@ -78648,7 +78648,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernelPower_succ", "source_line": 43, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernelPower_succ [DecidableEq State]\n (kernel : FiniteKernel State State) (n : ℕ) :\n kernelPower kernel (n + 1) =\n FiniteKernel.comp kernel (kernelPower kernel n)", "statement_sha256": "ee0d05a5a0633f5c54b41a3a17502994b37f6f7f412ce165eac8ebdb20dafd5f" }, @@ -78709,7 +78709,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernelPower_zero", "source_line": 38, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernelPower_zero [DecidableEq State]\n (kernel : FiniteKernel State State) :\n kernelPower kernel 0 = FiniteKernel.identity", "statement_sha256": "ca439f608a7204e9c8f1dca956c67f68a617e5c5944f454c74b5a5cc2c35f772" }, @@ -78787,7 +78787,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernel_comp_power_comm", "source_line": 49, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernel_comp_power_comm [DecidableEq State]\n (kernel : FiniteKernel State State) (n : ℕ) :\n FiniteKernel.comp (kernelPower kernel n) kernel =\n FiniteKernel.comp kernel (kernelPower kernel n)", "statement_sha256": "0cc1377af6ecaa322512b6c79383ed2aa6f7d8cbf7214d9bf426503dbcac9460" }, @@ -78860,7 +78860,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.masterIncrement_add_current", "source_line": 288, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem masterIncrement_add_current\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (state : State) :\n masterIncrement law kernel state + law state =\n kernel.predictive law state", "statement_sha256": "c07da3a9430373811a460429571582b0801b556a4367910647851528a2b19054" }, @@ -78923,7 +78923,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.masterIncrement_sum_zero", "source_line": 279, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem masterIncrement_sum_zero\n (law : FiniteLaw State) (kernel : FiniteKernel State State) :\n ∑ state, masterIncrement law kernel state = 0", "statement_sha256": "a6b5dcfc5c2942aa05ecdee6899fd76955c94a8eea0341d1c6ed249419c57155" }, @@ -79032,7 +79032,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.totalVariation_kernelPower_le", "source_line": 261, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem totalVariation_kernelPower_le [DecidableEq State]\n (kernel : FiniteKernel State State) {coefficient : ℝ}\n (hBound : HasDobrushinBound kernel coefficient)\n (left right : FiniteLaw State) (n : ℕ) :\n totalVariation\n ((kernelPower kernel n).predictive left)\n ((kernelPower kernel n).predictive right) ≤\n coefficient ^ n * totalVariation left right", "statement_sha256": "e1c2a5c1c9fcb587d1fd6795f08207f4b09d1d1d01c24625d17920ba56a4374f" }, @@ -79086,7 +79086,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.totalVariation_nonneg", "source_line": 186, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem totalVariation_nonneg (left right : FiniteLaw State) :\n 0 ≤ totalVariation left right", "statement_sha256": "f67c872f9d548844805d03aeca542938cc67ed2acdee726db4a412ff24052844" }, @@ -79139,7 +79139,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.totalVariation_self", "source_line": 193, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem totalVariation_self (law : FiniteLaw State) :\n totalVariation law law = 0", "statement_sha256": "64cf1e2e0ead04d00b659f5b911b5bc5a9a2bc93bd8d51fab595585778f61c1e" }, @@ -79163,7 +79163,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.centeredLogLikelihoodRatio_hasSubgaussianMGF", "source_line": 169, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem centeredLogLikelihoodRatio_hasSubgaussianMGF :\n HasSubgaussianMGF centeredLogLikelihoodRatio\n logLikelihoodRatioProxy truthObservationMeasure", "statement_sha256": "95da793ce6cd659b3e15e41bc25e5fe90fcf1753c53356f802407dd370ade580" }, @@ -79194,7 +79194,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.empiricalLogLikelihoodRatio_strongLaw", "source_line": 692, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem empiricalLogLikelihoodRatio_strongLaw :\n ∀ᵐ path ∂trajectoryLaw,\n Tendsto\n (fun sampleCount =>\n FEP.StatisticalConvergence.empiricalExpectation\n trajectoryObservation logLikelihoodRatio sampleCount path)\n atTop (nhds (-identificationGap))", "statement_sha256": "9b765834f202e7de7cd02b45727ab68e64f2e60f9608eaf5d59e7fb4e0cff862" }, @@ -79266,7 +79266,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.finiteSampleBadGap_probability_le", "source_line": 233, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem finiteSampleBadGap_probability_le\n (sampleCount : ℕ) (deviation : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (deviationPositive : 0 < deviation) :\n trajectoryLaw.real (finiteSampleBadGap sampleCount deviation) ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ _index : Fin sampleCount, logLikelihoodRatioProxy))", "statement_sha256": "366db57c8a28537cc031064079a220519e85d6393768362c872ba68303a58fd3" }, @@ -79311,7 +79311,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.nonidentifiablePosteriorAfter_eq_prior", "source_line": 564, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem nonidentifiablePosteriorAfter_eq_prior\n (prior : FiniteLaw Hypothesis) (path : Trajectory) :\n ∀ sampleCount,\n nonidentifiablePosteriorAfter prior path sampleCount = prior", "statement_sha256": "6c63cef6068a76c2649edb075ce4e912979fc2857f0f4c4415cdce69d7b0bdd1" }, @@ -79356,7 +79356,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.nonidentifiablePredictive_pos", "source_line": 528, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem nonidentifiablePredictive_pos (prior : FiniteLaw Hypothesis)\n (observation : Observation) :\n 0 < nonidentifiableLikelihood.predictive prior observation", "statement_sha256": "25a0e8f52ffe4c5f984f5bfec03e0af107408c7f8afb89859672695c581e579b" }, @@ -79380,7 +79380,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorAfter_two_true_witness", "source_line": 476, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorAfter_two_true_witness :\n posteriorAfter selectedPrior (fun _ => true) 2 false = 1 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 true = 9 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 ≠ selectedPrior", "statement_sha256": "6862f8cf1497068a17807632bb654e2169c40c9b42af76cab77a7b8dc12a06f6" }, @@ -79458,7 +79458,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorAfter_zeroPrior", "source_line": 497, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorAfter_zeroPrior (prior : FiniteLaw Hypothesis)\n (path : Trajectory) (hypothesis : Hypothesis)\n (priorZero : prior hypothesis = 0) :\n ∀ sampleCount, posteriorAfter prior path sampleCount hypothesis = 0", "statement_sha256": "919313c7ff222149181ee1d034dab2b99cc8d2811f538bb444acdf37e417760a" }, @@ -79573,7 +79573,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorBadMass_contraction_of_not_badGap", "source_line": 380, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorBadMass_contraction_of_not_badGap\n (prior : FiniteLaw Hypothesis) (path : Trajectory)\n (sampleCount : ℕ) (deviation : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (deviationPositive : 0 < deviation)\n (deviationBelowGap : deviation < identificationGap)\n (truthPriorPositive : 0 < prior truthHypothesis)\n (notBadGap : path ∉ finiteSampleBadGap sampleCount deviation) :\n 0 < (sampleCount : ℝ) * (identificationGap - deviation) ∧\n posteriorAfter prior path sampleCount false ≤\n priorBadOdds prior *\n Real.exp\n (-((sampleCount : ℝ) * (identificationGap - deviation)))", "statement_sha256": "8d87bc9a9515bf813e8caadf4668ea8b89b6d37a6f66e7afcb5865bb02e568d3" }, @@ -79661,7 +79661,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorBadMass_eventually_contracts", "source_line": 744, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorBadMass_eventually_contracts\n (prior : FiniteLaw Hypothesis)\n (truthPriorPositive : 0 < prior truthHypothesis)\n (margin : ℝ) (marginPositive : 0 < margin)\n (marginBelowGap : margin < identificationGap) :\n ∀ᵐ path ∂trajectoryLaw,\n ∀ᶠ sampleCount in atTop,\n posteriorAfter prior path sampleCount false ≤\n priorBadOdds prior *\n Real.exp\n (-((sampleCount : ℝ) * (identificationGap - margin)))", "statement_sha256": "47a258687ad4da0f2f6ad8ef7b9718f72d53c914e762c8396831d7d7e4769fb6" }, @@ -79769,7 +79769,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorBadMass_failure_probability_le", "source_line": 444, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorBadMass_failure_probability_le\n (prior : FiniteLaw Hypothesis) (sampleCount : ℕ) (deviation : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (deviationPositive : 0 < deviation)\n (deviationBelowGap : deviation < identificationGap)\n (truthPriorPositive : 0 < prior truthHypothesis) :\n trajectoryLaw.real\n (posteriorBadMassFailure prior sampleCount deviation) ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ _index : Fin sampleCount, logLikelihoodRatioProxy))", "statement_sha256": "a596a5fb7768482c2fb2fc8e1979366fa1257643111e6493a10cf2cbf3843faf" }, @@ -79814,7 +79814,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.selectedLikelihood_pos", "source_line": 272, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem selectedLikelihood_pos (hypothesis : Hypothesis)\n (observation : Observation) :\n 0 < selectedLikelihood hypothesis observation", "statement_sha256": "ffe5b599b581409b7f1e4040b83a402904b83f823e5f03d75887967ea5b18dff" }, @@ -79859,7 +79859,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.selectedPredictive_pos", "source_line": 280, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem selectedPredictive_pos (prior : FiniteLaw Hypothesis)\n (observation : Observation) :\n 0 < selectedLikelihood.predictive prior observation", "statement_sha256": "7630fcc9f0036aa4f44455dba696d476c2f460da32e2ce1632c48ea679cdc13b" }, @@ -79894,7 +79894,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.trajectoryCoordinate_map", "source_line": 88, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem trajectoryCoordinate_map (index : ℕ) :\n trajectoryLaw.map (fun path : Trajectory => path index) =\n truthObservationMeasure", "statement_sha256": "f3d6e9c69ce2ace803f6060064b7b4b58f999f6504921afee41a4ec1f5d5b999" }, @@ -79918,7 +79918,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.trajectoryCoordinates_iIndep", "source_line": 79, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem trajectoryCoordinates_iIndep :\n iIndepFun (fun index : ℕ => fun path : Trajectory => path index)\n trajectoryLaw", "statement_sha256": "7bf3fa3e163aa21c7b878f9ae544e67f42691c116f33dec05980bb4b8c33961f" }, @@ -79961,7 +79961,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.density_lintegral_eq_one", "source_line": 58, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem density_lintegral_eq_one (family : FixedVarianceGaussian) (mean : ℝ) :\n ∫⁻ x, family.density mean x = 1", "statement_sha256": "3524f32a209658c011b815627e0f9f607e76dcc5c510dc9aaf5c3afae4571ada" }, @@ -80004,7 +80004,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.density_support", "source_line": 48, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem density_support (family : FixedVarianceGaussian) (mean : ℝ) :\n Function.support (family.density mean) = Set.univ", "statement_sha256": "89d26206161779d5613fdd4689a59d999c15ab3f378a7caf3dd608d62530c8a7" }, @@ -80048,7 +80048,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_eq_meanSquare", "source_line": 173, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_eq_meanSquare\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ) :\n InformationTheory.klDiv\n (family.law sourceMean)\n (family.law referenceMean) =\n ENNReal.ofReal\n ((sourceMean - referenceMean) ^ 2 /\n (2 * (family.variance : ℝ)))", "statement_sha256": "412098f1d3eb90014aa074f392bdb0ae39311c5d9dbd7668b3730f4d66c7d6c2" }, @@ -80092,7 +80092,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_eq_naturalBregman", "source_line": 570, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_eq_naturalBregman\n (family : FixedVarianceGaussian) (sourceNatural referenceNatural : ℝ) :\n InformationTheory.klDiv\n (family.law (family.naturalToMean sourceNatural))\n (family.law (family.naturalToMean referenceNatural)) =\n ENNReal.ofReal\n (family.naturalBregman sourceNatural referenceNatural)", "statement_sha256": "f0ab337c9251dcc70d8465886376481b42f55abfd44aa75edc7f8f2ccc0a64a4" }, @@ -80146,7 +80146,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_pos_of_ne", "source_line": 238, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_pos_of_ne\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ)\n (hMeans : sourceMean ≠ referenceMean) :\n 0 < InformationTheory.klDiv\n (family.law sourceMean) (family.law referenceMean)", "statement_sha256": "76b8cf862d61a70f518cb61f97e0a420157377cb01918b1673ae69498909b3cc" }, @@ -80189,7 +80189,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_self", "source_line": 233, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_self (family : FixedVarianceGaussian) (mean : ℝ) :\n InformationTheory.klDiv (family.law mean) (family.law mean) = 0", "statement_sha256": "64ee2ea014d9664fda0f9d42f83bb5ce193b3c3ae54fb2117c08f4f566d88697" }, @@ -80232,7 +80232,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_eq_gaussianReal", "source_line": 44, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_eq_gaussianReal (family : FixedVarianceGaussian) (mean : ℝ) :\n family.law mean = gaussianReal mean family.variance", "statement_sha256": "7eff7963c3fea7ef62023a163e81af76d03b7c504d49d99834859e299863da3d" }, @@ -80275,7 +80275,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_eq_withDensity", "source_line": 53, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_eq_withDensity (family : FixedVarianceGaussian) (mean : ℝ) :\n family.law mean = volume.withDensity (family.density mean)", "statement_sha256": "747f6b5d4a1e033c256969179f5cef6dbf1032759bae09b7f248b9cce744e9c1" }, @@ -80308,7 +80308,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_injective", "source_line": 588, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_injective\n (family : FixedVarianceGaussian) : Function.Injective family.law", "statement_sha256": "7a1beff03e945b067ffe5b505865cec05695ede19b16176d8573d30a94495973" }, @@ -80352,7 +80352,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_mutuallyAbsolutelyContinuous", "source_line": 74, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_mutuallyAbsolutelyContinuous\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ) :\n family.law sourceMean ≪ family.law referenceMean ∧\n family.law referenceMean ≪ family.law sourceMean", "statement_sha256": "9fad55ee055d5bb98fbeb6ffcfa80bc25c1098468316284b8752498967a8d1e2" }, @@ -80395,7 +80395,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_rnDeriv_volume", "source_line": 68, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_rnDeriv_volume (family : FixedVarianceGaussian) (mean : ℝ) :\n (family.law mean).rnDeriv volume =ᵐ[volume] family.density mean", "statement_sha256": "795e41a8c298a846da48f206f7fce39f1df6a6c2b142d0465207f22f116e074a" }, @@ -80438,7 +80438,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_univ", "source_line": 63, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_univ (family : FixedVarianceGaussian) (mean : ℝ) :\n family.law mean Set.univ = 1", "statement_sha256": "a13daf04b6bd5bc7d8c6aa4c2c3e9a262f780c1bd6bf3a6612250b3a4c5c4b44" }, @@ -80481,7 +80481,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_variance_eq_fixed", "source_line": 495, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_variance_eq_fixed\n (family : FixedVarianceGaussian) (mean : ℝ) :\n Var[(fun x : ℝ => x); family.law mean] = (family.variance : ℝ)", "statement_sha256": "414ab66f9add8f8d83c18adccc2178f585a26c45ed227b5488b9e7443f136f53" }, @@ -80524,7 +80524,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanFisher_eq_inv_variance", "source_line": 524, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanFisher_eq_inv_variance\n (family : FixedVarianceGaussian) (mean : ℝ) :\n family.meanFisher mean = ((family.variance : ℝ)⁻¹)", "statement_sha256": "b83d3f73f650c2821dbcae21a8ccb925b133cfc8c4e1ff828107a862bc070f55" }, @@ -80567,7 +80567,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanFisher_eq_naturalFisher_pullback", "source_line": 547, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanFisher_eq_naturalFisher_pullback\n (family : FixedVarianceGaussian) (mean : ℝ) :\n family.meanFisher mean =\n family.naturalFisher (family.meanToNatural mean) *\n ((family.variance : ℝ)⁻¹) ^ 2", "statement_sha256": "5cad92e590c443c9bc42b92c7fb86039ffac4854792c772587c9ab0e600b4db5" }, @@ -80611,7 +80611,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanLogDensityRatio_eq", "source_line": 405, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanLogDensityRatio_eq\n (family : FixedVarianceGaussian) (mean x : ℝ) :\n Real.log\n (gaussianPDFReal mean family.variance x /\n gaussianPDFReal 0 family.variance x) =\n mean / (family.variance : ℝ) * x -\n mean ^ 2 / (2 * (family.variance : ℝ))", "statement_sha256": "1279f17bb98008a178aadfcb1be2b1a51992db93edfcf168f519aca67f07cf45" }, @@ -80654,7 +80654,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanScore_centered", "source_line": 478, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanScore_centered\n (family : FixedVarianceGaussian) (mean : ℝ) :\n ∫ x, family.meanScore mean x ∂family.law mean = 0", "statement_sha256": "b4c1d1ae7a0dd24f42f44e85aa8ea089692f5d2fb943d5a692a845a7ada8ba33" }, @@ -80698,7 +80698,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanScore_is_logDensityRatio_derivative", "source_line": 417, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanScore_is_logDensityRatio_derivative\n (family : FixedVarianceGaussian) (mean x : ℝ) :\n HasDerivAt\n (fun candidate =>\n Real.log\n (gaussianPDFReal candidate family.variance x /\n gaussianPDFReal 0 family.variance x))\n (family.meanScore mean x) mean", "statement_sha256": "e7bb77d5419d51978baeefea6bc0cc407c44f136bf23e7eeaad976eccda1cb6a" }, @@ -80741,7 +80741,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanToNatural_hasDerivAt", "source_line": 315, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanToNatural_hasDerivAt\n (family : FixedVarianceGaussian) (mean : ℝ) :\n HasDerivAt family.meanToNatural ((family.variance : ℝ)⁻¹) mean", "statement_sha256": "113ffbce400239e38c014ab2f39d43fc6db9fe49d76651b29987dc2cfcec6a42" }, @@ -80784,7 +80784,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanToNatural_naturalToMean", "source_line": 301, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanToNatural_naturalToMean\n (family : FixedVarianceGaussian) (mean : ℝ) :\n family.naturalToMean (family.meanToNatural mean) = mean", "statement_sha256": "89e4e9c6420cb0a7000a7bb5cc0e5bc8c414544c4a690a3fdcce3086f4de095c" }, @@ -80828,7 +80828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalBregman_eq_meanSquare", "source_line": 558, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalBregman_eq_meanSquare\n (family : FixedVarianceGaussian) (sourceNatural referenceNatural : ℝ) :\n family.naturalBregman sourceNatural referenceNatural =\n (family.naturalToMean sourceNatural -\n family.naturalToMean referenceNatural) ^ 2 /\n (2 * (family.variance : ℝ))", "statement_sha256": "d2d2a6c1833316adb99606f63a32dc3bb3c73fadaaf65b6fd59fa9c3c1d91301" }, @@ -80871,7 +80871,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalFisher_eq_covariance", "source_line": 514, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalFisher_eq_covariance\n (family : FixedVarianceGaussian) (natural : ℝ) :\n family.naturalFisher natural =\n cov[(fun x : ℝ => x), (fun x : ℝ => x);\n family.law (family.naturalToMean natural)]", "statement_sha256": "e43c62cf6957a2d92fe32544bfcbcece5ef15fa2956f34e974aa66c336df7357" }, @@ -80914,7 +80914,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalFisher_eq_variance", "source_line": 502, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalFisher_eq_variance\n (family : FixedVarianceGaussian) (natural : ℝ) :\n family.naturalFisher natural = (family.variance : ℝ)", "statement_sha256": "2f4280fe08838e0e6b22c38b10d3b2020131ee569983a5e58d7b2956a5283ce9" }, @@ -80958,7 +80958,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalLogDensityRatio_eq", "source_line": 359, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalLogDensityRatio_eq\n (family : FixedVarianceGaussian) (natural x : ℝ) :\n Real.log\n (gaussianPDFReal (family.naturalToMean natural) family.variance x /\n gaussianPDFReal 0 family.variance x) =\n natural * x - family.naturalLogPartition natural", "statement_sha256": "c83c0d8d71df60b83aca5235d977063ecf61eee9288a7ee7e8fc3f38a60b72e0" }, @@ -81001,7 +81001,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalLogPartitionGradient_hasDerivAt", "source_line": 348, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalLogPartitionGradient_hasDerivAt\n (family : FixedVarianceGaussian) (natural : ℝ) :\n HasDerivAt family.naturalToMean (family.variance : ℝ) natural", "statement_sha256": "59231eb49916a0b067e08e2d7d078f2cd4a48bab2ba99903bbe67a6025b6bcdf" }, @@ -81044,7 +81044,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalLogPartition_hasDerivAt", "source_line": 325, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalLogPartition_hasDerivAt\n (family : FixedVarianceGaussian) (natural : ℝ) :\n HasDerivAt family.naturalLogPartition\n (family.naturalToMean natural) natural", "statement_sha256": "3f914f085983fab2535fc07a5d0043daf591d4095f6acdd5c7f513a8bd3c952b" }, @@ -81087,7 +81087,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalScore_centered", "source_line": 458, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalScore_centered\n (family : FixedVarianceGaussian) (natural : ℝ) :\n ∫ x, family.naturalScore natural x ∂family.law (family.naturalToMean natural) = 0", "statement_sha256": "0e6c53febe195170974f8fa19b2ecbc860470f1a7798fc081c73fcbc634ae1f1" }, @@ -81131,7 +81131,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalScore_is_logDensityRatio_derivative", "source_line": 373, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalScore_is_logDensityRatio_derivative\n (family : FixedVarianceGaussian) (natural x : ℝ) :\n HasDerivAt\n (fun candidate =>\n Real.log\n (gaussianPDFReal (family.naturalToMean candidate) family.variance x /\n gaussianPDFReal 0 family.variance x))\n (family.naturalScore natural x) natural", "statement_sha256": "1a20c6aeef757514d6fb2bdbad8cf619aca353d3b5c732c876b846eadf1bf134" }, @@ -81164,7 +81164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalToMean_injective", "source_line": 581, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalToMean_injective\n (family : FixedVarianceGaussian) : Function.Injective family.naturalToMean", "statement_sha256": "699b3a17dd0cb237e7b8463fb75de499e6a0599bb5826d68fb31be9d9855ae46" }, @@ -81207,7 +81207,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalToMean_meanToNatural", "source_line": 308, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalToMean_meanToNatural\n (family : FixedVarianceGaussian) (natural : ℝ) :\n family.meanToNatural (family.naturalToMean natural) = natural", "statement_sha256": "c3d13d4f3e47705fd7219df3b6f739d14601a3dcd402267077503928e9bd50a9" }, @@ -81229,7 +81229,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.zero_variance_excluded", "source_line": 249, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem zero_variance_excluded :\n ¬ ∃ family : FixedVarianceGaussian, family.variance = 0", "statement_sha256": "6f8465d1768298e13bc84ce4070f1ff911261050477956d5db5a983aae0f6996" }, @@ -81477,7 +81477,7 @@ ], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.actual_residual_covariance_zero", "source_line": 1149, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem actual_residual_covariance_zero\n (X : Axis (E := E) (I := I) (B := B) → Ω → ℝ)\n (hX : ∀ a, MemLp (X a) 2 μ)\n (K : Matrix (Axis (E := E) (I := I) (B := B))\n (Axis (E := E) (I := I) (B := B)) ℝ)\n [Invertible (ee K)] (hinv : K * coordinateCovariance (μ := μ) X = 1)\n (hEI : ∀ e i, K (Sum.inl e) (Sum.inr (Sum.inl i)) = 0)\n (R : Matrix I B ℝ) (e : E) (i : I) :\n cov[fun ω ↦ X (Sum.inl e) ω +\n ∑ b, ((ee K)⁻¹ * eb K) e b * X (Sum.inr (Sum.inr b)) ω,\n fun ω ↦ X (Sum.inr (Sum.inl i)) ω + ∑ b, R i b * X (Sum.inr (Sum.inr b)) ω; μ] = 0", "statement_sha256": "77198c465a080ed332e591bfddc3a41fd8f19e53a83ec2858015691d68fee3ab" }, @@ -81695,7 +81695,7 @@ ], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.covariance_residual_block", "source_line": 1099, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem covariance_residual_block\n (X : Axis (E := E) (I := I) (B := B) → Ω → ℝ)\n (hX : ∀ a, MemLp (X a) 2 μ) (L : Matrix E B ℝ) (R : Matrix I B ℝ)\n (e : E) (i : I) :\n cov[fun ω ↦ X (Sum.inl e) ω + ∑ b, L e b * X (Sum.inr (Sum.inr b)) ω,\n fun ω ↦ X (Sum.inr (Sum.inl i)) ω + ∑ b, R i b * X (Sum.inr (Sum.inr b)) ω; μ] =\n ((ei (coordinateCovariance (μ := μ) X) + L * bi (coordinateCovariance (μ := μ) X)) +\n (eb (coordinateCovariance (μ := μ) X) + L * bb (coordinateCovariance (μ := μ) X)) * R.transpose) e i", "statement_sha256": "e888440b9fc6c1f8ca9d924fe3ba41e3ba7ffe237f408732e6288dfeb26dc8d9" }, @@ -81843,7 +81843,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.covariance_weighted_add_left", "source_line": 1071, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem covariance_weighted_add_left (U V : Ω → ℝ) (Y : B → Ω → ℝ) (L : B → ℝ)\n (hU : MemLp U 2 μ) (hV : MemLp V 2 μ) (hY : ∀ b, MemLp (Y b) 2 μ) :\n cov[fun ω ↦ U ω + ∑ b, L b * Y b ω, V; μ] =\n cov[U, V; μ] + ∑ b, L b * cov[Y b, V; μ]", "statement_sha256": "f4e9456cdeb0b2d6b088ea084f0aff75a94d672b37ce19e53b68fdf87bc76b4c" }, @@ -81998,7 +81998,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.covariance_weighted_add_right", "source_line": 1082, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem covariance_weighted_add_right (U V : Ω → ℝ) (Y : B → Ω → ℝ) (R : B → ℝ)\n (hU : MemLp U 2 μ) (hV : MemLp V 2 μ) (hY : ∀ b, MemLp (Y b) 2 μ) :\n cov[U, fun ω ↦ V ω + ∑ b, R b * Y b ω; μ] =\n cov[U, V; μ] + ∑ b, R b * cov[U, Y b; μ]", "statement_sha256": "bf5bef38dd3121b5abb3e88897425705512fc63b4dde3f044fe5746b492d8cb6" }, @@ -82121,7 +82121,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FinitePrecision.inverse_rows", "source_line": 1026, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem inverse_rows\n (K S : Matrix (Axis (E := E) (I := I) (B := B))\n (Axis (E := E) (I := I) (B := B)) ℝ)\n (hinv : K * S = 1) (hEI : ∀ e i, K (Sum.inl e) (Sum.inr (Sum.inl i)) = 0) :\n ee K * ei S + eb K * bi S = 0 ∧\n ee K * eb S + eb K * bb S = 0", "statement_sha256": "9400ca9afbe9f4f23d09d322ba48da6c971441954d382a5b46513a9ece5b433d" }, @@ -82269,7 +82269,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FinitePrecision.residual_cross_block", "source_line": 1043, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem residual_cross_block\n (K S : Matrix (Axis (E := E) (I := I) (B := B))\n (Axis (E := E) (I := I) (B := B)) ℝ)\n [Invertible (ee K)]\n (hinv : K * S = 1) (hEI : ∀ e i, K (Sum.inl e) (Sum.inr (Sum.inl i)) = 0)\n (R : Matrix I B ℝ) :\n (ei S + (ee K)⁻¹ * eb K * bi S) +\n (eb S + (ee K)⁻¹ * eb K * bb S) * R.transpose = 0", "statement_sha256": "6c4fc285ae3e2b263fa2de656b7fe47319baf12182c85f48eb8c10d099a995db" }, @@ -82327,7 +82327,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.endpointCondDistrib_ae_eq_product", "source_line": 808, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem endpointCondDistrib_ae_eq_product (center : StandardizedState) :\n condDistrib endpointCoordinates blanketCoordinates (stationaryLaw center)\n =ᵐ[blanketLaw center] endpointConditionalKernel center", "statement_sha256": "01c1d49bd8aac5d73dd37ca7b6bd4f96c20f3ba076b21e6d94f80386a4326121" }, @@ -82389,7 +82389,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.endpointConditionalKernel_apply", "source_line": 209, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem endpointConditionalKernel_apply\n (center : StandardizedState) (blanket : Blanket) :\n endpointConditionalKernel center blanket =\n (gaussianReal (externalConditionalMean center blanket) (1 / 4)).prod\n (gaussianReal (internalConditionalMean center blanket) (1 / 4))", "statement_sha256": "f34af84980b955750b4278967024a8e4a5d7d03e269fd05f816474b20f4a8ab0" }, @@ -82435,7 +82435,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalCondDistrib_ae_eq", "source_line": 817, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalCondDistrib_ae_eq (center : StandardizedState) :\n condDistrib (fun state : StandardizedState => state external)\n blanketCoordinates (stationaryLaw center) =ᵐ[blanketLaw center]\n externalConditionalKernel center", "statement_sha256": "81a129c27f5b9157dacfefef40ed336e8dff1fe6db036e328c9c9a8445ce67b5" }, @@ -82484,7 +82484,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalConditionalKernel_apply", "source_line": 197, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalConditionalKernel_apply\n (center : StandardizedState) (blanket : Blanket) :\n externalConditionalKernel center blanket =\n gaussianReal (externalConditionalMean center blanket) (1 / 4)", "statement_sha256": "522fd6db4eda33d743568eb6a3f88333f4f8db318371933b4598af0969bfbf7e" }, @@ -82540,7 +82540,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalConditionalKernel_mean", "source_line": 217, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalConditionalKernel_mean\n (center : StandardizedState) (blanket : Blanket) :\n ∫ value, value ∂externalConditionalKernel center blanket =\n externalConditionalMean center blanket", "statement_sha256": "8a87459182dbaab5fc6b0298ec931364db56e2e95143dc983b632b4d1835fe68" }, @@ -82596,7 +82596,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalConditionalKernel_variance", "source_line": 223, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalConditionalKernel_variance\n (center : StandardizedState) (blanket : Blanket) :\n Var[id; externalConditionalKernel center blanket] = 1 / 4", "statement_sha256": "a723ec1dc2ad12e52d00dedebaee5f0f03cb9e24eb537afc4fc0aa7ca8b37c45" }, @@ -82666,7 +82666,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.external_condIndep_internal_given_blanket", "source_line": 879, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem external_condIndep_internal_given_blanket\n (center : StandardizedState) :\n (fun state : StandardizedState => state external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates; stationaryLaw center]\n (fun state => state internal)", "statement_sha256": "3fac47f2de5fc5e02250843c34baa9a2203a30100ce2b1753689ef072b296884" }, @@ -82712,7 +82712,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalCondDistrib_ae_eq", "source_line": 848, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalCondDistrib_ae_eq (center : StandardizedState) :\n condDistrib (fun state : StandardizedState => state internal)\n blanketCoordinates (stationaryLaw center) =ᵐ[blanketLaw center]\n internalConditionalKernel center", "statement_sha256": "a7d138e0e5f6e7235221484c530221cc57f68bc913cdd54bc7b6a500d291b702" }, @@ -82761,7 +82761,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalConditionalKernel_apply", "source_line": 203, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalConditionalKernel_apply\n (center : StandardizedState) (blanket : Blanket) :\n internalConditionalKernel center blanket =\n gaussianReal (internalConditionalMean center blanket) (1 / 4)", "statement_sha256": "dfe6c659447f074445072d220cacea5628386d399635489bc7ab3e5a39ffc441" }, @@ -82817,7 +82817,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalConditionalKernel_mean", "source_line": 229, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalConditionalKernel_mean\n (center : StandardizedState) (blanket : Blanket) :\n ∫ value, value ∂internalConditionalKernel center blanket =\n internalConditionalMean center blanket", "statement_sha256": "92ad94991717ec1d03774a9de45cd30ca3a8f4554d3c26d85d2e7c8c15224947" }, @@ -82873,7 +82873,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalConditionalKernel_variance", "source_line": 235, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalConditionalKernel_variance\n (center : StandardizedState) (blanket : Blanket) :\n Var[id; internalConditionalKernel center blanket] = 1 / 4", "statement_sha256": "588474f9b98156d7226d2739a446d4cbe9060917ac7e12fee0d86af9555f3a34" }, @@ -82901,7 +82901,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.measurable_blanketCoordinates", "source_line": 185, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem measurable_blanketCoordinates : Measurable blanketCoordinates", "statement_sha256": "ad39d083ebdaad2876683d131ea0fb4a0b29f347e7de052c1d2e18d81db35ff2" }, @@ -82929,7 +82929,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.measurable_endpointCoordinates", "source_line": 189, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem measurable_endpointCoordinates : Measurable endpointCoordinates", "statement_sha256": "78407080cb6d317b7bd6a73da0e56b7fd2a5d3f962e97d8d26fd2bcc897fb237" }, @@ -82964,7 +82964,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.measurable_partitionCoordinates", "source_line": 193, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem measurable_partitionCoordinates : Measurable partitionCoordinates", "statement_sha256": "26b607c0427ff651b4a4e218542ee7bf92dc78eb9a3ae8ababeb8fd992def581" }, @@ -82992,7 +82992,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointCovariance_eq_entries", "source_line": 943, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointCovariance_eq_entries :\n perturbedEndpointCovariance = !![4 / 15, -1 / 15; -1 / 15, 4 / 15]", "statement_sha256": "b6262e7a7f65f3c75473fee719b84410bac1e5e19c6487b2e5f29b67f4e3137c" }, @@ -83027,7 +83027,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointCovariance_external_internal", "source_line": 964, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointCovariance_external_internal :\n perturbedEndpointCovariance 0 1 = -1 / 15", "statement_sha256": "89d8e43293046048a053edd33e269b22874019a9d9103944c3f9c98ac45b8d27" }, @@ -83055,7 +83055,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointCovariance_posDef", "source_line": 956, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointCovariance_posDef :\n perturbedEndpointCovariance.PosDef", "statement_sha256": "4759f0388f1077e22858aba0ffcf28b34dc92215dbab22f489921c7ac86b6c64" }, @@ -83083,7 +83083,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointPrecision_external_internal", "source_line": 960, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointPrecision_external_internal :\n perturbedEndpointPrecision 0 1 = 1", "statement_sha256": "43b3ddfb85b4fa0a948d4422f821ea7d3f38313ee070e8941f76d8f798cbce70" }, @@ -83111,7 +83111,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointPrecision_posDef", "source_line": 939, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointPrecision_posDef :\n perturbedEndpointPrecision.PosDef", "statement_sha256": "cb126abcca1ec9104791247164a99f11aeb748c95402f7b56a9d2badec9fd9ae" }, @@ -83146,7 +83146,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpoint_external_internal_covariance", "source_line": 969, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpoint_external_internal_covariance :\n cov[perturbedExternal, perturbedInternal; perturbedEndpointLaw] =\n -1 / 15", "statement_sha256": "ca8e36a3f0c55faec68a7dc76c46e393d65bc4bfb3af7dad3d904ecc45128022" }, @@ -83181,7 +83181,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpoint_external_not_indep_internal", "source_line": 995, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpoint_external_not_indep_internal :\n ¬ IndepFun perturbedExternal perturbedInternal perturbedEndpointLaw", "statement_sha256": "5128552577cd5bd700df13d4d7ed623dcc34a7c3d66a41d32a3d350b18fcefe2" }, @@ -83253,7 +83253,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.precisionZero_covarianceNonzero_condIndep", "source_line": 925, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem precisionZero_covarianceNonzero_condIndep\n (center : StandardizedState) :\n K external internal = 0 ∧\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] = 1 / 24 ∧\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] ≠ 0 ∧\n ((fun state : StandardizedState => state external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates; stationaryLaw center]\n (fun state => state internal))", "statement_sha256": "3d6ce2667fffddf9948797f5de6f037883cfccedc3fc5e00532befca54b6a957" }, @@ -83292,7 +83292,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.stationaryPartition_eq_compProd", "source_line": 777, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem stationaryPartition_eq_compProd (center : StandardizedState) :\n (stationaryLaw center).map partitionCoordinates =\n blanketLaw center ⊗ₘ endpointConditionalKernel center", "statement_sha256": "08f28dd2b08bdd5e1e819f56f1f823c313b639a45260f169f25b5b621968d80a" }, @@ -83340,7 +83340,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.stationary_external_internal_covariance", "source_line": 912, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem stationary_external_internal_covariance (center : StandardizedState) :\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] = 1 / 24", "statement_sha256": "db425238438a92428276316e802b168a4dbec375937afa5cc397831b50b34637" }, @@ -83386,7 +83386,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.stationary_external_internal_covariance_ne_zero", "source_line": 918, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem stationary_external_internal_covariance_ne_zero\n (center : StandardizedState) :\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] ≠ 0", "statement_sha256": "8b6b706d4966bf5e9d882d9b4639cd7d6d2ec7d60650a7751d97f81683e84db5" }, @@ -83438,7 +83438,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.dot_sq_le_sq_mul_sq", "source_line": 658, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem dot_sq_le_sq_mul_sq (r g : Fin n → ℝ) :\n (dot r g) ^ 2 ≤ dot r r * dot g g", "statement_sha256": "23e7de9e9a2d4ead852d84af0133af97ac0e51728b9411ef56e13b12e7ae1e5c" }, @@ -83478,7 +83478,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.expansion_remainder_witness", "source_line": 332, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem expansion_remainder_witness : dot (divQ remainderDQ) remainderG = 1", "statement_sha256": "a34e619849d8c7878489f61b80e7d80e496702dcbe68646eee5d3d9dd6386813" }, @@ -83571,7 +83571,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_frobenius_pythagoras", "source_line": 567, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_frobenius_pythagoras (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S) :\n frobeniusSq (H - S)\n = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)", "statement_sha256": "167a12db181356515ff2c20882f258fc5e5f862a68f581a2c308796660727601" }, @@ -83656,7 +83656,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_projection_unique", "source_line": 602, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_projection_unique (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S)\n (hmin : ∀ T : Fin n → Fin n → ℝ, SymmetricOf T →\n frobeniusSq (H - S) ≤ frobeniusSq (H - T)) :\n S = symmetrize H", "statement_sha256": "22ca83690546b036a76f8440b490b9a6518a02589202be7ad415cca498a37b58" }, @@ -83696,7 +83696,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_residual_example", "source_line": 622, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_residual_example :\n frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) = 1 / 2\n ∧ frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) ≠ 0", "statement_sha256": "665290b728f4e7c76b0ef6d0818f9b56790663129ed8de6d6fb62915c225f150" }, @@ -83771,7 +83771,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_symmetrize_minimizes", "source_line": 583, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_symmetrize_minimizes (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S) :\n frobeniusSq (H - symmetrize H) ≤ frobeniusSq (H - S)\n ∧ (frobeniusSq (H - symmetrize H) = frobeniusSq (H - S) ↔ S = symmetrize H)", "statement_sha256": "83c137e1be4530b200b2ad62daa380698a167135b42050359f81e860403c40e2" }, @@ -83811,7 +83811,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168AlignedH_symmetric", "source_line": 723, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168AlignedH_symmetric : SymmetricOf fep168AlignedH", "statement_sha256": "5e2cbc4bdbef0bf2dd059a56fea81dd6ad12c28152870d747a3a452e94545a7f" }, @@ -83912,7 +83912,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_absolute_budget", "source_line": 700, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_absolute_budget (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n abs (weightedDivergence Q H DQ g dlogp) * abs (weightedDivergence Q H DQ g dlogp)\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "62a1dbd1be4b82e35741f8ba57d7de16c3628360a4afa41b15a9d139678c2333" }, @@ -83971,7 +83971,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_equality_attained", "source_line": 736, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_equality_attained :\n (weightedDivergence witnessQ fep168AlignedH remainderDQ fep168AlignedG\n (fun i => -fep168AlignedG i)) ^ 2\n = dot (divQ remainderDQ) (divQ remainderDQ) * dot fep168AlignedG fep168AlignedG\n ∧ dot fep168AlignedG fep168AlignedG ≠ 0", "statement_sha256": "ca3efc39495b2a44d1fd3b0d77f1f5ee5964e78db900d02ee2e4fbac06bc797f" }, @@ -84078,7 +84078,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_remainder_sq_budget", "source_line": 689, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_remainder_sq_budget (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n (weightedDivergence Q H DQ g dlogp) ^ 2\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "36303831eb3e4f95aec5ce289c7f773b15e122f8283da12364fbcd02b9cd1acf" }, @@ -84191,7 +84191,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_weightedDivergence_eq_remainderDot", "source_line": 675, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_weightedDivergence_eq_remainderDot (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp = dot (divQ DQ) g", "statement_sha256": "3bb4df3bd3690e79bda17541b5417f6b9abb473ec15d31e7710853ec94e7e34c" }, @@ -84254,7 +84254,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fluxDivergence_eq", "source_line": 251, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fluxDivergence_eq (Q H DQ : Fin n → Fin n → ℝ) (g : Fin n → ℝ) :\n fluxDivergence Q H DQ g = traceOf (mulOf Q H) + dot (divQ DQ) g", "statement_sha256": "347f55b9d46414356dc7d44eed8b1a50320471ca84a061b7e1a38611f4aeb3ee" }, @@ -84339,7 +84339,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.frobeniusInner_skew_symmetric", "source_line": 511, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem frobeniusInner_skew_symmetric (A B : Fin n → Fin n → ℝ)\n (hA : SkewSymmetric A) (hB : SymmetricOf B) : frobeniusInner A B = 0", "statement_sha256": "390316594342f0715d56cbb70a17d8176e1bd66a93f7996bdb2dad58e40abaf5" }, @@ -84391,7 +84391,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.frobeniusSq_add", "source_line": 542, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem frobeniusSq_add (A B : Fin n → Fin n → ℝ) :\n frobeniusSq (A + B) = frobeniusSq A + frobeniusSq B + 2 * frobeniusInner A B", "statement_sha256": "bdafdc9280e1fcac722d32188393a0b2f1e2d3d3a37e547ec0add9a26869e231" }, @@ -84452,7 +84452,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.frobeniusSq_eq_zero", "source_line": 552, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem frobeniusSq_eq_zero {X : Fin n → Fin n → ℝ} (h : frobeniusSq X = 0) : X = 0", "statement_sha256": "c5373c14473c17358c782b9d019b05ffa84590c94a99895479339b4b4dd02c5c" }, @@ -84533,7 +84533,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.graphDecomposition", "source_line": 380, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem graphDecomposition (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (i : Fin n) :\n nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i", "statement_sha256": "c725312aab65db847d234f170182fe44549d06ccca50eed6e7d323db18fb2de9" }, @@ -84604,7 +84604,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.nodeDiv_skew", "source_line": 366, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem nodeDiv_skew {Q : Fin n → Fin n → ℝ} (hQ : SkewSymmetric Q)\n (i : Fin n) : nodeDiv Q i = 2 * rowSum Q i", "statement_sha256": "98b7805a41ff79a3013bdc97fc8417e94beb266cf19d48dfe8319fd24cb3f4ad" }, @@ -84688,7 +84688,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.skewQuadratic_eq_zero", "source_line": 167, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.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" }, @@ -84773,7 +84773,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.skewTrace_eq_zero", "source_line": 149, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.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" }, @@ -84848,7 +84848,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.skewTrace_symmetrize_eq_zero", "source_line": 207, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem skewTrace_symmetrize_eq_zero (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) :\n traceOf (mulOf Q (symmetrize H)) = 0", "statement_sha256": "d60c40e46b264b43252324441b96ef8c148f761ff08109389a99930663fe8c74" }, @@ -84959,7 +84959,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.solenoidal_drop_of_constantQ", "source_line": 309, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem solenoidal_drop_of_constantQ (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (hconst : ∀ k l, DQ k l = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "a6f349eccdfada46c2220b95b11cba5c8739b89434f8c02c344b09904b2b7edd" }, @@ -85082,7 +85082,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.solenoidal_drop_of_orthogonal", "source_line": 297, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem solenoidal_drop_of_orthogonal (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (horth : dot (divQ DQ) g = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "a348f58f13ca7259d82e698923e9b02d270822047ba919a7806d62e8ec626e94" }, @@ -85163,7 +85163,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.solenoidal_expansion", "source_line": 279, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem solenoidal_expansion (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) - dot g (mulVec Q g) + dot (divQ DQ) g", "statement_sha256": "5d58fc853dd8517c5b6532af9c5baa0da3401cf5a3588fbdbfc78e2107b4e22d" }, @@ -85235,7 +85235,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sub_symmetric", "source_line": 534, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sub_symmetric {A B : Fin n → Fin n → ℝ}\n (hA : SymmetricOf A) (hB : SymmetricOf B) : SymmetricOf (A - B)", "statement_sha256": "f4d4a491090150a0913402edfa9ecfdc551c05c1ce6b79bcd7252222109f9f16" }, @@ -85286,7 +85286,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sub_symmetrize_skew", "source_line": 527, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sub_symmetrize_skew (H : Fin n → Fin n → ℝ) : SkewSymmetric (H - symmetrize H)", "statement_sha256": "4e1f65d4ae29cae9eeea65fe0fe5913d0ab1332562b8a9efb784def373d0307b" }, @@ -85337,7 +85337,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sum_negPairs", "source_line": 140, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sum_negPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j", "statement_sha256": "b56e2b71eac3b36e291b332d76055dc4f7a7081eaedef1dc853bb001d8354439" }, @@ -85388,7 +85388,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sum_swapPairs", "source_line": 135, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sum_swapPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i", "statement_sha256": "5e968d456d832db3e9ad11b9c7cc42efaa677e8e379b46be3b934a3e36feabce" }, @@ -85449,7 +85449,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.symmetrize_of_symmetric", "source_line": 215, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem symmetrize_of_symmetric (H : Fin n → Fin n → ℝ) (hH : SymmetricOf H) :\n symmetrize H = H", "statement_sha256": "fc56622c6da9a916736dd66cb63517bb5983755ec4375a36a88ecb1fc7f023e5" }, @@ -85500,7 +85500,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.symmetrize_symmetric", "source_line": 197, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem symmetrize_symmetric (H : Fin n → Fin n → ℝ) :\n SymmetricOf (symmetrize H)", "statement_sha256": "ae7bfab797932b892a66f249198c3d61f674cc094cc3cee78031f3c76255f059" }, @@ -85614,7 +85614,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.weightedCurrent_div_eq", "source_line": 417, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem weightedCurrent_div_eq (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ)\n {p : Fin n → ℝ}\n (hQ : SkewSymmetric Q) (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p (currentOf Q g) i\n = mulVec Q g i + g i * rowSum Q i\n + g i * ∑ j, (1 - p j / p i) * Q j i", "statement_sha256": "f1d115fde7ee07b2c39e54c6a0c156327c5469298f24812e7cdc2da7c1e2dd04" }, @@ -85685,7 +85685,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.weightedDivergence_eq", "source_line": 265, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem weightedDivergence_eq (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) + dot (divQ DQ) g + dot (mulVec Q g) dlogp", "statement_sha256": "0dc9f4623fc6fb14151b475ca024c3009698b228ef69c5fe2deaa70b2127e713" }, @@ -85766,7 +85766,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.weightedNodeDiv_eq", "source_line": 401, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem weightedNodeDiv_eq (W : Fin n → Fin n → ℝ) {p : Fin n → ℝ}\n (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p W i = nodeDiv W i + ∑ j, (1 - p j / p i) * W j i", "statement_sha256": "26dc4289049eba5351196ce558e7998c0473f7a0430018295c64e2aa6d198a1c" }, @@ -85793,7 +85793,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witnessQ_skew", "source_line": 445, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witnessQ_skew : SkewSymmetric witnessQ", "statement_sha256": "8c9d7462ac0918b977d4dae7ad55197115c5c3d904136c18b356f57c19dc2998" }, @@ -85820,7 +85820,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_current", "source_line": 451, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_current :\n mulVec witnessQ witnessG = fun i => if i = 0 then 0 else -1", "statement_sha256": "83cbc51043f9b1ee8314829615b8b97bd336275d92095a9c35cc4ac988e0744d" }, @@ -85847,7 +85847,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_divQ", "source_line": 460, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_divQ :\n nodeDiv witnessQ = fun i => if i = 0 then 2 else -2", "statement_sha256": "f0339062f0f6939551b6badd17057e7d2d777f9160035607299df21286c36d2f" }, @@ -85874,7 +85874,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_divergence", "source_line": 468, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_divergence :\n nodeDiv (currentOf witnessQ witnessG) = fun i => if i = 0 then 1 else -1", "statement_sha256": "1c5afa3596830bf11f20af1daa552157862fb8c4dfc4dde20cddd7e66a2c7182" }, @@ -85908,7 +85908,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_drop_fails", "source_line": 482, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_drop_fails : nodeDiv (currentOf witnessQ witnessG) 0 = 1", "statement_sha256": "617975c31cae2f5ea1ad568e08a2da1fa83b867908524dcaea9acdc87bcb73a8" }, @@ -86031,7 +86031,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.affineProjection_bregmanPythagorean", "source_line": 423, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem affineProjection_bregmanPythagorean\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet) :\n bregmanDivergence potential gradient candidate base =\n bregmanDivergence potential gradient candidate projection +\n bregmanDivergence potential gradient projection base", "statement_sha256": "55745c72f2ba5506308fb5dff8aaaaa09abd2f231a7a4cfd1ec1380d4e69973c" }, @@ -86164,7 +86164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.affineProjection_minimizes", "source_line": 441, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem affineProjection_minimizes\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet)\n (hNonnegative :\n 0 ≤ bregmanDivergence potential gradient candidate projection) :\n bregmanDivergence potential gradient projection base ≤\n bregmanDivergence potential gradient candidate base", "statement_sha256": "088946c20d36a03adda41c261d83cd7ff6b6d494d5bc130e3f7194b28d538e03" }, @@ -86258,7 +86258,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.categoricalFisher_pos", "source_line": 50, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem categoricalFisher_pos\n (carrier : CategoricalFisherCarrier d)\n (tangent : Fin d → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric carrier.model tangent tangent", "statement_sha256": "49eb0e9f5928b6d6bfcc6593ad52fb9de78c6d7c859a769da4b046536ae7ee50" }, @@ -86328,7 +86328,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.duplicatedScore_nullDirection_example", "source_line": 187, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem duplicatedScore_nullDirection_example :\n duplicatedScoreNullTangent ≠ 0 ∧\n fisherMetric duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent duplicatedScoreNullTangent = 0", "statement_sha256": "50cd7b9673bf71089450f4f3ee166d3702fe25de5e0e655111416f0bcc36bcea" }, @@ -86390,7 +86390,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.fairBernoulli_fullRank_example", "source_line": 178, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem fairBernoulli_fullRank_example :\n 0 < fisherMetric fairBernoulliScoreModel (fun _ ↦ 1) (fun _ ↦ 1)", "statement_sha256": "a8bd0f3fea9030a2711e604b9697fa18db86b2b80a28e698a7a5b751441d86c7" }, @@ -86494,7 +86494,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.fisherPullback_comp", "source_line": 198, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem fisherPullback_comp\n (model : ScoreModel Outcome d)\n (outer : Matrix (Fin d) (Fin k) ℝ)\n (inner : Matrix (Fin k) (Fin d) ℝ)\n (left right : Fin d → ℝ) :\n pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)", "statement_sha256": "9c83a105a53cbb6e7750e43cf39b37d2b54284d76922ab243870e4bfba6e906e" }, @@ -86580,7 +86580,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.mirrorDescent_threePoint_identity", "source_line": 367, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem mirrorDescent_threePoint_identity\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (left middle right : Fin d → ℝ) :\n bregmanDivergence potential gradient left right -\n bregmanDivergence potential gradient left middle -\n bregmanDivergence potential gradient middle right =\n coordinatePairing\n (fun coordinate ↦\n gradient middle coordinate - gradient right coordinate)\n (fun coordinate ↦ left coordinate - middle coordinate)", "statement_sha256": "6dce4244aee71d862ceffd42ec8eedbfa5e828f9fe1e1de6184cb961f21d4ba5" }, @@ -86683,7 +86683,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.naturalGradient_chart_transport", "source_line": 227, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem naturalGradient_chart_transport\n (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin d) ℝ) [Invertible jacobian]\n (covector tangent : Fin d → ℝ)\n (hNatural : IsNaturalGradient model covector tangent) :\n chartPullbackLower model jacobian\n (chartCoordinates jacobian tangent) =\n chartCovector jacobian covector", "statement_sha256": "bf02475201e2ab544bc45c740a63a69be56286a26d469f7f717e6c8d5d9d11ad" }, @@ -86798,7 +86798,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.naturalGradient_equivariant", "source_line": 242, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem naturalGradient_equivariant\n (model : ScoreModel Outcome d) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin d) (Fin d) ℝ) [Invertible jacobian]\n (covector : Fin d → ℝ) :\n chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector", "statement_sha256": "59050ed7a1b4f7cc4a38e14422c18b1524d59a1b58cad91c1f611b70aaebd43a" }, @@ -86872,7 +86872,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.replicatorVector_isSimplexTangent", "source_line": 470, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem replicatorVector_isSimplexTangent\n (law : FiniteLaw (Fin d)) (fitness : Fin d → ℝ) :\n IsSimplexTangent (replicatorVector law fitness)", "statement_sha256": "7cdeb7bf185110aef95f21f54725df27267a297a969ed92e028c71c0be03f004" }, @@ -86953,7 +86953,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.replicator_naturalGradient_equivalence", "source_line": 479, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem replicator_naturalGradient_equivalence\n (carrier : CategoricalFisherCarrier d) (fitness : Fin d → ℝ) :\n IsNaturalGradient carrier.model\n (fun coordinate ↦ fitness coordinate - meanFitness carrier.law fitness)\n (replicatorVector carrier.law fitness)", "statement_sha256": "6f1b7df5663ba270df61a9f37be4dec21d108a9a77958bf0a42961a4ef2fe9f8" }, @@ -87054,7 +87054,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.scalarCramerRao", "source_line": 338, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem scalarCramerRao\n (model : ScoreModel Outcome 1) (estimator : Outcome → ℝ)\n (target : ℝ)\n (certificate : ScalarCramerRaoCertificate model estimator target) :\n 1 ≤ estimatorVariance model.law estimator target * scalarFisher model", "statement_sha256": "6e27c0135903235f6666a7525055a84bb932ce477d2027bd8684551a887ce753" }, @@ -87118,7 +87118,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.scalarFisher_eq_fisherMetric", "source_line": 272, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem scalarFisher_eq_fisherMetric (model : ScoreModel Outcome 1) :\n scalarFisher model =\n fisherMetric model (fun _ ↦ 1) (fun _ ↦ 1)", "statement_sha256": "77c787599c051284e1129c3a90d7c70ef283132ad9489827b440e70b44351e94" }, @@ -87171,7 +87171,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategoricalTangent_isSimplexTangent", "source_line": 133, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategoricalTangent_isSimplexTangent :\n IsSimplexTangent twoCategoricalTangent", "statement_sha256": "8d2b048126c7194bef755cb714961e1c797cf51d9f62241cd860c36a6c8a2ff0" }, @@ -87224,7 +87224,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategoricalTangent_ne_zero", "source_line": 138, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategoricalTangent_ne_zero : twoCategoricalTangent ≠ 0", "statement_sha256": "d5a4964abd251e0caa46678945dac763f429c232091bf38aa3015f83917f3b39" }, @@ -87298,7 +87298,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategoricalTangent_spans", "source_line": 145, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategoricalTangent_spans\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n tangent = fun coordinate ↦ tangent 0 * twoCategoricalTangent coordinate", "statement_sha256": "6ff499cdb2c309d22c8a4d5f2461dcf7d37f6fe83b647287164997a8b90ffa87" }, @@ -87372,7 +87372,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_lower_on_tangent", "source_line": 106, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_lower_on_tangent\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n lowerTangent twoCategoricalScoreModel tangent =\n fun coordinate ↦ tangent coordinate / twoCategoricalLaw coordinate", "statement_sha256": "8477ad2e0344b026a996d3c62a444ddbbd91abcca8e54326758247caba8290b7" }, @@ -87425,7 +87425,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_meanFitness_zero", "source_line": 498, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_meanFitness_zero :\n meanFitness twoCategoricalLaw twoCategoricalFitness = 0", "statement_sha256": "fa6f1cd2ec1dc30487cc039f7f354cb9f6a6a6da339920bbbdae92eae1a57896" }, @@ -87499,7 +87499,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_metric_on_tangent", "source_line": 94, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_metric_on_tangent\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n fisherMetric twoCategoricalScoreModel tangent tangent =\n ∑ coordinate, tangent coordinate ^ 2 / twoCategoricalLaw coordinate", "statement_sha256": "165e7061451975bdd8217cb2588c339cdf47646fa692f1843b6260d440bfe5b8" }, @@ -87565,7 +87565,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_nonzeroTangent_metric", "source_line": 165, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_nonzeroTangent_metric :\n IsSimplexTangent twoCategoricalTangent ∧\n twoCategoricalTangent ≠ 0 ∧\n fisherMetric twoCategoricalFisherCarrier.model\n twoCategoricalTangent twoCategoricalTangent = 4", "statement_sha256": "88aa5f0c67f7f73fe9903f2806ae9861e36d8932deb22046c72ed48ff5d21aca" }, @@ -87625,7 +87625,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_replicator_ne_zero", "source_line": 514, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_replicator_ne_zero :\n replicatorVector twoCategoricalLaw twoCategoricalFitness ≠ 0", "statement_sha256": "fba2b91ed3c1ba97d84c293bd53998a2e0476addff9b25821122c0c74eab0109" }, @@ -87691,7 +87691,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_replicator_nonzero_witness", "source_line": 523, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_replicator_nonzero_witness :\n twoCategoricalFitness 0 ≠ twoCategoricalFitness 1 ∧\n replicatorVector twoCategoricalLaw twoCategoricalFitness ≠ 0 ∧\n IsNaturalGradient twoCategoricalFisherCarrier.model\n (fun coordinate ↦\n twoCategoricalFitness coordinate -\n meanFitness twoCategoricalLaw twoCategoricalFitness)\n (replicatorVector twoCategoricalLaw twoCategoricalFitness)", "statement_sha256": "27b56c8c5cc8582712c1cb2b8ca89c9fd943dd54524a608fa55ea943c145ce4e" }, @@ -87751,7 +87751,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_replicator_values", "source_line": 505, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_replicator_values :\n replicatorVector twoCategoricalLaw twoCategoricalFitness 0 = 1 / 2 ∧\n replicatorVector twoCategoricalLaw twoCategoricalFitness 1 = -(1 / 2)", "statement_sha256": "1f61fc08eea96540d2f7e765a8e1e4a9598a3e74ed3350ed6ac594aca9c3e896" }, @@ -87842,7 +87842,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_simplexMetric_fullRank", "source_line": 158, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_simplexMetric_fullRank\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric twoCategoricalFisherCarrier.model tangent tangent", "statement_sha256": "2ee23ce2b5496f4ae89d5d4524aa1be086c04d8acb8519a5810edbd7fa3289fd" }, @@ -87927,7 +87927,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.weightedCauchySchwarz_of_right_pos", "source_line": 283, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem weightedCauchySchwarz_of_right_pos\n (law : FiniteLaw Outcome) (left right : Outcome → ℝ)\n (hRight : 0 < ∑ outcome, law outcome * right outcome ^ 2) :\n (∑ outcome, law outcome * left outcome * right outcome) ^ 2 ≤\n (∑ outcome, law outcome * left outcome ^ 2) *\n ∑ outcome, law outcome * right outcome ^ 2", "statement_sha256": "00b897c94101a1f23eaeca494ffedc183a1e14e642e146067665391fe72aa2e3" }, @@ -87998,7 +87998,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.diagonal_inv", "source_line": 164, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem diagonal_inv {n : Type*} [Fintype n] [DecidableEq n] (d : n → ℝ)\n (hd : ∀ i, d i ≠ 0) :\n (Matrix.diagonal d)⁻¹ = Matrix.diagonal fun i => (d i)⁻¹", "statement_sha256": "e2b7b15a1e900baf53fc4c8b3208d16bfd6eea6f723035e2cf316e4e4bf32038" }, @@ -88080,7 +88080,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.linearGaussianParameters_ext", "source_line": 152, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem linearGaussianParameters_ext {Axis : Type*} [Fintype Axis] [DecidableEq Axis]\n (m n : LinearGaussianParameters Axis)\n (h1 : m.precision = n.precision) (h2 : m.center = n.center) : m = n", "statement_sha256": "fa7bee0856549f8652598c1522b3d48a46f7da761e22c08c7767ee884eaffd4e" }, @@ -88111,7 +88111,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdConforms", "source_line": 261, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdConforms : ContinuousConforms sdDoc sdPayload", "statement_sha256": "c6f058e288663d177d30eb0b5b97dd8d3aeb5878e96d2ed5b93cc1ebf7da8552" }, @@ -88142,7 +88142,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_covariance", "source_line": 318, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_covariance :\n (denoteContinuous sdDoc sdPayload sdConforms).covariance = sdPayload.priorCov", "statement_sha256": "8d4f4a347b92a2d513bd7f6ab4a62c76d46d9500f6c5d78420a85b1ace3dccab" }, @@ -88179,7 +88179,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_covariance_posDef", "source_line": 327, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_covariance_posDef :\n (denoteContinuous sdDoc sdPayload sdConforms).covariance.PosDef", "statement_sha256": "9a2a13bfb564d78c80d25a013dd27826021653d998fdbbc15f89c2bce4541e77" }, @@ -88222,7 +88222,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_denotation", "source_line": 301, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_denotation :\n denoteContinuous sdDoc sdPayload sdConforms = stochasticDynamicsParameters", "statement_sha256": "08658b0f64af90e886d7a00ac61a8642cfc06f7360d39ab9b71178e1a63148f9" }, @@ -88259,7 +88259,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_transitionCovariance_zero", "source_line": 341, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_transitionCovariance_zero :\n (denoteContinuous sdDoc sdPayload sdConforms).transitionCovariance 0 = 0", "statement_sha256": "32b827593283ce0adafae683a1aa5234406e96081b39ad2c553db356b8c9f1ef" }, @@ -88307,7 +88307,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_transitionMean_zero", "source_line": 334, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_transitionMean_zero (state : State (Fin 2)) :\n (denoteContinuous sdDoc sdPayload sdConforms).transitionMean 0 state = state", "statement_sha256": "96b76ac3298cda34478abedab5c0a6fd4c4d259b50932901d9f63cd30db2cabf" }, @@ -88331,7 +88331,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_wellFormed", "source_line": 259, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_wellFormed : WellFormed sdDoc", "statement_sha256": "8788ef2b83240c898b4781292c4c76b82f6a9b6804b21662919b3a3362a257d2" }, @@ -88452,7 +88452,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.generativeModel_ext", "source_line": 301, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem generativeModel_ext {State Outcome Policy : Type*}\n [Fintype State] [Fintype Outcome] [Fintype Policy]\n (m n : GenerativeModel Policy State Outcome)\n (h1 : m.initialState = n.initialState)\n (h2 : m.transition = n.transition)\n (h3 : m.likelihood = n.likelihood)\n (h4 : m.preferences = n.preferences)\n (h5 : m.policyPrior = n.policyPrior) : m = n", "statement_sha256": "e308a5d6537c15b72af746d10cfd3d1f29e18c6c08288b211286a6bd3e6277b4" }, @@ -88482,7 +88482,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolConforms", "source_line": 268, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolConforms : DiscreteConforms symBoolDoc symBoolPayload", "statement_sha256": "5dda517a6541bb9d940e4ce85db7f343b6cfddd3ed19886188ef3bb9acab8127" }, @@ -88518,7 +88518,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_denotation", "source_line": 319, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_denotation :\n denoteDiscrete symBoolDoc symBoolPayload symBoolConforms =\n symmetricBoolModel trueBiasedPolicyPrior", "statement_sha256": "d7fe87b04206659074379c4c3231bfe0341628a3761c868fc8835d098a77c655" }, @@ -88562,7 +88562,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_fullSupport", "source_line": 358, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_fullSupport :\n FullSupport (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)", "statement_sha256": "822183cbac7c1d80c6724b4acee975473278ecbc47b726fa23d35b3350b39484" }, @@ -88617,7 +88617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_predictedOutcome", "source_line": 351, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_predictedOutcome (policy : Bool) :\n predictedOutcome (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)\n policy = fairBoolLaw", "statement_sha256": "80a73f017fcc35fdf28b0c888786f11d6f869be5144044008aec97e66eb66c9d" }, @@ -88672,7 +88672,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_predictedState", "source_line": 343, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_predictedState (policy : Bool) :\n predictedState (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)\n policy = fairBoolLaw", "statement_sha256": "2e1fcc13ae845b9cab7818a818e5ea49dde5f0cace65199054f8cbb77fb20e71" }, @@ -88695,7 +88695,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_wellFormed", "source_line": 266, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_wellFormed : WellFormed symBoolDoc", "statement_sha256": "d10a44738321998dd18b64cd814159c34764f4a3e44f82fb9c3c34b062c14130" }, @@ -88797,7 +88797,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.discreteExecutionSemantics_holds", "source_line": 247, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem discreteExecutionSemantics_holds [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy)\n (sim : ℕ → FiniteLaw State) :\n DiscreteExecutionSemantics m policy sim", "statement_sha256": "75e798729dead70dbec1c30ac5332d86c903bdbe040cdfb8ba042e2b45715ace" }, @@ -88915,7 +88915,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.policyRollout_add", "source_line": 198, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem policyRollout_add [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (k n : ℕ) :\n policyRollout m policy (k + n) =\n (kernelPower (m.transition policy) k).predictive\n (policyRollout m policy n)", "statement_sha256": "e2a86bec2b306525e53edeaacec1efa0f504f8c10b483d010fe765c66ce427b3" }, @@ -89030,7 +89030,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.policyRollout_eq_plannedState", "source_line": 226, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem policyRollout_eq_plannedState [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (n : ℕ) :\n policyRollout m policy n =\n plannedState m (List.replicate n policy)", "statement_sha256": "53fbd30b9105c9c9dfeaa8de41b70a0b232d7a63f5eb9d31d590930f9c118c33" }, @@ -89141,7 +89141,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.policyRollout_kernelPower", "source_line": 184, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem policyRollout_kernelPower [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (n : ℕ) :\n policyRollout m policy n =\n (kernelPower (m.transition policy) n).predictive m.initialState", "statement_sha256": "e49967ec0e827972956e87b373966babc914f262057867d67338a620608095bc" }, @@ -89260,7 +89260,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.rolloutKernel_replicate", "source_line": 213, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem rolloutKernel_replicate [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (n : ℕ) :\n rolloutKernel m (List.replicate n policy) =\n kernelPower (m.transition policy) n", "statement_sha256": "269aad1c21287d2b57cca88424358c92252df16363243dcca655831f2bb6625e" }, @@ -89361,7 +89361,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.statement5DiscreteMatrices_holds", "source_line": 115, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem statement5DiscreteMatrices_holds {State Outcome Policy : Type*}\n [Fintype State] [Fintype Outcome] [Fintype Policy]\n (doc : GnnDocument) (nums : DiscretePayload State Outcome Policy)\n (h : DiscreteConforms doc nums)\n (tables : DiscreteTargetTables State Outcome Policy) :\n Statement5DiscreteMatrices doc nums h tables", "statement_sha256": "9192dcfadd8847a4cc596f98e3b0858681496812639c1a729a2645a4b72b7347" }, @@ -89468,7 +89468,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.symBoolDoc_policyRollout_kernelPower", "source_line": 262, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem symBoolDoc_policyRollout_kernelPower (policy : Bool) (n : ℕ) :\n policyRollout (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)\n policy n =\n (kernelPower\n ((symmetricBoolModel trueBiasedPolicyPrior).transition policy) n).predictive\n (symmetricBoolModel trueBiasedPolicyPrior).initialState", "statement_sha256": "4f7a9fa3bb591bee00e312d1e1f85b3db67c1cc80f07281f71fc0964e7736286" }, @@ -89489,7 +89489,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_eq_carrier", "source_line": 178, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_eq_carrier : K = FEP.Fin4GaussianSemigroup.K", "statement_sha256": "27b3362ee81ba200eebe24b6b00d06624eb7d5bdb302adc87ced756afc00620e" }, @@ -89523,7 +89523,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_isSymm", "source_line": 189, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_isSymm : K.IsSymm", "statement_sha256": "bd0de063d4e98370d0c13a659938be4c1105e0e7d7e2f6fda21e04ea817129bc" }, @@ -89563,7 +89563,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_mul_Sigma", "source_line": 197, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_mul_Sigma : K * Sigma = 1", "statement_sha256": "d1d6fa0b7f5681d8cdeb8a9e13529efac07a710d0eb6e446fd2e18487a7554c4" }, @@ -89597,7 +89597,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_posDef", "source_line": 193, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_posDef : K.PosDef", "statement_sha256": "b56ebb7bd5959ff344195d377d1aa856138c2d532ce73ba453fe610ab406e651" }, @@ -89625,7 +89625,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_eq_carrier", "source_line": 185, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_eq_carrier : Sigma = FEP.Fin4GaussianSemigroup.Sigma", "statement_sha256": "85e698f2e1f18ff80f394392cbebe5e0f83bfbc04ac1cdb4b974fa967875c687" }, @@ -89659,7 +89659,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_isSymm", "source_line": 205, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_isSymm : Sigma.IsSymm", "statement_sha256": "b6302bbba8f9d142cbc9b287b11097327daf0eb29d516f63a48c4f030980b2fd" }, @@ -89699,7 +89699,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_mul_K", "source_line": 201, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_mul_K : Sigma * K = 1", "statement_sha256": "98e83144ec3427c97728ad3fdb46d6c14c41510e8bad9e07246e9e15f230d916" }, @@ -89733,7 +89733,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_posDef", "source_line": 209, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_posDef : Sigma.PosDef", "statement_sha256": "2b86e4e33f19149729517780e3fb366db0b7f31bdb05722afb7a74c2f0a659a1" }, @@ -89761,7 +89761,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.axisFin_order", "source_line": 47, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem axisFin_order :\n axisFin external = 0 ∧ axisFin sensory = 1 ∧\n axisFin active = 2 ∧ axisFin internal = 3", "statement_sha256": "28cf58e658be5be3baca330a785e4184b07773d2e50580e6695c600380cc89ec" }, @@ -89789,7 +89789,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.axis_cardinality", "source_line": 52, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem axis_cardinality : Fintype.card Axis = 4", "statement_sha256": "489a5f3951777e31503b4d65f4fbcb92d4f4cc4f4b456f1b0b7bc2dcbd63046d" }, @@ -89810,7 +89810,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.continuous_fromNativeState", "source_line": 86, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem continuous_fromNativeState : Continuous fromNativeState", "statement_sha256": "ba4fb619e139c64ddd7d613c18559e3e590a9156860867434b523a3b4e09bfb1" }, @@ -89831,7 +89831,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.continuous_toNativeState", "source_line": 83, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem continuous_toNativeState : Continuous toNativeState", "statement_sha256": "f3d02dc8be5c864c085bef9f340dffbdd9abf32b3d607b49237b15bf7b729013" }, @@ -89877,7 +89877,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.covarianceRat_eq_native", "source_line": 552, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem covarianceRat_eq_native (row column : Fin 4) :\n (covarianceRat row column : ℝ) = Sigma (axisFin.symm row) (axisFin.symm column)", "statement_sha256": "bb034caa173ee88804e370c76402e8df7dd693320cea0544a3cd60abc6e1c02d" }, @@ -89919,7 +89919,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.destandardize_standardize", "source_line": 133, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem destandardize_standardize (calibration : PositiveCalibration)\n (raw : RawState) :\n destandardize calibration (standardize calibration raw) = raw", "statement_sha256": "fa75483e32e9d091263b4698a84f9613d2ee41684c4478588330b7212cd628fc" }, @@ -89958,7 +89958,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.diffusionVarianceRateRat_eq_native", "source_line": 580, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem diffusionVarianceRateRat_eq_native (center : ℝ) :\n (diffusionVarianceRateRat : ℝ) = (scalarParameters center).diffusionVarianceRate", "statement_sha256": "fc217cfc58644fc4ed24e4db463a433278204013544b89d35764952d315e49af" }, @@ -89986,7 +89986,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.fromNativeKernel_toNativeKernel", "source_line": 239, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem fromNativeKernel_toNativeKernel :\n fromNativeKernel ∘ₖ toNativeKernel = Kernel.id", "statement_sha256": "3a254f1a0a4016d3ee688feb8878472ef26f63a1203a8c052aa167ab03cb9fe9" }, @@ -90028,7 +90028,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.fromNativeState_apply", "source_line": 80, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem fromNativeState_apply (state : NativeState) (axis : Axis) :\n fromNativeState state axis = state axis", "statement_sha256": "d51c638144f4aff70f58a4d4246e850f00954d7d79677fc84a996b2bfcc7fecf" }, @@ -90060,7 +90060,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.fromNative_toNative", "source_line": 71, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem fromNative_toNative (state : StandardState) :\n fromNativeState (toNativeState state) = state", "statement_sha256": "63f4e04e9d3758aac40ba75c005c82258bfc5ac941e491d97f06e57db07359ca" }, @@ -90081,7 +90081,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.measurable_fromNativeState", "source_line": 92, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem measurable_fromNativeState : Measurable fromNativeState", "statement_sha256": "394cdb82c561b6b307454a1a943cbd380a196ee735a106a9d90892210478c125" }, @@ -90102,7 +90102,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.measurable_toNativeState", "source_line": 89, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem measurable_toNativeState : Measurable toNativeState", "statement_sha256": "e8155c2244273a62d492c2f3384362c07cfd46f18e6a9c7c0d86b17f9b3747f9" }, @@ -90135,7 +90135,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeRat_eq_native", "source_line": 486, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeRat_eq_native (row column : Fin 4) :\n (modeRat row column : ℝ) = modeVector column (axisFin.symm row)", "statement_sha256": "eea09f65bccb88a7317cc8a822a5615b96f26f4b9e1c7932fa417e93900901f3" }, @@ -90198,7 +90198,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeRateRat_eigenpair", "source_line": 497, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeRateRat_eigenpair (mode : Fin 4) :\n K *ᵥ modeVector mode = (modeRateRat mode : ℝ) • modeVector mode", "statement_sha256": "71b4dbbac5cdea6aa06c9f506e2548babc6cbb1c3286b070303a836241257b49" }, @@ -90238,7 +90238,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeVector_gram", "source_line": 533, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeVector_gram (left right : Fin 4) :\n modeVector left ⬝ᵥ modeVector right =\n if left = right then (modeSquaredNormRat left : ℝ) else 0", "statement_sha256": "ad4f2df8b60904974a4304c472ed4e5c1b77c27c73f692597965c3b36335c3a5" }, @@ -90277,7 +90277,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeVector_nonzero", "source_line": 514, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeVector_nonzero (mode : Fin 4) : modeVector mode ≠ 0", "statement_sha256": "d7b1d12a1ab535302473b5418138b15154dfc9d417457f9b8136b07098176ae7" }, @@ -90319,7 +90319,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.nonpositive_scale_excluded", "source_line": 169, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem nonpositive_scale_excluded (calibration : PositiveCalibration) (axis : Axis) :\n ¬ calibration.scale axis ≤ 0", "statement_sha256": "23057aa1af830afd3499adfa156dd0a7304d11c65c61383b51c3c5a5c07af1b0" }, @@ -90351,7 +90351,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.offsetRat_eq_native", "source_line": 568, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem offsetRat_eq_native (axis : Fin 4) :\n (offsetRat axis : ℝ) = frozenCalibration.offset (axisFin.symm axis)", "statement_sha256": "7dbc90e681d68617aea0a24d10a32e6b829ea2680a52beaf5fc022b2ce3625c7" }, @@ -90391,7 +90391,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.precisionRat_eq_native", "source_line": 543, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem precisionRat_eq_native (row column : Fin 4) :\n (precisionRat row column : ℝ) = K (axisFin.symm row) (axisFin.symm column)", "statement_sha256": "c6d84d3b1705475275be93bb31e97c4000b88e2472928abc0602086f899836e3" }, @@ -90433,7 +90433,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.rawValue_strictMono", "source_line": 142, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem rawValue_strictMono (calibration : PositiveCalibration) (axis : Axis) :\n StrictMono (rawValue calibration axis)", "statement_sha256": "e3859dd5e60cb37444d33a6293eb0182eeff511cf21435d97fcfaec54ab162d1" }, @@ -90473,7 +90473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.recognitionMean_eq", "source_line": 387, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem recognitionMean_eq (center state : StandardState) :\n recognitionMean center state = center external +\n ((state sensory - center sensory) + (state active - center active)) / 4", "statement_sha256": "835eca20ed808f557e13c332ca3d6309667d9f79a0e9bbdddaff9b8512e407fe" }, @@ -90501,7 +90501,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.recognitionRat_eq_precision", "source_line": 585, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem recognitionRat_eq_precision :\n (recognitionCoefficientRat : ℝ) = recognitionCoefficient sensory ∧\n (recognitionCoefficientRat : ℝ) = recognitionCoefficient active ∧\n (recognitionVarianceRat : ℝ) = recognitionVariance", "statement_sha256": "cedfad6e2513894e1fb346349d8c43d5d8e271e516222c6c51ad9dd37ee23cd5" }, @@ -90529,7 +90529,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.recognition_precision_blocks", "source_line": 381, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem recognition_precision_blocks :\n recognitionCoefficient sensory = 1 / 4 ∧\n recognitionCoefficient active = 1 / 4 ∧ recognitionVariance = 1 / 4", "statement_sha256": "e72ea69a5334d83c8e7c64074de64427541303ef6955e3676e75701bfd651fee" }, @@ -90568,7 +90568,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.scalarParameters_exact", "source_line": 367, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem scalarParameters_exact (center : ℝ) :\n (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2", "statement_sha256": "93eccf2dc8b0099761091e7ec5b515cea01471a9b8f1471c293472943ef851fd" }, @@ -90607,7 +90607,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.scalarRateRat_eq_native", "source_line": 575, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem scalarRateRat_eq_native (center : ℝ) :\n (scalarRateRat : ℝ) = (scalarParameters center).rate", "statement_sha256": "bd9495b87f133303cd4b9e6686b860b2d2a6ad0bcb4ec24fdbe19f00b7194a32" }, @@ -90639,7 +90639,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.scaleRat_eq_native", "source_line": 561, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem scaleRat_eq_native (axis : Fin 4) :\n (scaleRat axis : ℝ) = frozenCalibration.scale (axisFin.symm axis)", "statement_sha256": "65f6e8c940b2d0ed09e1fc0994705295cd8be7b8413d3cc4934b872d760ece35" }, @@ -90671,7 +90671,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.settingRat_eq_native", "source_line": 451, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem settingRat_eq_native (setting : Setting) :\n (∀ axis, (centerRat setting : ℝ) / 2 = (referenceSetting setting).center axis) ∧\n (∀ axis, (centerRat setting : ℝ) / 2 = (referenceSetting setting).initialMean axis) ∧\n (observationNoiseRat setting : ℝ) =\n ((referenceSetting setting).observationNoiseVariance : ℝ) ∧\n (sampleDurationRat setting : ℝ) = ((referenceSetting setting).sampleDuration : ℝ)", "statement_sha256": "39ffd28e2e3f3bec1c7b496eba96a49fa9c4734fd64537546bccf38e2f4ee46b" }, @@ -90713,7 +90713,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.standardize_destandardize", "source_line": 127, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem standardize_destandardize (calibration : PositiveCalibration)\n (state : StandardState) :\n standardize calibration (destandardize calibration state) = state", "statement_sha256": "f14dfa78703bd970bf436d3643fe10e34cce6fbb2df864ac6d9204dab7a7262f" }, @@ -90755,7 +90755,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.standardize_value_strictMono", "source_line": 149, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem standardize_value_strictMono (calibration : PositiveCalibration) (axis : Axis) :\n StrictMono (fun value : ℝ =>\n (value - calibration.offset axis) / calibration.scale axis)", "statement_sha256": "e760eff3720a6f4987338b0da88d8b3d184520d98d5580e297fe356b60c9aad9" }, @@ -90800,7 +90800,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.stationaryLaw_eq_gaussian_map", "source_line": 303, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem stationaryLaw_eq_gaussian_map (center : StandardState) :\n stationaryLaw center =\n (multivariateGaussian (toNativeState center) Sigma).map fromNativeState", "statement_sha256": "2c1b5f4f3d4522f1efbe6b828a8e6a3f6eec00d136058894ffc588055c279496" }, @@ -90845,7 +90845,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.stationaryLaw_invariant", "source_line": 309, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem stationaryLaw_invariant (center : StandardState) :\n FEP.MarkovSemigroup.InvariantLaw (nativeSemigroup center) (stationaryLaw center)", "statement_sha256": "94735721dfefd38257bcd7a3dcbc8514b084b8d54758f96543767aa73cb9eff8" }, @@ -90877,7 +90877,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.stationaryProbability_eq", "source_line": 333, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem stationaryProbability_eq (center : StandardState) :\n (stationaryProbability center : Measure StandardState) = stationaryLaw center", "statement_sha256": "11ff4098bdae1b1086278b472e465164aa70eaa0ba0c429a6b4fe4321818b99f" }, @@ -90905,7 +90905,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNativeKernel_fromNativeKernel", "source_line": 233, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNativeKernel_fromNativeKernel :\n toNativeKernel ∘ₖ fromNativeKernel = Kernel.id", "statement_sha256": "a3e667ab1f6cd57db5aac2bd80189ada831699364c22fc1bbaa26154755c7eca" }, @@ -90947,7 +90947,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNativeState_apply", "source_line": 77, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNativeState_apply (state : StandardState) (axis : Axis) :\n toNativeState state axis = state axis", "statement_sha256": "19648e21f5670bb0732b25ec8d6949c05101136c84edd576834ad2e0555f91e1" }, @@ -90979,7 +90979,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNative_actionCenter", "source_line": 349, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNative_actionCenter (action : Bool) :\n toNativeState (actionCenter action) =\n FEP.Fin4GaussianSemigroup.allOnesEmbedding (if action then 1 else -1)", "statement_sha256": "0bd15608ea0cb846a738cd680f1f69b8070e0f4cdad898d803ae1a8078fe2bbf" }, @@ -91011,7 +91011,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNative_fromNative", "source_line": 74, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNative_fromNative (state : NativeState) :\n toNativeState (fromNativeState state) = state", "statement_sha256": "4e5d730e332b4ce5c1eb8cdf98528d31898d4bbc49c9c65247980bc45cf88766" }, @@ -91072,7 +91072,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionCovariance_posDef", "source_line": 222, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionCovariance_posDef (time : ℝ≥0) (hTime : 0 < time) :\n (transitionCovariance time).PosDef", "statement_sha256": "68f4f836075c18660e550eaed3ecc7d27b2a776fd98fd8b748c721c5bf0917bd" }, @@ -91123,7 +91123,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionCovariance_posSemidef", "source_line": 217, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionCovariance_posSemidef (time : ℝ≥0) :\n (transitionCovariance time).PosSemidef", "statement_sha256": "22e6428e5b99ae029af7af3d60c3a52577b15f9c492f8d830e35aa3e63b79f98" }, @@ -91173,7 +91173,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionProbability_eq", "source_line": 327, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionProbability_eq (center state : StandardState) (time : ℝ≥0) :\n (transitionProbability center state time : Measure StandardState) =\n transition center time state", "statement_sha256": "dac540a82417dfe04ccade5a4e0b8df7509c567de785301e128fcd9f4bf76da2" }, @@ -91219,7 +91219,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionProbability_tendsto_invariant", "source_line": 338, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionProbability_tendsto_invariant (center state : StandardState) :\n Tendsto (transitionProbability center state) atTop\n (nhds (stationaryProbability center))", "statement_sha256": "6a410bb23ff53afe379a1aa5e4614dc06f29107986cc8d8750050ca48e1cb0e2" }, @@ -91275,7 +91275,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_add", "source_line": 282, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_add (center : StandardState) (left right : ℝ≥0) :\n transition center (left + right) = transition center right ∘ₖ transition center left", "statement_sha256": "cd7afd03fc321c70bc0888d43a23bcf1c393917399d73c59e85696c61642430c" }, @@ -91325,7 +91325,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_apply", "source_line": 257, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_apply (center state : StandardState) (time : ℝ≥0) :\n transition center time state =\n (FEP.Fin4GaussianSemigroup.transition (toNativeState center) time\n (toNativeState state)).map fromNativeState", "statement_sha256": "dbe428202a87f30860e5111f1c106b1bdaf3312bdef795a75962a67f1df6f7f1" }, @@ -91393,7 +91393,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_eq_gaussian_map", "source_line": 265, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_eq_gaussian_map (center state : StandardState) (time : ℝ≥0) :\n transition center time state =\n (multivariateGaussian\n (toNativeState center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K))\n (toNativeState state - toNativeState center))\n (transitionCovariance time)).map fromNativeState", "statement_sha256": "c501ffb6565b745b6a532e154f4e15f6e40de2f753ba1548fcac514cf6dc518d" }, @@ -91445,7 +91445,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_univ", "source_line": 275, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_univ (center : StandardState) (time : ℝ≥0) (state : StandardState) :\n transition center time state Set.univ = 1", "statement_sha256": "d0f6863367d0226c279351838c9107f0597cd159adc5bd288288d893034c33d5" }, @@ -91490,7 +91490,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_zero", "source_line": 278, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_zero (center : StandardState) : transition center 0 = Kernel.id", "statement_sha256": "b38499fdbd4b21d4dd161149daa873f4b01bb40d96219d377563348e6d46e0ca" }, @@ -91586,7 +91586,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.aoDecomposition", "source_line": 137, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -91665,7 +91665,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationNum_skew", "source_line": 113, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -91767,7 +91767,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationPart_skew", "source_line": 147, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -91878,7 +91878,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulation_divergence_zero", "source_line": 258, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -91967,7 +91967,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.current_eq_twice_circulation", "source_line": 167, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92014,7 +92014,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_ao_ness", "source_line": 323, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92047,7 +92047,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_ne_zero", "source_line": 315, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92073,7 +92073,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_one_zero", "source_line": 290, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92099,7 +92099,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_zero_one", "source_line": 283, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92151,7 +92151,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_current_divergence_zero", "source_line": 307, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92190,7 +92190,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_decomposition_zero_one", "source_line": 297, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92227,7 +92227,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_support", "source_line": 274, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_support (i : Fin 3) : 0 < threeCycleStationaryLaw i", "statement_sha256": "6fd6041526d915a66d760d586739b5f150b00484c51609cdbf49c38c055da7cb" }, @@ -92253,7 +92253,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_symmetricPart_zero_one", "source_line": 277, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92331,7 +92331,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.detailedBalanced_iff_circulation_eq_zero", "source_line": 199, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92440,7 +92440,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.forceSplit", "source_line": 220, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92528,7 +92528,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.mass_div_two", "source_line": 127, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92624,7 +92624,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.probabilityCurrent_eq_twice_circulation", "source_line": 188, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92712,7 +92712,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.stationaryCurrent_divergence_zero", "source_line": 249, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92791,7 +92791,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum", "source_line": 105, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92870,7 +92870,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_comm", "source_line": 120, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -92972,7 +92972,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_current_eq_zero", "source_line": 178, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -93074,7 +93074,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_reversible", "source_line": 157, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -93173,7 +93173,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulliScoreModel_fullSupport", "source_line": 332, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulliScoreModel_fullSupport (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n (outcome : Bool) :\n 0 < (bernoulliScoreModel p hp0 hp1).law outcome", "statement_sha256": "0f1658ed37fdc2c170c2f7bd12b119802f6c5a59c6f69b5b004bd447ac926f3e" }, @@ -93262,7 +93262,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulliScoreModel_identifiable", "source_line": 339, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulliScoreModel_identifiable (p : ℝ) (hp0 : 0 < p)\n (hp1 : p < 1) :\n Identifiable (bernoulliScoreModel p hp0 hp1)", "statement_sha256": "40ac09c0c24f02fdebb92d597767ac6c6d2e6ca0909381755bcff085dfc4f7b4" }, @@ -93351,7 +93351,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMatrix_entry", "source_line": 352, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMatrix_entry (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1) :\n fisherMatrix (bernoulliScoreModel p hp0 hp1) 0 0 =\n 1 / (p * (1 - p))", "statement_sha256": "97c0f989d509834bb58b389c4476b270cc0f8bb564feb73ad4cd970e9cffa68f" }, @@ -93447,7 +93447,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMatrix_isUnit", "source_line": 390, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMatrix_isUnit (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1) :\n IsUnit (fisherMatrix (bernoulliScoreModel p hp0 hp1))", "statement_sha256": "02f85214789845510ab9f5ce4c68543f217174a9db1fc9877689836c02314a66" }, @@ -93560,7 +93560,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMetric_eq", "source_line": 372, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMetric_eq (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n (left right : Fin 1 → ℝ) :\n fisherMetric (bernoulliScoreModel p hp0 hp1) left right =\n (1 / (p * (1 - p))) * left 0 * right 0", "statement_sha256": "0503467953605e8d45f48faf1824a4fa1b9da081ae2c8ed5222f25f37ffff005" }, @@ -93688,7 +93688,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMetric_pos", "source_line": 382, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMetric_pos (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n {tangent : Fin 1 → ℝ} (htangent : tangent ≠ 0) :\n 0 < fisherMetric (bernoulliScoreModel p hp0 hp1) tangent tangent", "statement_sha256": "3fa03864571957f3098736867a4b4ec4b73e8950a3bd81de356c84e389bd9886" }, @@ -93800,7 +93800,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_naturalGradient_eq", "source_line": 406, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_naturalGradient_eq (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n (covector : Fin 1 → ℝ) :\n letI := bernoulliFisherInvertible p hp0 hp1\n naturalGradient (bernoulliScoreModel p hp0 hp1) covector =\n fun _ => p * (1 - p) * covector 0", "statement_sha256": "e48fe30ed7aadd5efa661feac108f26cb5e28a3178e9e6d02c039143c227a9e8" }, @@ -93870,7 +93870,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedFairBernoulli_fisherMatrix_entry", "source_line": 444, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedFairBernoulli_fisherMatrix_entry (i j : Fin 2) :\n fisherMatrix duplicatedFairBernoulliScoreModel i j = 4", "statement_sha256": "d6fb1b48241db3c168406f87a01907cffe11e74c7beb571d75516cebd89980f0" }, @@ -93941,7 +93941,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedFairBernoulli_not_identifiable", "source_line": 476, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedFairBernoulli_not_identifiable :\n ¬Identifiable duplicatedFairBernoulliScoreModel", "statement_sha256": "98318bbdad29e91ee28c450d8c2b6a06b14f346be8385a649a6fcb5fd2135930" }, @@ -93999,7 +93999,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedScoreNullTangent_ne_zero", "source_line": 450, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedScoreNullTangent_ne_zero :\n duplicatedScoreNullTangent ≠ 0", "statement_sha256": "0ea88b7fe8e46528d069c6d68032d3f9b2ef66c8a774a918985374929f1ca4ea" }, @@ -94068,7 +94068,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedScoreNullTangent_pairing_zero", "source_line": 458, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedScoreNullTangent_pairing_zero (outcome : Bool) :\n scorePairing duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent outcome = 0", "statement_sha256": "ada3e77cfe5aa75bf48c4f4f2989d50da72d97759d5f6d5d34188a36620d7a51" }, @@ -94145,7 +94145,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedScore_fisherMetric_eq_zero", "source_line": 466, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedScore_fisherMetric_eq_zero :\n fisherMetric duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent duplicatedScoreNullTangent = 0", "statement_sha256": "2f4dd77e3190bdd3670400c5790eaa9f4e6a416cdfa6fcf24498a30044a9995d" }, @@ -94224,7 +94224,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.expectedScore_zero", "source_line": 50, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem expectedScore_zero (model : ScoreModel Outcome d) (coordinate : Fin d) :\n ∑ outcome, model.law outcome * model.score outcome coordinate = 0", "statement_sha256": "2e822814ddd799a90e8ed5dcd7d55cdcf4c3da9ff666c4f12cae56ed0ff8aa26" }, @@ -94282,7 +94282,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fairBernoulliScoreModel_scores", "source_line": 326, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fairBernoulliScoreModel_scores :\n fairBernoulliScoreModel.score false 0 = -2 ∧\n fairBernoulliScoreModel.score true 0 = 2", "statement_sha256": "e0d1e3ce534260d898ac0901bdbf525bcaf268f4fb033e5b443e64ad13260588" }, @@ -94347,7 +94347,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fairBernoulli_fisherMatrix_entry", "source_line": 363, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fairBernoulli_fisherMatrix_entry :\n fisherMatrix fairBernoulliScoreModel 0 0 = 4", "statement_sha256": "8b9cafeb83a489e6c78bcd6777ceb836ec67c381c7e7e6ea81234494b56a0e41" }, @@ -94416,7 +94416,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMatrix_symm", "source_line": 55, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMatrix_symm (model : ScoreModel Outcome d) :\n (fisherMatrix model).IsSymm", "statement_sha256": "87a7479c9d94c8c0a2e5d6552a9075d66a0e0f9de43588762c88c3b1e7e3d23e" }, @@ -94504,7 +94504,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_add_left", "source_line": 198, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_add_left (model : ScoreModel Outcome d)\n (left extra right : Fin d → ℝ) :\n fisherMetric model (fun coordinate => left coordinate + extra coordinate)\n right =\n fisherMetric model left right + fisherMetric model extra right", "statement_sha256": "7a2a5cedfc91e5fe51ab61110f517523071423f9167e708bd75370baa5afbd5d" }, @@ -94598,7 +94598,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_add_right", "source_line": 220, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_add_right (model : ScoreModel Outcome d)\n (left right extra : Fin d → ℝ) :\n fisherMetric model left\n (fun coordinate => right coordinate + extra coordinate) =\n fisherMetric model left right + fisherMetric model left extra", "statement_sha256": "6320fe9da92d05c00f0e42e9b8cae64b4240baf64941bb72febf7fbcd659acbe" }, @@ -94685,7 +94685,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_eq_dot_lowerTangent", "source_line": 178, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_eq_dot_lowerTangent (model : ScoreModel Outcome d)\n (left right : Fin d → ℝ) :\n fisherMetric model left right =\n ∑ coordinate, left coordinate * lowerTangent model right coordinate", "statement_sha256": "f650b30719870b2c9b9c595279561215bb58b85faa6fdb82d520f72b4c3946f6" }, @@ -94774,7 +94774,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_eq_zero_iff", "source_line": 82, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_eq_zero_iff (model : ScoreModel Outcome d)\n (hsupport : ∀ outcome, 0 < model.law outcome)\n (tangent : Fin d → ℝ) :\n fisherMetric model tangent tangent = 0 ↔\n ∀ outcome, scorePairing model tangent outcome = 0", "statement_sha256": "856363c2fe86876420a8b9ef174c1de45d212518bf6bc6e40e22c537cdc478c2" }, @@ -94853,7 +94853,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_nonneg", "source_line": 72, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_nonneg (model : ScoreModel Outcome d)\n (tangent : Fin d → ℝ) :\n 0 ≤ fisherMetric model tangent tangent", "statement_sha256": "0b08cfc4eff89702945a5dda152b6fbf3222cdc6993ae8c4c1cdd27bfdfbcd8e" }, @@ -94975,7 +94975,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_pos", "source_line": 120, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_pos (model : ScoreModel Outcome d)\n (hsupport : ∀ outcome, 0 < model.law outcome)\n (hidentifiable : Identifiable model) {tangent : Fin d → ℝ}\n (htangent : tangent ≠ 0) :\n 0 < fisherMetric model tangent tangent", "statement_sha256": "069fe90c7cc2203e6b89df8932ffa132081da9cc37f722612b3b22f5f7107e33" }, @@ -95072,7 +95072,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_smul_left", "source_line": 209, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_smul_left (model : ScoreModel Outcome d)\n (scale : ℝ) (left right : Fin d → ℝ) :\n fisherMetric model (fun coordinate => scale * left coordinate) right =\n scale * fisherMetric model left right", "statement_sha256": "4bbacd47afe5ebec9bee709a9793b37786af3dc867d8c7413feeedbdbc7d8bb7" }, @@ -95175,7 +95175,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_smul_right", "source_line": 231, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_smul_right (model : ScoreModel Outcome d)\n (scale : ℝ) (left right : Fin d → ℝ) :\n fisherMetric model left (fun coordinate => scale * right coordinate) =\n scale * fisherMetric model left right", "statement_sha256": "3c7644c0cf6e635202a06657b49f439dd6f08609fdd5d5ec8cfb2ca8a996f870" }, @@ -95255,7 +95255,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_symm", "source_line": 64, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_symm (model : ScoreModel Outcome d)\n (left right : Fin d → ℝ) :\n fisherMetric model left right = fisherMetric model right left", "statement_sha256": "3561ee544df20b7a0f9d59d79fb657e6120e5314b67fe5f078c2a9a0aba0514a" }, @@ -95345,7 +95345,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_duality", "source_line": 246, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_duality (model : ScoreModel Outcome d)\n (covector tangent : Fin d → ℝ)\n (h : IsNaturalGradient model covector tangent) :\n lowerTangent model tangent = covector", "statement_sha256": "38e869b715751892303c6ebdc2aab5d178a343fdcddd692be07c7be0d34047bc" }, @@ -95439,7 +95439,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_energy_identity", "source_line": 276, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_energy_identity (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)] (covector : Fin d → ℝ) :\n fisherMetric model (naturalGradient model covector)\n (naturalGradient model covector) =\n ∑ coordinate, naturalGradient model covector coordinate *\n covector coordinate", "statement_sha256": "96720f65b4986b6f1af988a2b6172b384c45857d15cf7bd5a802d847e478bfb7" }, @@ -95526,7 +95526,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_isNaturalGradient", "source_line": 258, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_isNaturalGradient (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)] (covector : Fin d → ℝ) :\n IsNaturalGradient model covector (naturalGradient model covector)", "statement_sha256": "7701db5a81c9c7872e3bceb83ae30478899f17e2f94fc4903ca16308acf23691" }, @@ -95627,7 +95627,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_metric_duality", "source_line": 266, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_metric_duality (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)]\n (covector tangent : Fin d → ℝ) :\n fisherMetric model tangent (naturalGradient model covector) =\n ∑ coordinate, tangent coordinate * covector coordinate", "statement_sha256": "b0311c86a77e7d91bd9207acbede3664482ea3a300a6f115121c3145a1cbc82f" }, @@ -95725,7 +95725,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_unique", "source_line": 287, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_unique (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)] (covector candidate : Fin d → ℝ)\n (h : IsNaturalGradient model covector candidate) :\n candidate = naturalGradient model covector", "statement_sha256": "19aa63708fbcb92b2cde84417ea0181f6c8bc6052a428ca4a7a874402af47d5b" }, @@ -95825,7 +95825,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.pullbackMetric_comp", "source_line": 142, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem pullbackMetric_comp (model : ScoreModel Outcome d)\n (outer : Matrix (Fin d) (Fin k) ℝ)\n (inner : Matrix (Fin k) (Fin m) ℝ)\n (left right : Fin m → ℝ) :\n pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)", "statement_sha256": "8f7b4ba6e5280bcffcce21d4489078eab06dd71046547f65ac823642124299ef" }, @@ -95921,7 +95921,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.pullbackMetric_nonneg", "source_line": 151, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem pullbackMetric_nonneg (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin k) ℝ) (tangent : Fin k → ℝ) :\n 0 ≤ pullbackMetric model jacobian tangent tangent", "statement_sha256": "295355d1cce9e55e1305d08d602332b2d44f96109a832d92733188c7b9863471" }, @@ -96057,7 +96057,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.pullbackMetric_pos", "source_line": 158, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem pullbackMetric_pos (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin k) ℝ)\n (hsupport : ∀ outcome, 0 < model.law outcome)\n (hidentifiable : Identifiable model)\n (hinjective : ∀ tangent : Fin k → ℝ,\n jacobian.mulVec tangent = 0 → tangent = 0)\n {tangent : Fin k → ℝ} (htangent : tangent ≠ 0) :\n 0 < pullbackMetric model jacobian tangent tangent", "statement_sha256": "c8a834597221f54164c96bbf35097177d6906fea86d2bf0820e5dde9033c000e" }, @@ -96164,7 +96164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_reversible_split_unique", "source_line": 85, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_reversible_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hRev : ∀ i j, law i * rate i j = law j * rate j i) :\n rate = symmetricPart rate law ∧ (∀ i j, circulationPart rate law i j = 0)", "statement_sha256": "bd869503b42c518a6caee9ca156220d44fc778750ed39cf53c6cf6b04004b006" }, @@ -96274,7 +96274,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_split_unique", "source_line": 62, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hS : ∀ i j, law i * S i j = law j * S j i)\n (hA : ∀ i j, law i * A i j = -(law j * A j i))\n (hSum : ∀ i j, rate i j = S i j + A i j) :\n S = symmetricPart rate law ∧ A = circulationPart rate law", "statement_sha256": "384b4d16d47da2ea364315da5e73e0f800de1831dd266cc9838b58e8733fdd69" }, @@ -96300,7 +96300,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_circulation_negative", "source_line": 163, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_circulation_negative :\n circulationPart twoByTwoW twoByTwoLaw (1 : Fin 2) (0 : Fin 2) = -1 / 4", "statement_sha256": "fb5a68d1af0f50f44b3ee545bf24468b33892d5df3f698b6115a66b0a79c0aed" }, @@ -96326,7 +96326,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_circulation_nonzero", "source_line": 156, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_circulation_nonzero :\n circulationPart twoByTwoW twoByTwoLaw (0 : Fin 2) (1 : Fin 2) = 1 / 2", "statement_sha256": "61e1a1ac08c14a9977fcdd5d6907712c101d9b6bee77103513414370e62c7bfd" }, @@ -96352,7 +96352,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_predicates", "source_line": 133, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_predicates :\n (∀ i j : Fin 2, twoByTwoLaw i * twoByTwoS i j = twoByTwoLaw j * twoByTwoS j i) ∧\n (∀ i j : Fin 2,\n twoByTwoLaw i * twoByTwoA i j = -(twoByTwoLaw j * twoByTwoA j i)) ∧\n (∀ i j : Fin 2, twoByTwoW i j = twoByTwoS i j + twoByTwoA i j)", "statement_sha256": "9a58e18759e5e2286d87e0d555507bf38eace98d2af7d775262fdb45b29c8583" }, @@ -96397,7 +96397,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_split_canonical", "source_line": 145, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_split_canonical :\n twoByTwoS = symmetricPart twoByTwoW twoByTwoLaw ∧\n twoByTwoA = circulationPart twoByTwoW twoByTwoLaw", "statement_sha256": "b258b36eb7fdb83ccb452d2d867a667383ed1310e6ae9fa30573c2532ad24c85" }, @@ -96434,7 +96434,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_support", "source_line": 128, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_support (i : Fin 2) : 0 < twoByTwoLaw i", "statement_sha256": "bbc5b3ac54d5ec3902349868ca9ccb7458bf7645449a22c2805b3b48888462e8" }, @@ -96490,7 +96490,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.bayesFactor_multiplicative", "source_line": 369, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem bayesFactor_multiplicative\n (priorOdds firstFavored firstReference secondFavored secondReference : ℝ)\n (firstReferenceNonzero : firstReference ≠ 0)\n (secondReferenceNonzero : secondReference ≠ 0) :\n bayesFactor (firstFavored * secondFavored)\n (firstReference * secondReference) =\n bayesFactor firstFavored firstReference *\n bayesFactor secondFavored secondReference ∧\n updatedModelOdds priorOdds (firstFavored * secondFavored)\n (firstReference * secondReference) =\n updatedModelOdds\n (updatedModelOdds priorOdds firstFavored firstReference)\n secondFavored secondReference", "statement_sha256": "548aa15040a96f0d3b2e77e16a5677fc1056c307174b62cb7e73488a4e965f3b" }, @@ -96511,7 +96511,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.bayesFactor_twoHypothesis_witness", "source_line": 390, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem bayesFactor_twoHypothesis_witness :\n bayesFactor (3 / 4) (1 / 4) = 3 ∧\n updatedModelOdds 1 (3 / 4) (1 / 4) = 3", "statement_sha256": "dd9e8a132e1fe27efbca471516216577add6e7787e6fb6ce691cbaf6f5f122bb" }, @@ -96543,7 +96543,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.bayesFactor_zero_denominator_boundary", "source_line": 398, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem bayesFactor_zero_denominator_boundary (favored : ℝ) :\n bayesFactor favored 0 = 0", "statement_sha256": "ad91b10ccc4c50b0706cf510d12cc741ca1a019955c49f8e86e57b88eb97030f" }, @@ -96695,7 +96695,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidence", "source_line": 107, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem finitePACBayes_changeOfMeasure_with_confidence\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior posterior : FiniteLaw Hypothesis)\n (certificate : GibbsCertificate Hypothesis)\n (referenceIsPrior : certificate.reference = prior)\n (empiricalLoss populationLoss : Hypothesis → ℝ)\n (inverseTemperature : ℝ)\n (inverseTemperaturePositive : 0 < inverseTemperature)\n (potentialIsLossGap : ∀ hypothesis,\n certificate.potential hypothesis = inverseTemperature *\n (populationLoss hypothesis - empiricalLoss hypothesis))\n (confidence : ℝ)\n (confidencePositive : 0 < confidence)\n (confidenceBelowOne : confidence < 1)\n (logMGFBound : certificate.logPartition ≤ Real.log confidence⁻¹) :\n VariationalDuality.expectation posterior populationLoss ≤\n VariationalDuality.expectation posterior empiricalLoss +\n (FiniteInformation.finiteKL posterior prior + Real.log confidence⁻¹) /\n inverseTemperature ∧\n confidence ∈ Set.Ioo 0 1", "statement_sha256": "92cfa691ed320496d1b140c17cd832bd679185c021f6e6a606e08a75e0b69d1f" }, @@ -96775,7 +96775,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.mixtureEvidence_lower_bound", "source_line": 325, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem mixtureEvidence_lower_bound\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis) :\n prior selected * likelihood selected ≤ mixtureEvidence prior likelihood", "statement_sha256": "8a12a455ed6cd312e2ddd500f41026e62bfa5dd6f104dd3a552a357a6f325c40" }, @@ -96882,7 +96882,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.mixtureLogLoss_regret", "source_line": 340, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem mixtureLogLoss_regret\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis)\n (priorPositive : 0 < prior selected)\n (likelihoodPositive : 0 < likelihood selected) :\n -Real.log (mixtureEvidence prior likelihood) ≤\n -Real.log (likelihood selected) - Real.log (prior selected)", "statement_sha256": "6ca0fd1fafea771486f83fc4af8561adeeccc15306908bfd8cd77ae4db179bf4" }, @@ -96988,7 +96988,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.posteriorGap_concentration", "source_line": 226, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem posteriorGap_concentration\n (priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)\n (sampleCount : ℕ)\n (priorGoodPositive : 0 < priorGood)\n (priorBadNonnegative : 0 ≤ priorBad)\n (likelihoodGoodPositive : 0 < likelihoodGood)\n (likelihoodBadNonnegative : 0 ≤ likelihoodBad)\n (likelihoodGapNonnegative : 0 ≤ likelihoodGap)\n (gapBound :\n likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood) :\n twoHypothesisPosteriorBad priorGood priorBad likelihoodGood likelihoodBad\n sampleCount ≤\n (priorBad / priorGood) *\n Real.exp (-((sampleCount : ℝ) * likelihoodGap))", "statement_sha256": "6e3c5a6c794410a8519e7ddff0b0b65d004a7d6bf334a55efb9b6ce0488074db" }, @@ -97108,7 +97108,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.posteriorOdds_recursion", "source_line": 187, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem posteriorOdds_recursion\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence) (evidencePositive : 0 < likelihood.predictive prior evidence)\n (favored reference : Hypothesis)\n (referencePriorPositive : 0 < prior reference)\n (referenceLikelihoodPositive : 0 < likelihood reference evidence) :\n posteriorOdds prior likelihood evidence evidencePositive favored reference =\n (prior favored / prior reference) *\n (likelihood favored evidence / likelihood reference evidence)", "statement_sha256": "e9128c1b4f41889c089d8790fa32bb5ad44c34b047200a2667e85edbfee2dfb4" }, @@ -97217,7 +97217,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.posterior_zero_of_prior_zero", "source_line": 204, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem posterior_zero_of_prior_zero\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence) (evidencePositive : 0 < likelihood.predictive prior evidence)\n (hypothesis : Hypothesis) (priorZero : prior hypothesis = 0) :\n likelihood.posterior prior evidence evidencePositive hypothesis = 0", "statement_sha256": "29ff5d8a1686254b7327b03e2e15f8bd98f9cada8115f8ee413a6d66cac00e9a" }, @@ -97351,7 +97351,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.simultaneous_frequency_bound", "source_line": 76, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/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" }, @@ -97471,7 +97471,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.subGaussian_empiricalMean_tail", "source_line": 33, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/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" }, @@ -97492,7 +97492,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.twoHypothesis_posterior_witness", "source_line": 308, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/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" }, @@ -97565,7 +97565,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision", "source_line": 89, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem covariance_mul_precision (model : LinearGaussianParameters Axis) :\n model.covariance * model.precision = 1", "statement_sha256": "9aab55a13c793e678b263140c05f0f67976d9f7ae87cbe7e6a8125cc24f5c2d3" }, @@ -97638,7 +97638,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef", "source_line": 97, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem covariance_posDef (model : LinearGaussianParameters Axis) :\n model.covariance.PosDef", "statement_sha256": "f03d0d8aa66c5801895fe1d1bd23b09f937179b0733b1ecf962043942ec44c5d" }, @@ -97722,7 +97722,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add", "source_line": 404, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -97805,7 +97805,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose", "source_line": 418, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -97878,7 +97878,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero", "source_line": 398, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem evolution_zero (model : LinearGaussianParameters Axis) :\n model.evolution 0 = 1", "statement_sha256": "e4ddba99ce105184b3629eca2506764032e6fc18d7a39067371646c65777bd94" }, @@ -97946,7 +97946,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneState_measurable", "source_line": 1174, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem finOneState_measurable : Measurable finOneState", "statement_sha256": "e37b19310bc6202b3b451a965b986a73b2d969ce21bf41543b1ebd2b43ca2eac" }, @@ -98080,7 +98080,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU", "source_line": 1278, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -98189,7 +98189,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", "source_line": 1257, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -98308,7 +98308,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", "source_line": 1240, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -98407,7 +98407,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant", "source_line": 1156, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -98480,7 +98480,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance", "source_line": 82, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem precision_mul_covariance (model : LinearGaussianParameters Axis) :\n model.precision * model.covariance = 1", "statement_sha256": "ac31d0459fa820d33a00bc2ade437cf905b4dde4d97234e69a873e6c8722fac2" }, @@ -98553,7 +98553,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant", "source_line": 900, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_invariant (model : LinearGaussianParameters Axis) :\n FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", "statement_sha256": "3e70f909cfe44f9d4ae15f6f2b0ffe26dd174b46c5ea85a26e7f0c1034a387b3" }, @@ -98637,7 +98637,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add", "source_line": 563, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -98730,7 +98730,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef", "source_line": 511, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -98813,7 +98813,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", "source_line": 460, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_posSemidef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0) :\n (model.transitionCovariance time).PosSemidef", "statement_sha256": "b4ecf704927cf579285c2ee93bf55793e3beb0d343318e812102f61411a8d777" }, @@ -98886,7 +98886,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero", "source_line": 455, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_zero (model : LinearGaussianParameters Axis) :\n model.transitionCovariance 0 = 0", "statement_sha256": "9e161ff4cf160f0a1cb6cb5f8ee651e382b3eb409e088e8f7119a25f2c5011f6" }, @@ -98980,7 +98980,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add", "source_line": 446, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99063,7 +99063,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero", "source_line": 428, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99152,7 +99152,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant", "source_line": 1126, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99236,7 +99236,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add", "source_line": 857, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99329,7 +99329,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", "source_line": 611, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99442,7 +99442,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian", "source_line": 813, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99546,7 +99546,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance", "source_line": 921, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99639,7 +99639,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean", "source_line": 912, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99732,7 +99732,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ", "source_line": 633, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -99805,7 +99805,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero", "source_line": 640, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem transition_zero (model : LinearGaussianParameters Axis) :\n model.transition 0 = Kernel.id", "statement_sha256": "c68ce184d77cac35b0d329f8f759874999be9e299309c1827abbe0b7dacd559b" }, @@ -99873,7 +99873,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.boolDynamics_nontrivial", "source_line": 257, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/formal/markov_blanket.lean", "statement": "theorem boolDynamics_nontrivial :\n let current : DynamicState Bool Bool Bool Bool :=\n (false, (true, (false, true)))\n let next : DynamicState Bool Bool Bool Bool :=\n (false, (true, (true, false)))\n next ≠ current ∧ nextLaw boolDynamics current next = 1", "statement_sha256": "b39e9c126d56aa86daf1698060eea2721a25773b08ede2fd99b4bb74bed8fd30" }, @@ -99972,7 +99972,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.conditionalJoint_fstMarginal", "source_line": 96, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100098,7 +100098,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", "source_line": 78, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100196,7 +100196,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", "source_line": 69, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100305,7 +100305,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", "source_line": 52, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100395,7 +100395,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", "source_line": 192, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100485,7 +100485,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_factorization", "source_line": 177, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100598,7 +100598,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_factorization", "source_line": 219, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100704,7 +100704,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero", "source_line": 238, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -100786,7 +100786,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", "source_line": 241, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -100874,7 +100874,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne", "source_line": 278, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/formal/markov_semigroup.lean", "statement": "theorem boolBlanketNativeActionIndexedSemigroup_kernels_ne :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", "statement_sha256": "931a5da60bcdff5edb69667f013943659624a97de40e4b23b37afbba489f08f8" }, @@ -100950,7 +100950,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", "source_line": 261, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/formal/markov_semigroup.lean", "statement": "theorem boolBlanketNativeActionIndexedSemigroup_true_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", "statement_sha256": "4557c2b23f7b628f701de8075b9ad65ae895e534361027934956bdda9c5c0fbf" }, @@ -101076,7 +101076,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel", "source_line": 199, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101192,7 +101192,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime", "source_line": 211, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101308,7 +101308,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", "source_line": 221, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101415,7 +101415,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel", "source_line": 135, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101526,7 +101526,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", "source_line": 96, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101654,7 +101654,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease", "source_line": 112, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101747,7 +101747,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw", "source_line": 87, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101943,7 +101943,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.conditionalExpectation_tower", "source_line": 106, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -102119,7 +102119,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.conditionalKernel_reconstruction", "source_line": 99, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/formal/measure_bayes.lean", "statement": "theorem conditionalKernel_reconstruction\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", "statement_sha256": "912e9622c0a14c5e5dd6e736ef895dd316ad066925522d9c65b423f62863aca0" }, @@ -102345,7 +102345,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.finite_posterior_normalized", "source_line": 134, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -102581,7 +102581,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.finite_posterior_reconstruction", "source_line": 121, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -102807,7 +102807,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.finite_zero_evidence_boundary", "source_line": 144, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -102904,7 +102904,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction", "source_line": 31, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -102991,7 +102991,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff", "source_line": 39, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -103146,7 +103146,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_composite", "source_line": 85, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -103285,7 +103285,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_density_as_likelihood_tilt", "source_line": 53, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -103430,7 +103430,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_involution", "source_line": 77, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -103550,7 +103550,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_joint_reconstruction", "source_line": 65, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/formal/measure_bayes.lean", "statement": "theorem posterior_joint_reconstruction :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", "statement_sha256": "092d4dc9512fe694ab87aed7e5c096a32cdf3e6589bf246b4d18b268d171b725" }, @@ -103679,7 +103679,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_reconstructs_prior", "source_line": 71, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/formal/measure_bayes.lean", "statement": "theorem posterior_reconstructs_prior [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", "statement_sha256": "ebeff6ea880ffcddf73263dd3f8d12226415ee3d8bfa1cfb4b683b8c96c7ce20" }, @@ -103820,7 +103820,7 @@ ], "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", "source_line": 241, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem blanketCoordinate_measurable :\n Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", "statement_sha256": "7a2477c26a3e5ed32a6f4241ffcfe179b2ec3e188216a64c51cd78e8c2b34af5" }, @@ -103961,7 +103961,7 @@ ], "qualified_name": "FEP.NativeBlanket.blanketTripleCoordinate_measurable", "source_line": 259, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -104213,7 +104213,7 @@ ], "qualified_name": "FEP.NativeBlanket.condIndepFun_measurableImages", "source_line": 573, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -104267,7 +104267,7 @@ ], "qualified_name": "FEP.NativeBlanket.correlatedBlanket_nonvacuous", "source_line": 624, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool := ⊤\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint correlatedBlanketModel)) ∧\n staticJoint correlatedBlanketModel (((false, false), false), false) = 1 / 2 ∧\n staticJoint correlatedBlanketModel (((true, true), true), true) = 1 / 2 ∧\n staticJoint correlatedBlanketModel (((false, true), false), false) ≠ 1 / 2", "statement_sha256": "a97404344146986da6193a58c89774e84c71fda26c59ceef19db38a16c104b17" }, @@ -104426,7 +104426,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", "source_line": 282, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -104538,7 +104538,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", "source_line": 116, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedKernel_apply (kernel : FiniteKernel α β) (state : α) :\n embeddedKernel kernel state = embeddedLaw (kernel.row state)", "statement_sha256": "e23bc2940c661635638d172e8d8764c3f61a229b50d56bb5648759a6fdaf6540" }, @@ -104673,7 +104673,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", "source_line": 120, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -104832,7 +104832,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_comp", "source_line": 187, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -104939,7 +104939,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", "source_line": 133, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedKernel_identity [DecidableEq α] :\n embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", "statement_sha256": "fd5ac223e982b9bcfd5ee38d33ee4344e3747eaed8bb590e9ee11790168e6914" }, @@ -105045,7 +105045,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", "source_line": 42, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_apply_singleton (law : FiniteLaw α) (state : α) :\n embeddedLaw law {state} = ENNReal.ofReal (law state)", "statement_sha256": "66e9981fa09b7d0d545d9ac3758823d79b37eafb5ae377ff8abd9a74aea43662" }, @@ -105141,7 +105141,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_univ", "source_line": 50, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_apply_univ (law : FiniteLaw α) :\n embeddedLaw law Set.univ = 1", "statement_sha256": "248e44206c481c6b1fd87c5c1cf015641f6192fc7073180ef1477322661c1d55" }, @@ -105226,7 +105226,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_injective", "source_line": 71, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_injective :\n Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", "statement_sha256": "fda99e3ad733943d914c049175e153113063755809c00dd27dfb34c81dbed41c" }, @@ -105339,7 +105339,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_integral_eq_sum", "source_line": 81, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -105458,7 +105458,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", "source_line": 150, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -105579,7 +105579,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", "source_line": 90, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -105692,7 +105692,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", "source_line": 65, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_real_singleton (law : FiniteLaw α) (state : α) :\n (embeddedLaw law).real {state} = law state", "statement_sha256": "a0a1b352dac09b3e4d0b2c5ea8be2d3e83ae71ef72837e7a37dfc1695e90c568" }, @@ -105811,7 +105811,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", "source_line": 166, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -105952,7 +105952,7 @@ ], "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", "source_line": 253, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem externalCoordinate_measurable :\n Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", "statement_sha256": "dd55d082d3200007838b57444a93840a9e25e108f17a726c8722df282d48133a" }, @@ -106093,7 +106093,7 @@ ], "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", "source_line": 247, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem internalCoordinate_measurable :\n Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", "statement_sha256": "13bb07003599a3855ecc0d7abf7ccf8739f6e254ad03d6d8a4016ea4fa4c2519" }, @@ -106288,7 +106288,7 @@ ], "qualified_name": "FEP.NativeBlanket.prediction_preserves_nativeBlanket", "source_line": 594, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -106491,7 +106491,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", "source_line": 524, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -106653,7 +106653,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", "source_line": 390, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -106834,7 +106834,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_external", "source_line": 417, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107003,7 +107003,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_internal", "source_line": 407, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107190,7 +107190,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", "source_line": 443, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107397,7 +107397,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_rectangle_factorization", "source_line": 474, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107511,7 +107511,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.actualCarrier_eq_negative_divergence", "source_line": 483, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem actualCarrier_eq_negative_divergence (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) :\n actualCarrier F Q x = -divergence (probCurrent F Γ Q) x / density F x", "statement_sha256": "20c0cb6f883bec7d9d3c06c53256bd341ea9f8a3010fd7efab03a033056967a7" }, @@ -107589,7 +107589,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.forwardDiv_tendsto", "source_line": 433, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem forwardDiv_tendsto (V : (Fin n → ℝ) → Fin n → ℝ)\n (x : Fin n → ℝ)\n (hV : ∀ i, DifferentiableAt ℝ (fun y => V y i) x) :\n Tendsto (forwardDiv V x) (𝓝[≠] (0 : ℝ)) (𝓝 (divergence V x))", "statement_sha256": "f2caabae26ab043dad2019068ecd86ed8284a74386761e29563ef47321068c8d" }, @@ -107697,7 +107697,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.negative_forwardDiv_tendsto_carrier", "source_line": 503, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem negative_forwardDiv_tendsto_carrier (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) :\n Tendsto (fun h => -forwardDiv (probCurrent F Γ Q) x h / density F x)\n (𝓝[≠] (0 : ℝ)) (𝓝 (actualCarrier F Q x))", "statement_sha256": "0fefec1b9f335188a8b6d901f6b66aac161e3aaaee6ea7f6d712c0c8e9e14e08" }, @@ -107761,7 +107761,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.nonSkew_gaussian_carrier_one", "source_line": 512, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem nonSkew_gaussian_carrier_one :\n actualCarrier gaussF qNonSkew (fun _ => 0) = 1", "statement_sha256": "5b3cef84760d8afd19772a8b8764aa9614dd3476667e6bd72dfaa69e9bd535b8" }, @@ -107875,7 +107875,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.skew_actualCarrier_zero", "source_line": 518, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem skew_actualCarrier_zero (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (x : Fin n → ℝ) : actualCarrier F Q x = 0", "statement_sha256": "34b72c992d40a3a3fbc77fdf2a93208fa3b2cd9ec9548d8432a9ccdeaf33fbe6" }, @@ -107991,7 +107991,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.stationary_current_differentiable", "source_line": 450, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem stationary_current_differentiable (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ)\n (x : Fin n → ℝ) (i : Fin n) :\n DifferentiableAt ℝ (fun y => probCurrent F Γ Q y i) x", "statement_sha256": "e05a36ead76234901bc650111f5a7943024bf53a6f6bdf841742854eaa54058c" }, @@ -108111,7 +108111,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.stationary_forwardDiv_tendsto_zero", "source_line": 469, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem stationary_forwardDiv_tendsto_zero (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (x : Fin n → ℝ) :\n Tendsto (forwardDiv (probCurrent F Γ Q) x) (𝓝[≠] (0 : ℝ)) (𝓝 0)", "statement_sha256": "f94d0cf67813b54830c47c5978d1c3028fa339eb3e29064c7d87c49a6532a412" }, @@ -108176,7 +108176,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.detailed_balance_iff", "source_line": 109, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/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" }, @@ -108278,7 +108278,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.divergence_probCurrent_eq", "source_line": 321, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem divergence_probCurrent_eq (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Γ Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) :\n divergence (probCurrent F Γ Q) x\n = density F x * GeometricMechanics.dot (gradF F x) (GeometricMechanics.mulVec Q (gradF F x))\n - density F x * ∑ i, ∑ k, Q i k * hessF F x i k", "statement_sha256": "5ea4ed1a61f8b9f6e4980ab1349bd61ecb8b439f80358b494218f2dc90d0e20a" }, @@ -108396,7 +108396,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.divergence_probCurrent_eq_zero", "source_line": 341, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem divergence_probCurrent_eq_zero (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Γ Q : Fin n → Fin n → ℝ) (hQ : GeometricMechanics.SkewSymmetric Q)\n (x : Fin n → ℝ) : divergence (probCurrent F Γ Q) x = 0", "statement_sha256": "75e3b704721ee5a4167596c1b18c28389e1ac70881ff2dff15dd7bae3c5d3e56" }, @@ -108463,7 +108463,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.entropyProduction_eq_zero_iff", "source_line": 143, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem entropyProduction_eq_zero_iff (precision ω γ : ℝ)\n (hp : 0 < precision) (hg : 0 < γ) : entropyProduction precision ω γ = 0 ↔ ω = 0", "statement_sha256": "c496ae321867396c84ba79c532378a1d8aab9e36b5c249064222e9a3a186518f" }, @@ -108530,7 +108530,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.entropyProduction_nonneg", "source_line": 135, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem entropyProduction_nonneg (precision ω γ : ℝ)\n (hp : 0 ≤ precision) (hg : 0 ≤ γ) : 0 ≤ entropyProduction precision ω γ", "statement_sha256": "d95b89433ca338dd7a73db9344b37ea64b02f662a4ee15053a0ad64110e5446b" }, @@ -108635,7 +108635,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.fderiv_qCurrent", "source_line": 300, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem fderiv_qCurrent (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) (i : Fin n) :\n fderiv ℝ (fun y => qCurrent F Q y i) x (Pi.single i 1)\n = -(density F x * gradF F x i * GeometricMechanics.mulVec Q (gradF F x) i)\n + density F x * ∑ k, Q i k * hessF F x i k", "statement_sha256": "b8c1bd7e7f3300590ded4d1bef7d191e4c6978d6f924b320b13ae14204cd08ce" }, @@ -108691,7 +108691,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", "source_line": 94, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem flow_work_eq_dissipation (γ ω : ℝ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g = -γ * normSq g", "statement_sha256": "a4e911e860ba95acd91517f17b356b8e55e4b8cdd8054311d24815fd29e9696b" }, @@ -108797,7 +108797,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.fpRate_eq_zero", "source_line": 350, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem fpRate_eq_zero (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Γ Q : Fin n → Fin n → ℝ) (hQ : GeometricMechanics.SkewSymmetric Q)\n (x : Fin n → ℝ) : fpRate F Γ Q x = 0", "statement_sha256": "34379dd119592fbffbae4f7dd86637afcbfd2e1a554dcd9bd941a2d65944b915" }, @@ -108875,7 +108875,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.freeEnergy_non_increasing", "source_line": 100, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem freeEnergy_non_increasing (γ : ℝ) (hγ : 0 ≤ γ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g ≤ 0", "statement_sha256": "c5cc44b7f1ce5214642b92b6a7141a6ba776ab423f5c5b257a95e408e6cbaa38" }, @@ -108922,7 +108922,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.gaussF_contDiff", "source_line": 370, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem gaussF_contDiff : ContDiff ℝ 2 gaussF", "statement_sha256": "3cd453379b43a9fca89c9cd6053808eae47a589fa5c05e6c16dc4b87fad31f9f" }, @@ -109000,7 +109000,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.gradF_density", "source_line": 230, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem gradF_density (F : (Fin n → ℝ) → ℝ) (x : Fin n → ℝ)\n (hF : DifferentiableAt ℝ F x) :\n gradF (density F) x = fun i => -(density F x) * gradF F x i", "statement_sha256": "834bbd0826465f091d48a4deb47a80f123bb142ff23e62a0b2f9e2befbbd9bd8" }, @@ -109058,7 +109058,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.gradF_gaussF", "source_line": 373, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem gradF_gaussF (y : Fin 2 → ℝ) : gradF gaussF y = y", "statement_sha256": "9d27f6e4bc9f6f61750a2146c185b8082b37d39e5ff767ef0ff93a80ec8319ae" }, @@ -109146,7 +109146,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hasFDerivAt_gradF", "source_line": 261, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hasFDerivAt_gradF (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (x : Fin n → ℝ) (k : Fin n) :\n HasFDerivAt (fun y => gradF F y k)\n ((fderiv ℝ (fderiv ℝ F) x).flip (Pi.single k 1)) x", "statement_sha256": "e46c7c5eef2181ed45a2d39fda7f4af4044eb94079d37217ffa893de0280eb95" }, @@ -109242,7 +109242,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hessF_eq_fderiv_gradF", "source_line": 271, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hessF_eq_fderiv_gradF (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (x : Fin n → ℝ) (i k : Fin n) :\n hessF F x i k = fderiv ℝ (fun y => gradF F y k) x (Pi.single i 1)", "statement_sha256": "f32ec7fd142f5f6a530715ac4ad272d5ac04fde7ebdfc5642bb770acc7ee3399" }, @@ -109330,7 +109330,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hessF_gaussF", "source_line": 391, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hessF_gaussF (x : Fin 2 → ℝ) (i k : Fin 2) :\n hessF gaussF x i k = if i = k then 1 else 0", "statement_sha256": "3f9c74018f03f25238073d9c228a690475c45fe8e8e66ce8613f27ffdf6cd9ac" }, @@ -109408,7 +109408,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hessF_symmetric", "source_line": 278, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hessF_symmetric (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (x : Fin n → ℝ) : GeometricMechanics.SymmetricOf (hessF F x)", "statement_sha256": "551f98d5299634775b8315255c2c33354b580bfb143c64d8ccaa7e099b86f18d" }, @@ -109480,7 +109480,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ness_signature", "source_line": 171, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/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" }, @@ -109552,7 +109552,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.nonSkew_divergence_ne_zero", "source_line": 401, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem nonSkew_divergence_ne_zero :\n divergence (probCurrent gaussF gammaId qNonSkew) (fun _ => 0) ≠ 0", "statement_sha256": "a521a7560b24889116306912a9513e759bb7b9c32d7d30cd53127be49cbe697b" }, @@ -109597,7 +109597,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.normSq_nonneg", "source_line": 59, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem normSq_nonneg (v : Fin 2 → ℝ) : 0 ≤ normSq v", "statement_sha256": "fafd19ff3801f506a4b0844cee2d0e8a314bbde6d55fde8a73fb682016bf6b96" }, @@ -109693,7 +109693,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.probCurrent_eq", "source_line": 240, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem probCurrent_eq (F : (Fin n → ℝ) → ℝ) (Γ Q : Fin n → Fin n → ℝ)\n (x : Fin n → ℝ) (hF : DifferentiableAt ℝ F x) :\n probCurrent F Γ Q x\n = fun i => -(density F x) * GeometricMechanics.mulVec Q (gradF F x) i", "statement_sha256": "05656eb126d008f12703f0e75e399398ff3d669b038925f79b15d99961e4e6c9" }, @@ -109781,7 +109781,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.qGradient_orthogonal", "source_line": 254, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem qGradient_orthogonal (F : (Fin n → ℝ) → ℝ) (Q : Fin n → Fin n → ℝ)\n (hQ : GeometricMechanics.SkewSymmetric Q) (x : Fin n → ℝ) :\n GeometricMechanics.dot (GeometricMechanics.mulVec Q (gradF F x)) (gradF F x) = 0", "statement_sha256": "a51fa51484c54cd17e562c2744c26df3985d8343f558bb73e92acfba7eef02c6" }, @@ -109853,7 +109853,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.rotation_current_ne_zero_divergence_zero", "source_line": 409, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem rotation_current_ne_zero_divergence_zero :\n probCurrent gaussF gammaId qRot ![0, 1] ≠ 0 ∧\n divergence (probCurrent gaussF gammaId qRot) ![0, 1] = 0", "statement_sha256": "c8dd924a165d497806de6fd793b316171f573b1d2acf88b9b929ae7c79507af7" }, @@ -109932,7 +109932,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.skew_contract_symm", "source_line": 285, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem skew_contract_symm (Q H : Fin n → Fin n → ℝ)\n (hQ : GeometricMechanics.SkewSymmetric Q) (hH : GeometricMechanics.SymmetricOf H) :\n ∑ i, ∑ k, Q i k * H i k = 0", "statement_sha256": "e76de07ed3562bfb4453565b00b6d8bbe4f791b15d479684e8ce04388593b170" }, @@ -109988,7 +109988,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.solenoidal_antisymm", "source_line": 71, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem solenoidal_antisymm (ω : ℝ) (v w : Fin 2 → ℝ) :\n dot (solenoidal ω v) w = -dot (solenoidal ω w) v", "statement_sha256": "8c4c8034aa5c0b300f1c02973ac72b8023aafdf206661f3bb7d1b1f1c2b4f6ff" }, @@ -110043,7 +110043,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.solenoidal_orthogonal", "source_line": 78, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem solenoidal_orthogonal (ω : ℝ) (g : Fin 2 → ℝ) :\n dot (solenoidal ω g) g = 0", "statement_sha256": "14982221cb83c0d573a0b5094daf2d09a33bd6230d0726f98410cb1427f93208" }, @@ -110135,7 +110135,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedBit_erasure_heat_lt_fair", "source_line": 1521, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedBit_erasure_heat_lt_fair (beta : ℝ) (hBeta : 0 < beta) :\n (reversibleErasureWitness irreversibleForward beta hBeta).meanHeat <\n Real.log 2 / beta", "statement_sha256": "8f192a585bce08e6e3db5d6490070a542d383920a3d94b21b5b7a4c884ed8687" }, @@ -110205,7 +110205,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycleKernel_pos", "source_line": 1219, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycleKernel_pos (i j : Fin 3) : 0 < biasedCycleKernel i j", "statement_sha256": "7e719111660e0e37ec4f5cc96f3bad9b190cf16898b2ab1eed103dbd6ee756f9" }, @@ -110282,7 +110282,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction", "source_line": 1240, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -110376,7 +110376,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_horizon", "source_line": 1263, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_entropyProduction_horizon (n : ℕ) :\n entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform n) =\n (n : ℝ) * (Real.log 2 / 4)", "statement_sha256": "b407afd76d112913b9c65778ffa33d66ae33e630b96bf938ce900975f9f2aae8" }, @@ -110462,7 +110462,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_horizon_pos", "source_line": 1272, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_entropyProduction_horizon_pos (n : ℕ) (hn : 0 < n) :\n 0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform n)", "statement_sha256": "096e7c873eb48d6e9671e603779bfdf86e5d0af9c5720ac8cc56ae3c24c498b4" }, @@ -110527,7 +110527,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_pos", "source_line": 1254, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_entropyProduction_pos :\n 0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1)", "statement_sha256": "0e9a5c40cfe395026916a1046a75bbfbb01a826ded1f37e975ed2fa7040f8f27" }, @@ -110585,7 +110585,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_invariant", "source_line": 1223, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_invariant :\n IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", "statement_sha256": "c194321b0dc794754fcf183edf595589220e8569c4e0215cdefed37f9861b333" }, @@ -110643,7 +110643,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_not_reversible", "source_line": 1232, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_not_reversible :\n ¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", "statement_sha256": "f3d286c421b7ab0ce72e014f769e0d0835259d1b405b82fd49a4c0e5fd49c8e4" }, @@ -110754,7 +110754,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.crooks_of_entropyProduction", "source_line": 274, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -110847,7 +110847,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", "source_line": 110, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -110939,7 +110939,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", "source_line": 91, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -111114,7 +111114,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_decomposition", "source_line": 654, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -111239,7 +111239,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_eq_localAffinity", "source_line": 936, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -111424,7 +111424,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_marginal_decomposition", "source_line": 807, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_markov_marginal_decomposition [DecidableEq S]\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 crossEntropy ((kernelPower kernel n).predictive initial) final - entropy initial +\n ∑ t : Fin n, ∑ source, ∑ target,\n (kernelPower kernel t.val).predictive initial source * kernel source target *\n Real.log (kernel source target / reverse target source)", "statement_sha256": "548542499aace4b3f944328424d835303614061dc847bf231823a25dc90c33dd" }, @@ -111601,7 +111601,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", "source_line": 854, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -111748,7 +111748,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split", "source_line": 878, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -111891,7 +111891,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversedKernel_zero", "source_line": 1079, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -112101,7 +112101,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversible_KL_drop", "source_line": 1176, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_markov_reversible_KL_drop [DecidableEq S] [Nonempty S]\n (kernel : FiniteKernel S S) (actual stationary : FiniteLaw S)\n (hActual : ∀ s, 0 < actual s) (hStationary : ∀ s, 0 < stationary s)\n (hKernel : ∀ a b, 0 < kernel a b)\n (hReversible : IsReversible stationary kernel) (n : ℕ) :\n entropyProduction (markovPathProtocol kernel actual kernel\n ((kernelPower kernel n).predictive actual) n) =\n finiteKL actual stationary -\n finiteKL ((kernelPower kernel n).predictive actual) stationary", "statement_sha256": "d970114f2907a4f58e3cf005ebce77ed95a2b63a4a0ed779faa32a4a2a2639bf" }, @@ -112224,7 +112224,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversible_zero", "source_line": 970, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -112349,7 +112349,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg", "source_line": 926, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -112484,7 +112484,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary", "source_line": 945, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -112667,7 +112667,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary_horizon", "source_line": 1107, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_markov_stationary_horizon [DecidableEq S]\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 : ℕ) :\n entropyProduction (markovPathProtocol kernel law kernel law n) =\n (n : ℝ) * entropyProduction (markovPathProtocol kernel law kernel law 1)", "statement_sha256": "34a9dae71206fb888e0624ea04dc414221c94f6d55c7110eb21b65f0c38ea737" }, @@ -112739,7 +112739,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.entropyProduction_nonneg", "source_line": 86, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_nonneg (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", "statement_sha256": "f69aa684772cdf23bed79c5a8f32d119b1cd71e86470497ef26942a95228e457" }, @@ -112808,7 +112808,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropy_bool_eq_binEntropy", "source_line": 1344, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropy_bool_eq_binEntropy (law : FiniteLaw Bool) :\n entropy law = Real.binEntropy (law true)", "statement_sha256": "c83c72a94203b46f85c53df4585b74ed801901de53af3458155b86d9434d603c" }, @@ -112877,7 +112877,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropy_pointMass_bool", "source_line": 1338, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropy_pointMass_bool (chosen : Bool) :\n entropy (FiniteLaw.pointMass chosen) = 0", "statement_sha256": "0d94e550a79a62e7e9f00cdec156b3b2e51e085a6e262c4a000a75e1b4274f9a" }, @@ -112961,7 +112961,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_entropyProduction_decomposition", "source_line": 1356, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_entropyProduction_decomposition (model : ErasureModel Path) :\n entropyProduction model.toFinitePathProtocol =\n model.beta * model.meanHeat - entropy model.prior +\n entropy model.finalLaw", "statement_sha256": "591b90365eeab1483e4e1782f78d2fa194594170d4364db4746a76f718934c0f" }, @@ -113043,7 +113043,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_generalized_landauer", "source_line": 1408, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_generalized_landauer (model : ErasureModel Path) :\n entropy model.prior - entropy model.finalLaw ≤\n model.beta * model.meanHeat", "statement_sha256": "41e4dc7989f90dc96aafa94450f7c1d9dd2ad2daa82c5c7d35025da33f343133" }, @@ -113139,7 +113139,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_landauer_fair_bit", "source_line": 1426, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_landauer_fair_bit (model : ErasureModel Path)\n (hReset : model.IsReset) (hFair : model.prior true = 1 / 2) :\n Real.log 2 / model.beta ≤ model.meanHeat", "statement_sha256": "04dcb2746c26d830862804f8339bb3847f2e17bbc02c687303d26e100d03df8b" }, @@ -113237,7 +113237,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_landauer_reset", "source_line": 1416, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_landauer_reset (model : ErasureModel Path)\n (hReset : model.IsReset) :\n Real.binEntropy (model.prior true) / model.beta ≤ model.meanHeat", "statement_sha256": "0ea466778f10ad735cf03887e3d6edf6688907625f3481c905fdc4206f022516" }, @@ -113331,7 +113331,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_reversible_attains_bound", "source_line": 1443, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_reversible_attains_bound (model : ErasureModel Path)\n (hReversible : model.reverseAligned = model.forward) :\n entropyProduction model.toFinitePathProtocol = 0 ∧\n model.beta * model.meanHeat =\n entropy model.prior - entropy model.finalLaw", "statement_sha256": "091060da51f5cabad06f0d8eb6e5b74f4e81133773c635296d9a39f6f0f7aa0f" }, @@ -113417,7 +113417,7 @@ ], "qualified_name": "FEP.PathThermodynamics.fairBit_erasure_heat_eq", "source_line": 1530, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem fairBit_erasure_heat_eq (beta : ℝ) (hBeta : 0 < beta) :\n (reversibleErasureWitness (FiniteLaw.uniform : FiniteLaw Bool) beta\n hBeta).meanHeat = Real.log 2 / beta", "statement_sha256": "64c156bb5fc1717bbef9014e35471c99d64c1f217aff93d0b6370916b6f03056" }, @@ -113511,7 +113511,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", "source_line": 183, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113618,7 +113618,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_of_crooks", "source_line": 261, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113712,7 +113712,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", "source_line": 241, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113784,7 +113784,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.identityKernel_KL_equality", "source_line": 370, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113867,7 +113867,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.integralFluctuation_eq_one", "source_line": 124, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113919,7 +113919,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleBool_crooks", "source_line": 424, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleBool_crooks :\n HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", "statement_sha256": "bc974c07abce87e801c11a33f64dcce666e2283d2c3e68c7bad1686b81ccb63a" }, @@ -113994,7 +113994,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos", "source_line": 407, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleBool_entropyProduction_pos :\n 0 < entropyProduction irreversibleBoolProtocol", "statement_sha256": "7613d1a48af9e4af0e71d3625ec05098e1edebeddc07a4987e5de8bfb4ac754a" }, @@ -114046,7 +114046,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant", "source_line": 433, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleCrooksWork_nonconstant :\n irreversibleCrooksWork true ≠ irreversibleCrooksWork false", "statement_sha256": "71f430969fca9fc684d8742ea1d0ab6fb57ed4442ccc8ce0ba27042890ff80b7" }, @@ -114098,7 +114098,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", "source_line": 399, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleForward_ne_reverse :\n irreversibleForward ≠ irreversibleReverse", "statement_sha256": "74bd318dd6ab38ed4b14aa0850b01c141fd693212ae97712e7209695c130799a" }, @@ -114150,7 +114150,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski", "source_line": 458, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleForward_unitWork_not_jarzynski :\n ¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", "statement_sha256": "335368feaf773449832f1186e402e09da48ee37ee05d70c34dfe9c534f7431cb" }, @@ -114233,7 +114233,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", "source_line": 332, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114285,7 +114285,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.jarzynski_without_crooks", "source_line": 442, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114448,7 +114448,7 @@ ], "qualified_name": "FEP.PathThermodynamics.kernelPower_predictive_pos", "source_line": 1091, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem kernelPower_predictive_pos [DecidableEq S] [Nonempty S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hKernel : ∀ a b, 0 < kernel a b)\n (n : ℕ) (state : S) :\n 0 < (kernelPower kernel n).predictive initial state", "statement_sha256": "305b6e1e1a5290d3ec2f6185d6a227908236e18a830d4b86b8ee98125fa6954f" }, @@ -114538,7 +114538,7 @@ ], "qualified_name": "FEP.PathThermodynamics.landauer_biased_threshold_lt_fair", "source_line": 1434, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem landauer_biased_threshold_lt_fair (p beta : ℝ) (hBeta : 0 < beta)\n (hBiased : p ≠ 1 / 2) :\n Real.binEntropy p / beta < Real.log 2 / beta", "statement_sha256": "c2ae8908eaf0bd0061c08e38d1ad3687f2121f55187a561a8cf789c9064addc9" }, @@ -114657,7 +114657,7 @@ ], "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_of_reversible", "source_line": 982, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114751,7 +114751,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary", "source_line": 323, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114845,7 +114845,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.localDetailedBalance_current_zero", "source_line": 308, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114966,7 +114966,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible", "source_line": 958, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -115099,7 +115099,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_map_coordinate", "source_line": 779, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_map_coordinate [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin (n + 1)) :\n (markovPathLaw kernel initial n).map (fun path => path t) =\n (kernelPower kernel t.val).predictive initial", "statement_sha256": "9f9c397918475b1c9ba04eb3c2db0fd7859b80a4ad5b3f70f8d51d5ba8b34643" }, @@ -115232,7 +115232,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_map_stage", "source_line": 792, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_map_stage [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin n) :\n (markovPathLaw kernel initial n).map\n (fun path => (path t.castSucc, path t.succ)) =\n kernel.joint ((kernelPower kernel t.val).predictive initial)", "statement_sha256": "90ed6824b6e32629de51d0374d6db2b85317a788ff9760794a54f1d10b31dbc6" }, @@ -115391,7 +115391,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_sum_coordinate", "source_line": 708, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_sum_coordinate [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin (n + 1)) (g : S → ℝ) :\n (∑ path, markovPathLaw kernel initial n path * g (path t)) =\n ∑ state, (kernelPower kernel t.val).predictive initial state * g state", "statement_sha256": "69912216c1a6d03dc679324984a10351f4dc19cab6940578d22255ea0b478f78" }, @@ -115516,7 +115516,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_sum_snoc", "source_line": 681, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_sum_snoc (kernel : FiniteKernel S S)\n (initial : FiniteLaw S) (n : ℕ) (g : (Fin (n + 2) → S) → ℝ) :\n (∑ path, markovPathLaw kernel initial (n + 1) path * g path) =\n ∑ path : Fin (n + 1) → S, ∑ next : S,\n markovPathLaw kernel initial n path * kernel (path (Fin.last n)) next *\n g (Fin.snoc (α := fun _ => S) path next)", "statement_sha256": "e62c4a3efcf2f72ff80ccf0f14520691d0dc0e50cfe5b1d941005874b7b63be6" }, @@ -115665,7 +115665,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_sum_stage", "source_line": 743, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_sum_stage [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin n) (g : S → S → ℝ) :\n (∑ path, markovPathLaw kernel initial n path *\n g (path t.castSucc) (path t.succ)) =\n ∑ source, ∑ target,\n (kernelPower kernel t.val).predictive initial source * kernel source target *\n g source target", "statement_sha256": "a05704a066859cc722a3be4084e256654a168563654e1f6fd4725a30954c756e" }, @@ -115777,7 +115777,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.markovPathMass_nonneg", "source_line": 515, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -115885,7 +115885,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", "source_line": 842, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116023,7 +116023,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", "source_line": 613, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116145,7 +116145,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.markovPathMass_snoc", "source_line": 489, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116254,7 +116254,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.markovPathMass_sum_one", "source_line": 522, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116372,7 +116372,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_eq", "source_line": 578, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116480,7 +116480,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", "source_line": 848, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116618,7 +116618,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", "source_line": 620, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116763,7 +116763,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_reversedKernel", "source_line": 1048, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116898,7 +116898,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel", "source_line": 1068, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -116961,7 +116961,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathLaw_normalization", "source_line": 44, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117044,7 +117044,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathRatio_mul_reverse", "source_line": 57, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117127,7 +117127,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary", "source_line": 66, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117215,7 +117215,7 @@ ], "qualified_name": "FEP.PathThermodynamics.pathReverse_involutive", "source_line": 570, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem pathReverse_involutive (n : ℕ) :\n Function.Involutive (pathReverse (S := S) n)", "statement_sha256": "564b09c6341531c54799e7335ba8be33024f13c4f3c2b016773487c08c12e43f" }, @@ -117375,7 +117375,7 @@ ], "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov", "source_line": 628, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -117564,7 +117564,7 @@ ], "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov_reversible", "source_line": 1125, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem pathwiseEntropyProduction_markov_reversible\n (kernel : FiniteKernel S S) (initial final stationary : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hStationary : ∀ s, 0 < stationary s) (hKernel : ∀ a b, 0 < kernel a b)\n (hReversible : IsReversible stationary kernel)\n (n : ℕ) (path : Fin (n + 1) → S) :\n pathwiseEntropyProduction (markovPathProtocol kernel initial kernel final n) path =\n Real.log (initial (path 0) / stationary (path 0)) -\n Real.log (final (path (Fin.last n)) / stationary (path (Fin.last n)))", "statement_sha256": "97b902ce458ab2c5d0625d38d44c518ed28a94e81c7b5d97216dc35facd97d4e" }, @@ -117677,7 +117677,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse", "source_line": 145, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117761,7 +117761,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.probabilityCurrent_antisymm", "source_line": 300, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117869,7 +117869,7 @@ ], "qualified_name": "FEP.PathThermodynamics.prod_stage_ratio_telescope", "source_line": 1030, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -117942,7 +117942,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.reverse_reverse", "source_line": 39, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem reverse_reverse (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", "statement_sha256": "03c798ce5626361e20afa5a0209e1bc65cf91e46a37793d4052d582dbbaace24" }, @@ -118071,7 +118071,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversedKernel_detailedBalance", "source_line": 1009, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -118196,7 +118196,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversedKernel_eq_of_reversible", "source_line": 1018, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -118285,7 +118285,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversibleErasureWitness_isReset", "source_line": 1498, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem reversibleErasureWitness_isReset (prior : FiniteLaw Bool) (beta : ℝ)\n (hBeta : 0 < beta) : (reversibleErasureWitness prior beta hBeta).IsReset", "statement_sha256": "95c6fcb6586c05a0f2e2403bc1b9e50fb579d2728805a02429686c83087e6791" }, @@ -118393,7 +118393,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversibleErasureWitness_meanHeat", "source_line": 1504, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem reversibleErasureWitness_meanHeat (prior : FiniteLaw Bool) (beta : ℝ)\n (hBeta : 0 < beta) :\n (reversibleErasureWitness prior beta hBeta).meanHeat =\n Real.binEntropy (prior true) / beta", "statement_sha256": "d61fd31459873cd6c8409fbe2310c504f6f83eccada4be7a0be28fdd591d0fed" }, @@ -118530,7 +118530,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.reversibleKL_oneStep_dissipation", "source_line": 353, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -118619,7 +118619,7 @@ ], "qualified_name": "FEP.PathThermodynamics.sum_mul_comp_eq_sum_fiber", "source_line": 1284, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem sum_mul_comp_eq_sum_fiber (law : FiniteLaw Path) (coordinate : Path → Bool)\n (g : Bool → ℝ) :\n ∑ path, law path * g (coordinate path) =\n ∑ b, (∑ path with coordinate path = b, law path) * g b", "statement_sha256": "3d0efe9c8a8ce5059d61983a774b68318b777119eb696d96c72d6efbc44fa9c0" }, @@ -118707,7 +118707,7 @@ ], "qualified_name": "FEP.PathThermodynamics.sum_pathTwo", "source_line": 836, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -118840,7 +118840,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.actionEvidence_eq_predictive_of_identity", "source_line": 148, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem actionEvidence_eq_predictive_of_identity [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : ControlledKernel State Policy)\n (hIdentity : ∀ action, transition action = FiniteKernel.identity)\n (policy : Policy) (emission : FiniteKernel State Outcome) :\n actionEvidence belief transition emission policy outcome =\n emission.predictive belief outcome", "statement_sha256": "2da1f209d989ee577cc860babd90a96f122cc65a138880c1e64f574a9ba7e9c3" }, @@ -118963,7 +118963,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesEFETree_eq_pomdpTree", "source_line": 652, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesEFETree_eq_pomdpTree\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (initial : Belief) :\n efePolicyTreeModel (bayesEFEPolicyTreeModel model support) =\n pomdpPolicyTreeModel (bayesReachablePOMDP model initial)\n (fun _ belief action =>\n expectedFreeEnergy (bayesGenerative model belief) action)", "statement_sha256": "eeaacf061d149d5e51cac4e881801d612d879a3326a890dedba8edca34aac89f" }, @@ -119119,7 +119119,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesRiskAmbiguity_eq_sophisticated", "source_line": 861, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesRiskAmbiguity_eq_sophisticated [Nonempty Action]\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (depth : ℕ) (belief : Belief) :\n sophisticatedEFEValue (bayesSophisticatedModel model) depth belief =\n optimalTreeValue\n (riskAmbiguityPolicyTreeModel (bayesEFEPolicyTreeModel model support))\n depth belief", "statement_sha256": "23d4083ad99e910ed01ab9d8366a2818bf99cb261ba4a3ca3c830d227fb91ae1" }, @@ -119260,7 +119260,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesSophisticatedValue_eq_optimalTree", "source_line": 664, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesSophisticatedValue_eq_optimalTree [Nonempty Action]\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (depth : ℕ) (belief : Belief) :\n sophisticatedEFEValue (bayesSophisticatedModel model) depth belief =\n optimalTreeValue (efePolicyTreeModel (bayesEFEPolicyTreeModel model support))\n depth belief", "statement_sha256": "617b57366ea8375818e19a77d6fc97899a1b0b49926bc75feca19c5392093309" }, @@ -119424,7 +119424,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesSophisticatedValue_eq_pomdpOptimum", "source_line": 831, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesSophisticatedValue_eq_pomdpOptimum [Nonempty Action] [DecidableEq Belief]\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (initial : Belief) :\n (∀ (policy : ℕ → Belief → Action) (horizon : ℕ) (belief : Belief),\n sophisticatedEFEValue (bayesSophisticatedModel model) horizon belief ≤\n beliefFeedbackValue (bayesReachablePOMDP model initial)\n (fun _ belief action =>\n expectedFreeEnergy (bayesGenerative model belief) action)\n policy horizon belief) ∧\n ∃ policy : ℕ → Belief → Action, ∀ (horizon : ℕ) (belief : Belief),\n sophisticatedEFEValue (bayesSophisticatedModel model) horizon belief =\n beliefFeedbackValue (bayesReachablePOMDP model initial)\n (fun _ belief action =>\n expectedFreeEnergy (bayesGenerative model belief) action)\n policy horizon belief", "statement_sha256": "81778a51b326fd1abc2ba7b306a7dd62b790312fc58751361c1c718cf88f8a9c" }, @@ -119567,7 +119567,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesUpdate_eq_actionBeliefUpdate", "source_line": 589, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesUpdate_eq_actionBeliefUpdate\n (model : BayesianBeliefModel Belief State Action Outcome)\n (belief : Belief) (action : Action) (outcome : Outcome)\n (hEvidence : 0 < actionEvidence (model.interpret belief)\n model.generative.transition model.generative.likelihood action outcome) :\n model.interpret (model.update belief action outcome) =\n actionBeliefUpdate (model.interpret belief) model.generative.transition\n model.generative.likelihood action outcome hEvidence", "statement_sha256": "a2f647ee84d083701427ca5eb735e60d7acb1a62b836e736bfde508c4b3845db" }, @@ -119649,7 +119649,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayesOpenLoop_value_half", "source_line": 997, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayesOpenLoop_value_half (action : Bool) :\n openLoopValue (boolBeliefTreeModel boolBayesUpdate)\n (boolOpenLoopPlan action) none = 1 / 2", "statement_sha256": "6d0b9bd738d24ad08a7a284077d1089662885bb85a14257b35dba5ababb0564e" }, @@ -119720,7 +119720,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayesTree_value_zero", "source_line": 988, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayesTree_value_zero :\n policyTreeValue (boolBeliefTreeModel boolBayesUpdate) boolFeedbackTree none\n = 0", "statement_sha256": "2084ecbbc5935e53162295b4b12dbb653c972ccce928f93e6523bd43879ab5f2" }, @@ -119823,7 +119823,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_filtered", "source_line": 921, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_filtered (belief : Option Bool) (action outcome : Bool)\n (hEvidence : 0 < boolBayesGenerative.likelihood.predictive\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action) outcome) :\n boolBayesInterpret (boolBayesUpdate belief action outcome) =\n filteredBelief boolBayesGenerative\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action) outcome hEvidence", "statement_sha256": "ef243c0a21174d53a058a419e974a87ce9168f81cec9c779f5894a8582787f07" }, @@ -119915,7 +119915,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_predictedOutcome", "source_line": 909, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_predictedOutcome (belief : Option Bool) (action : Bool) :\n predictedOutcome\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action = boolBayesInterpret belief", "statement_sha256": "da6bd83c086802998daf357dd18463a43a86ee7b649665eee2515ab59a5faafb" }, @@ -120000,7 +120000,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_predictedState", "source_line": 902, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_predictedState (belief : Option Bool) (action : Bool) :\n predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action = boolBayesInterpret belief", "statement_sha256": "09f5e070b939d4031836bd53c212cbe579520abdd19459da30e2532875d942d6" }, @@ -120096,7 +120096,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_rederives_feedbackWitness", "source_line": 1009, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_rederives_feedbackWitness (action : Bool) :\n (∀ a o, boolBayesInterpret (boolBayesUpdate none a o) =\n boolBeliefInterpret (boolFeedbackModel.update false a o)) ∧\n policyTreeValue (boolBeliefTreeModel boolBayesUpdate) boolFeedbackTree\n none =\n policyTreeValue boolFeedbackModel boolFeedbackTree false ∧\n policyTreeValue (boolBeliefTreeModel boolBayesUpdate) boolFeedbackTree\n none <\n openLoopValue (boolBeliefTreeModel boolBayesUpdate)\n (boolOpenLoopPlan action) none", "statement_sha256": "bb549a18bea59e5f94c84e56f11d06e6cbe1d53e4e286c1adb0246461a7b26c9" }, @@ -120178,7 +120178,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_rootObservation", "source_line": 982, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_rootObservation (action : Bool) :\n predictedOutcome (bayesGenerative boolBayesModel none) action =\n fairBoolLaw", "statement_sha256": "06c64dc1f66ec95cbdf6b5b8a8efbeb339c2c63d8d4e314123d3a158e9336b5a" }, @@ -120263,7 +120263,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolKeepPrior_agreement_fails", "source_line": 1053, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolKeepPrior_agreement_fails :\n policyTreeValue (boolBeliefTreeModel boolKeepPriorUpdate)\n boolFeedbackTree none = 1 / 2 ∧\n optimalTreeValue (boolBeliefTreeModel boolBayesUpdate) 2 none <\n optimalTreeValue (boolBeliefTreeModel boolKeepPriorUpdate) 2 none", "statement_sha256": "7c12ceab25f0a5dd5b4e9e647a51c83711f3a7a2395d75182e4a97372f2b635f" }, @@ -120340,7 +120340,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolKeepPrior_not_bayesian", "source_line": 1026, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolKeepPrior_not_bayesian :\n ∃ (hEvidence : 0 < boolBayesGenerative.likelihood.predictive\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret none))\n false) true),\n boolBayesInterpret (boolKeepPriorUpdate none false true) ≠\n filteredBelief boolBayesGenerative\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret none))\n false) true hEvidence", "statement_sha256": "6de8d1b238d727b6fc0dfe5f3aa74d1c3f4a033b09db82db770dfc0f6673b8ba" }, @@ -120490,7 +120490,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.filteredBelief_eq_actionBeliefUpdate", "source_line": 173, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem filteredBelief_eq_actionBeliefUpdate [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (transition : ControlledKernel State Policy)\n (hIdentity : ∀ action, transition action = FiniteKernel.identity)\n (policy : Policy) :\n filteredBelief model belief outcome hEvidence =\n actionBeliefUpdate belief transition model.likelihood policy outcome\n (identity_actionEvidence belief outcome transition hIdentity policy\n model.likelihood hEvidence)", "statement_sha256": "b73779853fffe6acf79b1ff4f0db8c5ee2a6177e8644a64bfbba684761c56705" }, @@ -120610,7 +120610,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.filteredBelief_eq_forwardFilter", "source_line": 127, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem filteredBelief_eq_forwardFilter [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n filteredBelief model belief outcome hEvidence =\n forwardFilter belief FiniteKernel.identity model.likelihood outcome\n (identity_forwardEvidence belief outcome FiniteKernel.identity rfl\n model.likelihood hEvidence)", "statement_sha256": "a973953cc0c1b0609159429534a3b360f4b27011cf4afebe51577f3f1af591ec" }, @@ -120723,7 +120723,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.finiteKL_joint_same_kernel", "source_line": 269, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem finiteKL_joint_same_kernel {α β : Type*} [Fintype α] [Fintype β]\n (kernel : FiniteKernel α β) (actual reference : FiniteLaw α) :\n finiteKL (kernel.joint actual) (kernel.joint reference) =\n finiteKL actual reference", "statement_sha256": "23fcc14c3a3e1e32c6bdc1d9396bbc6c53ea228a3bd8b83d8a380ca268ddffcb" }, @@ -120836,7 +120836,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.finiteKL_swappedJoint_eq", "source_line": 341, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem finiteKL_swappedJoint_eq\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hEvidenceAct : ∀ o, 0 < model.likelihood.predictive actual o)\n (hEvidenceRef : ∀ o, 0 < model.likelihood.predictive reference o) :\n finiteKL\n ((posteriorKernel model actual hEvidenceAct).joint\n (model.likelihood.predictive actual))\n ((posteriorKernel model reference hEvidenceRef).joint\n (model.likelihood.predictive reference)) =\n finiteKL (model.likelihood.joint actual)\n (model.likelihood.joint reference)", "statement_sha256": "77d2f7ba6474b29fba173d18bf58bd494f0785f610a1cda84f87e5c726deeade" }, @@ -120994,7 +120994,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.finiteLawMapSum", "source_line": 715, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem finiteLawMapSum {α β : Type*} [DecidableEq β] [Fintype α] [Fintype β]\n (f : α → β) (law : FiniteLaw α) (g : β → ℝ) :\n ∑ y, law.map f y * g y = ∑ x, law x * g (f x)", "statement_sha256": "0eda4a334460368e56c5578d82413a62b4b493159ce2d2ce98e94be7249fe9ce" }, @@ -121117,7 +121117,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.forwardEvidence_eq_predictive_of_identity", "source_line": 102, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem forwardEvidence_eq_predictive_of_identity [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : FiniteKernel State State)\n (hIdentity : transition = FiniteKernel.identity)\n (emission : FiniteKernel State Outcome) :\n forwardEvidence belief transition emission outcome =\n emission.predictive belief outcome", "statement_sha256": "0410335d45c5382b8e29c1d6e0a481dfc9ccf204394c7da237f3989aa87ba258" }, @@ -121267,7 +121267,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.identity_actionEvidence", "source_line": 160, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem identity_actionEvidence [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : ControlledKernel State Policy)\n (hIdentity : ∀ action, transition action = FiniteKernel.identity)\n (policy : Policy) (emission : FiniteKernel State Outcome)\n (hEvidence : 0 < emission.predictive belief outcome) :\n 0 < actionEvidence belief transition emission policy outcome", "statement_sha256": "40a0f74d026bc83c93f66b98c831a6578b9f23a9261207ff624c51bac7cfe53b" }, @@ -121407,7 +121407,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.identity_forwardEvidence", "source_line": 114, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem identity_forwardEvidence [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : FiniteKernel State State)\n (hIdentity : transition = FiniteKernel.identity)\n (emission : FiniteKernel State Outcome)\n (hEvidence : 0 < emission.predictive belief outcome) :\n 0 < forwardEvidence belief transition emission outcome", "statement_sha256": "50a18a813f8fb3d0b7f124a410588db1beb5e7c6b12c06b365aa29bc55c1096a" }, @@ -121522,7 +121522,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.loop_fixed_point_is_boltzmann", "source_line": 527, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem loop_fixed_point_is_boltzmann (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (energy : ℝ)\n (hflat : ∀ policy, expectedFreeEnergy model policy = energy) :\n policyPosterior precision model support = model.policyPrior", "statement_sha256": "b96225338200867a8addaa5e73ee3f472703b27d0b3029ce88902edbcd45039f" }, @@ -121668,7 +121668,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.loop_invariant_surprisal_bound", "source_line": 480, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem loop_invariant_surprisal_bound [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (support : FullSupport (withInitialState model\n (filteredBelief model belief outcome hEvidence))) :\n -Real.log (model.likelihood.predictive belief outcome) ≤\n perceptionVFE model belief outcome hEvidence belief ∧\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence) ∧\n expectedFreeEnergy\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) =\n risk (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) +\n ambiguity\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence))", "statement_sha256": "c08d3359a69266322b0c68058eaeff95adfd67e39a4f95bea2e9a307bb2e10f7" }, @@ -121812,7 +121812,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.optimalTreeValue_eq_beliefFeedback", "source_line": 791, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem optimalTreeValue_eq_beliefFeedback [Nonempty Action] [DecidableEq Belief]\n (pomdp : ReachableBeliefPOMDP Belief State Action Outcome)\n (cost : ℕ → Belief → Action → ℝ) :\n ∀ (horizon : ℕ) (belief : Belief),\n optimalTreeValue (pomdpPolicyTreeModel pomdp cost) horizon belief =\n beliefFeedbackValue pomdp cost\n (optimalTreeAction (pomdpPolicyTreeModel pomdp cost)) horizon belief", "statement_sha256": "c0daaef8881c9d217fb2d846b1c7d2456ed7a8a3f1342a748224d4d139823a61" }, @@ -121974,7 +121974,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.optimalTreeValue_le_beliefFeedback", "source_line": 754, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem optimalTreeValue_le_beliefFeedback [Nonempty Action] [DecidableEq Belief]\n (pomdp : ReachableBeliefPOMDP Belief State Action Outcome)\n (cost : ℕ → Belief → Action → ℝ) (policy : ℕ → Belief → Action) :\n ∀ (horizon : ℕ) (belief : Belief),\n optimalTreeValue (pomdpPolicyTreeModel pomdp cost) horizon belief ≤\n beliefFeedbackValue pomdp cost policy horizon belief", "statement_sha256": "052e443c608497aa243877467e72853acb455d3dbc888d550986b63f62b40dcd" }, @@ -122105,7 +122105,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perceptionActionKernel_apply", "source_line": 223, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perceptionActionKernel_apply [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (hEvidence : ∀ o : Outcome, 0 < model.likelihood.predictive belief o)\n (outcome : Outcome) (state : State) :\n perceptionActionKernel model belief hEvidence outcome state =\n perceptionActionStep model belief outcome (hEvidence outcome) state", "statement_sha256": "f2c1799c42005a7904b20fa942f3ee7a510f550b5bd87c3604aa52cbd88643e4" }, @@ -122226,7 +122226,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perceptionActionStep_eq", "source_line": 197, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perceptionActionStep_eq [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionActionStep model belief outcome hEvidence =\n (model.transition (selectedPolicy model\n (filteredBelief model belief outcome hEvidence))).predictive\n (filteredBelief model belief outcome hEvidence)", "statement_sha256": "d2f5d29aff399f3bad2b07d36d6b515f4ac74d6c2fa1ed99a13516ab5645f90b" }, @@ -122331,7 +122331,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perceptionVFE_gap", "source_line": 465, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perceptionVFE_gap\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence)", "statement_sha256": "8d5b36d6f42b862269a63ad93d83873b0503ce5a9e560ded8dff43ed8cede79a" }, @@ -122476,7 +122476,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perception_kl_decomposition", "source_line": 361, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perception_kl_decomposition\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n finiteKL actual reference =\n finiteKL (model.likelihood.predictive actual)\n (model.likelihood.predictive reference) +\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o))", "statement_sha256": "532e597b78fdba9d1fb76ecc8ac8fc36e5b6cbcdf893d34b54a38f38734f75be" }, @@ -122601,7 +122601,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perception_native_kl_nonincrease", "source_line": 417, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perception_native_kl_nonincrease\n [MeasurableSpace State] [MeasurableSpace Outcome]\n [DiscreteMeasurableSpace State] [DiscreteMeasurableSpace Outcome]\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive actual))\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive reference)) ≤\n InformationTheory.klDiv (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", "statement_sha256": "0f55d493a92abbf89b8b111ef3e093a1714e3d4f14c217b0971968e02277527c" }, @@ -122728,7 +122728,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perception_step_kl_nonincrease", "source_line": 399, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perception_step_kl_nonincrease\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o)) ≤\n finiteKL actual reference", "statement_sha256": "2c52fb7424dfc7c2664ab132a6e4a027d5b4140be466c6d964dec6ca153f6070" }, @@ -122823,7 +122823,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.policyPosterior_eq_controlPosterior", "source_line": 514, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem policyPosterior_eq_controlPosterior (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) :\n policyPosterior precision model support =\n controlPosterior model.policyPrior precision (expectedFreeEnergy model)", "statement_sha256": "174b041a17d49e4c248f306c58f5884e80c5bbf25c42afa98f6a9437ca9acc0b" }, @@ -122938,7 +122938,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.posteriorKernel_joint_eq_swap", "source_line": 324, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem posteriorKernel_joint_eq_swap\n (model : GenerativeModel Policy State Outcome) (prior : FiniteLaw State)\n (hEvidence : ∀ o, 0 < model.likelihood.predictive prior o)\n (o : Outcome) (s : State) :\n (posteriorKernel model prior hEvidence).joint\n (model.likelihood.predictive prior) (o, s) =\n (model.likelihood.joint prior) (s, o)", "statement_sha256": "8658d70074bea2b21d40d85d5a6f767c6d4465d522972b80ee7c9dff28983e32" }, @@ -123076,7 +123076,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.posterior_pos_of_support", "source_line": 255, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem posterior_pos_of_support\n (model : GenerativeModel Policy State Outcome) (reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) (o : Outcome) (s : State) :\n 0 < model.likelihood.posterior reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o) s", "statement_sha256": "a69348a350af8fdae181452aba30868a062571f25f65d76af5c486b8414eef96" }, @@ -123200,7 +123200,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.prediction_dobrushin_contraction", "source_line": 437, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem prediction_dobrushin_contraction [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n {coefficient : ℝ}\n (hBound : FEP.FiniteMarkovDynamics.HasDobrushinBound\n (model.transition policy) coefficient)\n (left right : FiniteLaw State) :\n FEP.FiniteMarkovDynamics.totalVariation\n ((model.transition policy).predictive left)\n ((model.transition policy).predictive right) ≤\n coefficient * FEP.FiniteMarkovDynamics.totalVariation left right", "statement_sha256": "6451690ba1b8dae0a59b27aa2db01c320c5859f8b8c9e5e5d8ac70265aa9e220" }, @@ -123305,7 +123305,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.predictive_pos_of_fullLikelihood", "source_line": 235, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem predictive_pos_of_fullLikelihood\n (model : GenerativeModel Policy State Outcome) (prior : FiniteLaw State)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) (o : Outcome) :\n 0 < model.likelihood.predictive prior o", "statement_sha256": "2ad7b60b70f5fdd654725f3cdaa9e405e9362d39c1b31172694803a95931915e" }, @@ -123453,7 +123453,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.reachableBeliefKernel_sum", "source_line": 739, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem reachableBeliefKernel_sum [DecidableEq Belief]\n (pomdp : ReachableBeliefPOMDP Belief State Action Outcome)\n (action : Action) (belief : Belief) (continuation : Belief → ℝ) :\n ∑ nextBelief,\n reachableBeliefKernel pomdp action belief nextBelief *\n continuation nextBelief =\n ∑ outcome,\n actionObservationLaw (pomdp.interpret belief) pomdp.transition\n pomdp.emission action outcome *\n continuation (pomdp.update belief action outcome)", "statement_sha256": "6c7c99b8047d715e8b45304089d4dc523af0d9c2986327b2ed2b5e3e6d20b49a" }, @@ -123565,7 +123565,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.selectedPolicy_minimizes", "source_line": 69, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem selectedPolicy_minimizes [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (alternative : Policy) :\n expectedFreeEnergy (withInitialState model belief)\n (selectedPolicy model belief) ≤\n expectedFreeEnergy (withInitialState model belief) alternative", "statement_sha256": "1e90ac58e8245e6cf459e59b40407e32742d64da55b4db5bb577771a4151e331" }, @@ -123684,7 +123684,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.boolFeedbackTree_strictlyBetter", "source_line": 440, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem boolFeedbackTree_strictlyBetter (action : Bool) :\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false", "statement_sha256": "98b6fc5f81ff14f527570303ef9ca4f89b1501d555cb488600b09791c6914b1c" }, @@ -123779,7 +123779,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.boolFeedbackTree_value_zero", "source_line": 426, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem boolFeedbackTree_value_zero :\n policyTreeValue boolFeedbackModel boolFeedbackTree false = 0", "statement_sha256": "4194278d5a79921e450c6e9ec8ad4a1dc459df4e84faf91d5a60f0774bb1de2a" }, @@ -123885,7 +123885,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.boolOpenLoop_value_half", "source_line": 432, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem boolOpenLoop_value_half (action : Bool) :\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2", "statement_sha256": "aa782330da010c4dcbf5beea6fe5c63adc9adb86d8e2c23b5d4b5a3bd454e412" }, @@ -124032,7 +124032,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.exists_optimalPolicyTree", "source_line": 244, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem exists_optimalPolicyTree [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n ∃ tree : PolicyTree Action Observation depth,\n policyTreeValue model tree belief = optimalTreeValue model depth belief ∧\n ∀ alternative : PolicyTree Action Observation depth,\n policyTreeValue model tree belief ≤\n policyTreeValue model alternative belief", "statement_sha256": "279641de02d01775a49352e1bf7b616feb23b25183d555805c0a72c9c1e59ad5" }, @@ -124138,7 +124138,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.openLoopEmbedding_value", "source_line": 286, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem openLoopEmbedding_value\n (model : PolicyTreeModel Belief Action Observation) :\n ∀ {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief),\n policyTreeValue model (openLoopEmbedding plan) belief =\n openLoopValue model plan belief", "statement_sha256": "f1e96f79984aa04ef0ff513bc68194027ffcf705c49ff4ea889a21eda7575d96" }, @@ -124291,7 +124291,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalEFEValue_eq_riskAmbiguity", "source_line": 377, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalEFEValue_eq_riskAmbiguity [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue (efePolicyTreeModel model) depth belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief", "statement_sha256": "87848ff9e714f406462a28963f6069a9b7c74023c0d0979610f6061528405c19" }, @@ -124412,7 +124412,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalPolicyTree_value", "source_line": 170, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalPolicyTree_value [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation) :\n ∀ (depth : ℕ) (belief : Belief),\n policyTreeValue model (optimalPolicyTree model depth belief) belief =\n optimalTreeValue model depth belief", "statement_sha256": "e982299f52547366df14004ebf34c5b32eb33e5ae325bb8fd7d4cf0eccc96850" }, @@ -124565,7 +124565,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTreeAction_le", "source_line": 135, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTreeAction_le [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) (alternative : Action) :\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation) ≤\n model.stageCost depth belief alternative +\n ∑ observation,\n model.observationLaw belief alternative observation *\n optimalTreeValue model depth\n (model.update belief alternative observation)", "statement_sha256": "0047db757d1a515d610ecd243b327f138df7eb2a8da1c1db649fec5173d1f273" }, @@ -124699,7 +124699,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTreeValue_eq_min", "source_line": 121, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTreeValue_eq_min [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue model (depth + 1) belief =\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation)", "statement_sha256": "95eed588f3796d1f5af708cad578eed39373c3b38927d86f1807389b7474fb21" }, @@ -124822,7 +124822,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTreeValue_le_tree", "source_line": 196, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTreeValue_le_tree [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation) :\n ∀ {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief),\n optimalTreeValue model depth belief ≤ policyTreeValue model tree belief", "statement_sha256": "7bfdb091599550edcdd7e1d0a08ccb4532a739eb39b298aba1dad4d3dbd8ab1b" }, @@ -124979,7 +124979,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTree_le_openLoop", "source_line": 305, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTree_le_openLoop [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief) :\n optimalTreeValue model depth belief ≤ openLoopValue model plan belief", "statement_sha256": "4312faa163f45119d4c5a59e6a593db05886e6070fbc2357b7020075d076788b" }, @@ -125125,7 +125125,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.policyTreeValue_node", "source_line": 79, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem policyTreeValue_node\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (action : Action)\n (continuation : Observation → PolicyTree Action Observation depth)\n (belief : Belief) :\n policyTreeValue (depth := depth + 1) model (action, continuation) belief =\n model.stageCost depth belief action +\n ∑ observation,\n model.observationLaw belief action observation *\n policyTreeValue model (continuation observation)\n (model.update belief action observation)", "statement_sha256": "68beb17f3a4ad3555ff26043bbba9d7bb3af57024cd442e473c8195f34b52131" }, @@ -125240,7 +125240,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity", "source_line": 346, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem policyTree_efe_eq_risk_add_ambiguity\n (model : EFEPolicyTreeModel Belief State Action Observation) :\n ∀ {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief),\n policyTreeValue (efePolicyTreeModel model) tree belief =\n policyTreeValue (riskAmbiguityPolicyTreeModel model) tree belief", "statement_sha256": "4db7e9e63e9a2c29d2afc7ebc399fb1c9f01b7351bb81d38ba71ed19d8b510a2" }, @@ -125289,7 +125289,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.boundedContinuousPosteriorExpectation_tendsto_ae", "source_line": 725, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem boundedContinuousPosteriorExpectation_tendsto_ae\n (f : BoundedContinuousFunction MeanHypothesis ℝ) :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto\n (fun n => ∫ hypothesis, f hypothesis ∂(parameterPosterior n sample :\n ProbabilityMeasure MeanHypothesis)) atTop\n (𝓝 (f sample.1))", "statement_sha256": "956a778c7e2b8a4c4860212be5d4b98fc34658fc841d020dc148eb5d2e342007" }, @@ -125341,7 +125341,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.finiteObservationKernel_apply", "source_line": 213, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem finiteObservationKernel_apply\n (n : ℕ) (hypothesis : MeanHypothesis) :\n finiteObservationKernel n hypothesis = finiteObservationLaw n hypothesis", "statement_sha256": "5ec82737ac2bf301886f0dbdf875fdff1a07e2fd988b338d4925dfaf3d83b078" }, @@ -125393,7 +125393,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.finiteObservationLaw_eq_pi", "source_line": 191, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem finiteObservationLaw_eq_pi\n (n : ℕ) (hypothesis : MeanHypothesis) :\n finiteObservationLaw n hypothesis =\n Measure.pi (fun _ : Set.Iic n => selectedObservationLaw hypothesis)", "statement_sha256": "49ffe836a2621fbe958dd9ea4703fdddce8b92de9f8423f4958ba1ff5d3e23d3" }, @@ -125482,7 +125482,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.finitePosterior_eventualContraction_regression", "source_line": 368, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem finitePosterior_eventualContraction_regression\n (prior : FEP.FiniteLaw FEP.FinitePosteriorLearning.Hypothesis)\n (truthPriorPositive :\n 0 < prior FEP.FinitePosteriorLearning.truthHypothesis)\n (margin : ℝ) (marginPositive : 0 < margin)\n (marginBelowGap :\n margin < FEP.FinitePosteriorLearning.identificationGap) :\n ∀ᵐ path ∂FEP.FinitePosteriorLearning.trajectoryLaw,\n ∀ᶠ sampleCount in atTop,\n FEP.FinitePosteriorLearning.posteriorAfter\n prior path sampleCount false ≤\n FEP.FinitePosteriorLearning.priorBadOdds prior *\n Real.exp\n (-((sampleCount : ℝ) *\n (FEP.FinitePosteriorLearning.identificationGap - margin)))", "statement_sha256": "9665c1d3eec7e4b2507f44ef4b827110cc82d014590b20918ba340dc667c9462" }, @@ -125513,7 +125513,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.limitingObservation_identifies_parameter", "source_line": 590, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem limitingObservation_identifies_parameter :\n posteriorLimit =ᵐ[selectedJointLaw] selectedParameterIndicator", "statement_sha256": "3ccf5a1d986da4874c22f227596dfe93a436529086d88afc88426c346e1d4210" }, @@ -125555,7 +125555,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.nonidentifiableObservationKernel_apply", "source_line": 790, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem nonidentifiableObservationKernel_apply\n (hypothesis : MeanHypothesis) :\n nonidentifiableObservationKernel hypothesis =\n selectedObservationLaw false", "statement_sha256": "91cceb7f705b0ae36111700605a9c1145b7126e403dcef2897ea618faa0a3b80" }, @@ -125586,7 +125586,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.nonidentifiablePosterior_eq_prior_ae", "source_line": 798, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem nonidentifiablePosterior_eq_prior_ae :\n ∀ᵐ observation ∂selectedObservationLaw false,\n nonidentifiablePosteriorKernel observation = selectedMeanPrior", "statement_sha256": "a9fd91c646a3870b39ae670839c3afa7c901e6aa42772dce0216bd8913d6cc9d" }, @@ -125628,7 +125628,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.observationFiltration_eq_comapPrefix", "source_line": 229, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem observationFiltration_eq_comapPrefix (n : ℕ) :\n observationFiltration n =\n MeasurableSpace.comap\n (fun sample => observationPrefix n sample.2) inferInstance", "statement_sha256": "5862c76a334121a48938bfbcaea225161843361ae292fa53701e70de699c2a15" }, @@ -125670,7 +125670,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.observation_stronglyMeasurable", "source_line": 111, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem observation_stronglyMeasurable (index : ℕ) :\n StronglyMeasurable (observation index)", "statement_sha256": "e94ef6ea93b02bf54033a2a90330494ce90c4f080bfb7688bdf54244c45dd7df" }, @@ -125708,7 +125708,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.parameterPosterior_tendsto_dirac_ae", "source_line": 694, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem parameterPosterior_tendsto_dirac_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => parameterPosterior n sample) atTop\n (𝓝 (trueParameterLaw sample))", "statement_sha256": "7e6f2849ea87ab85d877e34d26f5bb394f3492d70a8870aa7981abf15448d9b1" }, @@ -125767,7 +125767,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorDecisionRisk_mem_Icc", "source_line": 743, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorDecisionRisk_mem_Icc\n (n : ℕ) (sample : GaussianSample) :\n posteriorDecisionRisk n sample ∈ Set.Icc (0 : ℝ) (1 / 2)", "statement_sha256": "511f586d15dbc4418c4461e24dd42672750aa77905f4509dcc9b5f8b419edb06" }, @@ -125805,7 +125805,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorDecisionRisk_tendsto_zero_ae", "source_line": 755, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorDecisionRisk_tendsto_zero_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => posteriorDecisionRisk n sample) atTop (𝓝 0)", "statement_sha256": "ade03d55a82f052ab61fd0ded5f42fc67be1aad9ee564ec1963b4d538bf0491f" }, @@ -125854,7 +125854,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_ae_eq_condExp", "source_line": 294, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_ae_eq_condExp (n : ℕ) :\n posteriorProbability n =ᵐ[selectedJointLaw]\n selectedJointLaw[\n selectedParameterIndicator | observationFiltration n]", "statement_sha256": "65c1620847f7b9e47ed6366c41a78bede4057017eb05a840e8504185595a800d" }, @@ -125898,7 +125898,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_consistent_ae", "source_line": 617, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_consistent_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => posteriorProbability n sample) atTop\n (𝓝 (selectedParameterIndicator sample))", "statement_sha256": "e23bed830c6f583ac432ee6dd39bf3b4fa9fdb5042bb0bd305460c8c0ec27457" }, @@ -125953,7 +125953,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_consistent_under_selectedTrajectoryLaw", "source_line": 627, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_consistent_under_selectedTrajectoryLaw\n (hypothesis : MeanHypothesis) :\n ∀ᵐ path ∂selectedTrajectoryLaw hypothesis,\n Tendsto (fun n => posteriorProbability n (hypothesis, path)) atTop\n (𝓝 (if hypothesis then 1 else 0))", "statement_sha256": "58f34cc8e304eb7137d4747ffd2aa794c31f53e4e77cf7c9848bc23873f9a94e" }, @@ -126002,7 +126002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_integrable", "source_line": 338, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_integrable (n : ℕ) :\n Integrable (posteriorProbability n) selectedJointLaw", "statement_sha256": "f79128648eceface85583005a0a3817609ea7f8b8407ef4d1d3263ead21d3235" }, @@ -126046,7 +126046,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_martingale", "source_line": 346, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_martingale :\n Martingale posteriorProbability observationFiltration selectedJointLaw", "statement_sha256": "5b4b43cd36be61182878f4bbcea5c5a13ab0720a5a3527fdd5114e3d72f0eac3" }, @@ -126098,7 +126098,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_mem_Icc", "source_line": 342, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_mem_Icc (n : ℕ) (sample : GaussianSample) :\n posteriorProbability n sample ∈ Set.Icc (0 : ℝ) 1", "statement_sha256": "dcb6afe151077dfaddbaa10a9f1228b9cd15b451616fa18ec8f69d052f2c71d4" }, @@ -126136,7 +126136,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_stronglyAdapted", "source_line": 329, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_stronglyAdapted :\n StronglyAdapted observationFiltration posteriorProbability", "statement_sha256": "384910bee07fc1730c3d80f0b876a466f33334ec965f81a4032729c66e82c153" }, @@ -126174,7 +126174,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_tendsto_ae", "source_line": 353, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_tendsto_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => posteriorProbability n sample) atTop\n (𝓝 (posteriorLimit sample))", "statement_sha256": "6b7cdf5aa49aa777f85fcb40f2033c83332cf56ca063c186fececb81afa6dd35" }, @@ -126216,7 +126216,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedJointLaw_map_parameterPrefix", "source_line": 220, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedJointLaw_map_parameterPrefix (n : ℕ) :\n selectedJointLaw.map\n (fun sample => (sample.1, observationPrefix n sample.2)) =\n selectedMeanPrior ⊗ₘ finiteObservationKernel n", "statement_sha256": "9da35ee79ff585f9a5e40007d61febd022ffbc39332693d2fbcfb9de96642e94" }, @@ -126258,7 +126258,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedMeanPrior_positive", "source_line": 396, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedMeanPrior_positive (hypothesis : MeanHypothesis) :\n 0 < selectedMeanPrior.real {hypothesis}", "statement_sha256": "f3e1bc7eaf52cf3f847689dc419ae758e00387526e4bdd42e1209bc5a28f2f08" }, @@ -126296,7 +126296,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedMeanPrior_true_pos", "source_line": 403, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedMeanPrior_true_pos :\n 0 < selectedMeanPrior.real {true}", "statement_sha256": "60e4ca1025199753ac78b880d06a36a44b6eb479e64201e74962f516b896baab" }, @@ -126327,7 +126327,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedMeans_ne", "source_line": 176, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedMeans_ne : selectedMean false ≠ selectedMean true", "statement_sha256": "d79d27d79f9f2d2722395a188b85bc2c45b608f7568c71d61380323bc2e46639" }, @@ -126369,7 +126369,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedObservationKernel_apply", "source_line": 179, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedObservationKernel_apply (hypothesis : MeanHypothesis) :\n selectedObservationKernel hypothesis = selectedObservationLaw hypothesis", "statement_sha256": "7f931c6d4a78092fed24f2330f1b0b406b3d88418926ce04ca99040b7b8990c9" }, @@ -126407,7 +126407,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedObservationLaws_ne", "source_line": 390, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedObservationLaws_ne :\n selectedObservationLaw false ≠ selectedObservationLaw true", "statement_sha256": "2a45e3b3cec6cf43f6a57587a81d9917b502ce42bccdf8c4ecd9428f1135ef63" }, @@ -126459,7 +126459,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedTrajectoryCoordinate_map", "source_line": 183, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedTrajectoryCoordinate_map\n (hypothesis : MeanHypothesis) (index : ℕ) :\n (selectedTrajectoryLaw hypothesis).map (fun path => path index) =\n selectedObservationLaw hypothesis", "statement_sha256": "e0160edf911305ec085404464eaab01055266bd8f08097baa8b2961ad04a58e4" }, @@ -126500,7 +126500,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.doubledPrecision_nontrivial_witness", "source_line": 381, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -126587,7 +126587,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.exp_jet_shift_witness", "source_line": 245, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -126628,7 +126628,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderCorrection_witness", "source_line": 344, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem firstOrderCorrection_witness :\n let corrected := generalizedFilteringStep (1 / 2 : ℝ) (fun _ => 1)\n (firstOrderJet 2 0) (firstOrderJet 0 1)\n corrected.coefficient 0 = 3 / 2 ∧ corrected.coefficient 1 = 1 / 2", "statement_sha256": "7ab849cae0e5ff0bcb7a4244d616c7abfac07426b9a2a16dfb4e5657b5ec9013" }, @@ -126688,7 +126688,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_shift_boundary", "source_line": 272, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -126741,7 +126741,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_value", "source_line": 263, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_value (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 0 = value", "statement_sha256": "b780a71e3377ba7a07fbc0d32111c0e6022be5aaa153a1769a3c4be112d3c61a" }, @@ -126794,7 +126794,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_velocity", "source_line": 268, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_velocity (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 1 = velocity", "statement_sha256": "8d0565d9a1727e815a12d36c8408e6c84f0e1186ac4b8b8a351e381e521f5cad" }, @@ -126886,7 +126886,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", "source_line": 193, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -126984,7 +126984,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod", "source_line": 603, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127064,7 +127064,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.gaussianChain_twoLevel", "source_line": 623, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127154,7 +127154,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedCoordinateEnergy_hasDerivAt", "source_line": 318, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127247,7 +127247,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFilteringStep_equation", "source_line": 308, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127327,7 +127327,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFlow_top_boundary", "source_line": 330, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127368,7 +127368,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.halfStep_energy_witness", "source_line": 480, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127449,7 +127449,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_nonneg", "source_line": 119, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127512,7 +127512,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_succ", "source_line": 130, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127612,7 +127612,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionEnergy_tendsto_zero", "source_line": 466, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127683,7 +127683,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError", "source_line": 432, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127773,7 +127773,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError_tendsto_zero", "source_line": 445, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127835,7 +127835,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratedDeriv_exp_eq", "source_line": 235, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem iteratedDeriv_exp_eq (k : ℕ) (t : ℝ) : iteratedDeriv k Real.exp t = Real.exp t", "statement_sha256": "a846d1151a902fb89f2ea35cb1bd87d6d3ded48dba24ec2073e16ac5f71e721b" }, @@ -127908,7 +127908,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.neg_log_gaussianPDFReal", "source_line": 584, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -127969,7 +127969,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_derivative_eq_gradient", "source_line": 106, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128042,7 +128042,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_eq_zero_iff", "source_line": 61, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128096,7 +128096,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_hasDerivAt", "source_line": 90, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128187,7 +128187,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_mono", "source_line": 356, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128260,7 +128260,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", "source_line": 54, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem precisionEnergy_nonneg {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", "statement_sha256": "0ebc1576504aa52cd10695f7e5007d4006d887cb6af38f94f48bc5b1dc6d0833" }, @@ -128343,7 +128343,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_pos", "source_line": 77, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128398,7 +128398,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_scale", "source_line": 368, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128487,7 +128487,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_eq_iff", "source_line": 521, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "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" }, @@ -128559,7 +128559,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_hasDerivAt", "source_line": 543, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128648,7 +128648,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_min", "source_line": 511, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128700,7 +128700,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_strictConvexOn", "source_line": 560, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem precisionFreeEnergy_strictConvexOn (error : ℝ) :\n StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error)", "statement_sha256": "9e9e8d3bdba2233476160e5a9033d420b0f10d09633b27c7f3008decc6deda3e" }, @@ -128782,7 +128782,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", "source_line": 496, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "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" }, @@ -128834,7 +128834,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_zero_error_unbounded", "source_line": 569, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem precisionFreeEnergy_zero_error_unbounded (M : ℝ) :\n ∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M", "statement_sha256": "5625928271e3331ee845c9d99533a907f78c4a7a585d481c941beb93c488c0df" }, @@ -128889,7 +128889,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionGradient_scale", "source_line": 375, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -128951,7 +128951,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_contraction", "source_line": 399, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129059,7 +129059,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_strictDecrease", "source_line": 409, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129113,7 +129113,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionError_update", "source_line": 392, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129186,7 +129186,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_add", "source_line": 173, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129259,7 +129259,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_coefficient", "source_line": 162, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129374,7 +129374,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_functionJet", "source_line": 210, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129473,7 +129473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_functionJet_succ", "source_line": 221, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129578,7 +129578,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet", "source_line": 201, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129663,7 +129663,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet_top", "source_line": 228, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129725,7 +129725,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_top_zero", "source_line": 181, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem shift_top_zero {order : ℕ} (jet : FiniteJet order) :\n (shift 1 jet).coefficient order = 0", "statement_sha256": "1a453b796f2dbb1a22d6d13c99538b8e5c7a71ce945ae0482d33567752356480" }, @@ -129787,7 +129787,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_zero", "source_line": 166, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem shift_zero {order : ℕ} (jet : FiniteJet order) :\n shift 0 jet = jet", "statement_sha256": "dd3dde0191a5149263f8628742d3bbbb476c5e21f8e60e09919e514e3215e50c" }, @@ -129828,7 +129828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.twoLevelEnergy_witness", "source_line": 140, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129876,7 +129876,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.twoLevel_chain_energy_witness", "source_line": 638, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129935,7 +129935,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.integral_ouTransition_tendsto_invariant", "source_line": 492, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem integral_ouTransition_tendsto_invariant\n (model : ScalarOUParameters) (state : ℝ) (f : ℝ →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂(model.ouTransitionProbability time state : Measure ℝ))\n atTop\n (𝓝 (∫ next, f next ∂(model.stationaryProbability : Measure ℝ)))", "statement_sha256": "3d44215cf952fe76a1165dca61a43f4f922f6402bba0337fab9e5e74cc3e425e" }, @@ -130010,7 +130010,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouKL_to_stationary_nonincrease", "source_line": 505, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouKL_to_stationary_nonincrease\n (model : ScalarOUParameters) (earlier increment : ℝ≥0)\n (actual : Measure ℝ) [IsFiniteMeasure actual] :\n InformationTheory.klDiv\n (model.ouTransition (earlier + increment) ∘ₘ actual)\n model.stationaryLaw ≤\n InformationTheory.klDiv\n (model.ouTransition earlier ∘ₘ actual)\n model.stationaryLaw", "statement_sha256": "ae3939e4d5c40b13d8217d73e9afb7b11d8c11366403c4df6a834de1b5120d89" }, @@ -130059,7 +130059,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransitionProbability_tendsto_invariant", "source_line": 467, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransitionProbability_tendsto_invariant\n (model : ScalarOUParameters) (state : ℝ) :\n Tendsto\n (fun time : ℝ≥0 => model.ouTransitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", "statement_sha256": "30a81513ef6d5a6b8d9168482c4f8b845310d824ec01313a22e58592802aa1b0" }, @@ -130109,7 +130109,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_add", "source_line": 258, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_add\n (model : ScalarOUParameters) (left right : ℝ≥0) :\n model.ouTransition (left + right) =\n model.ouTransition right ∘ₖ model.ouTransition left", "statement_sha256": "c6c3ce04b7ef225560adf40d5cdf2befc1d803157ad3bbf3389533643812c47e" }, @@ -130178,7 +130178,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_comp_gaussian", "source_line": 284, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_comp_gaussian\n (model : ScalarOUParameters) (time : ℝ≥0)\n (sourceMean : ℝ) (sourceVariance : ℝ≥0) :\n model.ouTransition time ∘ₘ gaussianReal sourceMean sourceVariance =\n gaussianReal\n (model.transitionMean time sourceMean)\n (NNReal.mk (model.decay time ^ 2) (sq_nonneg _) * sourceVariance +\n model.transitionVariance time)", "statement_sha256": "8f32a042a37ff5c45dc4a53cad75bd117c1795ae651e79c1a7a7a53b679fae7b" }, @@ -130247,7 +130247,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_eq_gaussianLocation", "source_line": 307, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_eq_gaussianLocation\n (model : ScalarOUParameters) (time : ℝ≥0) (hTime : 0 < time)\n (state : ℝ) :\n model.ouTransition time state =\n (model.positiveTimeGaussian time hTime).law\n (model.transitionMean time state)", "statement_sha256": "89d2c79670c1bb216944c5737c057cc9f495d779cd1f07721ad97231406f4bc3" }, @@ -130306,7 +130306,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_mean", "source_line": 357, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_mean\n (model : ScalarOUParameters) (time : ℝ≥0) (state : ℝ) :\n (∫ next, next ∂model.ouTransition time state) =\n model.transitionMean time state", "statement_sha256": "9a8b87d6e30b97e671370f7ac4a70e2db4315c239f1613cde3acf1c7f7b2b329" }, @@ -130365,7 +130365,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_univ", "source_line": 169, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_univ\n (model : ScalarOUParameters) (time : ℝ≥0) (state : ℝ) :\n model.ouTransition time state Set.univ = 1", "statement_sha256": "eafdd7869b4591fc90aa26fef45b15c0b747b6c421af85dda9470b784581a8c1" }, @@ -130424,7 +130424,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_variance", "source_line": 368, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_variance\n (model : ScalarOUParameters) (time : ℝ≥0) (state : ℝ) :\n Var[id; model.ouTransition time state] = model.transitionVariance time", "statement_sha256": "627b5308daf514fb6a3f13961fd54decd0507410b4fee7e9916b7ea6cb83ac0b" }, @@ -130463,7 +130463,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_zero", "source_line": 178, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_zero (model : ScalarOUParameters) :\n model.ouTransition 0 = Kernel.id", "statement_sha256": "940b3c721fc38e5a090efe980c995aa4fe7a4e1e752872251eca929c5bd31b17" }, @@ -130502,7 +130502,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.stationaryLaw_invariant", "source_line": 346, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_invariant (model : ScalarOUParameters) :\n FEP.MarkovSemigroup.InvariantLaw\n model.ouNativeSemigroup model.stationaryLaw", "statement_sha256": "6fc9f8ccf73d88e86dfbf5cabd40a89398fbeb52052922c01be329bc6d02553f" }, @@ -130541,7 +130541,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.stationaryVariance_eq", "source_line": 58, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem stationaryVariance_eq (model : ScalarOUParameters) :\n (model.stationaryVariance : ℝ) =\n (model.diffusionVarianceRate : ℝ) / (2 * model.rate)", "statement_sha256": "6129d7bb7a7742e0a82cd7f2ed259630a69890421fab278ab560aeba13a952fb" }, @@ -130580,7 +130580,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.stationaryVariance_pos", "source_line": 86, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem stationaryVariance_pos (model : ScalarOUParameters) :\n 0 < model.stationaryVariance", "statement_sha256": "2c5d78edf60fc67e79ccb21e5a5f54e8402ca1d8b1c323b9658b981742b376f9" }, @@ -130629,7 +130629,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.transitionMean_zero", "source_line": 150, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem transitionMean_zero (model : ScalarOUParameters) (state : ℝ) :\n model.transitionMean 0 state = state", "statement_sha256": "657cbf7e68d561140c2b84b467e5d41278f1a49235caafecf58db86e89476325" }, @@ -130688,7 +130688,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.transitionVariance_pos", "source_line": 163, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem transitionVariance_pos\n (model : ScalarOUParameters) (time : ℝ≥0) (hTime : 0 < time) :\n 0 < model.transitionVariance time", "statement_sha256": "8bd955ad271349647c53fa8b7dbb8c8fca6c4801468d23a2266930bc6a7232ae" }, @@ -130727,7 +130727,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.transitionVariance_zero", "source_line": 155, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem transitionVariance_zero (model : ScalarOUParameters) :\n model.transitionVariance 0 = 0", "statement_sha256": "19b6fd29abc54e05ff527a35be2b2684c60eb5c97d67d7b898acb1580c18343e" }, @@ -130749,7 +130749,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanJacobian_nullTangent", "source_line": 220, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanJacobian_nullTangent :\n duplicatedMeanJacobian duplicatedNullTangent = 0", "statement_sha256": "4cb88253d6dc36d50a2fbd0714ca4347379e4987f84f8bc6ba555ca2a2090587" }, @@ -130782,7 +130782,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanMap_hasFDerivAt", "source_line": 63, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanMap_hasFDerivAt (parameter : Fin 2 → ℝ) :\n HasFDerivAt duplicatedMeanMap duplicatedMeanJacobian parameter", "statement_sha256": "01634671b0f039ec71a0b97f0bdfac7a4c3577950832f2703f4e4fa74cc13716" }, @@ -130832,7 +130832,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanPullbackMetric_null", "source_line": 231, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanPullbackMetric_null\n (family : FixedVarianceGaussian) (parameter : Fin 2 → ℝ) :\n duplicatedMeanPullbackMetric family parameter\n duplicatedNullTangent duplicatedNullTangent = 0", "statement_sha256": "86746251b33a208a6c5db0f5c1a12a6afdc0e0382fbff9ab97f6dd9cb0a1eff3" }, @@ -130888,7 +130888,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanPullback_not_positiveDefinite", "source_line": 240, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanPullback_not_positiveDefinite\n (family : FixedVarianceGaussian) (parameter : Fin 2 → ℝ) :\n ¬ ∀ tangent : Fin 2 → ℝ, tangent ≠ 0 →\n 0 < duplicatedMeanPullbackMetric family parameter tangent tangent", "statement_sha256": "c5c3d459f444d272d9da0b566e9e119570e2c35c5e3edced396aa6e24d7106ba" }, @@ -130910,7 +130910,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedNullTangent_ne_zero", "source_line": 225, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedNullTangent_ne_zero : duplicatedNullTangent ≠ 0", "statement_sha256": "19a5a02b2e907a9d61eb821334b2b2d3033fc5f8688a7284aaacc7546573d138" }, @@ -131002,7 +131002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.flatNaturalMean_duality_hasDerivAt", "source_line": 108, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem flatNaturalMean_duality_hasDerivAt\n (family : FixedVarianceGaussian) (time : ℝ)\n (exponentialField mixtureField : ℝ → ℝ)\n (exponentialDerivative mixtureDerivative : ℝ)\n (hExponential : HasDerivAt exponentialField exponentialDerivative time)\n (hMixture : HasDerivAt mixtureField mixtureDerivative time) :\n HasDerivAt\n (fun candidate =>\n naturalMetricPairing family candidate\n (exponentialField candidate)\n ((family.variance : ℝ)⁻¹ * mixtureField candidate))\n (naturalMetricPairing family time exponentialDerivative\n ((family.variance : ℝ)⁻¹ * mixtureField time) +\n naturalMetricPairing family time (exponentialField time)\n ((family.variance : ℝ)⁻¹ * mixtureDerivative)) time", "statement_sha256": "389496b5718ebff1278e4f23fad34c576069c518fbbabb88c130f0e9170cea32" }, @@ -131046,7 +131046,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.klDiv_meanCoordinates_eq_naturalBregman", "source_line": 206, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem klDiv_meanCoordinates_eq_naturalBregman\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ) :\n InformationTheory.klDiv\n (family.law sourceMean) (family.law referenceMean) =\n ENNReal.ofReal\n (family.naturalBregman\n (family.meanToNatural sourceMean)\n (family.meanToNatural referenceMean))", "statement_sha256": "f1aa80311376485173bebbfe3196f0b1ad4ba85ee743f86ba09d8a8646239be0" }, @@ -131089,7 +131089,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.meanMetricComponent_hasDerivAt_zero", "source_line": 157, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem meanMetricComponent_hasDerivAt_zero\n (family : FixedVarianceGaussian) (mean : ℝ) :\n HasDerivAt family.meanFisher 0 mean", "statement_sha256": "56fdf15f542ea3d4054e9e44191395cf59343ad3ff472f4a2d29b35b85c4dc19" }, @@ -131134,7 +131134,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.meanMetricPairing_eq_invVariance", "source_line": 79, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem meanMetricPairing_eq_invVariance\n (family : FixedVarianceGaussian) (mean left right : ℝ) :\n meanMetricPairing family mean left right =\n (family.variance : ℝ)⁻¹ * left * right", "statement_sha256": "c3c06f17a3422d189b6e0bb1f3cc5a6fc71234594da62fd951c23ea989c4f490" }, @@ -131192,7 +131192,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.meanMetricPairing_eq_naturalPullback", "source_line": 87, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem meanMetricPairing_eq_naturalPullback\n (family : FixedVarianceGaussian) (mean left right : ℝ) :\n meanMetricPairing family mean left right =\n naturalMetricPairing family (family.meanToNatural mean)\n ((family.variance : ℝ)⁻¹ * left)\n ((family.variance : ℝ)⁻¹ * right)", "statement_sha256": "a1388bceee717b566f3b9bb6405f3bf1b48096b57a0029220b4314465427b877" }, @@ -131234,7 +131234,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalAffinePathVelocity_hasDerivAt_zero", "source_line": 178, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalAffinePathVelocity_hasDerivAt_zero\n (start velocity time : ℝ) :\n HasDerivAt\n (fun candidate => deriv (naturalAffinePath start velocity) candidate)\n 0 time", "statement_sha256": "5815302ec07a4feb0c957ec31be9588770b31704b12c6e44ae0925235f6029e5" }, @@ -131269,7 +131269,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalAffinePath_hasDerivAt", "source_line": 169, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalAffinePath_hasDerivAt\n (start velocity time : ℝ) :\n HasDerivAt (naturalAffinePath start velocity) velocity time", "statement_sha256": "80d577d28d2b2b034e2b639d454edc0806b2b0d008970330c190cf8f8cc3d508" }, @@ -131319,7 +131319,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalMean_coordinateBasis_dual", "source_line": 99, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalMean_coordinateBasis_dual\n (family : FixedVarianceGaussian) (natural : ℝ) :\n naturalMetricPairing family natural 1 (family.variance : ℝ)⁻¹ = 1", "statement_sha256": "cf12122ced5b1f0e5c7ade659f6d2518b8ec9caf6c1667902dc71acb1e5699a9" }, @@ -131362,7 +131362,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalMetricComponent_hasDerivAt_zero", "source_line": 146, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalMetricComponent_hasDerivAt_zero\n (family : FixedVarianceGaussian) (natural : ℝ) :\n HasDerivAt family.naturalFisher 0 natural", "statement_sha256": "d22ec9b1cd982b0d1dd4f019f09d4bfe6459076c2f932180181a51b25f756270" }, @@ -131407,7 +131407,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalMetricPairing_eq_variance", "source_line": 71, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalMetricPairing_eq_variance\n (family : FixedVarianceGaussian) (natural left right : ℝ) :\n naturalMetricPairing family natural left right =\n (family.variance : ℝ) * left * right", "statement_sha256": "e74b10dfbba5342b412e3f80e07f86d625d6a48c466a235d7834dfc11939f930" }, @@ -131452,7 +131452,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalToMean_naturalAffinePath", "source_line": 193, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalToMean_naturalAffinePath\n (family : FixedVarianceGaussian) (start velocity time : ℝ) :\n family.naturalToMean (naturalAffinePath start velocity time) =\n naturalAffinePath (family.naturalToMean start)\n ((family.variance : ℝ) * velocity) time", "statement_sha256": "369723ffac97c9920c19a1035eff68b8bad6bbc6f33dae2ab611e1665c064346" }, @@ -131587,7 +131587,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalExpectationError_strongLaw", "source_line": 198, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalExpectationError_strongLaw\n {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (observable : α → ℝ)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto\n (fun n =>\n |empiricalExpectation observations observable n ω -\n populationExpectation μ observations observable|)\n atTop (nhds 0)", "statement_sha256": "9d14a0744b99efca9a7d7fc7dc3cddff7b64f99c68eb2b0c520b6b4227931fcd" }, @@ -131722,7 +131722,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalExpectation_strongLaw", "source_line": 174, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalExpectation_strongLaw\n {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (observable : α → ℝ)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto (fun n => empiricalExpectation observations observable n ω)\n atTop (nhds (populationExpectation μ observations observable))", "statement_sha256": "b9ec090334a54b109956b9949559a721c85716a857babb13cd44117c42068d8a" }, @@ -131847,7 +131847,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalL1Error_strongLaw", "source_line": 128, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalL1Error_strongLaw\n {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto (fun n => empiricalL1Error μ observations n ω)\n atTop (nhds 0)", "statement_sha256": "27c23b95fd2ad88ed26a8126d27d4e2e9d12c1cbd6b1ed7c86b99f0bee2078b9" }, @@ -131972,7 +131972,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalLaw_strongLaw", "source_line": 100, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalLaw_strongLaw {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ, ∀ atom,\n Tendsto (fun n => empiricalMass observations atom n ω)\n atTop (nhds μ[atomIndicator observations atom 0])", "statement_sha256": "65a669b639b303bbfac02babf695ab6b09d7c5adb74690dfa63acaebad97c4d0" }, @@ -132092,7 +132092,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalMass_strongLaw", "source_line": 81, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalMass_strongLaw {α : Type*} [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω)\n (observations : ℕ → Ω → α) (atom : α)\n (hint : Integrable (atomIndicator observations atom 0) μ)\n (hindep : Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto (fun n => empiricalMass observations atom n ω)\n atTop (nhds μ[atomIndicator observations atom 0])", "statement_sha256": "d5d7a3bf4d271f5646567e82c2fc382f3a86409afe4f82c92f3f0c24e2c5616f" }, @@ -132191,7 +132191,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalRate_strongLaw", "source_line": 47, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalRate_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 (fun n => empiricalRate observations n ω)\n atTop (nhds μ[indicator observations 0])", "statement_sha256": "4650b1e31c3f03fb13fa226b4631032ddb7f5cc17936ae744a130b499c52fe43" }, @@ -132255,7 +132255,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.sum_indicator_eq_successCount", "source_line": 36, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "lemma sum_indicator_eq_successCount\n (observations : ℕ → Ω → Bool) (n : ℕ) (ω : Ω) :\n ∑ index ∈ Finset.range n, indicator observations index ω =\n (successCount observations n ω : ℝ)", "statement_sha256": "1254f44e25a02a9a085aeb1327d1b54a151b053b70b7000f6f6668720d40bfee" }, @@ -132384,7 +132384,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.beliefNormalizer_eq_totalWeight", "source_line": 570, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem beliefNormalizer_eq_totalWeight [DecidableEq S] (t : PTree S) :\n beliefNormalizer t = totalWeight t", "statement_sha256": "bd8c20940e546c7f02e2a7eef00fbf9afb47aeb7d9ec8806505f30e19da81268" }, @@ -132517,7 +132517,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.msg_eq_bruteMass", "source_line": 544, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem msg_eq_bruteMass [DecidableEq S] (t : PTree S) (s : S) :\n msg t s = bruteMass t s", "statement_sha256": "4c0bfc32355b2268c092831dc6698f945ee3c105ee242845cfdecca91f5e790b" }, @@ -132614,7 +132614,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.msg_nonneg", "source_line": 584, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem msg_nonneg : (t : PTree S) → t.Nonneg → ∀ s, 0 ≤ msg t s", "statement_sha256": "5b340242f7e6c35c33ae5281d6fef8fb5272597feab154a6fa0ccc5043702c63" }, @@ -132753,7 +132753,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_eq_exactMarginal", "source_line": 579, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_eq_exactMarginal [DecidableEq S] (t : PTree S) (s : S) :\n rootBelief t s = exactMarginal t s", "statement_sha256": "64b6fda4c72ab2496f924f95926d5a4ae6d8d0834ff0d6ae7dae02f6c7f9312a" }, @@ -132901,7 +132901,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_node", "source_line": 521, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_node (φ : S → ℝ) (n : ℕ) (ψ : Fin n → S → S → ℝ)\n (c : Fin n → PTree S) (s : S) :\n rootBelief (node φ n ψ c) s =\n (φ s * ∏ i : Fin n, childMessage (ψ i) (c i) s) /\n ∑ y, φ y * ∏ i : Fin n, childMessage (ψ i) (c i) y", "statement_sha256": "c467467a9ed0490852e14d6ed23253e1bb2778c0a4b94acbd8b4f4795d71684b" }, @@ -133036,7 +133036,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_nonneg", "source_line": 601, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_nonneg (t : PTree S) (ht : t.Nonneg) (s : S) :\n 0 ≤ rootBelief t s", "statement_sha256": "f1fb0a4218643217b80b7840e955c58de53a7191581b9bf0fc807ef8dd6399e9" }, @@ -133169,7 +133169,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_sum_one", "source_line": 592, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_sum_one [DecidableEq S] (t : PTree S) (hpos : 0 < totalWeight t) :\n ∑ s, rootBelief t s = 1", "statement_sha256": "64f6016d608008aaefee02d0f558013843860101033c51e00d719dba25c44c66" }, @@ -133295,7 +133295,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.sum_root_weight", "source_line": 530, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem sum_root_weight [DecidableEq S] (t : PTree S) (F : S → ℝ) :\n ∑ x : Conf t, F (Conf.root t x) * weight t x =\n ∑ y, F y * bruteMass t y", "statement_sha256": "809fdb12bb908f14df5f24256d271eeec4f7a6550ab5d8d2b21e03bc3e2f7989" }, @@ -133418,7 +133418,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.totalWeight_eq_sum_bruteMass", "source_line": 539, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem totalWeight_eq_sum_bruteMass [DecidableEq S] (t : PTree S) :\n totalWeight t = ∑ y, bruteMass t y", "statement_sha256": "e79be22245d22f7b5e8ebeb9b082c4aa80754526b19783dd30c9544d25528c9d" }, @@ -133546,7 +133546,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.backwardMessage_cons", "source_line": 100, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem backwardMessage_cons (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (future : List Observation) (state : State) :\n backwardMessage transition emission (observation :: future) state =\n backwardMessageStep transition emission observation\n (backwardMessage transition emission future) state", "statement_sha256": "fac4fc0aaa5bc6577cb32669c6cd415432393a8f03164449a04046c3891426ae" }, @@ -133684,7 +133684,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.backwardMessage_nonneg", "source_line": 109, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem backwardMessage_nonneg (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (nextMessage : State → ℝ) (hMessage : ∀ state, 0 ≤ nextMessage state)\n (state : State) :\n 0 ≤ backwardMessageStep transition emission observation nextMessage state", "statement_sha256": "c9250a5bd78df66a882bfb7802a7c2462489645a130f70e4e4bb399dcd0eef1c" }, @@ -133774,7 +133774,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardEvidence_eq", "source_line": 375, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardEvidence_eq :\n backwardEvidence boolInitialLaw boolStickyTransition\n boolAccurateEmission true = 23 / 40", "statement_sha256": "75b33de4c337e8d05c05793f9339e351d237e3284f829eb13e9df417086054ad" }, @@ -133851,7 +133851,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardMessage_false_mass", "source_line": 363, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardMessage_false_mass :\n boolBackwardMessage false = 7 / 20", "statement_sha256": "04dda0ca04e908bd108671096e2fba956b2d5668670fcf1435b23f7660d44b92" }, @@ -133952,7 +133952,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardMessage_nonneg", "source_line": 369, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardMessage_nonneg (state : Bool) :\n 0 ≤ boolBackwardMessage state", "statement_sha256": "5bed684e5291be5f23df4c672e4859f4bb0141e6285d490e2a865bada8fa7542" }, @@ -134029,7 +134029,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardMessage_true_mass", "source_line": 357, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardMessage_true_mass :\n boolBackwardMessage true = 13 / 20", "statement_sha256": "029dd6ea2515b319d211c9eca79de9f5b1a6cdb0caab54a4d3df45af0b7dab48" }, @@ -134106,7 +134106,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardEvidence_true", "source_line": 306, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardEvidence_true :\n forwardEvidence boolInitialLaw boolStickyTransition boolAccurateEmission true =\n 23 / 40", "statement_sha256": "618d0e5e3ab3a44362c40307e2c7fd137d9812cc054c01f200b5e82f48c6bc43" }, @@ -134190,7 +134190,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardEvidence_true_pos", "source_line": 314, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardEvidence_true_pos :\n 0 < forwardEvidence boolInitialLaw boolStickyTransition\n boolAccurateEmission true", "statement_sha256": "540399a6a6acdf79240b47261e2596e5f861a66ce39185305cbc03a2f9e2f888" }, @@ -134292,7 +134292,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardFilter_false_mass", "source_line": 336, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardFilter_false_mass :\n boolForwardFilter false = 3 / 23", "statement_sha256": "1c3855145678370e2492b3865f36dd712f12ddaa619c527114d3bc1fbdce503e" }, @@ -134382,7 +134382,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardFilter_sum_one", "source_line": 346, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardFilter_sum_one :\n boolForwardFilter false + boolForwardFilter true = 1", "statement_sha256": "90c5b855cd4596c4ba3cc98b4511a906c4edcda08f614ee8656b2308bc98673f" }, @@ -134484,7 +134484,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardFilter_true_mass", "source_line": 326, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardFilter_true_mass :\n boolForwardFilter true = 20 / 23", "statement_sha256": "269bd990d2f02244a5542e9d553d04b12738c91b54d7b95e8f6c86b4361cf765" }, @@ -134561,7 +134561,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolModelAverage_false_mass", "source_line": 288, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolModelAverage_false_mass :\n modelAverage boolInitialLaw boolAccurateEmission false = 7 / 20", "statement_sha256": "26bc5da19085700e8ba9bebcfa0a78d90d2c1f956865d33ce31e98c8178a2972" }, @@ -134638,7 +134638,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolModelAverage_true_mass", "source_line": 282, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolModelAverage_true_mass :\n modelAverage boolInitialLaw boolAccurateEmission true = 13 / 20", "statement_sha256": "b8eef84e2aa82e127a5450d6e71b91b340205d7c5413f901f5c76785f49f5f42" }, @@ -134715,7 +134715,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolPrediction_false_mass", "source_line": 300, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolPrediction_false_mass :\n forwardPrediction boolInitialLaw boolStickyTransition false = 3 / 8", "statement_sha256": "d529ec81cb171445777c692e8fe9e0866c466721c595f3fb4e3f0580c5e212d8" }, @@ -134792,7 +134792,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolPrediction_true_mass", "source_line": 294, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolPrediction_true_mass :\n forwardPrediction boolInitialLaw boolStickyTransition true = 5 / 8", "statement_sha256": "f039f343eac9f7d6950ee02001270ac1864fe7952d02b6424d73410d0b7c0a02" }, @@ -134882,7 +134882,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothingNormalizer_eq", "source_line": 381, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothingNormalizer_eq :\n smoothingNormalizer boolInitialLaw boolBackwardMessage = 23 / 40", "statement_sha256": "aaddf4e46f8f49b6fab96f5aef5ab52129c1b806ace140ba48035721f69742d9" }, @@ -134966,7 +134966,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothingNormalizer_pos", "source_line": 388, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothingNormalizer_pos :\n 0 < smoothingNormalizer boolInitialLaw boolBackwardMessage", "statement_sha256": "4713f2874d76b08ea8f35c5e8527285a006ea6cbdef08bad512a40cc909634d8" }, @@ -135074,7 +135074,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothing_false_mass", "source_line": 410, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothing_false_mass :\n boolSmoothing false = 7 / 46", "statement_sha256": "4bcbfda809fc17cbefc8b79290d8bab9e4309218f2af3f853ac27256216901a6" }, @@ -135164,7 +135164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothing_sum_one", "source_line": 421, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothing_sum_one :\n boolSmoothing false + boolSmoothing true = 1", "statement_sha256": "e23ec28095c78d77641673e0c95c09ef016a02617370d52f80119473719b5b28" }, @@ -135272,7 +135272,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothing_true_mass", "source_line": 399, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothing_true_mass :\n boolSmoothing true = 39 / 46", "statement_sha256": "f63db146d58b93f76e4c78a7e2b951202abfb744d5d2f954c72145afc2f765cc" }, @@ -135400,7 +135400,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardBackwardSmoothing_factorization", "source_line": 162, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardBackwardSmoothing_factorization (filtered : FiniteLaw State)\n (backward : State → ℝ) (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) (state : State) :\n forwardBackwardSmoothing filtered backward hBackward hNormalizer state *\n smoothingNormalizer filtered backward =\n filtered state * backward state", "statement_sha256": "d01faf01f4c1202d3da9b7255cb2085adf97311041b925c64dd7b96a9ba14012" }, @@ -135518,7 +135518,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardBackwardSmoothing_sum_one", "source_line": 171, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardBackwardSmoothing_sum_one (filtered : FiniteLaw State)\n (backward : State → ℝ) (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) :\n ∑ state, forwardBackwardSmoothing filtered backward hBackward hNormalizer state =\n 1", "statement_sha256": "e571687eb60afc7c1a49c5b3562b8842988422af7d4ff4b840c6ae37dee60e43" }, @@ -135646,7 +135646,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardEvidence_zero_boundary", "source_line": 74, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardEvidence_zero_boundary (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hZero : forwardEvidence prior transition emission observation = 0) :\n ¬0 < forwardEvidence prior transition emission observation", "statement_sha256": "d479e481a481f41c62c49d856a95a0dddc9370b493e4158220a211b3f2732e39" }, @@ -135784,7 +135784,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardFilter_reconstruction", "source_line": 52, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardFilter_reconstruction (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation)\n (state : State) :\n forwardFilter prior transition emission observation hEvidence state *\n forwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation", "statement_sha256": "05b06cf40e70a84595abfa9bdfd096910df723d31521143ed63b66b4f9a189cf" }, @@ -135912,7 +135912,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardFilter_sum_one", "source_line": 64, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardFilter_sum_one (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation) :\n ∑ state, forwardFilter prior transition emission observation hEvidence state =\n 1", "statement_sha256": "8320424e5f30392e0890f95943b85d97702279bc9f2ede2fb49e2dd02470b9db" }, @@ -136030,7 +136030,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forward_backward_evidence_agree", "source_line": 129, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forward_backward_evidence_agree (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation) :\n forwardEvidence prior transition emission observation =\n backwardEvidence prior transition emission observation", "statement_sha256": "3202343af8a18d8f5e90ac4d0afce5160c0f735af76cb0a992d1d18142e96b43" }, @@ -136138,7 +136138,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.hierarchicalPredictive_eq", "source_line": 219, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem hierarchicalPredictive_eq (top : FiniteLaw Upper)\n (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation) :\n hierarchicalPredictive top upperKernel lowerKernel =\n (FiniteKernel.comp lowerKernel upperKernel).predictive top", "statement_sha256": "eb77c949755af877e15fc0ceae9cb75896dcfdd956dd02eedc1fd451da92a820" }, @@ -136256,7 +136256,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.hierarchicalPredictive_mass", "source_line": 227, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem hierarchicalPredictive_mass (top : FiniteLaw Upper)\n (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation) (observation : Observation) :\n hierarchicalPredictive top upperKernel lowerKernel observation =\n ∑ middle,\n (∑ upper, top upper * upperKernel upper middle) *\n lowerKernel middle observation", "statement_sha256": "06d42c3a92e62ffb8f38bacc362780ab423f2547c939a4ac0f33d0d7b667a03b" }, @@ -136414,7 +136414,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.localUpdate_eq_oneEdge_exactMarginal", "source_line": 719, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem localUpdate_eq_oneEdge_exactMarginal {S : Type uS} [Fintype S] [DecidableEq S]\n (ψ : S → S → ℝ) (incoming : S → ℝ) (neighbors : Finset S) (i j : S) :\n localUpdate ψ incoming neighbors i j =\n PTree.exactMarginal (oneEdgeTree ψ incoming neighbors i) j", "statement_sha256": "d3caf0334aa756e607983de076ea84193504b0df63a68d169c4cf4d21c6e420b" }, @@ -136559,7 +136559,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.localUpdate_eq_oneEdge_rootBelief", "source_line": 700, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem localUpdate_eq_oneEdge_rootBelief {S : Type uS} [Fintype S] [DecidableEq S]\n (ψ : S → S → ℝ) (incoming : S → ℝ) (neighbors : Finset S) (i j : S) :\n localUpdate ψ incoming neighbors i j =\n PTree.rootBelief (oneEdgeTree ψ incoming neighbors i) j", "statement_sha256": "62874993b783ed1bcad811cc9bbf046a3d43a1d10a98fb545f6469499c86d1ba" }, @@ -136667,7 +136667,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.modelAverage_mass", "source_line": 242, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem modelAverage_mass (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation)\n (observation : Observation) :\n modelAverage modelPrior modelPredictive observation =\n ∑ model, modelPrior model * modelPredictive model observation", "statement_sha256": "641b00991123df3a2ef1339fb0715c5877672e484d570f6361a462095c2c51a6" }, @@ -136765,7 +136765,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.modelAverage_sum_one", "source_line": 250, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem modelAverage_sum_one (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation) :\n ∑ observation, modelAverage modelPrior modelPredictive observation = 1", "statement_sha256": "7725f3fe830ef4c1518d9bbf1ed0b34099f8855f927215b43a5cad31796f8e75" }, @@ -136873,7 +136873,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.smoothingNormalizer_zero_boundary", "source_line": 180, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem smoothingNormalizer_zero_boundary (filtered : FiniteLaw State)\n (backward : State → ℝ)\n (hZero : smoothingNormalizer filtered backward = 0) :\n ¬0 < smoothingNormalizer filtered backward", "statement_sha256": "de9bee88cfb716194a73519fe0c36ea56eb65bca62dbd69fba5f1b41abb00fd0" }, @@ -136950,7 +136950,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spCycle_marginal_true", "source_line": 664, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spCycle_marginal_true :\n (∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint true x₁ x₂) /\n (∑ x₀ : Bool, ∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint x₀ x₁ x₂) =\n 43 / 62", "statement_sha256": "fda28cf78fc6cafbf5d9c6a5376dcfc209888ab660c1404ea05669544737e01c" }, @@ -137040,7 +137040,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spCycle_naive_message_product_ne_marginal", "source_line": 672, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spCycle_naive_message_product_ne_marginal :\n PTree.rootBelief spStar true ≠\n (∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint true x₁ x₂) /\n (∑ x₀ : Bool, ∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint x₀ x₁ x₂)", "statement_sha256": "815c76c7deae7e6b483eb0f4f3fe7e0ae75f74853955f9b060b9cb8b24a7551f" }, @@ -137117,7 +137117,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_bruteForce_true", "source_line": 651, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_bruteForce_true :\n (∑ x₁ : Bool, ∑ x₂ : Bool, spStarJoint true x₁ x₂) /\n (∑ x₀ : Bool, ∑ x₁ : Bool, ∑ x₂ : Bool, spStarJoint x₀ x₁ x₂) =\n 49 / 74", "statement_sha256": "8b2b9c2dc7957c850b7e5b203f6d36d328caa77371e60d503d54a5934ca7698d" }, @@ -137207,7 +137207,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_exactMarginal_true", "source_line": 659, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_exactMarginal_true : PTree.exactMarginal spStar true = 49 / 74", "statement_sha256": "64fa2eddbb20c9cbcf0ef34dafb81ea42a15486dd1c912e6980a374b49d19f5d" }, @@ -137284,7 +137284,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_msg_false", "source_line": 639, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_msg_false : PTree.msg spStar false = 25", "statement_sha256": "a33dcae22d260b22720048d64029645c2ed74cde0463da83ae60cb8011bfb959" }, @@ -137361,7 +137361,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_msg_true", "source_line": 634, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_msg_true : PTree.msg spStar true = 49", "statement_sha256": "6ba968df82d6ef8714c5120afb7249c03c276f3e9f518dd61db4e8bae976dcaf" }, @@ -137451,7 +137451,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_rootBelief_true", "source_line": 644, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_rootBelief_true : PTree.rootBelief spStar true = 49 / 74", "statement_sha256": "7afa1aba2add7d796b11f23edf6d8cc58b1615319fc38c16b883c1e96d59c813" }, @@ -137568,7 +137568,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.variationalStateUpdate_reconstruction", "source_line": 200, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem variationalStateUpdate_reconstruction (prior : FiniteLaw State)\n (energy : State → ℝ) (state : State) :\n variationalStateUpdate prior energy state * boltzmannPartition prior energy =\n boltzmannWeight prior energy state", "statement_sha256": "45cf9d6a609e7b9ddd867925ad6556c37534e2b9b6e0824493d017011dd2f34c" }, @@ -137666,7 +137666,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.variationalStateUpdate_sum_one", "source_line": 194, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem variationalStateUpdate_sum_one (prior : FiniteLaw State)\n (energy : State → ℝ) :\n ∑ state, variationalStateUpdate prior energy state = 1", "statement_sha256": "95c1dfbbe936c4b24c66a00675decfea9b434c6b7674d2bb00851547051ebfb6" }, @@ -137763,7 +137763,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.variationalStateUpdate_zero_energy", "source_line": 207, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem variationalStateUpdate_zero_energy (prior : FiniteLaw State) :\n variationalStateUpdate prior (fun _ => 0) = prior", "statement_sha256": "8c4bcbaf766de229485ea736b3fbe82e7433d75a8add9216666bdb5331ea865f" }, @@ -137856,7 +137856,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.beliefAffinity_eq_localAffinity", "source_line": 198, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem beliefAffinity_eq_localAffinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 < time) :\n beliefAffinity rates belief =\n localAffinity belief (rates.certifiedSemigroup.kernel time hTime.le) false true", "statement_sha256": "f02cd03776c29500fbc09cc3d54a679946a25bb2823e6b1049a9ca0fa9e75136" }, @@ -137907,7 +137907,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.beliefCurrent_eq", "source_line": 177, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem beliefCurrent_eq (rates : TwoStateRates) (belief : FiniteLaw Bool) :\n beliefCurrent rates belief =\n rates.decayRate * (rates.stationaryTrue - belief true)", "statement_sha256": "c6fc2248cc14686e6abff8e147db58a05ea9f67b98c7360a6a445d4241b63a43" }, @@ -137941,7 +137941,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.belief_sum_one", "source_line": 84, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem belief_sum_one (belief : FiniteLaw Bool) :\n belief false + belief true = 1", "statement_sha256": "6d7dee986d3e41bc0ee0219da4948b5fb3c4d852b79f6d54c69498b2f6e8aeec" }, @@ -138036,7 +138036,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemicGain_initial_bound", "source_line": 458, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemicGain_initial_bound (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n finiteKL belief rates.stationaryLaw", "statement_sha256": "29facd16d4d34bd12265142c33b9b688286feb2d343dd39df0f03018f5113df7" }, @@ -138119,7 +138119,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemicGain_le_sqDiff", "source_line": 517, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemicGain_le_sqDiff (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n ((rates.certifiedSemigroup.kernel time hTime).predictive belief true\n - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse)", "statement_sha256": "81f5ef5149c0a5b82938e802c438c3fbab2fe0d821f6df30cae228e2119260a1" }, @@ -138234,7 +138234,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemicGain_rateScaling", "source_line": 630, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemicGain_rateScaling (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (eps : ℝ) (heps : 0 < eps) :\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤\n Real.exp (-(rates.decayRate / eps) * time) ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "1c44c8c56d26c42565ede627bf239b8a3d15c7d493e6b401893a8ecee773c032" }, @@ -138307,7 +138307,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemic_gain_bounded_by_affinity", "source_line": 299, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemic_gain_bounded_by_affinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i) :\n finiteKL belief rates.stationaryLaw ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "08a455a46720f1479ff98be0e0e640aaa5168e2823e1f59c81f5692394d1e061" }, @@ -138371,7 +138371,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.evolved_true_eq_trueMass", "source_line": 562, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem evolved_true_eq_trueMass (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hTime : 0 ≤ time) :\n (rates.certifiedSemigroup.kernel time hTime).predictive belief true\n = rates.trueMass belief time", "statement_sha256": "98bf7a17117cb1ad292ae4bdee3bf612441d19f8699a0b83699bc6923fafa780" }, @@ -138474,7 +138474,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.expectedFreeEnergy_le_productionRate_div_decayRate", "source_line": 482, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem expectedFreeEnergy_le_productionRate_div_decayRate (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "ab795e2668f7a2e1d03d707cacf3a88fdeddac0a473a9c6f351589d9fd6a660e" }, @@ -138545,7 +138545,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.fastRelaxation_epistemic_eventually_small", "source_line": 711, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem fastRelaxation_epistemic_eventually_small (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps0 : ℝ, 0 < eps0 ∧\n ∀ eps : ℝ, ∀ heps : 0 < eps, eps ≤ eps0 → ∀ hTime : 0 ≤ time,\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "b3d0e6e7cb0a6c649a9370492cf81c0cea0ea79b87213d7c8ddc05104549cfc7" }, @@ -138622,7 +138622,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.fastRelaxation_epistemic_tendsto", "source_line": 761, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem fastRelaxation_epistemic_tendsto (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n Filter.Tendsto (positiveScaledEpistemicGain rates belief time hpos.le)\n (nhdsWithin 0 (Set.Ioi 0)) (nhds 0)", "statement_sha256": "4daabe884e4c076246f146b8d7c0a72c093a288a91dc64b7ef69ca78aa1e7901" }, @@ -138693,7 +138693,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.fastRelaxation_epistemic_vanishes", "source_line": 646, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem fastRelaxation_epistemic_vanishes (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps : ℝ, 0 < eps ∧ ∀ (hTime : 0 ≤ time) (heps : 0 < eps),\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "50be14d3251f22c33957df4d6e8782effc99c99cf1a2783ed340b0aa13048c2b" }, @@ -138764,7 +138764,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.finiteKL_stationaryLaw_eq", "source_line": 259, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem finiteKL_stationaryLaw_eq (rates : TwoStateRates) (belief : FiniteLaw Bool) :\n finiteKL belief rates.stationaryLaw =\n belief false * (Real.log (belief false) - Real.log (rates.stationaryFalse)) +\n belief true * (Real.log (belief true) - Real.log (rates.stationaryTrue))", "statement_sha256": "8e97e7cbc011abbc758620bbc2b5306c13fce104b4f71135ea4d67d8f3be2f47" }, @@ -138838,7 +138838,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.predictive_support_of", "source_line": 138, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem predictive_support_of (kernel : FiniteKernel Bool Bool)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (hDiag : ∀ i, 0 < kernel i i) (i : Bool) :\n 0 < kernel.predictive belief i", "statement_sha256": "aef70e4f4da84549c8fe8c69c1a1df307b678271ac68047e7777d384f80eec11" }, @@ -138899,7 +138899,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.productionRate_nonneg", "source_line": 218, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem productionRate_nonneg (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) : 0 ≤ productionRate rates belief", "statement_sha256": "c203556b99b7a1a9943a21a611120b35d0a2e28ed75cc3ffd3cfa8bc88c9a687" }, @@ -138992,7 +138992,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.residual_gain_bounded_by_affinity", "source_line": 372, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem residual_gain_bounded_by_affinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n productionRate rates\n ((rates.certifiedSemigroup.kernel time hTime).predictive belief) /\n rates.decayRate", "statement_sha256": "c6c7b41378afdf29b0f6f17b8bccf3f56366dada7d509fb92541b6f916ce2701" }, @@ -139046,7 +139046,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.rho_lt_one", "source_line": 89, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem rho_lt_one (rates : TwoStateRates) {time : ℝ} (hpos : 0 < time) :\n rates.rho time < 1", "statement_sha256": "a062e90fc2cc6a64490e94fb2259ea72702a4cfcde61ee84612c30b202686e6f" }, @@ -139100,7 +139100,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_decayRate_eq", "source_line": 593, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_decayRate_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).decayRate = rates.decayRate / eps", "statement_sha256": "8de3922d710deb788811a62e9076c3069f37dec823130b0f81aff04b268db9ef" }, @@ -139171,7 +139171,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_rho_eq", "source_line": 623, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_rho_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) (time : ℝ) :\n (scaledRates rates eps heps).rho time\n = Real.exp (-(rates.decayRate / eps) * time)", "statement_sha256": "6fd56f1291d042e0b3233fd3e4184595d006cfb276f6f818d65cca47b764d39a" }, @@ -139225,7 +139225,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_stationaryFalse_eq", "source_line": 607, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_stationaryFalse_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).stationaryFalse = rates.stationaryFalse", "statement_sha256": "5379114a72a21dbe882f2aa199c6b67cb9a636484cf379e81c77994949fb347a" }, @@ -139304,7 +139304,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_stationaryLaw_eq", "source_line": 615, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_stationaryLaw_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).stationaryLaw = rates.stationaryLaw", "statement_sha256": "e39e76480fa2198685ab4d6d1ef326871886028290c06a6e83887dc75a1d8bb5" }, @@ -139358,7 +139358,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_stationaryTrue_eq", "source_line": 599, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_stationaryTrue_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).stationaryTrue = rates.stationaryTrue", "statement_sha256": "cb06ab3e1185b3f4b5ad54b1096413dd24a3409395e51e7e1c4671786381fd15" }, @@ -139481,7 +139481,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.slicePath_entropyProduction_eq", "source_line": 819, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem slicePath_entropyProduction_eq (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (hpos : 0 < time) :\n entropyProduction (slicePathProtocol rates belief time hTime)\n = (1 - rates.rho time) * productionRate rates belief / rates.decayRate", "statement_sha256": "12e4eb0aeafe82b4adf0ec102d07ab31c6c2cb0cebbc4f6bf564991c60d49b81" }, @@ -139558,7 +139558,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.slow_fast_separation_statement", "source_line": 572, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem slow_fast_separation_statement (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n rates.rho time ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "ca7933c675b1c9269eac0f3e7a2169a080a16b0a694af0f066991bc5d94bcdcb" }, @@ -139592,7 +139592,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryLaw_false", "source_line": 71, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryLaw_false (rates : TwoStateRates) :\n rates.stationaryLaw false = rates.stationaryFalse", "statement_sha256": "9a43f3998a428fb07cc77188fd031adbe51f51d22f5d306e634f6d298a460a38" }, @@ -139649,7 +139649,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryLaw_pos", "source_line": 75, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryLaw_pos (rates : TwoStateRates) (i : Bool) :\n 0 < rates.stationaryLaw i", "statement_sha256": "d44bc679fdf2d8ef1368623900ddea44ca679edb706212bad05d88100a5dac17" }, @@ -139683,7 +139683,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryLaw_true", "source_line": 67, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryLaw_true (rates : TwoStateRates) :\n rates.stationaryLaw true = rates.stationaryTrue", "statement_sha256": "58b83fbc25dc36de5c9a4fc9cb413353cadd85f99b21214eb3a3105be435039a" }, @@ -139717,7 +139717,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryTrue_add_stationaryFalse", "source_line": 61, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryTrue_add_stationaryFalse (rates : TwoStateRates) :\n rates.stationaryTrue + rates.stationaryFalse = 1", "statement_sha256": "e5990ee2a6999921bbc70cb42c12f1b28ebdd8f2323c8f9e5d052994e79e9dfb" }, @@ -139784,7 +139784,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_diagonal_pos", "source_line": 114, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_diagonal_pos (rates : TwoStateRates) (time : ℝ) (i : Bool) :\n 0 < rates.transition time i i", "statement_sha256": "39fe53cbd5006fda0f686b2733eab404e1f4917fa4e63c15f52f1174f59b9423" }, @@ -139828,7 +139828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_false_false", "source_line": 104, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_false_false (rates : TwoStateRates) (time : ℝ) :\n rates.transition time false false =\n rates.stationaryFalse + rates.stationaryTrue * rates.rho time", "statement_sha256": "672474e8dda4c350b91a0363349c98be0d7996252a6119ea1b6356bd26f81adb" }, @@ -139872,7 +139872,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_false_true", "source_line": 96, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_false_true (rates : TwoStateRates) (time : ℝ) :\n rates.transition time false true = rates.stationaryTrue * (1 - rates.rho time)", "statement_sha256": "6892bef6d9ce83fc91c961a30144c3b6256875bb3463700cc2960b0fbbfb70a1" }, @@ -139972,7 +139972,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_fullSupport_pos", "source_line": 124, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_fullSupport_pos (rates : TwoStateRates) (time : ℝ)\n (_hTime : 0 ≤ time) (hpos : 0 < time) (s t : Bool) :\n 0 < rates.transition time s t", "statement_sha256": "5e5f532e4e126c775cffbd1dd7c7da62f77784cefba3361e79a9c8bb4f4ed4c2" }, @@ -140016,7 +140016,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_true_false", "source_line": 100, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_true_false (rates : TwoStateRates) (time : ℝ) :\n rates.transition time true false = rates.stationaryFalse * (1 - rates.rho time)", "statement_sha256": "700df05d024d9b15f1b6cf1e63a884ba183e78795dc3cb20d863ed4b135f78e6" }, @@ -140060,7 +140060,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_true_true", "source_line": 109, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_true_true (rates : TwoStateRates) (time : ℝ) :\n rates.transition time true true =\n rates.stationaryTrue + rates.stationaryFalse * rates.rho time", "statement_sha256": "c080656655e90e786be17f61f971ac8d4cefcf51ebadc75aa1f33878b1747329" }, @@ -140141,7 +140141,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_ambiguity_eq_zero", "source_line": 428, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_ambiguity_eq_zero (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n ambiguity (twoStateModel rates belief time hTime) policy = 0", "statement_sha256": "d76eb15988fa1d6b235cff0851cbc9164b08aa523a2e9fc44cbed83f146d42a5" }, @@ -140252,7 +140252,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_expectedFreeEnergy", "source_line": 443, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_expectedFreeEnergy (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy =\n epistemicGain rates belief time hTime", "statement_sha256": "14165ceab434d4b1c24ede6df44eb969acbefea301b714c3c4c4a15746f968c8" }, @@ -140357,7 +140357,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_fullSupport", "source_line": 414, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_fullSupport (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) (time : ℝ) (hTime : 0 ≤ time) :\n FullSupport (twoStateModel rates belief time hTime)", "statement_sha256": "15c676561944383cb9530241857d8f6f6b43592ed2084652c1ec541b1fca3b29" }, @@ -140438,7 +140438,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_predictedOutcome", "source_line": 404, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_predictedOutcome (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n predictedOutcome (twoStateModel rates belief time hTime) policy =\n (rates.certifiedSemigroup.kernel time hTime).predictive belief", "statement_sha256": "faca33178a9ff5affa130199a56bc4a8b5c6e48231d57010748d208063b13b08" }, @@ -140512,7 +140512,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_predictedState", "source_line": 398, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "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" }, @@ -140641,7 +140641,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_closed_exact_minimum", "source_line": 1964, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_closed_exact_minimum\n (D : ℝ) (h0 : 0 ≤ D) (hhalf : D ≤ (1:ℝ)/2) :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J ∧\n mutualInformation J = Real.log 2 - Real.binEntropy D ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D K →\n mutualInformation J ≤ mutualInformation K", "statement_sha256": "82fbd83f6d65160a93cab50a094871ac42b7739280bf6345cd54c84a91fd7c2a" }, @@ -140782,7 +140782,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_converse", "source_line": 1924, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_converse (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2)\n (J : FiniteLaw (Bool × Bool))\n (hJ : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J) :\n Real.log 2 - Real.binEntropy D ≤ mutualInformation J", "statement_sha256": "5a45f8616684d58b530a8088ccdf846f5d9a4dc038c17de98778eb8fbc27d7e7" }, @@ -140931,7 +140931,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_interior_dual_exact", "source_line": 1989, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_interior_dual_exact\n (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n rateDistortionDualValue (FiniteLaw.uniform : FiniteLaw Bool)\n boolHammingDistortion D (interiorMultiplier D) =\n Real.log 2 - Real.binEntropy D", "statement_sha256": "9fc9955fb27316b095f8fa705125feaad3464fa6881f19376f8abb376f392fbc" }, @@ -141052,7 +141052,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_interior_exact_minimum", "source_line": 1935, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_interior_exact_minimum\n (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J ∧\n mutualInformation J = Real.log 2 - Real.binEntropy D ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D K →\n mutualInformation J ≤ mutualInformation K", "statement_sha256": "383733b82aba35c1200a70d6171d69ef3775268afee82812f71fa8f892cbe2bb" }, @@ -141189,7 +141189,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_lagrangian_lower", "source_line": 1905, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_lagrangian_lower (J : FiniteLaw (Bool × Bool))\n (hfair : J.fstMarginal = FiniteLaw.uniform)\n (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n Real.log 2 + Real.log (1-D) ≤\n mutualInformation J + interiorMultiplier D *\n expectedDistortion J boolHammingDistortion", "statement_sha256": "c6e9fdee4eb38bc50ac13a71095421649c09b4e3c950d964c144489bcab946f1" }, @@ -141271,7 +141271,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_rate_algebra", "source_line": 1917, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma boolean_rate_algebra (D : ℝ) :\n Real.log 2 - Real.binEntropy D =\n Real.log 2 + Real.log (1-D) - interiorMultiplier D * D", "statement_sha256": "c006feab298349a5654a33e1bc440485cddedf2386bad90d614b2b672be26be7" }, @@ -141384,7 +141384,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_zero_exact", "source_line": 1955, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_zero_exact (J : FiniteLaw (Bool × Bool))\n (hJ : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0 J) :\n J = boolZeroDistortionJoint ∧ mutualInformation J = Real.log 2", "statement_sha256": "a299a072173c78648742856299b3c45da22f5c540f9a1732bc2cdfa443c8dc87" }, @@ -141455,7 +141455,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.entropy_fair_bool", "source_line": 1767, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma entropy_fair_bool : entropy (FiniteLaw.uniform : FiniteLaw Bool) = Real.log 2", "statement_sha256": "9af354bc840fbf6baf60063d68243c425ecbcf09b0f307d7058280e77b5a50e2" }, @@ -141564,7 +141564,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.half_or_larger_exact", "source_line": 1829, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem half_or_larger_exact (D : ℝ) (hD : (1:ℝ)/2 ≤ D) :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J ∧\n mutualInformation J = 0 ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D K →\n mutualInformation J ≤ mutualInformation K", "statement_sha256": "713a1d9f58bb09214388b7df97b9bd02f035adc71f7cb6d15e311073cfd69786" }, @@ -141666,7 +141666,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interiorMultiplier_pos", "source_line": 1841, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interiorMultiplier_pos (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n 0 < interiorMultiplier D", "statement_sha256": "6e78ea108d6d172c6a66b9c5355aea1e9a8ef00419850e7f6d06b687a2f52c50" }, @@ -141737,7 +141737,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interiorMultiplier_unbounded_near_zero", "source_line": 2015, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interiorMultiplier_unbounded_near_zero :\n ∀ M : ℝ, ∃ δ : ℝ, 0 < δ ∧\n ∀ D : ℝ, 0 < D → D < δ → M < interiorMultiplier D", "statement_sha256": "2bfb005b782257a04398429e7b4a5bb3e5cb05b1d88c1953a207f63eeb906b69" }, @@ -141808,7 +141808,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interiorMultiplier_zero_totalized", "source_line": 2035, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interiorMultiplier_zero_totalized : interiorMultiplier 0 = 0", "statement_sha256": "dcc6bec1472a041a4765af91cc7888dc3f5deeac1060cb1099c6cc1768b5ab56" }, @@ -141910,7 +141910,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interior_curve_derivative", "source_line": 1847, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interior_curve_derivative (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n HasDerivAt (fun d : ℝ => Real.log 2 - Real.binEntropy d)\n (-interiorMultiplier D) D", "statement_sha256": "9e841147b59cc51fe85cc6ed076c7c7bce574cb9bb9014a1a8f962322a422f8a" }, @@ -141992,7 +141992,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.negMulLog_half", "source_line": 1770, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma negMulLog_half (x : ℝ) :\n 2 * Real.negMulLog (x/2) = Real.negMulLog x + x * Real.log 2", "statement_sha256": "84784fe083bb020c87c8fc28ecb4f8ff17d46fb6f192179aac8ffd223a6bda34" }, @@ -142119,7 +142119,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_KL_entropy", "source_line": 1821, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem reverseReference_KL_entropy (J : FiniteLaw (Bool × Bool))\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n finiteKL J (reverseReference J.sndMarginal D h0.le h1.le) =\n crossEntropy J (reverseReference J.sndMarginal D h0.le h1.le) - entropy J", "statement_sha256": "cded05d526bd3b11731cb1075f29555869f6c927690019a81ef62104388d2b70" }, @@ -142270,7 +142270,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_KL_exact", "source_line": 1890, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma reverseReference_KL_exact (J : FiniteLaw (Bool × Bool))\n (hfair : J.fstMarginal = FiniteLaw.uniform)\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n finiteKL J (reverseReference J.sndMarginal D h0.le h1.le) =\n mutualInformation J - Real.log 2 -\n ((1-expectedDistortion J boolHammingDistortion)*Real.log (1-D) +\n expectedDistortion J boolHammingDistortion*Real.log D)", "statement_sha256": "b6f675c0e9541c8cb4a6e1b48d3c5a6fc99fc3298dd487b6e4f6ac14b7a182de" }, @@ -142401,7 +142401,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_crossEntropy", "source_line": 1853, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma reverseReference_crossEntropy (J : FiniteLaw (Bool × Bool))\n (hfair : J.fstMarginal = FiniteLaw.uniform)\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n crossEntropy J (reverseReference J.sndMarginal D h0.le h1.le) =\n crossEntropy J (J.fstMarginal.product J.sndMarginal) - Real.log 2 -\n ((1-expectedDistortion J boolHammingDistortion)*Real.log (1-D) +\n expectedDistortion J boolHammingDistortion*Real.log D)", "statement_sha256": "7076a267be9f42e71bcb39a0a14259cef0ebf3f13b7ba0fc9df07e74aef93a95" }, @@ -142513,7 +142513,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_support", "source_line": 1807, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem reverseReference_support (J : FiniteLaw (Bool × Bool))\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n ∀ xy, J xy ≠ 0 → 0 < reverseReference J.sndMarginal D h0.le h1.le xy", "statement_sha256": "99f75e56672a128d0f20ef30848964ad8a784ca9c6f51264fcde651c68e78f50" }, @@ -142615,7 +142615,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_distortion", "source_line": 1757, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_distortion (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n expectedDistortion (symmetricJoint D h0 h1) boolHammingDistortion = D", "statement_sha256": "bc79a92b394e797f2c1cebe6567b3dcf8667adb55ced6f821e82f0f362703189" }, @@ -142724,7 +142724,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_entropy", "source_line": 1780, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_entropy (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n entropy (symmetricJoint D h0 h1) = Real.log 2 + Real.binEntropy D", "statement_sha256": "e2578948e5b0dfa3ee86849d8167a158cde5018f644de762efa5dca8daadaf27" }, @@ -142839,7 +142839,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_feasible", "source_line": 1762, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_feasible (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D\n (symmetricJoint D h0 h1)", "statement_sha256": "a41efeb91631e939bbd3ea5714bea3077f17af30a02a5a7e50cc8c1240d2ecc2" }, @@ -142941,7 +142941,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_fst", "source_line": 1745, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_fst (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n (symmetricJoint D h0 h1).fstMarginal = FiniteLaw.uniform", "statement_sha256": "bf9b2b15c699f3edde32d2e422324cc80702468553bb0e43e70c3016f934533a" }, @@ -143076,7 +143076,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_information", "source_line": 1788, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_information (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n mutualInformation (symmetricJoint D h0 h1) = Real.log 2 - Real.binEntropy D", "statement_sha256": "4ebbc5aeb61335670dd357b4b376d95e11abd9135a6e177eef025643e3afbc78" }, @@ -143178,7 +143178,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_snd", "source_line": 1751, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_snd (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n (symmetricJoint D h0 h1).sndMarginal = FiniteLaw.uniform", "statement_sha256": "3c18f8afb4b4d6d0761a27162951b3bf419e0d9f50bc32fc9adf17abee63d170" }, @@ -143249,7 +143249,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetric_zero_is_owned", "source_line": 1949, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetric_zero_is_owned :\n symmetricJoint 0 (by norm_num) (by norm_num) = boolZeroDistortionJoint", "statement_sha256": "c4409adb3e618276d7de3b3d3794a37c807a24d801dbc011922a7e212b244723" }, @@ -143391,7 +143391,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.actual_primal_dual_extrema", "source_line": 2571, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem actual_primal_dual_extrema (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J ∧\n lam * (expectedDistortion J d - D) = 0 ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "4392363a24848286639f7a9731ecb9a5057783077bc740b704cc3c0d06cc9dd9" }, @@ -143557,7 +143557,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.actual_slater_support", "source_line": 2517, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem actual_slater_support (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (J : FiniteLaw (α × β))\n (hmin : ∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ lam : ℝ, 0 ≤ lam ∧ ∀ K : FiniteLaw (α × β), K.fstMarginal = p →\n FEP.FiniteInformation.mutualInformation J ≤\n FEP.FiniteInformation.mutualInformation K + lam * (expectedDistortion K d - D)", "statement_sha256": "1135293bc13c9f7249b416c651c4b5801172f38a3b87fb5c5fb56c96f8171044" }, @@ -143635,7 +143635,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.boolClosedBudget_dual_supremum", "source_line": 2888, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolClosedBudget_dual_supremum (D : ℝ) (h0 : 0 ≤ D) (hhalf : D ≤ (1:ℝ)/2) :\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧\n v = rateDistortionDualValue (FiniteLaw.uniform : FiniteLaw Bool)\n boolHammingDistortion D t} = Real.log 2 - Real.binEntropy D", "statement_sha256": "a74eaf4e414a849c7c51d3528911a34a368d48dbd99292fca3d025dc224108c8" }, @@ -143690,7 +143690,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.boolQuarterBudget_actual_dual_optimizer", "source_line": 2620, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterBudget_actual_dual_optimizer :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4) J ∧\n 0 < FEP.FiniteInformation.mutualInformation J ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue FiniteLaw.uniform boolHammingDistortion (1 / 4) lam =\n FEP.FiniteInformation.mutualInformation J ∧\n lam * (expectedDistortion J boolHammingDistortion - 1 / 4) = 0", "statement_sha256": "a9cafb8b364f03b91b102b39bf233960526a7e6e91ccf3e36a69f76f38dcdf30" }, @@ -143775,7 +143775,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.boolZeroBudget_dual_supremum", "source_line": 2873, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolZeroBudget_dual_supremum :\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧\n v = rateDistortionDualValue (FiniteLaw.uniform : FiniteLaw Bool)\n boolHammingDistortion 0 t} = Real.log 2", "statement_sha256": "896667348fcb401f375944d852ca2350afb0c1635ae070c4358ef8f621d18fa5" }, @@ -143829,7 +143829,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.coefficient_decomposition", "source_line": 2460, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem coefficient_decomposition (f : StrongDual ℝ (ℝ × ℝ)) (d r : ℝ) :\n f (d, r) = d * f (1, 0) + r * f (0, 1)", "statement_sha256": "80305fc88ee4dc9123fb19e9267c87a76853b9b327d0d3fc6e749bdd245b419a" }, @@ -143895,7 +143895,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.columnEntropy_concave_nonnegative", "source_line": 2140, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem columnEntropy_concave_nonnegative :\n ConcaveOn ℝ {x : ι → ℝ | ∀ i, 0 ≤ x i} columnEntropy", "statement_sha256": "77e7f69a271d640dc26ff365546dc7f5769dc66fde2761e7923a9a2266ab376f" }, @@ -143969,7 +143969,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.columnEntropy_smul", "source_line": 2060, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem columnEntropy_smul (c : ℝ) (x : ι → ℝ) :\n columnEntropy (c • x) = c * columnEntropy x", "statement_sha256": "b7cfb273daf78c881cb2c404f2871867e9f8ceca1a6256f8ec2906d91fa5179c" }, @@ -144073,7 +144073,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.columnEntropy_superadd", "source_line": 2094, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem columnEntropy_superadd (x y : ι → ℝ)\n (hx : ∀ i, 0 ≤ x i) (hy : ∀ i, 0 ≤ y i) :\n columnEntropy x + columnEntropy y ≤ columnEntropy (x + y)", "statement_sha256": "49478b3657951490f6aab71edd2b539b2cdf49b32528995637c08d0c9a2ba75f" }, @@ -144157,7 +144157,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.column_eq_zero_of_sum_zero", "source_line": 2086, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem column_eq_zero_of_sum_zero (x : ι → ℝ) (hx : ∀ i, 0 ≤ x i)\n (hs : ∑ i, x i = 0) : x = 0", "statement_sha256": "b9af840c49b16691ca2ca64aff1ea062d61cac6badc9d21ed7a8f5fc987b32a7" }, @@ -144262,7 +144262,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convexOn_information_fixed_source", "source_line": 2167, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convexOn_information_fixed_source (p : FiniteLaw α) :\n ConvexOn ℝ (rateDistortionFeasibleMasses (β := β) p (fun _ _ => 0) 0)\n (mutualInformationOfMasses : (α × β → ℝ) → ℝ)", "statement_sha256": "5b9a161a85d7edc52d0cd6908f18c99ddd9882c01fb9d02fe85f61425ef57ed5" }, @@ -144358,7 +144358,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convex_actual_upperImage", "source_line": 2302, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convex_actual_upperImage (p : FiniteLaw α) (d : α → β → ℝ) :\n Convex ℝ (rateDistortionUpperImage p d)", "statement_sha256": "b39b8c364c22a5d89e9378323669c0e92a42fc28c009cae9317909ac7c3b050b" }, @@ -144458,7 +144458,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convex_feasible", "source_line": 2223, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convex_feasible (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ) :\n Convex ℝ (rateDistortionFeasibleMasses p d D)", "statement_sha256": "feec8372125cccdd0b8c77441176a4c8a84877e22cd308db9e07118abe355da3" }, @@ -144564,7 +144564,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convex_upperImage_of_information_convex", "source_line": 2252, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convex_upperImage_of_information_convex\n (p : FiniteLaw α) (d : α → β → ℝ)\n (hMI : ConvexOn ℝ (FixedSourceMasses (β := β) p)\n (mutualInformationOfMasses : (α × β → ℝ) → ℝ)) :\n Convex ℝ (rateDistortionUpperImage p d)", "statement_sha256": "e5181599feda76d8793ddf431c9fc6eb9f7db253b7bc968f057424d867a1e200" }, @@ -144659,7 +144659,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.distortion_affine", "source_line": 2214, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem distortion_affine (d : α → β → ℝ) (x y : α × β → ℝ) (a b : ℝ) :\n (∑ xy, (a • x + b • y) xy * d xy.1 xy.2) =\n a * (∑ xy, x xy * d xy.1 xy.2) +\n b * (∑ xy, y xy * d xy.1 xy.2)", "statement_sha256": "5973454a320de3058b34f2a65f77036d690d7ea60e03688f5f9b7c870836027a" }, @@ -144839,7 +144839,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.epsilon_dual_lower_bound", "source_line": 2761, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem epsilon_dual_lower_bound (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (J : FiniteLaw (α × β)) (hJ : RateDistortionFeasible p d D J)\n (hmin : ∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K)\n (ε : ℝ) (hε : 0 < ε) :\n ∃ lam : ℝ, 0 ≤ lam ∧\n FEP.FiniteInformation.mutualInformation J - ε ≤ rateDistortionDualValue p d D lam", "statement_sha256": "8b3bccad0f71414db077af22582d6be5969692f1b01ca940d5d13a9bdc7b7048" }, @@ -144975,7 +144975,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.exists_actual_strong_duality", "source_line": 2541, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem exists_actual_strong_duality (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J", "statement_sha256": "3e8a3fd9a37ef0277d06ee994d2fe4f7e3e1a4008a4deb26497e22888905ea8b" }, @@ -145117,7 +145117,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.exists_all_feasible_dual_supremum", "source_line": 2829, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem exists_all_feasible_dual_supremum (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hfeasible : ∃ K, RateDistortionFeasible p d D K) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "05cf7cdb36d98299a2396ad7e4259f5a4df5775ede568c41b6e487126bb2bf50" }, @@ -145241,7 +145241,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.exists_optimizer_boundary", "source_line": 2363, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem exists_optimizer_boundary (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hfeasible : ∃ J, RateDistortionFeasible p d D J) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (D, FEP.FiniteInformation.mutualInformation J) ∈ rateDistortionUpperImage p d ∧\n (D, FEP.FiniteInformation.mutualInformation J) ∉\n interior (rateDistortionUpperImage p d)", "statement_sha256": "918f70950a7e8dbabe3a080c270fedc2d87cbb41210369e1780cfda9de2ffa9a" }, @@ -145333,7 +145333,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.information_eq_rowEntropy_sub_columns", "source_line": 2153, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem information_eq_rowEntropy_sub_columns (x : α × β → ℝ) :\n mutualInformationOfMasses x =\n (∑ u : α, Real.negMulLog (∑ v : β, x (u, v))) -\n ∑ v : β, columnEntropy (fun u : α => x (u, v))", "statement_sha256": "409171a990e6a44f7453b911bf3140384eb0cb39899b9282888ac11345a23440" }, @@ -145382,7 +145382,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.negativeBudget_infeasible_control", "source_line": 2664, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem negativeBudget_infeasible_control :\n ¬ ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (-1) J", "statement_sha256": "b94a289a1f411347f8e634fa7bac8294e55a561e2b08f2161f25ceca01458fe1" }, @@ -145437,7 +145437,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.nonneg_of_bounded_below_ray", "source_line": 2379, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nonneg_of_bounded_below_ray (a c L : ℝ)\n (h : ∀ t : ℝ, 0 ≤ t → L ≤ c + t * a) : 0 ≤ a", "statement_sha256": "379ad5a238be50f3adfbc40e203dcc16ec64667e2aa35a8ca9aa92f5789be465" }, @@ -145478,7 +145478,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.nonunique_minimizer_control", "source_line": 2670, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nonunique_minimizer_control :\n ∃ left right : FiniteLaw (Bool × Bool), left ≠ right ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) left ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) K →\n FEP.FiniteInformation.mutualInformation left ≤ FEP.FiniteInformation.mutualInformation K) ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) right ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) K →\n FEP.FiniteInformation.mutualInformation right ≤ FEP.FiniteInformation.mutualInformation K)", "statement_sha256": "6922cde4c7777fea4deac7964d6549958201864f80e355befccb58dda7629c47" }, @@ -145561,7 +145561,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.nonzero_lower_support", "source_line": 2444, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nonzero_lower_support (C : Set (ℝ × ℝ)) (P : ℝ × ℝ)\n (hC : Convex ℝ C) (hint : (interior C).Nonempty)\n (hboundary : P ∉ interior C) :\n ∃ f : StrongDual ℝ (ℝ × ℝ), f ≠ 0 ∧ ∀ z ∈ C, f P ≤ f z", "statement_sha256": "3d09bd21d595ef1e92f84ed0c967b96006c29a32a12ff3cae2c5cc37689dd2d1" }, @@ -145682,7 +145682,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.normalize_lower_support_coefficients", "source_line": 2392, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem normalize_lower_support_coefficients\n (C : Set (ℝ × ℝ)) (P : ℝ × ℝ) (a b : ℝ)\n (hupD : ∀ z ∈ C, ∀ t : ℝ, 0 ≤ t → (z.1 + t, z.2) ∈ C)\n (hupR : ∀ z ∈ C, ∀ t : ℝ, 0 ≤ t → (z.1, z.2 + t) ∈ C)\n (hsupport : ∀ z ∈ C, a * P.1 + b * P.2 ≤ a * z.1 + b * z.2)\n (hnonzero : a ≠ 0 ∨ b ≠ 0)\n (hslater : ∃ z ∈ C, z.1 < P.1) :\n 0 ≤ a ∧ 0 < b ∧ 0 ≤ a / b ∧\n ∀ z ∈ C, P.2 ≤ z.2 + (a / b) * (z.1 - P.1)", "statement_sha256": "687ad3fe6de66e97e0fdb4897ad65f77e221c0bf6dc779e8c49f5f17aa3945f8" }, @@ -145808,7 +145808,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.normalize_lower_support_functional", "source_line": 2468, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem normalize_lower_support_functional\n (C : Set (ℝ × ℝ)) (P : ℝ × ℝ) (f : StrongDual ℝ (ℝ × ℝ))\n (hupD : UpD C) (hupR : UpR C)\n (hsupport : ∀ z ∈ C, f P ≤ f z) (hf : f ≠ 0) (hslater : Slater C P) :\n 0 ≤ f (1,0) ∧ 0 < f (0,1) ∧ 0 ≤ f (1,0) / f (0,1) ∧\n ∀ z ∈ C, P.2 ≤ z.2 + (f (1,0) / f (0,1)) * (z.1 - P.1)", "statement_sha256": "0196c024c92404c9a38c2a610c0fc4ab1d0f0c038eb01f200a15628f2bbecdf9" }, @@ -145954,7 +145954,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.normalized_columnEntropy_concave", "source_line": 2070, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem normalized_columnEntropy_concave (x y : ι → ℝ)\n (hx : ∀ i, 0 ≤ x i) (hy : ∀ i, 0 ≤ y i)\n (hsx : ∑ i, x i = 1) (hsy : ∑ i, y i = 1)\n (a b : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) :\n a * columnEntropy x + b * columnEntropy y ≤ columnEntropy (a • x + b • y)", "statement_sha256": "f1406bc39920d1061eb583ac64256dde00b9d4c47c3bbea7b40e0313972fca86" }, @@ -146074,7 +146074,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.optimizer_not_interior", "source_line": 2339, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem optimizer_not_interior (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (J : FiniteLaw (α × β))\n (hmin : ∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) :\n (D, FEP.FiniteInformation.mutualInformation J) ∉\n interior (rateDistortionUpperImage p d)", "statement_sha256": "abcfc8425ee7c2515474430e4da8d410c9f02c91f739c1107103668a8d1ab72d" }, @@ -146200,7 +146200,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.scalar_support_from_geometry", "source_line": 2496, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem scalar_support_from_geometry\n (C : Set (ℝ × ℝ)) (P : ℝ × ℝ)\n (hC : Convex ℝ C) (hint : (interior C).Nonempty)\n (hboundary : P ∉ interior C) (hupD : UpD C) (hupR : UpR C)\n (hslater : Slater C P) :\n ∃ lam : ℝ, 0 ≤ lam ∧ ∀ z ∈ C, P.2 ≤ z.2 + lam * (z.1 - P.1)", "statement_sha256": "c02810e4a8537ecaa43238a0769c04ad42619a7b5d1c5a351b2e2e0d943c8373" }, @@ -146300,7 +146300,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_closed", "source_line": 2725, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_closed (p : FiniteLaw α) (d : α → β → ℝ) :\n IsClosed (rateDistortionUpperImage p d)", "statement_sha256": "9c45473a79fe0632cdb2c14b74856a08440178e05e49d4ad4de1c92d689ed31a" }, @@ -146418,7 +146418,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_iff_joint", "source_line": 2283, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_iff_joint (p : FiniteLaw α) (d : α → β → ℝ) (z : ℝ × ℝ) :\n z ∈ rateDistortionUpperImage p d ↔\n ∃ J : FiniteLaw (α × β), J.fstMarginal = p ∧\n expectedDistortion J d ≤ z.1 ∧ FEP.FiniteInformation.mutualInformation J ≤ z.2", "statement_sha256": "b52bda9594e461f7a7404f93059e31845371db51bb3ff2ea907494bdafc4c03a" }, @@ -146528,7 +146528,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_nonempty_interior", "source_line": 2315, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_nonempty_interior (p : FiniteLaw α) (d : α → β → ℝ)\n (J : FiniteLaw (α × β)) (hJ : J.fstMarginal = p) :\n (interior (rateDistortionUpperImage p d)).Nonempty", "statement_sha256": "0c10f28761b5b6debe76450adbe11ccdbf705c551aba84b61c24a4ef3902031d" }, @@ -146651,7 +146651,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_upward_distortion", "source_line": 2268, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_upward_distortion (p : FiniteLaw α) (d : α → β → ℝ)\n (z : ℝ × ℝ) (t : ℝ) (ht : 0 ≤ t)\n (hz : z ∈ rateDistortionUpperImage p d) :\n (z.1 + t, z.2) ∈ rateDistortionUpperImage p d", "statement_sha256": "8b3d26435359bc25adf6d8c5b12eab643106c6be9e421192b8055c169fbbaab9" }, @@ -146774,7 +146774,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_upward_information", "source_line": 2275, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_upward_information (p : FiniteLaw α) (d : α → β → ℝ)\n (z : ℝ × ℝ) (t : ℝ) (ht : 0 ≤ t)\n (hz : z ∈ rateDistortionUpperImage p d) :\n (z.1, z.2 + t) ∈ rateDistortionUpperImage p d", "statement_sha256": "2e20a562d9bfc4a564f5cd2dff61844b3c012133e75a36dad443d14ebe084c88" }, @@ -146821,7 +146821,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.zeroBudget_zeroDistortion_control", "source_line": 2648, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem zeroBudget_zeroDistortion_control :\n let p : FiniteLaw Bool := FiniteLaw.uniform\n let J := p.product (FiniteLaw.pointMass false)\n RateDistortionFeasible p (fun _ _ : Bool => (0 : ℝ)) 0 J ∧\n FEP.FiniteInformation.mutualInformation J = 0 ∧\n rateDistortionDualValue p (fun _ _ : Bool => (0 : ℝ)) 0 0 =\n FEP.FiniteInformation.mutualInformation J ∧\n ¬ (∃ K : FiniteLaw (Bool × Bool), K.fstMarginal = p ∧\n expectedDistortion K (fun _ _ => 0) < 0)", "statement_sha256": "a3b8a9144892c8545e1f51f423e52fc91ff9b8042510199d1aeba6b01e891839" }, @@ -146916,7 +146916,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolBiased_entropy_lt_zeroEnergyGibbs", "source_line": 1309, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolBiased_entropy_lt_zeroEnergyGibbs (β : ℝ) :\n entropy boolBiased <\n entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β)", "statement_sha256": "b7aaa617b1f06bb63bc71ee8031c8b435839dc70002a8c5231ab3239c7c2e332" }, @@ -147051,7 +147051,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolFeasible_information_pos", "source_line": 1154, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolFeasible_information_pos (budget : ℝ) (hbudget : budget < (1 : ℝ) / 2)\n (joint : FiniteLaw (Bool × Bool))\n (hjoint : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion budget joint) :\n 0 < mutualInformation joint", "statement_sha256": "22741a8c4f241bd9501a73cbda6ca7f4445e4cbd56cc10556129b1c85fe9e405" }, @@ -147129,7 +147129,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolHalfBudget_distinct_minimizers", "source_line": 1113, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolHalfBudget_distinct_minimizers :\n ∃ left right : FiniteLaw (Bool × Bool), left ≠ right ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) left ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation left ≤ mutualInformation candidate) ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) right ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation right ≤ mutualInformation candidate)", "statement_sha256": "aaf87ec28b9c26e1ab8be1560a5b8fbdd3e9dbf0bf849a06e5323143d39c5d47" }, @@ -147212,7 +147212,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolHammingDistortion_nonneg", "source_line": 1076, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolHammingDistortion_nonneg (source code : Bool) :\n 0 ≤ boolHammingDistortion source code", "statement_sha256": "8c9bd6c72a56c62cde9b7b100a2d0f4d49ca52dec571e040856b5847e062d5d7" }, @@ -147294,7 +147294,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolIndependent_distortion", "source_line": 1083, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolIndependent_distortion (code : FiniteLaw Bool) :\n expectedDistortion ((FiniteLaw.uniform : FiniteLaw Bool).product code)\n boolHammingDistortion = 1 / 2", "statement_sha256": "e4543f2f143f8476bfc639467965abf88d1b26b3ffcc4dfa08a26b715fa15556" }, @@ -147419,7 +147419,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolIndependent_minimizer", "source_line": 1096, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolIndependent_minimizer (budget : ℝ) (hbudget : (1 : ℝ) / 2 ≤ budget)\n (code : FiniteLaw Bool) :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion budget\n (FiniteLaw.uniform.product code) ∧\n ∀ candidate : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion budget candidate →\n mutualInformation ((FiniteLaw.uniform : FiniteLaw Bool).product code) ≤\n mutualInformation candidate", "statement_sha256": "dfd7bc7a96fdd4942b92dadac86c295fd8ad6a1c830346da0ec9099c61afd86a" }, @@ -147509,7 +147509,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolQuarterBudget_exists_positive_minimizer", "source_line": 1170, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterBudget_exists_positive_minimizer :\n ∃ optimizer : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4) optimizer ∧\n 0 < mutualInformation optimizer ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 4) candidate → mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "c6d9d9bac8b3fcfd482ef4436e55432486ece3c025127a6ee1224e5c6e406908" }, @@ -147587,7 +147587,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolQuarterDistortionJoint_feasible", "source_line": 1144, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterDistortionJoint_feasible :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4)\n boolQuarterDistortionJoint", "statement_sha256": "d3c079a238d79fd39cabbfa76a2cfcb10d109d4c3520dd0fd335722c1287edca" }, @@ -147658,7 +147658,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolQuarterDistortionJoint_fstMarginal", "source_line": 1137, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterDistortionJoint_fstMarginal :\n boolQuarterDistortionJoint.fstMarginal = FiniteLaw.uniform", "statement_sha256": "0f1f54235369cf0289a408701efcd498e9279d8115eafce0f89c3c59336f9c07" }, @@ -147750,7 +147750,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolZeroBudget_unique_feasible", "source_line": 1202, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolZeroBudget_unique_feasible (joint : FiniteLaw (Bool × Bool))\n (hjoint : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0 joint) :\n joint = boolZeroDistortionJoint", "statement_sha256": "311f8e0f423068b934f85e1d4de5d1d5b9096ca227310367d55370217d1de77b" }, @@ -147821,7 +147821,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolZeroDistortionJoint_feasible", "source_line": 1188, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolZeroDistortionJoint_feasible :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0\n boolZeroDistortionJoint", "statement_sha256": "6ad42a4a772dbb862426b54fd32f49c0c6303bbe2d9097123d3ba710588c28e7" }, @@ -147922,7 +147922,7 @@ ], "qualified_name": "FEP.VariationalDuality.conditionalKL_self", "source_line": 320, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem conditionalKL_self\n (prior : FiniteLaw α) (channel : FiniteKernel α β) :\n conditionalKL prior channel channel = 0", "statement_sha256": "7fa003d0b4c9e2bce410d76345b3b958bedb99af726b1974bdd2756bfc42d5cc" }, @@ -148038,7 +148038,7 @@ ], "qualified_name": "FEP.VariationalDuality.constantChannel_KL_strict", "source_line": 412, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constantChannel_KL_strict (actual reference : FiniteLaw α)\n (hne : actual ≠ reference) :\n finiteKL\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive actual)\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive reference) <\n finiteKL actual reference", "statement_sha256": "ce34abd3b78ba8166d95e14f82add8f608cbb2c7de185bb265610f8e180a4a45" }, @@ -148136,7 +148136,7 @@ ], "qualified_name": "FEP.VariationalDuality.constantChannel_KL_zero", "source_line": 403, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constantChannel_KL_zero (actual reference : FiniteLaw α) :\n finiteKL\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive actual)\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive reference) = 0", "statement_sha256": "2a984455fffa102d9c90fafd80baa3e32540ca179ecb28c5eab4d557341634c0" }, @@ -148218,7 +148218,7 @@ ], "qualified_name": "FEP.VariationalDuality.constantChannel_predictive", "source_line": 392, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constantChannel_predictive (law : FiniteLaw α) :\n (FiniteKernel.deterministic (fun _ : α => ())).predictive law =\n FiniteLaw.pointMass ()", "statement_sha256": "923fcdd6e338841b5caa1b7a7cda316d8aca02d8977a2566cadd1ae1c6a45cff" }, @@ -148335,7 +148335,7 @@ ], "qualified_name": "FEP.VariationalDuality.constrainedEntropy_existsUnique_of_certificate", "source_line": 476, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constrainedEntropy_existsUnique_of_certificate [Nonempty α]\n (certificate : ConstrainedEntropyCertificate α) :\n SatisfiesMomentConstraints certificate.gibbs.optimizer\n certificate.constraints ∧\n ∀ candidate : FiniteLaw α,\n SatisfiesMomentConstraints candidate certificate.constraints →\n entropy candidate ≤ entropy certificate.gibbs.optimizer ∧\n (entropy candidate = entropy certificate.gibbs.optimizer ↔\n candidate = certificate.gibbs.optimizer)", "statement_sha256": "3f8528c92b0edf46732764c49f86b9c9e4efc5ef0209e976e9a2481b595f5dcf" }, @@ -148406,7 +148406,7 @@ ], "qualified_name": "FEP.VariationalDuality.continuous_mutualInformationOfMasses", "source_line": 894, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem continuous_mutualInformationOfMasses :\n Continuous (mutualInformationOfMasses : (α × β → ℝ) → ℝ)", "statement_sha256": "6a40e5d58938489262fe334f248f7036fe8c4768848f3b22318e1b06570168e8" }, @@ -148515,7 +148515,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_iff", "source_line": 129, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_eq_logPartition_iff\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate = certificate.logPartition ↔\n candidate = certificate.optimizer", "statement_sha256": "56de07dc8ec708c7b9ca2c31b6d95d324e42e9130a0dc260ff555c9add4b3fe2" }, @@ -148610,7 +148610,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", "source_line": 81, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_eq_logPartition_sub_kl\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate =\n certificate.logPartition -\n finiteKL candidate certificate.optimizer", "statement_sha256": "2f4b87e50a9330663869cfc6c0e4f72922af2d028fce939bea2e56a018e22316" }, @@ -148711,7 +148711,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_le_logPartition", "source_line": 110, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_le_logPartition\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate ≤ certificate.logPartition", "statement_sha256": "2a1ce35e8acecb9f5c2ef422caa90cc6cb32928fb7307d757f62d25dc88127ec" }, @@ -148802,7 +148802,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", "source_line": 117, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_optimizer (certificate : GibbsCertificate α) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", "statement_sha256": "4ff9bca17c91e518c5489c4efad23ab786aa8a94baea0af04d7bda141313758b" }, @@ -148919,7 +148919,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_pos", "source_line": 1244, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem energyGibbsLaw_pos [Nonempty α] (E : α → ℝ) (β : ℝ) (x : α) :\n 0 < energyGibbsLaw E β x", "statement_sha256": "1b4f957ef1e093737bbf6478ab85e37be780f03f86718396f2806034c1183dc9" }, @@ -149009,7 +149009,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_zero_energy", "source_line": 1300, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem energyGibbsLaw_zero_energy [Nonempty α] (β : ℝ) :\n energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform", "statement_sha256": "3bb487dd51485c6815251900a0f60a0a59e8b3d43a179622b7537690478622c5" }, @@ -149146,7 +149146,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne", "source_line": 1291, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -149297,7 +149297,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbs_maxEntropy", "source_line": 1274, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -149397,7 +149397,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyPartition_pos", "source_line": 1230, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem energyPartition_pos [Nonempty α] (E : α → ℝ) (β : ℝ) :\n 0 < energyPartition E β", "statement_sha256": "1a4cbd4dddda5f4f4763c2ca754357412204fd41159656b09da4f6b07b7d592d" }, @@ -149528,7 +149528,7 @@ ], "qualified_name": "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl", "source_line": 1250, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "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" }, @@ -149651,7 +149651,7 @@ ], "qualified_name": "FEP.VariationalDuality.entropy_helmholtzGibbsLaw", "source_line": 1413, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "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" }, @@ -149753,7 +149753,7 @@ ], "qualified_name": "FEP.VariationalDuality.expectedDistortion_nonneg", "source_line": 999, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem expectedDistortion_nonneg (joint : FiniteLaw (α × β))\n (distortion : α → β → ℝ) (hdistortion : ∀ x y, 0 ≤ distortion x y) :\n 0 ≤ expectedDistortion joint distortion", "statement_sha256": "8d77c6787de05d3a43761ae5878b8bde6ca7681077e39c89c19248755a672596" }, @@ -149849,7 +149849,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.expected_log_weight_le_log_expected_weight", "source_line": 211, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem expected_log_weight_le_log_expected_weight\n (sampling : FiniteLaw α) (weight : α → ℝ)\n (hweight : ∀ x, 0 < weight x) :\n ∑ x, sampling x * Real.log (weight x) ≤\n Real.log (∑ x, sampling x * weight x)", "statement_sha256": "bd6e591b0142317cdd71a3227b94aa3a95812b7fe29e99e160af6f73782de7c8" }, @@ -149931,7 +149931,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Boundary_feasible_iff_pointMassZero", "source_line": 680, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Boundary_feasible_iff_pointMassZero (law : FiniteLaw (Fin 3)) :\n SatisfiesMomentConstraints law fin3BoundaryConstraints ↔\n law = FiniteLaw.pointMass (0 : Fin 3)", "statement_sha256": "1a5b6e0a77ff5c7df00f7d9d9915ff6d10b052e1d68bc12f5602f14bb7a2dc49" }, @@ -150009,7 +150009,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Boundary_uniqueEntropyMaximizer", "source_line": 711, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Boundary_uniqueEntropyMaximizer :\n SatisfiesMomentConstraints (FiniteLaw.pointMass (0 : Fin 3))\n fin3BoundaryConstraints ∧\n ∀ candidate : FiniteLaw (Fin 3),\n SatisfiesMomentConstraints candidate fin3BoundaryConstraints →\n entropy candidate ≤ entropy (FiniteLaw.pointMass (0 : Fin 3)) ∧\n (entropy candidate = entropy (FiniteLaw.pointMass (0 : Fin 3)) ↔\n candidate = FiniteLaw.pointMass (0 : Fin 3))", "statement_sha256": "d25cbdbbd572ac14f64d29d7ea24e99910ffbe6271e87c34d9548c03f3bd546d" }, @@ -150080,7 +150080,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Infeasible_no_feasibleLaw", "source_line": 741, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Infeasible_no_feasibleLaw :\n ¬ ∃ law : FiniteLaw (Fin 3),\n SatisfiesMomentConstraints law fin3InfeasibleConstraints", "statement_sha256": "cdecbb9520cc2762bdde039bfe2b13605945a18773afab890b602cfe93c395bc" }, @@ -150158,7 +150158,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3InteriorMoment_uniqueEntropyMaximizer", "source_line": 651, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3InteriorMoment_uniqueEntropyMaximizer :\n (∀ x, 0 < fin3InteriorMomentCertificate.gibbs.optimizer x) ∧\n SatisfiesMomentConstraints\n fin3InteriorMomentCertificate.gibbs.optimizer\n fin3InteriorMomentConstraints ∧\n ∀ candidate : FiniteLaw (Fin 3),\n SatisfiesMomentConstraints candidate fin3InteriorMomentConstraints →\n entropy candidate ≤\n entropy fin3InteriorMomentCertificate.gibbs.optimizer ∧\n (entropy candidate =\n entropy fin3InteriorMomentCertificate.gibbs.optimizer ↔\n candidate = fin3InteriorMomentCertificate.gibbs.optimizer)", "statement_sha256": "5b73a2064a3daab7716e293d63173e404c3a47210f64dde8c6f988165da5b6ea" }, @@ -150240,7 +150240,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Redundant_feasible_iff", "source_line": 761, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Redundant_feasible_iff (law : FiniteLaw (Fin 3)) :\n SatisfiesMomentConstraints law fin3RedundantConstraints ↔\n expectation law fin3FirstMoment = 1", "statement_sha256": "2c5c7e76792b8fab68e74d738844c0d3ab126da34c9847f8890b1b6dd73d840d" }, @@ -150398,7 +150398,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteChannel_dataProcessing", "source_line": 342, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteChannel_dataProcessing\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n [Nonempty α]\n (hactual : ∀ x, 0 < actual x)\n (hreference : ∀ x, 0 < reference x)\n (hchannel : ∀ x y, 0 < channel x y) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "statement_sha256": "b5aff5c3a72a42304c60ed025d5db4e61976fffb1d7ace21f91a4e689ba39056" }, @@ -150489,7 +150489,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteChannel_identity_preservesKL", "source_line": 383, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteChannel_identity_preservesKL [DecidableEq α]\n (actual reference : FiniteLaw α) :\n finiteKL (FiniteKernel.identity.predictive actual)\n (FiniteKernel.identity.predictive reference) =\n finiteKL actual reference", "statement_sha256": "0b641c44c0ed64408da193c25acd5a53fa0b82ea0a807fd18a72f84c0886a399" }, @@ -150591,7 +150591,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteKL_eq_crossEntropy_sub_entropy_of_relativeSupport", "source_line": 797, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteKL_eq_crossEntropy_sub_entropy_of_relativeSupport\n (p q : FiniteLaw α) (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n finiteKL p q = crossEntropy p q - entropy p", "statement_sha256": "e9e3d7aa00c0d210d8aa5b1cd68cd76812855f777d48641cabacad698d3b3d6a" }, @@ -150719,7 +150719,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteKL_joint_sameKernel", "source_line": 329, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteKL_joint_sameKernel\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n (hreference : ∀ x, 0 < reference x)\n (hchannel : ∀ x y, 0 < channel x y) :\n finiteKL (channel.joint actual) (channel.joint reference) =\n finiteKL actual reference", "statement_sha256": "9c5db5658f09464a312a4ebe7d2d081231b68764f1353f208227c784f9e37e5d" }, @@ -150802,7 +150802,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteKL_swap", "source_line": 287, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteKL_swap (actual reference : FiniteLaw (α × β)) :\n finiteKL (swapLaw actual) (swapLaw reference) =\n finiteKL actual reference", "statement_sha256": "976b299201f31d053d3b87d4d73ad69666d7fe869a74e320c1cf0e5efeb76ef6" }, @@ -150935,7 +150935,7 @@ ], "qualified_name": "FEP.VariationalDuality.fixedSampleImportanceJensen", "source_line": 264, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fixedSampleImportanceJensen\n (base : FiniteLaw α) (sampleCount : ℕ) [NeZero sampleCount]\n (weight : α → ℝ) (hweight : ∀ x, 0 < weight x) :\n ∑ sample, iidProductLaw base sampleCount sample *\n Real.log (sampleMeanWeight sampleCount weight sample) ≤\n Real.log (∑ sample, iidProductLaw base sampleCount sample *\n sampleMeanWeight sampleCount weight sample)", "statement_sha256": "17daf33e97b0ad03e5f203bee569e283068379f170c6ceb07c3b86ddc3411971" }, @@ -151018,7 +151018,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.gibbsFreeEnergy_optimizer", "source_line": 150, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem gibbsFreeEnergy_optimizer (certificate : GibbsCertificate α) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", "statement_sha256": "1e6ae1beb175eaf8520ea5af29ea21e4524b5c8996c9437f555ecb53215f7ee6" }, @@ -151141,7 +151141,7 @@ ], "qualified_name": "FEP.VariationalDuality.hasDerivAt_helmholtzFreeEnergy", "source_line": 1437, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -151276,7 +151276,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff", "source_line": 1393, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -151411,7 +151411,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_le", "source_line": 1385, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -151554,7 +151554,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_lt", "source_line": 1406, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -151671,7 +151671,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzGibbsLaw_pos", "source_line": 1350, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem helmholtzGibbsLaw_pos [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) :\n 0 < helmholtzGibbsLaw E T x", "statement_sha256": "5e4fe0d4ef1c4cdb7cf7fe9e96d81c63924ca911464ff19d719f8527840c9903" }, @@ -151753,7 +151753,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzPartition_bool", "source_line": 1475, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem helmholtzPartition_bool (T : ℝ) :\n helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1", "statement_sha256": "0503320fa9b32a633c72d8cafb00506ecb1d72bff2a7c2c2fce89b457cfb1cf2" }, @@ -151853,7 +151853,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", "source_line": 1337, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem helmholtzPartition_pos [Nonempty α] (E : α → ℝ) (T : ℝ) :\n 0 < helmholtzPartition E T", "statement_sha256": "34551357b1a4a59fdbf146e079647f366e37842029fdada84b437ba4f940279f" }, @@ -151964,7 +151964,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtz_bool_uniform_gt", "source_line": 1481, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -152105,7 +152105,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", "source_line": 1363, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "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" }, @@ -152201,7 +152201,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.iidProductLaw_mass", "source_line": 233, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem iidProductLaw_mass\n (base : FiniteLaw α) (sampleCount : ℕ)\n (sample : Fin sampleCount → α) :\n iidProductLaw base sampleCount sample =\n ∏ index, base (sample index)", "statement_sha256": "2e1d2605496913e73de113a2e92d4119aa701d36a1e69226aa46ccf66ec45780" }, @@ -152303,7 +152303,7 @@ ], "qualified_name": "FEP.VariationalDuality.isClosed_rateDistortionFeasibleMasses", "source_line": 905, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem isClosed_rateDistortionFeasibleMasses (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) :\n IsClosed (rateDistortionFeasibleMasses source distortion budget)", "statement_sha256": "b5b51efec32b376f28a961952bcef977745734d6c25bcc714e9f10a8687c41e6" }, @@ -152412,7 +152412,7 @@ ], "qualified_name": "FEP.VariationalDuality.isCompact_rateDistortionFeasibleMasses", "source_line": 948, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem isCompact_rateDistortionFeasibleMasses (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) :\n IsCompact (rateDistortionFeasibleMasses source distortion budget)", "statement_sha256": "4b7c702ed1ecea1f67744f245e9051c97d9fa3fb549fcf7483fb27d66917f905" }, @@ -152529,7 +152529,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.jointELBO_coordinate_decomposition", "source_line": 167, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointELBO_coordinate_decomposition\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n jointELBO actualPrior referencePrior actualKernel referenceKernel =\n -finiteKL actualPrior referencePrior -\n conditionalKL actualPrior actualKernel referenceKernel", "statement_sha256": "dc5201007e2dfd1f4da8b91d3d5b8548d5fd91bebaa9a44dd19360de558dcbd2" }, @@ -152670,7 +152670,7 @@ ], "qualified_name": "FEP.VariationalDuality.jointSliceVFE_eq_kl_add_surprisal", "source_line": 1525, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointSliceVFE_eq_kl_add_surprisal (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < kernel.predictive prior y)\n (hjoint : ∀ x, 0 < prior x * kernel x y) (q : FiniteLaw α) :\n jointSliceVFE prior kernel y q =\n finiteKL q (kernel.posterior prior y hy) +\n evidenceSurprisal prior kernel y", "statement_sha256": "e0caeeb007f599f6a76e20da585119b17edd5730b21290267d32a17f8c7feca5" }, @@ -152817,7 +152817,7 @@ ], "qualified_name": "FEP.VariationalDuality.jointSliceVFE_eq_surprisal_iff", "source_line": 1567, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointSliceVFE_eq_surprisal_iff (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < kernel.predictive prior y)\n (hjoint : ∀ x, 0 < prior x * kernel x y) (q : FiniteLaw α) :\n jointSliceVFE prior kernel y q = evidenceSurprisal prior kernel y ↔\n q = kernel.posterior prior y hy", "statement_sha256": "fa6a768eca7efc76738a7219451667ddfde5bc0580857d536f44db5dfb4377db" }, @@ -152964,7 +152964,7 @@ ], "qualified_name": "FEP.VariationalDuality.jointSliceVFE_ge_surprisal", "source_line": 1558, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointSliceVFE_ge_surprisal (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < kernel.predictive prior y)\n (hjoint : ∀ x, 0 < prior x * kernel x y) (q : FiniteLaw α) :\n evidenceSurprisal prior kernel y ≤ jointSliceVFE prior kernel y q", "statement_sha256": "7970469fe93249e07387c6d9e71c6793a2699afdd90ce90984d8496bcbb794fc" }, @@ -153046,7 +153046,7 @@ ], "qualified_name": "FEP.VariationalDuality.joint_supported_by_productMarginals", "source_line": 815, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem joint_supported_by_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", "statement_sha256": "a41569935cfef4f82887c5f60b709370d2d2eaed9f99a3c7d34f3a2d9c8cf2b0" }, @@ -153163,7 +153163,7 @@ ], "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", "source_line": 1354, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -153287,7 +153287,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.meanFieldCoordinateFreeEnergy_eq", "source_line": 187, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem meanFieldCoordinateFreeEnergy_eq\n (fixed : FiniteLaw α) (candidate target : FiniteLaw β)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target =\n finiteKL candidate target", "statement_sha256": "f82cbfcdcea97ed9da01e06c0176e2f6dc5d12eade8c5bd05ab3ee6a5c813f63" }, @@ -153409,7 +153409,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.meanFieldCoordinate_optimum_iff", "source_line": 198, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem meanFieldCoordinate_optimum_iff\n (fixed : FiniteLaw α) (candidate target : FiniteLaw β)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔\n candidate = target", "statement_sha256": "c95324ce9ee89154f2b261a84676a4f9aa2bf944f3b567e9de40448101ab988f" }, @@ -153489,7 +153489,7 @@ ], "qualified_name": "FEP.VariationalDuality.mutualInformationOfMasses_convexOn_fixedSource", "source_line": 2685, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem mutualInformationOfMasses_convexOn_fixedSource (p : FiniteLaw α) :\n ConvexOn ℝ (rateDistortionFeasibleMasses (β := β) p (fun _ _ => 0) 0)\n (mutualInformationOfMasses : (α × β → ℝ) → ℝ)", "statement_sha256": "e9d8f3becdf46b251e8891091827c490e3a24db5e91174ec06bc6e02c10dd18f" }, @@ -153578,7 +153578,7 @@ ], "qualified_name": "FEP.VariationalDuality.mutualInformationOfMasses_eq", "source_line": 899, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem mutualInformationOfMasses_eq (joint : FiniteLaw (α × β)) :\n mutualInformationOfMasses joint.mass = mutualInformation joint", "statement_sha256": "228510a92e13768d5994043c42be7bebdeb5f010cf9812629bc65fd3186609a6" }, @@ -153673,7 +153673,7 @@ ], "qualified_name": "FEP.VariationalDuality.mutualInformation_eq_entropy_marginals_without_support", "source_line": 835, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem mutualInformation_eq_entropy_marginals_without_support\n (joint : FiniteLaw (α × β)) :\n mutualInformation joint =\n entropy joint.fstMarginal + entropy joint.sndMarginal - entropy joint", "statement_sha256": "980b3cb28027b189821f75b0ec924ed1ef89acea50425587e61fe53b7c35a05a" }, @@ -153838,7 +153838,7 @@ ], "qualified_name": "FEP.VariationalDuality.nativeCgf_le_klDiv", "source_line": 1717, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nativeCgf_le_klDiv\n (μ ν : Measure Ω) [IsProbabilityMeasure μ] [IsProbabilityMeasure ν]\n {X : Ω → ℝ} (t : ℝ) (hX : Integrable X μ)\n (hexp : Integrable (fun x => Real.exp (t * X x)) ν) :\n ENNReal.ofReal (t * (∫ x, X x ∂μ) - ProbabilityTheory.cgf X ν t) ≤\n InformationTheory.klDiv μ ν", "statement_sha256": "12d6de7b36e33d590f11b2675481f4ea5876d583b9b790bba805bdc79b1d194a" }, @@ -153993,7 +153993,7 @@ ], "qualified_name": "FEP.VariationalDuality.nativeEntropy_le_klDiv", "source_line": 1693, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nativeEntropy_le_klDiv\n (μ ν : Measure Ω) [IsProbabilityMeasure μ] [IsProbabilityMeasure ν]\n {f : Ω → ℝ} (hf : Integrable f μ)\n (hexp : Integrable (fun x => Real.exp (f x)) ν) :\n ENNReal.ofReal ((∫ x, f x ∂μ) - Real.log (∫ x, Real.exp (f x) ∂ν)) ≤\n InformationTheory.klDiv μ ν", "statement_sha256": "b92c4e42de7f631920198d8572eed3e9a88e9b8a91ca9d39a05352f0b4d80832" }, @@ -154161,7 +154161,7 @@ ], "qualified_name": "FEP.VariationalDuality.nativeKL_tilted_gap", "source_line": 1672, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nativeKL_tilted_gap\n (μ ν : Measure Ω) [IsProbabilityMeasure μ] [IsProbabilityMeasure ν]\n {f : Ω → ℝ} (hμν : μ ≪ ν) (hf : Integrable f μ)\n (hexp : Integrable (fun x => Real.exp (f x)) ν)\n (hllr : Integrable (llr μ ν) μ) :\n (InformationTheory.klDiv μ (ν.tilted f)).toReal =\n (InformationTheory.klDiv μ ν).toReal - (∫ x, f x ∂μ) +\n Real.log (∫ x, Real.exp (f x) ∂ν)", "statement_sha256": "e2957e229236d440f9270a985aaae5674d0503adae313f511ecf35803f86569b" }, @@ -154254,7 +154254,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.neg_logPartition_le_gibbsFreeEnergy", "source_line": 143, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem neg_logPartition_le_gibbsFreeEnergy\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n -certificate.logPartition ≤ gibbsFreeEnergy certificate candidate", "statement_sha256": "6414184e30bc110462d1608c922ea81a3fb22592f9b20c2fda36ded0149a1be0" }, @@ -154374,7 +154374,7 @@ ], "qualified_name": "FEP.VariationalDuality.predictive_pos_of_jointSlice_pos", "source_line": 1578, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem predictive_pos_of_jointSlice_pos [Nonempty α] (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hjoint : ∀ x, 0 < prior x * kernel x y) :\n 0 < kernel.predictive prior y", "statement_sha256": "24efe21b111cbe1e4e5d9191e91baec40d23fb4ee297366f2a5d67f9b18d3dd9" }, @@ -154512,7 +154512,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionDual_bddBelow", "source_line": 1005, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionDual_bddBelow (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget multiplier : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hmultiplier : 0 ≤ multiplier) :\n BddBelow {value | ∃ joint : FiniteLaw (α × β), joint.fstMarginal = source ∧\n value = rateDistortionLagrangian joint distortion multiplier - multiplier * budget}", "statement_sha256": "ae6424f92ab1b2fbb1a84dc5327c29a3c8a47ffd7532c616eb0e430d572c122b" }, @@ -154662,7 +154662,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionDual_le_feasible_information", "source_line": 1019, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionDual_le_feasible_information (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget multiplier : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hmultiplier : 0 ≤ multiplier)\n (joint : FiniteLaw (α × β))\n (hjoint : RateDistortionFeasible source distortion budget joint) :\n rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint", "statement_sha256": "7519ae63dc09490348dc730c2c7b70ebf7172f5d9272149f9ca903f688a613d2" }, @@ -154789,7 +154789,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionDual_zeroMultiplier", "source_line": 1038, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionDual_zeroMultiplier [Nonempty β] (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) :\n rateDistortionDualValue source distortion budget 0 = 0", "statement_sha256": "2a7493832e8c34b5ea113045b022bc4a790c2226e0296918d6df0f732f39f7c8" }, @@ -154911,7 +154911,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionFeasible_mass_mem", "source_line": 938, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionFeasible_mass_mem (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) (joint : FiniteLaw (α × β))\n (hjoint : RateDistortionFeasible source distortion budget joint) :\n joint.mass ∈ rateDistortionFeasibleMasses source distortion budget", "statement_sha256": "dcebd4c57354a14a98d0b887278d94ac8869dda72cff76eddba71a5e03dd0454" }, @@ -155033,7 +155033,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionLawOfMasses_feasible", "source_line": 928, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionLawOfMasses_feasible (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) (weights : α × β → ℝ)\n (hweights : weights ∈ rateDistortionFeasibleMasses source distortion budget) :\n RateDistortionFeasible source distortion budget\n (rateDistortionLawOfMasses source distortion budget weights hweights)", "statement_sha256": "fd6b348bc31b96d4f2507277d70b5d7295a73e2b312074db0dc2b5718ba6cd79" }, @@ -155170,7 +155170,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_exists_minimizer", "source_line": 967, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_exists_minimizer (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ)\n (hfeasible : ∃ joint, RateDistortionFeasible source distortion budget joint) :\n ∃ optimizer : FiniteLaw (α × β),\n RateDistortionFeasible source distortion budget optimizer ∧\n ∀ candidate : FiniteLaw (α × β),\n RateDistortionFeasible source distortion budget candidate →\n mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "45087c6ce12f4e139d8ea5a76fd08a010faf72e080d74be3c6813ad124248cef" }, @@ -155290,7 +155290,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_exists_minimizer_and_dual_supremum", "source_line": 2905, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_exists_minimizer_and_dual_supremum (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hfeasible : ∃ K, RateDistortionFeasible p d D K) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "18f407429344ad541b9e7b8d62459df78da3a77b66b81c6d2a1d9856163c637e" }, @@ -155410,7 +155410,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_exists_slater_dual_optimizer", "source_line": 2694, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_exists_slater_dual_optimizer (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J", "statement_sha256": "8334c5e530fe947734c45d0748d48bcdbf1535001a9cdd219c36fb132eddd367" }, @@ -155539,7 +155539,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_infeasible_of_negativeBudget", "source_line": 1063, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_infeasible_of_negativeBudget (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hbudget : budget < 0) :\n ¬ ∃ joint, RateDistortionFeasible source distortion budget joint", "statement_sha256": "cdc05e0309e61125437873e55e87c760013239b3ca35ae4c5564e12bbc652741" }, @@ -155659,7 +155659,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_primal_dual_extrema", "source_line": 2704, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_primal_dual_extrema (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J ∧\n lam * (expectedDistortion J d - D) = 0 ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "c02df5144c83a7ea86ba19f00f76cc73645189e2225d8203a899453b4a7a06e7" }, @@ -155793,7 +155793,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_weak_duality", "source_line": 782, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_weak_duality\n (joint : FiniteLaw (α × β)) (distortion : α → β → ℝ)\n (multiplier rateLower distortionLower : ℝ)\n (hmultiplier : 0 ≤ multiplier)\n (hrate : rateLower ≤ mutualInformation joint)\n (hdistortion : distortionLower ≤ expectedDistortion joint distortion) :\n rateLower + multiplier * distortionLower ≤\n rateDistortionLagrangian joint distortion multiplier", "statement_sha256": "9139baefabdbb771a9e999ee730ac88ce38b5cab7ced2278ab8bac71a64450c0" }, @@ -155895,7 +155895,7 @@ ], "qualified_name": "FEP.VariationalDuality.reverseKernel_joint", "source_line": 305, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem reverseKernel_joint\n (prior : FiniteLaw α) (channel : FiniteKernel α β)\n (hpredictive : ∀ y, 0 < channel.predictive prior y) :\n (reverseKernel prior channel hpredictive).joint\n (channel.predictive prior) = swapLaw (channel.joint prior)", "statement_sha256": "c17a4d85d86421289779668dd1d27af964796d45de99003e4903238ea2e7a454" }, @@ -156015,7 +156015,7 @@ ], "qualified_name": "FEP.VariationalDuality.sampleMeanWeight_pos", "source_line": 248, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem sampleMeanWeight_pos\n (sampleCount : ℕ) [NeZero sampleCount]\n (weight : α → ℝ) (hweight : ∀ x, 0 < weight x)\n (sample : Fin sampleCount → α) :\n 0 < sampleMeanWeight sampleCount weight sample", "statement_sha256": "2175f7559d5b9f7c2e33ebdb26ac9e7cd0530a52433bc5f2c3c888c7d779683b" }, @@ -156096,7 +156096,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.uniformZeroPotentialGibbs_objective", "source_line": 123, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem uniformZeroPotentialGibbs_objective [Nonempty α] :\n dvObjective (uniformZeroPotentialGibbs (α := α))\n (uniformZeroPotentialGibbs (α := α)).optimizer = 0", "statement_sha256": "03121e4a597d4bda90e1e563e724d67b75909606916074797c4805957b05cee8" }, @@ -156196,7 +156196,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeWitness_gap_pos", "source_line": 1609, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeWitness_gap_pos :\n evidenceSurprisal (FiniteLaw.uniform : FiniteLaw Bool) vfeWitnessKernel\n true <\n jointSliceVFE (FiniteLaw.uniform : FiniteLaw Bool) vfeWitnessKernel true\n (FiniteLaw.uniform : FiniteLaw Bool)", "statement_sha256": "1595fd0974c5d25e2107acde7fc63ae3d39444c1af55a0c1489542374e9d99ef" }, @@ -156267,7 +156267,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeWitness_predictive_true", "source_line": 1593, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeWitness_predictive_true :\n vfeWitnessKernel.predictive (FiniteLaw.uniform : FiniteLaw Bool) true =\n 1 / 2", "statement_sha256": "1868b2532e868a4ba41b7c90876780dc52c5750c066dea484b671f52bb4ef338" }, @@ -156345,7 +156345,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeWitness_surprisal", "source_line": 1601, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeWitness_surprisal :\n evidenceSurprisal (FiniteLaw.uniform : FiniteLaw Bool) vfeWitnessKernel\n true = Real.log 2", "statement_sha256": "1467771a8697f61d2560e3ba127ce67baa03afe172d86d035e239c4543fe5faf" }, @@ -156416,7 +156416,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeZeroEvidence_boundary", "source_line": 1644, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeZeroEvidence_boundary :\n vfeZeroEvidenceKernel.predictive (FiniteLaw.uniform : FiniteLaw Bool)\n true = 0 ∧\n (∀ x : Bool, (FiniteLaw.uniform : FiniteLaw Bool) x *\n vfeZeroEvidenceKernel x true = 0) ∧\n ¬ (0 < vfeZeroEvidenceKernel.predictive\n (FiniteLaw.uniform : FiniteLaw Bool) true)", "statement_sha256": "ea36dd3e5932c782e0e6f96d73cd047566f3358b23ed0cb337a4711a485d4f9a" }, @@ -156506,7 +156506,7 @@ ], "qualified_name": "FEP.VariationalDuality.zeroTemperature_not_certified", "source_line": 467, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem zeroTemperature_not_certified [Nonempty α]\n (certificate : ConstrainedEntropyCertificate α) :\n certificate.temperature ≠ 0", "statement_sha256": "cceac0f2335b7538214af449e62b1ece583c16a7c15a77b3bfe93d5bbe7d1aee" }, @@ -156528,7 +156528,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_flip_false", "source_line": 106, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_flip_false :\n predictiveFunctor.map boolFlip (FiniteLaw.pointMass false) =\n FiniteLaw.pointMass true", "statement_sha256": "53f63413a4b1a56a6f12bf7dc13ef6a4cfdff379a8440cd74e1c7224f1cd9b45" }, @@ -156550,7 +156550,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_flip_true", "source_line": 94, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_flip_true :\n predictiveFunctor.map boolFlip (FiniteLaw.pointMass true) =\n FiniteLaw.pointMass false", "statement_sha256": "5918507a02155440e20bf72773d30075284f00b134d69d9a4ac96aa35e21c0d6" }, @@ -156572,7 +156572,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_predictive_composition", "source_line": 118, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_predictive_composition :\n predictiveFunctor.map (boolFlip ≫ boolFlip) (FiniteLaw.pointMass true) =\n predictiveFunctor.map boolFlip\n (predictiveFunctor.map boolFlip (FiniteLaw.pointMass true))", "statement_sha256": "e83c215f84a9bc45314f5cba104ef08e6d7c0f9febc435ac2980f9a9d0827602" }, @@ -156607,7 +156607,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_predictive_flip_twice", "source_line": 125, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_predictive_flip_twice :\n predictiveFunctor.map (boolFlip ≫ boolFlip) (FiniteLaw.pointMass true) =\n FiniteLaw.pointMass true", "statement_sha256": "1a425a0f59d043609dfb4cc748200973ab3a0c313771a16f094b121566fc1817" }, @@ -156629,7 +156629,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_predictive_identity", "source_line": 88, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_predictive_identity :\n predictiveFunctor.map (𝟙 boolObject) (FiniteLaw.pointMass true) =\n FiniteLaw.pointMass true", "statement_sha256": "c66d38761fe0568400a7efc4b7a7b4c6b9d7b2918a043b1e6c20284f9d7b0995" }, @@ -156695,7 +156695,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.finKernCat_assoc", "source_line": 59, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem finKernCat_assoc (W X Y Z : FinKernCat)\n (f : W ⟶ X) (g : X ⟶ Y) (h : Y ⟶ Z) :\n (f ≫ g) ≫ h = f ≫ (g ≫ h)", "statement_sha256": "6eb5493391c5e5240afb31f0bc796af5aad3e797fb3b7ae57913420e06730b8a" }, @@ -156739,7 +156739,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.finKernCat_comp_id", "source_line": 54, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem finKernCat_comp_id (X Y : FinKernCat) (f : X ⟶ Y) :\n f ≫ 𝟙 Y = f", "statement_sha256": "3857f89a6add5e359ccb1b914fd810f2cd484d2f1e5963dec0f3e38ee62b3ace" }, @@ -156783,7 +156783,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.finKernCat_id_comp", "source_line": 49, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem finKernCat_id_comp (X Y : FinKernCat) (f : X ⟶ Y) :\n 𝟙 X ≫ f = f", "statement_sha256": "85ebd8d613cda702d1d40d08d4e1c44d05a8ec0411ec6968ef6ca91285bc310f" }, @@ -156897,7 +156897,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.boolFeedback_observation_changes_emittedAction", "source_line": 325, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem boolFeedback_observation_changes_emittedAction :\n policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n (∀ fixedAction,\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel\n (boolOpenLoopPlan fixedAction) false) ∧\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 false) ≠\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 true) ∧\n ∀ observation,\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) = observation ∧\n boolMismatchCost\n (boolFeedbackModel.update false false observation)\n (boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) = 0 ∧\n optimalTreeAction boolFeedbackModel 0\n (boolFeedbackModel.update false false observation) =\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) ∧\n boolBeliefInterpret\n (boolFeedbackModel.update false false observation) =\n actionPrediction (boolBeliefInterpret false) boolActionTransition\n (boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) ∧\n boolFeedbackActionInterface.actionTransition\n (boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) =\n boolFeedbackActionModel.transition\n (boolFeedbackTree.2 observation)", "statement_sha256": "a94241e20a36d84b1be828a1abce15340960d73af44c5d8bb7be9ab24caec531" }, @@ -157074,7 +157074,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.finiteTreeGibbsPosterior_sum_one", "source_line": 97, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem finiteTreeGibbsPosterior_sum_one\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n {depth : ℕ}\n (prior : FiniteLaw (PolicyTree Action Observation depth))\n (precision : ℝ) (model : PolicyTreeModel Belief Action Observation)\n (belief : Belief) :\n ∑ tree, finiteTreeGibbsPosterior prior precision model belief tree = 1", "statement_sha256": "5f814eebe784f3365dd4a6c34a0d3834e1b5f21168440dc6c04a1201de586b3f" }, @@ -157164,7 +157164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedBeliefInterpret_learned_exact", "source_line": 132, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedBeliefInterpret_learned_exact :\n selectedBeliefInterpret SelectedBeliefIndex.learned false = 1 / 10 ∧\n selectedBeliefInterpret SelectedBeliefIndex.learned true = 9 / 10", "statement_sha256": "ce60af7435750a98946250a669c34afaf6f22e0cbf617c853c0765c5a472d64a" }, @@ -157252,7 +157252,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedBeliefInterpret_learned_nonDirac", "source_line": 140, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedBeliefInterpret_learned_nonDirac :\n selectedBeliefInterpret SelectedBeliefIndex.learned ≠\n FiniteLaw.pointMass false ∧\n selectedBeliefInterpret SelectedBeliefIndex.learned ≠\n FiniteLaw.pointMass true", "statement_sha256": "ed1fd69a5c26ca2fff7fc8d5596c71ded1c0de19ba7c6262fac851f66638e787" }, @@ -157345,7 +157345,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedBeliefUpdate_commutes_posteriorUpdate", "source_line": 167, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedBeliefUpdate_commutes_posteriorUpdate\n (action observation : Bool) :\n selectedBeliefInterpret\n (selectedBeliefUpdate SelectedBeliefIndex.learned action observation) =\n posteriorUpdate\n (selectedBeliefInterpret SelectedBeliefIndex.learned) observation", "statement_sha256": "c3513d711902450aa4dd1170aacbe75cf5e3c8c592a34b5f3a61df160613c255" }, @@ -157448,7 +157448,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorDecisionRisk_prefers_observation", "source_line": 213, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorDecisionRisk_prefers_observation\n (observation alternative : Bool) (hDifferent : alternative ≠ observation) :\n selectedPosteriorDecisionRisk\n (SelectedBeliefIndex.afterObservation observation) observation <\n selectedPosteriorDecisionRisk\n (SelectedBeliefIndex.afterObservation observation) alternative", "statement_sha256": "c6216f6672f7e75feb26dc8a0f8fbecf53576ec3d1bf188b17eee430a961d8d4" }, @@ -157529,7 +157529,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_changes_action", "source_line": 254, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_changes_action :\n (selectedPosteriorFeedbackTree.2 false).1 ≠\n (selectedPosteriorFeedbackTree.2 true).1", "statement_sha256": "5013868cb7df0949a4c885c418f7638aab6ecaeb94b2de9554af3fc090ef83da" }, @@ -157636,7 +157636,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_continuation_optimal", "source_line": 228, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_continuation_optimal (observation : Bool) :\n optimalTreeAction selectedPosteriorFeedbackModel 0\n (SelectedBeliefIndex.afterObservation observation) =\n (selectedPosteriorFeedbackTree.2 observation).1", "statement_sha256": "e23baad5f6e5f98974f6880e98b2e8508a33f6c9764a95ac33daa9a7162c4a80" }, @@ -157730,7 +157730,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_strictlyBetter", "source_line": 287, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_strictlyBetter :\n ∀ fixedAction,\n policyTreeValue selectedPosteriorFeedbackModel\n selectedPosteriorFeedbackTree SelectedBeliefIndex.learned <\n openLoopValue selectedPosteriorFeedbackModel\n (selectedPosteriorOpenLoopPlan fixedAction)\n SelectedBeliefIndex.learned", "statement_sha256": "6efe4e7dd80459f07ee6cdb77983e382391733eba8b770cfba0d841fd00b6194" }, @@ -157811,7 +157811,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_value", "source_line": 260, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_value :\n policyTreeValue selectedPosteriorFeedbackModel\n selectedPosteriorFeedbackTree SelectedBeliefIndex.learned = 13 / 40", "statement_sha256": "78d386f66b093b8f42c20578be5e5ad418ae4b15ce9466fa934cb4609d3e5794" }, @@ -157903,7 +157903,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorOpenLoop_value", "source_line": 272, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorOpenLoop_value (action : Bool) :\n openLoopValue selectedPosteriorFeedbackModel\n (selectedPosteriorOpenLoopPlan action) SelectedBeliefIndex.learned =\n if action then 2 / 5 else 9 / 10", "statement_sha256": "1a2709af732e51f725bd6bcd8d332ceffa343979492c549eeff3bb76ee4f3147" }, @@ -158078,7 +158078,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.vfeGap_eq_finiteKL_recognition_posterior", "source_line": 47, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem vfeGap_eq_finiteKL_recognition_posterior\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome)\n (hEvidence : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State)\n (hPosteriorSupport : ∀ state,\n 0 < posteriorState model policy outcome hEvidence state) :\n (variationalFreeEnergy model policy outcome hEvidence recognition -\n variationalFreeEnergy model policy outcome hEvidence\n (posteriorState model policy outcome hEvidence) =\n finiteKL recognition\n (posteriorState model policy outcome hEvidence)) ∧\n InformationTheory.klDiv\n (embeddedLaw recognition)\n (embeddedLaw (posteriorState model policy outcome hEvidence)) =\n ENNReal.ofReal\n (variationalFreeEnergy model policy outcome hEvidence recognition -\n variationalFreeEnergy model policy outcome hEvidence\n (posteriorState model policy outcome hEvidence))", "statement_sha256": "ecdb95aeccfea9b3705563ea460b005787d6d217447b33c0efee42542089ad14" }, @@ -158102,7 +158102,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.boolPolicyState_not_equiv_boolBlanketState", "source_line": 57, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem boolPolicyState_not_equiv_boolBlanketState :\n ¬Nonempty\n (Bool ≃ FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool)", "statement_sha256": "ac5e229d38bf8f174887407f6457670aa962ee6fbeac32ba3d1b6006798c9e43" }, @@ -158269,7 +158269,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.finiteReferenceAgent_terminal", "source_line": 363, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem finiteReferenceAgent_terminal :\n let learned : FiniteLaw Bool :=\n posteriorAfter selectedPrior (fun _ => true) 2\n let updatedInternal : FiniteLaw Bool := posteriorUpdate learned true\n let liftedLearned : FiniteLaw BoolBlanketState := liftInternalLaw learned\n let liftedUpdated : FiniteLaw BoolBlanketState :=\n liftInternalLaw updatedInternal\n let model :=\n boolBlanketGenerativeModel liftedLearned\n (liftInternalLikelihood selectedLikelihood)\n (FiniteLaw.uniform : FiniteLaw Bool)\n (FiniteLaw.uniform : FiniteLaw Bool)\n let actionInterface :=\n boolBlanketGenerativeModelActionInterface liftedLearned\n (liftInternalLikelihood selectedLikelihood)\n (FiniteLaw.uniform : FiniteLaw Bool)\n (FiniteLaw.uniform : FiniteLaw Bool)\n let emittedTrueAction : Bool :=\n actionInterface.policyToAction\n (selectedPosteriorFeedbackTree.2 true).1\n let selectedKernel : FiniteKernel BoolBlanketState BoolBlanketState :=\n actionInterface.actionTransition emittedTrueAction\n let stationary : FiniteLaw BoolBlanketState := boolBlanketStationaryLaw\n ∃ hEvidence : 0 < predictedOutcome model false true,\n learned false = 1 / 10 ∧\n learned true = 9 / 10 ∧\n learned ≠ selectedPrior ∧\n liftedLearned.fstMarginal = learned ∧\n selectedBeliefInterpret SelectedBeliefIndex.learned = learned ∧\n (∑ hypothesis, updatedInternal hypothesis = 1) ∧\n updatedInternal ≠ learned ∧\n trajectoryLaw.real\n (posteriorBadMassFailure selectedPrior 2 (identificationGap / 2)) ≤\n Real.exp\n (-((2 : ℝ) * (identificationGap / 2)) ^ 2 /\n (2 * ∑ _index : Fin 2, logLikelihoodRatioProxy)) ∧\n predictedOutcome model false = selectedLikelihood.predictive learned ∧\n posteriorState model false true hEvidence = liftedUpdated ∧\n (posteriorState model false true hEvidence).fstMarginal =\n selectedBeliefInterpret\n (selectedBeliefUpdate SelectedBeliefIndex.learned false true) ∧\n (posteriorState model false true hEvidence).fstMarginal =\n selectedBeliefInterpret\n (selectedPosteriorFeedbackModel.update\n SelectedBeliefIndex.learned false true) ∧\n (∀ recognition : FiniteLaw BoolBlanketState,\n variationalFreeEnergy model false true hEvidence recognition =\n outcomeSurprisal model false true ↔\n recognition = liftedUpdated) ∧\n optimalTreeAction selectedPosteriorFeedbackModel 0\n (SelectedBeliefIndex.afterObservation true) =\n (selectedPosteriorFeedbackTree.2 true).1 ∧\n (∀ fixedAction,\n policyTreeValue selectedPosteriorFeedbackModel\n selectedPosteriorFeedbackTree SelectedBeliefIndex.learned <\n openLoopValue selectedPosteriorFeedbackModel\n (selectedPosteriorOpenLoopPlan fixedAction)\n SelectedBeliefIndex.learned) ∧\n emittedTrueAction = true ∧\n selectedKernel =\n model.transition (selectedPosteriorFeedbackTree.2 true).1 ∧\n selectedKernel =\n boolBlanketActionIndexedSemigroup.sampledKernel true ∧\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel ∧\n (FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))) = stationary ∧\n (∃ blanketModel :\n ConditionalBlanketModel\n (FEP.MarkovBlanket.Blanket Bool Bool) Bool Bool,\n (∀ blanket, 0 < blanketModel.blanketLaw blanket) ∧\n (∃ blanketFirst blanketSecond,\n blanketFirst ≠ blanketSecond ∧\n 0 < blanketModel.blanketLaw blanketFirst ∧\n 0 < blanketModel.blanketLaw blanketSecond) ∧\n Factorizes blanketModel ∧\n ∀ internal sensory active external,\n stationary (internal, (sensory, (active, external))) =\n blanketModel.blanketLaw (sensory, active) *\n blanketModel.conditional (sensory, active)\n (internal, external)) ∧\n IsInvariant stationary selectedKernel ∧\n Fintype.card BoolBlanketState = 16 ∧\n boolBlanketOrigin ≠ boolBlanketAlternative ∧\n 0 < stationary boolBlanketOrigin ∧\n 0 < stationary boolBlanketAlternative ∧\n 0 < liftedUpdated boolBlanketOrigin ∧\n 0 < liftedUpdated boolBlanketAlternative ∧\n InformationTheory.klDiv\n (embeddedLaw (selectedKernel.predictive liftedUpdated))\n (embeddedLaw stationary) ≤\n InformationTheory.klDiv\n (embeddedLaw liftedUpdated) (embeddedLaw stationary) ∧\n finiteKL (selectedKernel.predictive liftedUpdated) stationary <\n finiteKL liftedUpdated stationary ∧\n InformationTheory.klDiv\n (embeddedLaw (selectedKernel.predictive liftedUpdated))\n (embeddedLaw stationary) <\n InformationTheory.klDiv\n (embeddedLaw liftedUpdated) (embeddedLaw stationary)", "statement_sha256": "5e649cf2658e5cfb2eb88ab77b88fa4f340b47111c88224088867ceaa5de99de" }, @@ -158300,7 +158300,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.finiteReferenceCoherence_uninhabited", "source_line": 66, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem finiteReferenceCoherence_uninhabited :\n ¬Nonempty FiniteReferenceCoherence", "statement_sha256": "9ab172eae218ef849ecb797f3fef92659231fae6e4f1fa48877687af9c7b7e02" }, @@ -158344,7 +158344,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.learnedPosterior_ne_boolBeliefInterpret", "source_line": 43, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem learnedPosterior_ne_boolBeliefInterpret (belief : Bool) :\n posteriorAfter selectedPrior (fun _ => true) 2 ≠\n boolBeliefInterpret belief", "statement_sha256": "a8f69f03d6cebd892ac5c068a30b77df6d44a07a89801bc069c6122181e07a31" }, @@ -158459,7 +158459,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.retainedFiniteReference_predecessors", "source_line": 81, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem retainedFiniteReference_predecessors :\n 0 < selectedLikelihood.predictive selectedPrior true ∧\n (∑ hypothesis, posteriorUpdate selectedPrior true hypothesis = 1) ∧\n (posteriorAfter selectedPrior (fun _ => true) 2 false = 1 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 true = 9 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 ≠ selectedPrior) ∧\n trajectoryLaw.real\n (posteriorBadMassFailure selectedPrior 2 (identificationGap / 2)) ≤\n Real.exp\n (-((2 : ℝ) * (identificationGap / 2)) ^ 2 /\n (2 * ∑ _index : Fin 2, logLikelihoodRatioProxy)) ∧\n (∃ hEvidence :\n 0 < predictedOutcome\n (symmetricBoolModel selectedPrior) false true,\n (∀ recognition : FiniteLaw Bool,\n variationalFreeEnergy (symmetricBoolModel selectedPrior) false true\n hEvidence recognition =\n outcomeSurprisal (symmetricBoolModel selectedPrior) false true ↔\n recognition = posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence) ∧\n ((variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n selectedPrior -\n variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n (posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence) =\n finiteKL selectedPrior\n (posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence)) ∧\n InformationTheory.klDiv\n (embeddedLaw selectedPrior)\n (embeddedLaw\n (posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence)) =\n ENNReal.ofReal\n (variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n selectedPrior -\n variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n (posteriorState\n (symmetricBoolModel selectedPrior) false true\n hEvidence)))) ∧\n (policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n (∀ fixedAction,\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel\n (boolOpenLoopPlan fixedAction) false) ∧\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 false) ≠\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 true) ∧\n ∀ observation,\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) = observation ∧\n boolMismatchCost\n (boolFeedbackModel.update false false observation)\n (FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) = 0 ∧\n optimalTreeAction boolFeedbackModel 0\n (boolFeedbackModel.update false false observation) =\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) ∧\n boolBeliefInterpret\n (boolFeedbackModel.update false false observation) =\n actionPrediction (boolBeliefInterpret false) boolActionTransition\n (FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) ∧\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.actionTransition\n (FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) =\n FEPComposed.FinitePolicyAction.boolFeedbackActionModel.transition\n (boolFeedbackTree.2 observation)) ∧\n (((FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))) =\n boolBlanketStationaryLaw) ∧\n IsInvariant\n ((FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))))\n (pairedKernel\n (FiniteKernel.identity : FiniteKernel Bool Bool)\n (FiniteKernel.identity :\n FiniteKernel (Bool × (Bool × Bool)) (Bool × (Bool × Bool)))) ∧\n ∃ blanketModel :\n ConditionalBlanketModel Unit Bool (Bool × (Bool × Bool)),\n blanketModel.conditional () =\n (FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))) ∧\n Factorizes blanketModel ∧ blanketModel.blanketLaw () = 1) ∧\n IsInvariant boolBlanketStationaryLaw boolBlanketRefreshKernel ∧\n (∀ source target, 0 < boolBlanketRefreshKernel source target) ∧\n boolBlanketOrigin ≠ boolBlanketAlternative ∧\n 0 < boolBlanketStationaryLaw boolBlanketOrigin ∧\n 0 < boolBlanketStationaryLaw boolBlanketAlternative ∧\n InformationTheory.klDiv\n (embeddedLaw boolBlanketEvolvedLaw)\n (embeddedLaw boolBlanketStationaryLaw) ≤\n InformationTheory.klDiv\n (embeddedLaw boolBlanketInitialLaw)\n (embeddedLaw boolBlanketStationaryLaw) ∧\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw ∧\n InformationTheory.klDiv\n (embeddedLaw boolBlanketEvolvedLaw)\n (embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (embeddedLaw boolBlanketInitialLaw)\n (embeddedLaw boolBlanketStationaryLaw)", "statement_sha256": "835d49fed6205113fe0b36cafd9292e56ae3d433f6ad75a9c726074aaa22311d" }, @@ -158738,7 +158738,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.blanketPosterior_and_flowAlignment_imply_localDescent", "source_line": 315, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem blanketPosterior_and_flowAlignment_imply_localDescent\n {Blanket Policy State Outcome : Type*}\n [Fintype Blanket] [Fintype Policy] [Fintype State] [Fintype Outcome]\n {dimension : ℕ}\n (generativeModel : GenerativeModel Policy State Outcome)\n (recognition : Blanket → FiniteLaw State)\n (policyOf : Blanket → Policy) (outcomeOf : Blanket → Outcome)\n (evidence : ∀ blanket,\n 0 < predictedOutcome generativeModel (policyOf blanket)\n (outcomeOf blanket))\n (blanket : Blanket)\n (scoreModel : ScoreModel State dimension)\n (covector tangent : Fin dimension → ℝ)\n (objective : ℝ → ℝ) (point derivative : ℝ)\n (hPosterior : RecognitionMatchesPosterior generativeModel policyOf\n outcomeOf evidence recognition)\n (hScoreLaw : scoreModel.law = recognition blanket)\n (hPosteriorSupport : ∀ state,\n 0 < posteriorState generativeModel (policyOf blanket)\n (outcomeOf blanket) (evidence blanket) state)\n (hIdentifiable : Identifiable scoreModel)\n (hTangent : tangent ≠ 0)\n (hNatural : IsNaturalGradient scoreModel covector tangent)\n (hDerivative : HasDerivAt objective derivative point)\n (hDerivativeIdentity :\n derivative = -(∑ coordinate, tangent coordinate * covector coordinate)) :\n RecognitionMatchesPosterior generativeModel policyOf outcomeOf evidence\n recognition ∧\n LocalFreeEnergyDescent objective point", "statement_sha256": "47d0083654f5cd12cd7408c580e71040814db9095fe66ae3c3154f9a11a7db5a" }, @@ -158859,7 +158859,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.factorizedProduct_invariant_under_pairedKernel", "source_line": 57, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem factorizedProduct_invariant_under_pairedKernel\n {Internal External : Type*} [Fintype Internal] [Fintype External]\n (internalLaw : FiniteLaw Internal) (externalLaw : FiniteLaw External)\n (internalKernel : FiniteKernel Internal Internal)\n (externalKernel : FiniteKernel External External)\n (hInternal :\n FEP.FiniteMarkovDynamics.IsInvariant internalLaw internalKernel)\n (hExternal :\n FEP.FiniteMarkovDynamics.IsInvariant externalLaw externalKernel) :\n FEP.FiniteMarkovDynamics.IsInvariant\n (internalLaw.product externalLaw)\n (pairedKernel internalKernel externalKernel) ∧\n ∃ blanketModel : ConditionalBlanketModel Unit Internal External,\n blanketModel.conditional () = internalLaw.product externalLaw ∧\n FEP.CausalDynamics.Factorizes blanketModel ∧\n blanketModel.blanketLaw () = 1", "statement_sha256": "260f7df18673ce5fd59dad4bedabb1ba9d9090272282e0f2df0b6e486af55cad" }, @@ -158883,7 +158883,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.observationalBlanket_doesNotIdentify_causalBlanket", "source_line": 684, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem observationalBlanket_doesNotIdentify_causalBlanket :\n mediatorMarginal (orderedJoint observationalCopyModel) =\n mediatorMarginal (orderedJoint observationalIndependentModel) ∧\n ¬(∀ root,\n mediatorMarginal (interventionalJoint observationalCopyModel root) =\n mediatorMarginal\n (interventionalJoint observationalIndependentModel root)) ∧\n mediatorMarginal (orderedJoint observationalCopyModel) true = 1 / 2 ∧\n mediatorMarginal\n (orderedJoint observationalIndependentModel) true = 1 / 2 ∧\n mediatorMarginal\n (interventionalJoint observationalCopyModel true) true = 1 ∧\n mediatorMarginal\n (interventionalJoint observationalIndependentModel true) true = 1 / 2", "statement_sha256": "14e3cd053905231a11c15c89f5de837f9ba97bd680201bacdfba703625af1d41" }, @@ -158916,7 +158916,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.rowwiseBlanket_doesNotImply_stationaryBlanket", "source_line": 152, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem rowwiseBlanket_doesNotImply_stationaryBlanket :\n ∃ kernel : FiniteKernel (Bool × Bool) (Bool × Bool),\n ∃ law : FiniteLaw (Bool × Bool),\n ∃ blanketModel : ConditionalBlanketModel Unit Bool Bool,\n (∀ current,\n kernel.row current =\n (kernel.row current).fstMarginal.product\n (kernel.row current).sndMarginal) ∧\n FEP.FiniteMarkovDynamics.IsInvariant law kernel ∧\n blanketModel.conditional () = law ∧\n ¬(FEP.FiniteMarkovDynamics.IsInvariant law kernel ∧\n FEP.CausalDynamics.Factorizes blanketModel) ∧\n blanketModel.blanketLaw () = 1 ∧\n law (false, false) = 1 / 2 ∧\n law (true, true) = 1 / 2", "statement_sha256": "f348b3620915f9a263bd4f99c24af3502a9addd800b717e2daa62afb6d406ab5" }, @@ -158951,7 +158951,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.scaledLogisticProbability_lt_one", "source_line": 378, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem scaledLogisticProbability_lt_one (parameter : ℝ) :\n scaledLogisticProbability parameter < 1", "statement_sha256": "2e6fe5c533a079e9ad2be0bdce083c854ac34238df53044307c99382a56a7298" }, @@ -158986,7 +158986,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.scaledLogisticProbability_pos", "source_line": 374, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem scaledLogisticProbability_pos (parameter : ℝ) :\n 0 < scaledLogisticProbability parameter", "statement_sha256": "824ba94c63f5407af403d433f41a666f6ce2bd2197a762e6bfe1849ad82b274c" }, @@ -159019,7 +159019,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.sparseCoupling_doesNotImply_condIndep", "source_line": 178, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem sparseCoupling_doesNotImply_condIndep :\n ∃ internalKernel : FiniteKernel Bool Bool,\n ∃ externalKernel : FiniteKernel Bool Bool,\n ∃ kernel : FiniteKernel (Bool × Bool) (Bool × Bool),\n ∃ law : FiniteLaw (Bool × Bool),\n ∃ blanketModel : ConditionalBlanketModel Unit Bool Bool,\n kernel = pairedKernel internalKernel externalKernel ∧\n FEP.FiniteMarkovDynamics.IsInvariant law kernel ∧\n blanketModel.conditional () = law ∧\n ¬FEP.CausalDynamics.Factorizes blanketModel ∧\n blanketModel.blanketLaw () = 1 ∧\n law (false, false) = 1 / 2 ∧\n law (true, true) = 1 / 2", "statement_sha256": "edf4939dbc9d51a78a75cb7817e1516e6921e198318b5377eb6efcd6bddaf86f" }, @@ -159050,7 +159050,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.stationaryBlanket_doesNotImply_freeEnergyDescent", "source_line": 288, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem stationaryBlanket_doesNotImply_freeEnergyDescent :\n FEP.FiniteMarkovDynamics.IsInvariant independentFairBlanket\n pairIdentityKernel ∧\n FEP.CausalDynamics.Factorizes independentStationaryBlanketModel ∧\n independentStationaryBlanketModel.conditional () =\n independentFairBlanket ∧\n independentStationaryBlanketModel.blanketLaw () = 1 ∧\n independentFairBlanket.fstMarginal =\n predictedState (symmetricBoolModel fairBoolLaw) false ∧\n posteriorState (symmetricBoolModel fairBoolLaw) false false\n symmetricFalseEvidence = independentFairBlanket.fstMarginal ∧\n ¬LocalFreeEnergyDescent stationaryPosteriorFreeEnergy 0 ∧\n independentFairBlanket (false, false) = 1 / 4 ∧\n independentFairBlanket (true, true) = 1 / 4", "statement_sha256": "cf95c4b2a9b1f4dcdf163c51a4ea76d7c1618088d0f6cb58af4bc9a77225d847" }, @@ -159083,7 +159083,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.symmetricFalseEvidence", "source_line": 230, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem symmetricFalseEvidence :\n 0 < predictedOutcome (symmetricBoolModel fairBoolLaw) false false", "statement_sha256": "d7c73acf8bacc6acf48fbe650adfe3ff8996efafe0c0e9278ec1b56b46a831d5" }, @@ -159219,7 +159219,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketConditionalCovarianceCrossZeroIff", "source_line": 364, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketConditionalCovarianceCrossZeroIff\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) :\n (blanketConditionalCovariance K).toBlocks₁₂ = 0 ↔\n ∀ e i, K (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) = 0", "statement_sha256": "82543d1c7ac500146dfb257e2e8bb67defcb5fdaba0abd8dbe8db5ea4a74e4f1" }, @@ -159343,7 +159343,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketConditionalCovariance_eq_inv", "source_line": 293, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketConditionalCovariance_eq_inv\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) :\n blanketConditionalCovariance K = (blanketConditionalPrecision K)⁻¹", "statement_sha256": "41a5793ca3c56b197654caa762f5e99fa923d787685d5f80ef65c68d9c79c738" }, @@ -159460,7 +159460,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketConditionalPrecision_posDef", "source_line": 286, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketConditionalPrecision_posDef\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) :\n (blanketConditionalPrecision K).PosDef", "statement_sha256": "cb5330b256e6651fc480b96b9c52b20958ca2e00b3e57b92afaca8ff19fe4edd" }, @@ -159614,7 +159614,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketNonSparsePrecisionConditionalCovarianceCrossNeZero", "source_line": 387, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketNonSparsePrecisionConditionalCovarianceCrossNeZero\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) {e : E} {i : I}\n (hNonSparse : K (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) ≠ 0) :\n (blanketConditionalCovariance K).toBlocks₁₂ ≠ 0", "statement_sha256": "e8253d323bff29d8bcfd74590671447efdc668579c63a49fc98993be3f338333" }, @@ -159731,7 +159731,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketPrecisionCrossZeroIff", "source_line": 338, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketPrecisionCrossZeroIff\n {P : Matrix (E ⊕ I) (E ⊕ I) ℝ} (hP : P.PosDef) :\n P.toBlocks₁₂ = 0 ↔ P⁻¹.toBlocks₁₂ = 0", "statement_sha256": "2474fa4affe7ea8d3d04eb68e84f65c7da7a25520ec230cf22d4e11b9a073e21" }, @@ -159865,7 +159865,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketSparsePrecisionConditionalCovarianceCrossZero", "source_line": 379, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketSparsePrecisionConditionalCovarianceCrossZero\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef)\n (hSparse : ∀ e i, K (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) = 0) :\n (blanketConditionalCovariance K).toBlocks₁₂ = 0", "statement_sha256": "fa63bd381bbd0ca7192dbb2b74b75ba39727078d362ec744d25a5d23a0f808ee" }, @@ -159898,7 +159898,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4BlanketIndex_injective", "source_line": 402, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4BlanketIndex_injective : Function.Injective fin4BlanketIndex", "statement_sha256": "2cd87498a1627b75b917ce381e20e1c7aad2d44c7915b73bdf9f19237da3e495" }, @@ -159938,7 +159938,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4BlanketPrecision_posDef", "source_line": 411, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4BlanketPrecision_posDef : fin4BlanketPrecision.PosDef", "statement_sha256": "8ae06f7f600160a23f89df2793a4a89edbf4fa2649256d429fa2ef8ca0aa8aca" }, @@ -159980,7 +159980,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4BlanketPrecision_sparse", "source_line": 414, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4BlanketPrecision_sparse :\n ∀ e i : Unit, fin4BlanketPrecision (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) = 0", "statement_sha256": "abaf920b3ad07246792f367a4b980b6c4a985049de5a5b78e077f4a3a54ca9a0" }, @@ -160059,7 +160059,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4_blanket_generic_instance", "source_line": 421, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4_blanket_generic_instance (center : StandardizedState) :\n (blanketConditionalCovariance fin4BlanketPrecision).toBlocks₁₂ = 0 ∧\n ((fun state : StandardizedState => state external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates; stationaryLaw center]\n (fun state => state internal))", "statement_sha256": "ad5040d032db1b99c8c2f9abfae4f30da990e31ddb56764a70de2cd80c4f0e70" }, @@ -160099,7 +160099,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.nonSparseBlanketPrecision_posDef", "source_line": 447, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem nonSparseBlanketPrecision_posDef : nonSparseBlanketPrecision.PosDef", "statement_sha256": "20016aac06891f89662226a65ad92a2661b56338f27738d7a8efadca5367d609" }, @@ -160153,7 +160153,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.nonSparseBlanket_conditionalCovariance_cross_ne_zero", "source_line": 452, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem nonSparseBlanket_conditionalCovariance_cross_ne_zero :\n nonSparseBlanketPrecision (Sum.inl (Sum.inl ())) (Sum.inl (Sum.inr ())) ≠ 0 ∧\n (blanketConditionalCovariance nonSparseBlanketPrecision).toBlocks₁₂ ≠ 0", "statement_sha256": "c43c8428f41b7489c95fffe7b7cbd84d1aa798a2c1c5d7687f38302ab4cac958" }, @@ -160186,7 +160186,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.perturbedBlanketIndex_injective", "source_line": 437, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem perturbedBlanketIndex_injective : Function.Injective perturbedBlanketIndex", "statement_sha256": "fa57e71f87fe54cba54a8e879f7ad126217634e64e35d2f55c25ef2305c76601" }, @@ -160268,7 +160268,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.actionTransition_comp_belief", "source_line": 121, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem actionTransition_comp_belief {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n actionTransition control action ∘ₘ belief.law =\n (controlledBelief control belief action).law", "statement_sha256": "fd73841bdae74d18f249ca52c17ad57fbcda15f3430d52b32ed9a63cd8efaa84" }, @@ -160325,7 +160325,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.actionTransition_eq_ouTransition", "source_line": 113, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem actionTransition_eq_ouTransition {Action : Type*}\n (control : FiniteGaussianControlModel Action) (action : Action) :\n actionTransition control action =\n (control.dynamics action).ouTransition control.duration", "statement_sha256": "f2c2971d2cf8ed20cd65066cdc2f891779859bcdffe7a13efd3eda111a9569f7" }, @@ -160351,7 +160351,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolTie_false_true_risk_eq", "source_line": 612, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolTie_false_true_risk_eq :\n filteredQuadraticRisk boolTieControl boolWitnessFilter\n boolWitnessPrior 0 false =\n filteredQuadraticRisk boolTieControl boolWitnessFilter\n boolWitnessPrior 0 true", "statement_sha256": "a5c1ae220c8155345fa7ad48d35c32825caf285aecf8fc41c9d0470ef993705a" }, @@ -160384,7 +160384,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_actionTransitions_ne", "source_line": 597, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_actionTransitions_ne :\n actionTransition boolWitnessControl true ≠\n actionTransition boolWitnessControl false", "statement_sha256": "25c7d6743cef0e6352917e1d7f14b646101e3c344f769f4fb34f2c4eff06505d" }, @@ -160417,7 +160417,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_false_risk", "source_line": 564, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_false_risk :\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 false =\n (1 / 2 : ℝ) - (1 / 4 : ℝ) * (Real.exp (-1)) ^ 2", "statement_sha256": "bac3e1e2ffea68ac2f4fabf52df5fd6533d9ed8855f6ce1b6579ab480a5315d8" }, @@ -160443,7 +160443,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_posterior_mean", "source_line": 471, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_posterior_mean :\n posteriorMean boolWitnessFilter boolWitnessPrior 0 = 0", "statement_sha256": "1defd9753ace9bbe29e3cfeb5709cb88d53adc2840c2c7fa206795cfed0f09a7" }, @@ -160469,7 +160469,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_posterior_variance", "source_line": 481, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_posterior_variance :\n posteriorVariance boolWitnessFilter boolWitnessPrior = 1 / 4", "statement_sha256": "4291009f912be698cef0af32d56d8e96e994166f5978edde81ef42f835f2256b" }, @@ -160508,7 +160508,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_selectedAction", "source_line": 586, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_selectedAction : boolWitnessAction = true", "statement_sha256": "c0fe19bc58696c28fa2ec1fec1afc1bc5e2f6110642a031d706854288ef8f71b" }, @@ -160541,7 +160541,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_true_risk", "source_line": 554, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_true_risk :\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 true =\n (1 / 4 : ℝ)", "statement_sha256": "217d0f62a54f6d43915cc799953fdaf16bada72adf066b50e9b04506dbe2e8b2" }, @@ -160580,7 +160580,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_true_strictlyBetter", "source_line": 574, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_true_strictlyBetter :\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 true <\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 false", "statement_sha256": "f50960104df29414e19cb548293e6dcb209232b47e1a700b5d15f818de376292" }, @@ -160647,7 +160647,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.controlledVariance_pos", "source_line": 87, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem controlledVariance_pos {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n 0 < controlledVariance control belief action", "statement_sha256": "40262dc304fc2aa307d900bfceeb32c4b69ec837b896359afcb9e7fdfb01b36b" }, @@ -160733,7 +160733,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.filteredQuadraticRisk_ae_eq_nativePosterior", "source_line": 256, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem filteredQuadraticRisk_ae_eq_nativePosterior {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (action : Action) :\n (fun observation =>\n filteredQuadraticRisk control filter prior observation action) =ᵐ[\n evidenceLaw filter prior]\n fun observation =>\n nativePosteriorQuadraticRisk control filter prior observation action", "statement_sha256": "b77e597072276d091251cf6b293e88a6965ca6941d7294639dd4d2dcebe1c717" }, @@ -160845,7 +160845,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.nativePosteriorSelectedAction_le", "source_line": 306, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem nativePosteriorSelectedAction_le {Action : Type*}\n [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (alternative : Action) :\n nativePosteriorQuadraticRisk control filter prior observation\n (nativePosteriorSelectedAction control filter prior observation) ≤\n nativePosteriorQuadraticRisk control filter prior observation\n alternative", "statement_sha256": "eed55226f0687680eced74041faf06b702142f6791a5431c715f5f855ae84d2b" }, @@ -160919,7 +160919,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.quadraticActionRisk_eq_closedForm", "source_line": 231, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem quadraticActionRisk_eq_closedForm {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n quadraticActionRisk control belief action =\n (controlledVariance control belief action : ℝ) +\n (controlledMean control belief action - control.target) ^ 2 +\n (control.actionPenalty action : ℝ)", "statement_sha256": "a2daa45437f442b4e17402e65a45284757fc134b412175e0c5443dc4b83c9142" }, @@ -160993,7 +160993,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.quadraticActionRisk_nonneg", "source_line": 247, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem quadraticActionRisk_nonneg {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n 0 ≤ quadraticActionRisk control belief action", "statement_sha256": "6e6e5a81064cc9241a831a7149f8b871c52b97261d95875f777db8fb15e70308" }, @@ -161031,7 +161031,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.quadraticTerminalLoss_unbounded", "source_line": 169, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem quadraticTerminalLoss_unbounded (target bound : ℝ) :\n ∃ state : ℝ, bound < quadraticTerminalLoss target state", "statement_sha256": "5a328ae1c12c85beb7be6d8e789c5e0727c466ee278755fc70299dca1d41a620" }, @@ -161121,7 +161121,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.selectedAction_ae_eq_nativePosteriorSelectedAction", "source_line": 321, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem selectedAction_ae_eq_nativePosteriorSelectedAction\n {Action : Type*} [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n (fun observation => selectedAction control filter prior observation) =ᵐ[\n evidenceLaw filter prior]\n fun observation =>\n nativePosteriorSelectedAction control filter prior observation", "statement_sha256": "b370fa851257c6f247eec4c8f8fc0d2c28ae4fda04a95823f1ea15df45431c79" }, @@ -161241,7 +161241,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.selectedAction_eq_of_strict", "source_line": 347, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem selectedAction_eq_of_strict {Action : Type*}\n [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (candidate : Action)\n (hStrict : ∀ alternative, alternative ≠ candidate →\n filteredQuadraticRisk control filter prior observation candidate <\n filteredQuadraticRisk control filter prior observation alternative) :\n selectedAction control filter prior observation = candidate", "statement_sha256": "12147543220470115dc868d5256d4dda46bbbdbd59d3805f62222d0783e07c06" }, @@ -161353,7 +161353,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.selectedAction_le", "source_line": 294, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem selectedAction_le {Action : Type*}\n [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (alternative : Action) :\n filteredQuadraticRisk control filter prior observation\n (selectedAction control filter prior observation) ≤\n filteredQuadraticRisk control filter prior observation alternative", "statement_sha256": "461ea43c50348de4bfa8218d3e58124a5f5381d7061fef869fd5a36e11f5f176" }, @@ -161405,7 +161405,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.closedFormPosterior_ae_eq_native", "source_line": 523, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem closedFormPosterior_ae_eq_native\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n closedFormPosteriorKernel model prior =ᵐ[evidenceLaw model prior]\n ProbabilityTheory.posterior (observationKernel model)\n (predictionBelief model prior).law", "statement_sha256": "b1baa13509d9fd10804ac718ed2e12f0b465da3773c0aaf8f023ef718bd5809d" }, @@ -161463,7 +161463,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.closedFormPosterior_compProd_eq_map_swap", "source_line": 513, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem closedFormPosterior_compProd_eq_map_swap\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n evidenceLaw model prior ⊗ₘ closedFormPosteriorKernel model prior =\n ((predictionBelief model prior).law ⊗ₘ observationKernel model).map\n Prod.swap", "statement_sha256": "caf22f2ff3674abb8cad1c74dcc1dab94f61588a6140e670ba1302364058dd74" }, @@ -161518,7 +161518,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.closedFormPosterior_univ", "source_line": 567, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem closedFormPosterior_univ\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n closedFormPosteriorKernel model prior observation Set.univ = 1", "statement_sha256": "8797b96c0b072320e982c29edb58d562c3cef4fbe7c1914721f07d84e8e909fe" }, @@ -161580,7 +161580,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceDensity_ne_zero", "source_line": 545, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceDensity_ne_zero\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n evidenceDensity model prior observation ≠ 0", "statement_sha256": "52b0c74072c944af51200081f7397a3e2740111d792389686e74d31c1824476b" }, @@ -161642,7 +161642,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceDensity_pos", "source_line": 535, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceDensity_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n 0 < evidenceDensity model prior observation", "statement_sha256": "8b881129b4061401d80b16a4256ca29273c3619e3de96bd9b70c38ccab79593e" }, @@ -161694,7 +161694,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceLaw_eq_gaussian", "source_line": 501, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceLaw_eq_gaussian\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n let predicted := predictionBelief model prior\n evidenceLaw model prior = (evidenceFamily model prior).law predicted.mean", "statement_sha256": "656dcc9cf57f1d196aa0478777265723385482378270c26310dd5896b6451868" }, @@ -161762,7 +161762,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceLaw_singleton_eq_zero", "source_line": 553, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceLaw_singleton_eq_zero\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n evidenceLaw model prior {observation} = 0", "statement_sha256": "5edc515c55ff9fd3755f49f4c7261f5bc07fac09171874b016cefb414716471e" }, @@ -161827,7 +161827,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.filterRecursion_cons", "source_line": 591, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem filterRecursion_cons\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (observations : List ℝ) :\n filterRecursion model prior (observation :: observations) =\n filterRecursion model\n (posteriorBelief model prior observation) observations", "statement_sha256": "051f0f93fdf8885c0f8d94cec2404045f69e6c90c2215f7586f9ca5876bb5923" }, @@ -161872,7 +161872,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.filterRecursion_nil", "source_line": 584, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem filterRecursion_nil\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n filterRecursion model prior [] = prior", "statement_sha256": "26635f9ddef56d5168bd6d9484a1be3b7f230c043ac5a59a2a9ddf0519c2cfac" }, @@ -161924,7 +161924,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.gaussianEvidence_compProd_closedForm_eq_map_swap", "source_line": 452, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem gaussianEvidence_compProd_closedForm_eq_map_swap\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n let predicted := predictionBelief model prior\n (evidenceFamily model prior).law predicted.mean ⊗ₘ\n closedFormPosteriorKernel model prior =\n ((predictionBelief model prior).law ⊗ₘ observationKernel model).map\n Prod.swap", "statement_sha256": "c766a28fc62fef74f8ce67cc210da8de26de0732da79406906fd14a7957aa0ea" }, @@ -161980,7 +161980,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.gaussianPDF_factorization", "source_line": 326, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem gaussianPDF_factorization\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (state observation : ℝ) :\n let predicted := predictionBelief model prior\n gaussianPDF predicted.mean predicted.family.variance state *\n gaussianPDF state model.observationNoise.variance observation =\n evidenceDensity model prior observation *\n gaussianPDF (posteriorMean model prior observation)\n (posteriorVariance model prior) state", "statement_sha256": "392acda0e95f6aa99880219b544e21ce244a6bc73893deaae5b02fd586792f0f" }, @@ -162025,7 +162025,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.innovationVariance_pos", "source_line": 154, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem innovationVariance_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n 0 < innovationVariance model prior", "statement_sha256": "9f5ed852f327f72de0bb4275c76d36c04af3cd1f2dde501f6b2fa605b008a7e3" }, @@ -162070,7 +162070,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.observationKernel_apply", "source_line": 123, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem observationKernel_apply\n (model : ScalarGaussianFilterModel) (state : ℝ) :\n observationKernel model state = model.observationNoise.law state", "statement_sha256": "2b061efd80a5a8a20e4bc199d58565048b7f80e5179bb1f4ce6b9aa337ed256b" }, @@ -162122,7 +162122,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.posteriorVariance_pos", "source_line": 162, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem posteriorVariance_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n 0 < posteriorVariance model prior", "statement_sha256": "937d8568e304accec96d57d86ee06091c33f16d02e18445441ea4c739f3c8269" }, @@ -162167,7 +162167,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.predictionBelief_law_eq_ouTransition", "source_line": 90, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem predictionBelief_law_eq_ouTransition\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n model.dynamics.ouTransition model.stepDuration ∘ₘ prior.law =\n (predictionBelief model prior).law", "statement_sha256": "76dae2c145de19a1cb1288f7c76e2cb8c9148dc998882cbc3ef7ffdd91930679" }, @@ -162212,7 +162212,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.predictionVariance_pos", "source_line": 69, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem predictionVariance_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n 0 < predictionVariance model prior", "statement_sha256": "1b7e1184844c7dc7e2b5d1909b7d1413fa0333e5904fc4cedbf46b65b9e266f5" }, @@ -162287,7 +162287,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.expectedLogRatio_nonneg", "source_line": 193, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem expectedLogRatio_nonneg\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hAC : forwardGridLaw model grid n ≪ reverseAlignedGridLaw model grid n)\n (hIntegrable : Integrable\n (MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n))\n (forwardGridLaw model grid n)) :\n 0 ≤ ∫ path, MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n) path\n ∂forwardGridLaw model grid n", "statement_sha256": "eba513c61baacfdd5ef63e3962b1db133a1c6643c63ff9605cc7d4c946c626ca" }, @@ -162342,7 +162342,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.forwardGridLaw_normalized", "source_line": 101, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem forwardGridLaw_normalized\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ) :\n forwardGridLaw model grid n Set.univ = 1", "statement_sha256": "a11d1ed59497a11e9208b66cb9cfd47ddc6d551e1015ff30a5465230ec5d1b95" }, @@ -162417,7 +162417,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.gridPathKL_eq_expectedLogRatio", "source_line": 177, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem gridPathKL_eq_expectedLogRatio\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hAC : forwardGridLaw model grid n ≪ reverseAlignedGridLaw model grid n)\n (hIntegrable : Integrable\n (MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n))\n (forwardGridLaw model grid n)) :\n gridPathKL model grid n = ENNReal.ofReal\n (∫ path, MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n) path\n ∂forwardGridLaw model grid n)", "statement_sha256": "8e5b4e1e3e78d8f3c775f11c1e8f13a4952b18c27dd9cf38e50e5c5b3b131a9f" }, @@ -162482,7 +162482,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.gridPathKL_eq_top_of_not_ac", "source_line": 207, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem gridPathKL_eq_top_of_not_ac\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hNotAC : ¬ forwardGridLaw model grid n ≪\n reverseAlignedGridLaw model grid n) :\n gridPathKL model grid n = ∞", "statement_sha256": "c02359e6854e49b3639bc4d9fbb8ce1817c88b2d201af281c7376dc80b851cce" }, @@ -162547,7 +162547,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.gridPathKL_eq_top_of_not_integrable", "source_line": 215, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem gridPathKL_eq_top_of_not_integrable\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hNotIntegrable : ¬ Integrable\n (MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n))\n (forwardGridLaw model grid n)) :\n gridPathKL model grid n = ∞", "statement_sha256": "21caa89b12ea50d28868b5a72a89e61db6df85c0b5ed3d36297dfefb9d302064" }, @@ -162619,7 +162619,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.integral_reverseAlignedGridLaw", "source_line": 148, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem integral_reverseAlignedGridLaw\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (f : GridPath n →ᵇ ℝ) :\n (∫ path, f path ∂reverseAlignedGridLaw model grid n) =\n ∫ path, f (reverseGridPath n path) ∂forwardGridLaw model grid n", "statement_sha256": "ca489f09f8086f9321cb8dd478e5c237a8e99dec67ac557f897a694921d5c39b" }, @@ -162696,7 +162696,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.ouPartialTraj_comp", "source_line": 71, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem ouPartialTraj_comp\n (model : ScalarOUParameters) (grid : TimeGrid)\n {a b c : ℕ} (hab : a ≤ b) (hbc : b ≤ c) :\n ouPartialTraj model grid b c ∘ₖ ouPartialTraj model grid a b =\n ouPartialTraj model grid a c", "statement_sha256": "0cc5c1057275303adaef35031cdf6cfecdb093c3a33627cfb9499d236420d2fa" }, @@ -162751,7 +162751,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.reverseAlignedGridLaw_normalized", "source_line": 142, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem reverseAlignedGridLaw_normalized\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ) :\n reverseAlignedGridLaw model grid n Set.univ = 1", "statement_sha256": "3863bbd5399228b43787008fec538af1d4c5a1760e3d0d11126344c7b0d031df" }, @@ -162786,7 +162786,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.reverseGridPath_involutive", "source_line": 119, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem reverseGridPath_involutive (n : ℕ) :\n Function.Involutive (reverseGridPath n)", "statement_sha256": "935ad0410a8409f73e208c492df4d8f0216c989bf7b29dc04cc3b51ff173d5ce" }, @@ -162821,7 +162821,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.reverseGridPath_measurable", "source_line": 111, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem reverseGridPath_measurable (n : ℕ) : Measurable (reverseGridPath n)", "statement_sha256": "81374b513ae98e358ba852e764f5ed6c6e16d711b458fb540d535a560de5b209" }, @@ -162914,7 +162914,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.rnDeriv_forward_reverseAligned_eq_ratio", "source_line": 164, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem rnDeriv_forward_reverseAligned_eq_ratio\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (dominating : Measure (GridPath n)) [SigmaFinite dominating]\n (hForward : forwardGridLaw model grid n ≪ dominating)\n (hReverse : reverseAlignedGridLaw model grid n ≪ dominating) :\n (forwardGridLaw model grid n).rnDeriv\n (reverseAlignedGridLaw model grid n) =ᵐ[reverseAlignedGridLaw model grid n]\n fun path =>\n (forwardGridLaw model grid n).rnDeriv dominating path /\n (reverseAlignedGridLaw model grid n).rnDeriv dominating path", "statement_sha256": "198e0fcf7f26861e1e060c4bcc07d7c1c7276f4fd271cf7442e1f5a567a9709d" }, @@ -162947,7 +162947,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.all_zero_grid_kl", "source_line": 4205, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem all_zero_grid_kl :\n klDiv (studyProjectedLaw allZeroStudyGrid) (studyReverseLaw allZeroStudyGrid) = 0", "statement_sha256": "8638489cdc55170fd4cc3bf165ed3cadc33d2bdb6823c7ac160a8923403f8797" }, @@ -163042,7 +163042,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.arbitrary_state_projection", "source_line": 207, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem arbitrary_state_projection (center : ℝ) (time : ℝ≥0)\n (state : FEP.H3ReferenceModel.StandardState) :\n (FEP.H3ReferenceModel.transition\n (FEP.H3ReferenceModel.fromNativeState (allOnesEmbedding center)) time state).map\n scalarCoordinate =\n (FEP.H3ReferenceModel.scalarParameters center).ouTransition time\n (scalarCoordinate state)", "statement_sha256": "45f8995ee824085b11b646614c9141938a81de16d86ac666fac6a263576a6b1c" }, @@ -163117,7 +163117,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.arbitrary_state_projection_native", "source_line": 191, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem arbitrary_state_projection_native (center : ℝ) (time : ℝ≥0)\n (state : StandardizedState) :\n (transition (allOnesEmbedding center) time state).map allOnesProjection =\n (scalarParameters center).ouTransition time (allOnesProjection state)", "statement_sha256": "8036b1ad06e34ab06611f039dbf4f2a6e4a28aa3b3dd478fd0a0d379eaf7acca" }, @@ -163181,7 +163181,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchCovariance_posDef", "source_line": 428, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchCovariance_posDef (n : ℕ) (noise : ℝ) (hNoise : 0 < noise) :\n (batchCovariance n noise).PosDef", "statement_sha256": "2b99bb1ae59e4132430fd2ccf27b7247ce209fbbfae1a1b9d1d7efab0e489473" }, @@ -163245,7 +163245,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchDenominator_pos", "source_line": 466, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchDenominator_pos (n : ℕ) (noise : ℝ) (hNoise : 0 < noise) :\n 0 < 2 * noise + n", "statement_sha256": "25c5872ab57cf0c2f6c2534536b6d30a979270b9c310b3645746f0ccdf32c621" }, @@ -163327,7 +163327,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_eq", "source_line": 488, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_eq (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise)\n (state : BatchState n) :\n batchError center noise state =\n batchPosteriorMean center noise (batchObservations state) - state 0", "statement_sha256": "f934901e2b20b447ccaa265994adf2a2250d37c12cfa53395c9626adef71c416" }, @@ -163382,7 +163382,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_hasGaussianLaw", "source_line": 507, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_hasGaussianLaw (n : ℕ) (center noise : ℝ) :\n HasGaussianLaw (batchError (n := n) center noise) (batchSourceLaw n center noise)", "statement_sha256": "88122c27aa57b9d9423f727f84f6a96d4eee76e465260d04816cba5875557a36" }, @@ -163437,7 +163437,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_mean", "source_line": 512, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_mean (n : ℕ) (center noise : ℝ) :\n ∫ state, batchError center noise state ∂batchSourceLaw n center noise = 0", "statement_sha256": "c31e4a663685f20994254d3eb270fe83c81f494a583f99952f166d2e96e45a53" }, @@ -163509,7 +163509,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_variance", "source_line": 535, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_variance (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n Var[batchError center noise; batchSourceLaw n center noise] =\n batchPosteriorVariance n noise", "statement_sha256": "8596ffc8baca642d5f33e398a7238aae84dd7dffb4f1122655421961bcbaf08c" }, @@ -163580,7 +163580,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchPosteriorVariance_pos", "source_line": 469, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchPosteriorVariance_pos (n : ℕ) (noise : ℝ) (hNoise : 0 < noise) :\n 0 < batchPosteriorVariance n noise", "statement_sha256": "5a7f658a214e5e960c772589bbf112b0101880ba1dbeac883cf48effc89a59d6" }, @@ -163652,7 +163652,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batch_innovations_independent", "source_line": 614, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batch_innovations_independent (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n iIndepFun (fun index : Fin (n + 1) => fun state : BatchState n => state index)\n (batchSourceLaw n center noise)", "statement_sha256": "6c47b1eaa06a1b392d9b6613fb6ec3c3034994e6bc6d3dc4ecf44d53e73b6dc5" }, @@ -163724,7 +163724,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batch_latent_law", "source_line": 630, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batch_latent_law (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n (batchSourceLaw n center noise).map (fun state => state 0) =\n gaussianReal center (1 / 2)", "statement_sha256": "b02186222ab19b00b4768cb0dbc61d634da2269a1cb9808fe3cb17324d0f94ac" }, @@ -163781,7 +163781,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.clamp_conditional_covariance", "source_line": 2566, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem clamp_conditional_covariance (center : FEP.Fin4GaussianSemigroup.StandardizedState) :\n (condDistrib sensoryEndpoints sensoryClampedBlanket (sensoryClampedLaw center)\n =ᵐ[(sensoryClampedLaw center).map sensoryClampedBlanket]\n sensoryClampedConditionalKernel center) ∧\n ∀ datum : ℝ,\n cov[Prod.fst, Prod.snd; sensoryClampedConditionalKernel center (datum, 0)] = 1 / 56", "statement_sha256": "9e8e30772da525c47060f27cb7577f11f2f7a05d658c5b2f02dab3362081b173" }, @@ -163842,7 +163842,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.clamp_nondescendants", "source_line": 302, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem clamp_nondescendants (value : ℝ)\n (law : Measure FEP.H3ReferenceModel.StandardState) :\n (clampKernel value ∘ₘ law).map\n (fun state => (state FEP.H3ReferenceModel.Axis.external,\n state FEP.H3ReferenceModel.Axis.sensory,\n state FEP.H3ReferenceModel.Axis.internal)) =\n law.map (fun state => (state FEP.H3ReferenceModel.Axis.external,\n state FEP.H3ReferenceModel.Axis.sensory,\n state FEP.H3ReferenceModel.Axis.internal))", "statement_sha256": "4ac23984736287ea56ab6c197d6d4810f1865b88789bfe4d9bcec777d645568f" }, @@ -163896,7 +163896,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.clamp_normalization", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem clamp_normalization (value : ℝ) (state : FEP.H3ReferenceModel.StandardState) :\n clampKernel value state Set.univ = 1", "statement_sha256": "f75b5ae7e1b4250a80dbeeeeb3c41b2292bfc94859ebb3af1dd374b274e22e6a" }, @@ -163941,7 +163941,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_bound_limit", "source_line": 574, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_bound_limit (noise epsilon : ℝ) :\n Tendsto (fun n : ℕ => batchPosteriorVariance n noise / epsilon ^ 2)\n atTop (nhds 0)", "statement_sha256": "b551c81cb00abe8a7ef84a4e854b2ca0398952ea18197794048b3971b423bf7e" }, @@ -164026,7 +164026,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_limit", "source_line": 587, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_limit (center noise epsilon : ℝ) (hNoise : 0 < noise)\n (hEpsilon : 0 < epsilon) :\n Tendsto (fun n : ℕ => (batchSourceLaw n center noise).real\n {state | epsilon ≤ |batchPosteriorMean center noise (batchObservations state) - state 0|})\n atTop (nhds 0)", "statement_sha256": "d510912e53e67e8e77a8f3f5373ab25e7506bffba5e18d55bd3e78fd43b8f6f9" }, @@ -164116,7 +164116,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_mse", "source_line": 553, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_mse (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n (∫ state, (batchPosteriorMean center noise (batchObservations state) - state 0) ^ 2\n ∂batchSourceLaw n center noise) = noise / (2 * noise + n)", "statement_sha256": "b3d879e7341b24aa3968bcde2c620f0c15a215483d73029eb75f3a9ef9eadc69" }, @@ -164217,7 +164217,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_tail", "source_line": 563, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_tail (n : ℕ) (center noise epsilon : ℝ)\n (hNoise : 0 < noise) (hEpsilon : 0 < epsilon) :\n batchSourceLaw n center noise\n {state | epsilon ≤ |batchPosteriorMean center noise (batchObservations state) - state 0|} ≤\n ENNReal.ofReal (batchPosteriorVariance n noise / epsilon ^ 2)", "statement_sha256": "e04e3f14df28f06983419b8467de22ade11654d29aaeb6a97134d8fd70713e08" }, @@ -164257,7 +164257,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.constitutive_nonidentification", "source_line": 4223, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem constitutive_nonidentification :\n hypotheticalEnergyLaw 1 = hypotheticalEnergyLaw 2 ∧\n klDiv (hypotheticalEnergyLaw 1) (studyReverseLaw informationGrid) =\n klDiv (hypotheticalEnergyLaw 2) (studyReverseLaw informationGrid) ∧\n hypotheticalAssignedExpectedHeat 1 < hypotheticalAssignedExpectedHeat 2", "statement_sha256": "0ca9b760af6b88ce02f237c279af88f826751dd94e2916620a954e3e67e9e67b" }, @@ -164290,7 +164290,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlDecay_bounds", "source_line": 938, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlDecay_bounds : 0 < controlDecay ∧ controlDecay < 1", "statement_sha256": "31fefaae00d240a37927ba0035338b017c6c2c3be470b98a5c6327e8195c410b" }, @@ -164344,7 +164344,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlledMean_exact", "source_line": 2316, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlledMean_exact (belief : ScalarGaussianBelief) (action : Bool) :\n controlledMean controlModel belief action =\n controlDecay * belief.mean + (1 - controlDecay) * actionCenter action", "statement_sha256": "10bdf8c7a14d9b87821345f8ae8b463a06bf143bcc039306eb1da8d3284bb737" }, @@ -164398,7 +164398,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlledVariance_exact", "source_line": 2308, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlledVariance_exact (belief : ScalarGaussianBelief) (action : Bool) :\n (controlledVariance controlModel belief action : ℝ) = terminalVariance belief", "statement_sha256": "0e76ca94226ef1bbaf58f556ab961ca6c142ca830eaa0799b0ab72eb4dff8164" }, @@ -164462,7 +164462,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlled_moment_bound", "source_line": 3233, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlled_moment_bound (policy : TwoStepPolicy) (noise : ℝ≥0) (hNoise : 0 < noise) :\n (∫ state, (allOnesProjection state) ^ 2 ∂controlFirstLaw policy) ≤ controlledBound ∧\n (∫ state, (allOnesProjection state) ^ 2 ∂controlSecondLaw policy noise hNoise) ≤ controlledBound ∧\n (∫ state, ‖state‖ ^ 2 ∂controlFirstLaw policy) ≤ controlledBound + 2 / 3 ∧\n (∫ state, ‖state‖ ^ 2 ∂controlSecondLaw policy noise hNoise) ≤ controlledBound + 2 / 3", "statement_sha256": "e1f4b3c64b852089226cf996aeadeb519eb01aaffb0a2727e2874acba03e7ab9" }, @@ -164549,7 +164549,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlled_native_cost", "source_line": 4358, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlled_native_cost (policy : TwoStepPolicy) (noise : ℝ≥0) (hNoise : 0 < noise) :\n (∫ state, (allOnesProjection state) ^ 2 ∂controlSecondLaw policy noise hNoise) =\n policyRisk noise hNoise policy", "statement_sha256": "ff0cc91fbcf0c1a9e5a6e48c0b17dc2006d11772b9f84bd620dd1a071df5f7ab" }, @@ -164636,7 +164636,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.efe_native_information", "source_line": 2342, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem efe_native_information (belief : ScalarGaussianBelief) (action : Bool)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n terminalInformation belief action noise hNoise =\n ENNReal.ofReal ((1 / 2 : ℝ) * Real.log (1 + terminalVariance belief / noise))", "statement_sha256": "a724a74fc5adec547d450c8b7c79d1555c6c54ff273f1a958ccd770e9eaca64e" }, @@ -164732,7 +164732,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.efe_risk_alignment", "source_line": 2412, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem efe_risk_alignment (belief : ScalarGaussianBelief) (left right : Bool)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n expectedFreeEnergy 0 belief left noise hNoise -\n expectedFreeEnergy 0 belief right noise hNoise =\n quadraticActionRisk controlModel belief left - quadraticActionRisk controlModel belief right", "statement_sha256": "b28ad686b3c9869bf08b9ec336848a9f9f836b2162291c46b47af585b84879b5" }, @@ -164814,7 +164814,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.efe_risk_ordering", "source_line": 2423, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem efe_risk_ordering (belief : ScalarGaussianBelief) (left right : Bool)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n (expectedFreeEnergy 0 belief left noise hNoise ≤ expectedFreeEnergy 0 belief right noise hNoise ↔\n quadraticActionRisk controlModel belief left ≤ quadraticActionRisk controlModel belief right) ∧\n (expectedFreeEnergy 0 belief left noise hNoise = expectedFreeEnergy 0 belief right noise hNoise ↔\n quadraticActionRisk controlModel belief left = quadraticActionRisk controlModel belief right)", "statement_sha256": "ac82adc0cfbedd671d1749577fc86b9b9832c9c1f621d4947561f41bf0c27cff" }, @@ -164905,7 +164905,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.expectedFreeEnergy_closedForm", "source_line": 2390, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem expectedFreeEnergy_closedForm (preference : ℝ) (belief : ScalarGaussianBelief)\n (action : Bool) (noise : ℝ≥0) (hNoise : 0 < noise) :\n expectedFreeEnergy preference belief action noise hNoise =\n terminalVariance belief +\n (controlledMean controlModel belief action - preference) ^ 2 +\n (1 / 2 : ℝ) * Real.log Real.pi -\n (1 / 2 : ℝ) * Real.log (1 + terminalVariance belief / noise)", "statement_sha256": "68bcbbde9d52fc333e2817eee104caf42070ea98a2d44cd2f5b7be64694b9031" }, @@ -164982,7 +164982,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.feedback_false_attainment", "source_line": 4849, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem feedback_false_attainment (noise : ℝ≥0) (hNoise : 0 < noise) (policy : TwoStepPolicy) :\n policyRisk noise hNoise (feedbackPolicy false noise hNoise) ≤ policyRisk noise hNoise policy", "statement_sha256": "bab27ae10a1bbbc61e6055d530c14bd92661d73441805cf33b7e6c1c809d047e" }, @@ -165036,7 +165036,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.feedback_first_risk_symmetry", "source_line": 4816, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem feedback_first_risk_symmetry (noise : ℝ≥0) (hNoise : 0 < noise) :\n policyRisk noise hNoise (feedbackPolicy false noise hNoise) =\n policyRisk noise hNoise (feedbackPolicy true noise hNoise)", "statement_sha256": "593c85770c008e78b9fd37a4d7b1b60de775acb9dd178555ff0cc3173d4ab5ee" }, @@ -165076,7 +165076,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_kl", "source_line": 4116, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_kl :\n klDiv (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid) =\n ENNReal.ofReal (2 * (1 - controlDecay ^ 2))", "statement_sha256": "f9166047f3f595714c5e9f4a5710e3122bfdc87c0103278f09b5373e74e142fe" }, @@ -165122,7 +165122,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_kl_mahalanobis", "source_line": 4581, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_kl_mahalanobis :\n klDiv (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid) =\n ENNReal.ofReal ((1 / 2 : ℝ) *\n ((informationMean - fun index => informationMean (2 - index)) ⬝ᵥ\n (informationCovariance⁻¹ *ᵥ (informationMean - fun index => informationMean (2 - index)))))", "statement_sha256": "43eb287e6c3b41be430d9ec91e18c29efe0258cf5cf961d18b2c6da8d3792169" }, @@ -165162,7 +165162,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_kl_positive", "source_line": 4136, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_kl_positive :\n 0 < klDiv (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid)", "statement_sha256": "0adb3abfa02f7da3262e179550ea48150da5d07935bedb706819520c7455ae60" }, @@ -165208,7 +165208,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_mutual_support", "source_line": 4659, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_mutual_support :\n (studyProjectedLaw informationGrid ≪ studyReverseLaw informationGrid ∧\n Integrable (llr (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid))\n (studyProjectedLaw informationGrid)) ∧\n (studyReverseLaw informationGrid ≪ studyProjectedLaw informationGrid ∧\n Integrable (llr (studyReverseLaw informationGrid) (studyProjectedLaw informationGrid))\n (studyReverseLaw informationGrid))", "statement_sha256": "5763bdc790633e1dff25bc7f59b76b07efeaf62dc3771847c8ed54d0278b8e9b" }, @@ -165248,7 +165248,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_reverse_kl", "source_line": 4644, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_reverse_kl :\n klDiv (studyReverseLaw informationGrid) (studyProjectedLaw informationGrid) =\n ENNReal.ofReal (2 * (1 - controlDecay ^ 2))", "statement_sha256": "dbf31f1f8581f74121ead297070ba3bd290ae8eb11a597d97234a531f411fa17" }, @@ -165288,7 +165288,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_support", "source_line": 4143, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_support :\n studyProjectedLaw informationGrid ≪ studyReverseLaw informationGrid ∧\n Integrable (llr (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid))\n (studyProjectedLaw informationGrid)", "statement_sha256": "ec786a5031e36cadaf7fb65a85b3fb3c2d31782d36427a09bb6ded6be9304a10" }, @@ -165366,7 +165366,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_likelihood_conjugacy", "source_line": 769, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_likelihood_conjugacy (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n (batchSourceLaw n center noise).map (fun state => (batchObservations state, state 0)) =\n ((batchSourceLaw n center noise).map batchObservations) ⊗ₘ\n batchPosteriorKernel n center noise", "statement_sha256": "ee6129124b004462922bab8093cbb0b1f1eba55ef9d06d89e5b25045caa4192e" }, @@ -165444,7 +165444,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_native_posterior", "source_line": 789, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_native_posterior (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n condDistrib (fun state : BatchState n => state 0) batchObservations\n (batchSourceLaw n center noise) =ᵐ[(batchSourceLaw n center noise).map batchObservations]\n batchPosteriorKernel n center noise", "statement_sha256": "e5465d3e4346bb04fb4110ad1e22d480fb04db67ded1804ffb19f26388f8cc90" }, @@ -165528,7 +165528,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.fullPathObservationKernel_native_row", "source_line": 2249, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem fullPathObservationKernel_native_row (n : ℕ) (index : Iic n)\n (noise : ℝ≥0) (hNoise : 0 < noise) (path : FullGridPath n) :\n fullPathObservationKernel n index noise hNoise path =\n gaussianReal (allOnesProjection (path index)) noise", "statement_sha256": "9aaecee1f47fad225737f95add0bf3ab89f95870a6bf6e92c90c1f45740046f7" }, @@ -165617,7 +165617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.full_native_path_projection", "source_line": 2189, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem full_native_path_projection (center : ℝ) (grid : TimeGrid)\n (initial : Measure StandardizedState) [IsProbabilityMeasure initial] (n : ℕ) :\n (fullNativeGridLaw center grid initial n).map (projectFullPath n) =\n scalarNativeGridLaw center grid (initial.map allOnesProjection) n", "statement_sha256": "d95103858e415db133b73e53c127a04a5ad284be5b9855917e2a81649e67c50b" }, @@ -165670,7 +165670,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.gaussianSigma_scalar_marginal", "source_line": 805, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem gaussianSigma_scalar_marginal (mean : StandardizedState) :\n (multivariateGaussian mean FEP.Fin4GaussianSemigroup.Sigma).map allOnesProjection =\n gaussianReal (allOnesProjection mean) (1 / 2)", "statement_sha256": "978d11b3b1b2ee75b27c1bafb6ec685315ae67d32487c60efacc2d2794989383" }, @@ -165712,7 +165712,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_native_binding", "source_line": 839, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_native_binding :\n hiddenContrast = (Real.sqrt 2)⁻¹ • WithLp.toLp 2 eigenmodeFourExternal ∧\n K *ᵥ hiddenContrast = 4 • hiddenContrast", "statement_sha256": "9640c3144624bd816e1434ffe2313482887c5b91e6632827b1b66f471aec6580" }, @@ -165752,7 +165752,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_ne_zero", "source_line": 860, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_ne_zero : hiddenContrast ≠ 0", "statement_sha256": "dd88e26f8d3c58287d3d63101483f6607b6944e4b035e1b84bd872eb44c06081" }, @@ -165785,7 +165785,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_norm", "source_line": 848, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_norm : ‖hiddenContrast‖ = 1", "statement_sha256": "e6bc885579322b42e19cf1bdf0775d46c2b9919796cea60a64222f41344ce731" }, @@ -165818,7 +165818,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_projection", "source_line": 866, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_projection : allOnesProjection hiddenContrast = 0", "statement_sha256": "fa8646eabd4921237b5067b36ed5d8f4d8a0028fd4f729440ad3894f57159204" }, @@ -165893,7 +165893,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenInitialLaw_projection", "source_line": 884, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenInitialLaw_projection (center : ℝ) (shiftHidden : Bool) :\n (hiddenInitialLaw center shiftHidden).map allOnesProjection =\n gaussianReal center (1 / 2)", "statement_sha256": "8e2a53751e74e79c2cc0b0572ba420b5078deb89e4c173992f00aa0b8d4a8dd8" }, @@ -165960,7 +165960,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hidden_mode_marginal_nonidentifiability", "source_line": 909, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hidden_mode_marginal_nonidentifiability (center : ℝ) (time : ℝ≥0) :\n hiddenInitialLaw center false ≠ hiddenInitialLaw center true ∧\n (transition (allOnesEmbedding center) time ∘ₘ hiddenInitialLaw center false).map\n allOnesProjection =\n (transition (allOnesEmbedding center) time ∘ₘ hiddenInitialLaw center true).map\n allOnesProjection", "statement_sha256": "730f2bee8d37d40375e3745bba7f9fa7bbf897f309e8a2d5b83c084b8beff72e" }, @@ -166063,7 +166063,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hidden_mode_nonidentifiability", "source_line": 2271, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hidden_mode_nonidentifiability (grid : TimeGrid) (n : ℕ) (index : Iic n)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n hiddenInitialLaw 0 false ≠ hiddenInitialLaw 0 true ∧\n (fullNativeGridLaw 0 grid (hiddenInitialLaw 0 false) n).map (projectFullPath n) =\n (fullNativeGridLaw 0 grid (hiddenInitialLaw 0 true) n).map (projectFullPath n) ∧\n ((fullNativeGridLaw 0 grid (hiddenInitialLaw 0 false) n) ⊗ₘ\n fullPathObservationKernel n index noise hNoise).map (Prod.map (projectFullPath n) id) =\n ((fullNativeGridLaw 0 grid (hiddenInitialLaw 0 true) n) ⊗ₘ\n fullPathObservationKernel n index noise hNoise).map (Prod.map (projectFullPath n) id)", "statement_sha256": "6376dfcd750939697490ca67e76dd6aadb7e66c122dda693d9e403ed22b17b16" }, @@ -166096,7 +166096,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationCovariance_inverse", "source_line": 4569, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationCovariance_inverse : informationCovariance⁻¹ = informationInverse", "statement_sha256": "3c722af729b31efc2f9da864705d0b6ff8bd2acebd792b4ba35346aa4959dabb" }, @@ -166129,7 +166129,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationCovariance_posDef", "source_line": 4519, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationCovariance_posDef : informationCovariance.PosDef", "statement_sha256": "ab208d74b323fd799551ffaed61343e2968257bf427be870538756a322bc629e" }, @@ -166174,7 +166174,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationCovariance_time_entries", "source_line": 4729, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationCovariance_time_entries (left right : Fin 3) :\n informationCovariance left right = (1 / 2 : ℝ) *\n Real.exp (-2 * |(informationGrid.time left.val : ℝ) - (informationGrid.time right.val : ℝ)|)", "statement_sha256": "cde423e2356ae119edbbe790d4e180270ed6ddcba1c6051bc2be8d47b4bc4919" }, @@ -166218,7 +166218,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationMean_time_entries", "source_line": 4720, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationMean_time_entries (index : Fin 3) :\n informationMean index = Real.exp (-2 * (informationGrid.time index.val : ℝ))", "statement_sha256": "e0cae0d599b4cac57b38be2df3eeb4a67afb7ffb235095a868b5460a5966c223" }, @@ -166271,7 +166271,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_full_marginal_projection", "source_line": 4680, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_full_marginal_projection (time : ℝ≥0) :\n (informationFullMarginal time).map allOnesProjection =\n gaussianReal (Real.exp (-2 * (time : ℝ))) (1 / 2)", "statement_sha256": "749c5de4eb16d5e76cd8bb4c38c677a482e4e2465da3e12f0b64c4dd40d3bf48" }, @@ -166322,7 +166322,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_marginal_kl", "source_line": 4596, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_marginal_kl (index : Fin 3) :\n klDiv ((studyProjectedLaw informationGrid).map (informationCoordinate index))\n (gaussianReal 0 (1 / 2)) = ENNReal.ofReal ((informationMean index) ^ 2)", "statement_sha256": "25e76f266ddf91f51b66eb3feebde058b972c9fabdb678de04216f5c98171469" }, @@ -166373,7 +166373,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_marginal_kl_at_time", "source_line": 4740, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_marginal_kl_at_time (index : Fin 3) :\n klDiv ((studyProjectedLaw informationGrid).map (informationCoordinate index))\n (gaussianReal 0 (1 / 2)) =\n ENNReal.ofReal (Real.exp (-4 * (informationGrid.time index.val : ℝ)))", "statement_sha256": "a86cdfd8615d853a74b40b8ab8db619727d661cfc281dae24726be8afe979427" }, @@ -166413,7 +166413,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_marginal_kl_values", "source_line": 4606, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_marginal_kl_values :\n (∀ index : Fin 3, klDiv ((studyProjectedLaw informationGrid).map (informationCoordinate index))\n (gaussianReal 0 (1 / 2)) =\n ENNReal.ofReal (![1, Real.exp (-1), Real.exp (-2)] index))", "statement_sha256": "b4e47b7150d7675a4afcb0b4c33cd1044ed35d2f2bb4d2ea6434c6a1fd8db5fa" }, @@ -166446,7 +166446,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_mean_asymmetry", "source_line": 4573, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_mean_asymmetry : informationMean ≠ fun index => informationMean (2 - index)", "statement_sha256": "a05a65b7658bd9839de8d84bd9e3c5faddabdd015947eeab51ed08f5d20d0396" }, @@ -166498,7 +166498,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_covariance", "source_line": 4506, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_covariance (left right : Fin 3) :\n cov[informationCoordinate left, informationCoordinate right;\n studyProjectedLaw informationGrid] = informationCovariance left right", "statement_sha256": "de67b9389b4602655ad0dbf8d3c7833462632d693705fc9b28d7a724f8e9f4d9" }, @@ -166549,7 +166549,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_lyapunov", "source_line": 4707, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_lyapunov (time : ℝ≥0) :\n klDiv ((informationFullMarginal time).map allOnesProjection) (gaussianReal 0 (1 / 2)) =\n ENNReal.ofReal (Real.exp (-4 * (time : ℝ)))", "statement_sha256": "0dc5dc6a966ba9bf5be357e21f4f40ae97e6cc3f6588587957c689acd774833b" }, @@ -166600,7 +166600,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_marginal", "source_line": 4482, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_marginal (index : Fin 3) :\n (studyProjectedLaw informationGrid).map (informationCoordinate index) =\n gaussianReal (informationMean index) (1 / 2)", "statement_sha256": "ef67c388c8b2044d76fe2814c7706ace63437709f8dca16e1b79e8eb47b9ce36" }, @@ -166651,7 +166651,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_mean", "source_line": 4494, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_mean (index : Fin 3) :\n (∫ path, informationCoordinate index path ∂studyProjectedLaw informationGrid) =\n informationMean index", "statement_sha256": "b728e418b9ff0eb684e5791296fd785f5a570cc35a719bc06c63d4b305e0d205" }, @@ -166714,7 +166714,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_mutualInformation", "source_line": 1543, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_mutualInformation\n (model : ScalarGaussianFilterModel) (belief : ScalarGaussianBelief) :\n klDiv (informationJoint model belief)\n ((informationJoint model belief).fst.prod (informationJoint model belief).snd) =\n ENNReal.ofReal ((1 / 2 : ℝ) * Real.log\n (1 + ((predictionBelief model belief).family.variance : ℝ) /\n (model.observationNoise.variance : ℝ)))", "statement_sha256": "ea5418833ea1f815b08abbd5b2ccdf8dabda59ed461d1cf23f819edd78ffa48c" }, @@ -166769,7 +166769,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_batchError", "source_line": 481, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_batchError (n : ℕ) (center noise : ℝ) :\n Measurable (batchError (n := n) center noise)", "statement_sha256": "cc5a49c82ff65b2143c3685c3839a0e7f71504bb6a8da393647ef5c64f7f784b" }, @@ -166813,7 +166813,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_batchObservations", "source_line": 455, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_batchObservations (n : ℕ) :\n Measurable (batchObservations (n := n))", "statement_sha256": "349eaf46b2adf18ba9042ee23cef3c95af660e76635b7550fc05ae7d01501d1d" }, @@ -166857,7 +166857,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_clampActive", "source_line": 281, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_clampActive (value : ℝ) :\n Measurable (clampActive value)", "statement_sha256": "404c32672285bfaf09f56e0596d749df57e177020e087d1e886ecd1484e8a292" }, @@ -166921,7 +166921,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_optimalSecond", "source_line": 1059, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_optimalSecond (first : Bool) (noise : ℝ≥0) (hNoise : 0 < noise) :\n Measurable (optimalSecond first noise hNoise)", "statement_sha256": "df6a1e8ab70b8db2dbd53781fe98fc427ae901013b00c31e8f701d9322878e6b" }, @@ -166965,7 +166965,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_projectFullPath", "source_line": 2094, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_projectFullPath (n : ℕ) : Measurable (projectFullPath n)", "statement_sha256": "ed58d01a5e221a5c2b505b0a6b0a9fa3922fed453fc67e425f507932ce5d615f" }, @@ -166998,7 +166998,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_scalarCoordinate", "source_line": 55, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_scalarCoordinate : Measurable scalarCoordinate", "statement_sha256": "da65aa3a0a6129de82335a3fcc8f7e35de75d7989fe55965a74f6d726b854542" }, @@ -167061,7 +167061,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.native_blanket", "source_line": 242, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem native_blanket (center : FEP.H3ReferenceModel.StandardState) :\n FEP.H3ReferenceModel.K .external .internal = 0 ∧\n cov[fun state : FEP.H3ReferenceModel.NativeState => state .external,\n fun state => state .internal;\n FEP.Fin4GaussianSemigroup.stationaryLaw (FEP.H3ReferenceModel.toNativeState center)] =\n 1 / 24 ∧\n ((fun state : FEP.H3ReferenceModel.NativeState => state .external) ⟂ᵢ[\n FEP.GaussianPrecisionConditioning.blanketCoordinates,\n FEP.GaussianPrecisionConditioning.measurable_blanketCoordinates;\n FEP.Fin4GaussianSemigroup.stationaryLaw (FEP.H3ReferenceModel.toNativeState center)]\n (fun state => state .internal))", "statement_sha256": "1507027bd5c75201033b66f37c929d11d3c465deeefa947ef22d717e05f16991" }, @@ -167135,7 +167135,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.native_posterior", "source_line": 337, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem native_posterior (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise) :\n closedFormPosteriorKernel (observationFilter center duration noise hNoise) (prior center)\n =ᵐ[evidenceLaw (observationFilter center duration noise hNoise) (prior center)]\n ProbabilityTheory.posterior\n (observationKernel (observationFilter center duration noise hNoise))\n (predictionBelief (observationFilter center duration noise hNoise) (prior center)).law", "statement_sha256": "15df5d2b164fa85c9e3cec5e8863ee51697e29747cd666547f4bd0791f05450b" }, @@ -167193,7 +167193,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.native_recognition", "source_line": 259, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem native_recognition (center state : FEP.H3ReferenceModel.StandardState) :\n FEP.H3ReferenceModel.recognitionMean center state =\n FEP.GaussianPrecisionConditioning.externalConditionalMean\n (FEP.H3ReferenceModel.toNativeState center)\n (FEP.GaussianPrecisionConditioning.blanketCoordinates\n (FEP.H3ReferenceModel.toNativeState state)) ∧\n condDistrib (fun next : FEP.H3ReferenceModel.NativeState => next .external)\n FEP.GaussianPrecisionConditioning.blanketCoordinates\n (FEP.Fin4GaussianSemigroup.stationaryLaw (FEP.H3ReferenceModel.toNativeState center))\n =ᵐ[FEP.GaussianPrecisionConditioning.blanketLaw\n (FEP.H3ReferenceModel.toNativeState center)]\n FEP.GaussianPrecisionConditioning.externalConditionalKernel\n (FEP.H3ReferenceModel.toNativeState center)", "statement_sha256": "6343e631b651da9ceedddfefe2194ac98a76fb389b54bf15fc94fecdbd0299b9" }, @@ -167226,7 +167226,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.nonstationary_native_grid", "source_line": 4102, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem nonstationary_native_grid :\n (studyProjectedLaw informationGrid).map informationPath2Equiv =\n gaussianARTripleLaw 1 (1 / 2) controlDecay frozenPathNoise", "statement_sha256": "f279fe151f6758fdbc6a14ed038f46f287b2066d95e64d77209c3ffa069b69e7" }, @@ -167306,7 +167306,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.openLoopRisk_closedForm", "source_line": 2506, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem openLoopRisk_closedForm (noise : ℝ≥0) (hNoise : 0 < noise)\n (first second : Bool) :\n policyRisk noise hNoise (openLoopPolicy first second) =\n (1 / 2 : ℝ) +\n ((1 - controlDecay) * (controlDecay * actionCenter first + actionCenter second)) ^ 2", "statement_sha256": "5e17dea842cbe934a826613947e9356feac28d013ff1109f1e35f64e8755e587" }, @@ -167367,7 +167367,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalPolicy_eq_feedback_false", "source_line": 4836, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalPolicy_eq_feedback_false (noise : ℝ≥0) (hNoise : 0 < noise) :\n optimalPolicy noise hNoise = feedbackPolicy false noise hNoise", "statement_sha256": "04b162f5477107c9318b11c207b0c47a6aae3acd10f44f2edf5290dfddd1b414" }, @@ -167428,7 +167428,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalPolicy_first_false", "source_line": 4842, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalPolicy_first_false (noise : ℝ≥0) (hNoise : 0 < noise) :\n (optimalPolicy noise hNoise).first = false", "statement_sha256": "4945dc6971e5c439f77f426e68e200deec39e503b9c3fc7d8c73042d8bb9247f" }, @@ -167503,7 +167503,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalSecond_le", "source_line": 1065, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalSecond_le (first second : Bool) (noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n secondRisk first noise hNoise observation (optimalSecond first noise hNoise observation) ≤\n secondRisk first noise hNoise observation second", "statement_sha256": "5c37c60f2331c4bdddd4dd82803248181efdab2c53ab9a5f59c7e83db345acf8" }, @@ -167590,7 +167590,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalSecond_threshold", "source_line": 4748, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalSecond_threshold (first : Bool) (noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n optimalSecond first noise hNoise observation =\n if 0 ≤ controlPosteriorMean first noise observation then false else true", "statement_sha256": "4866bde400f7f3a5ccda70e8ef3fee709b35aa3b89230e664647b08670db2b64" }, @@ -167663,7 +167663,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.policyRisk_eq_nativePosterior", "source_line": 2465, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem policyRisk_eq_nativePosterior (noise : ℝ≥0) (hNoise : 0 < noise) (policy : TwoStepPolicy) :\n policyRisk noise hNoise policy =\n ∫ observation, nativePosteriorQuadraticRisk controlModel\n (firstFilter policy.first noise hNoise) (prior 0) observation (policy.second observation)\n ∂evidenceLaw (firstFilter policy.first noise hNoise) (prior 0)", "statement_sha256": "2fc81539c0ee186e02fd10496639e939cf9ecb8ec949df327aa56152eb6a64ec" }, @@ -167734,7 +167734,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.policy_attainment", "source_line": 1147, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem policy_attainment (noise : ℝ≥0) (hNoise : 0 < noise) (policy : TwoStepPolicy) :\n policyRisk noise hNoise (optimalPolicy noise hNoise) ≤ policyRisk noise hNoise policy", "statement_sha256": "d1f6edf8230314074d9ec55773d41898a29a361d335d04f9ca7e3bbf5427d086" }, @@ -167806,7 +167806,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.policy_containment", "source_line": 1167, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem policy_containment (noise : ℝ≥0) (hNoise : 0 < noise) (first second : Bool) :\n policyRisk noise hNoise (optimalPolicy noise hNoise) ≤\n policyRisk noise hNoise (openLoopPolicy first second)", "statement_sha256": "fb255ab06c3d919a74db6ead7d1816172d441ef16a56fde6b9142e20f9c775de" }, @@ -167888,7 +167888,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.posterior_parameters", "source_line": 401, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem posterior_parameters (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n gain (observationFilter center duration noise hNoise) (prior center) =\n (1 / 2 : ℝ) / (1 / 2 + noise) ∧\n posteriorMean (observationFilter center duration noise hNoise) (prior center) observation =\n center + ((1 / 2 : ℝ) / (1 / 2 + noise)) * (observation - center) ∧\n (posteriorVariance (observationFilter center duration noise hNoise) (prior center) : ℝ) =\n ((1 / 2 : ℝ) * noise) / (1 / 2 + noise)", "statement_sha256": "086cf89320e9e7b4176e46fcf121edf4b3319e4e5da494993526872dc21b353a" }, @@ -167966,7 +167966,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.prediction_stationary", "source_line": 378, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem prediction_stationary (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise) :\n predictionBelief (observationFilter center duration noise hNoise) (prior center) =\n prior center", "statement_sha256": "a0f4410f3896a045c84f7792437678a1cfe54f1d1917489170a77666f114192b" }, @@ -168053,7 +168053,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.preference_counterexample", "source_line": 2443, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem preference_counterexample (noise : ℝ≥0) (hNoise : 0 < noise) :\n quadraticActionRisk controlModel (preferenceCounterBelief noise hNoise) false <\n quadraticActionRisk controlModel (preferenceCounterBelief noise hNoise) true ∧\n expectedFreeEnergy 1 (preferenceCounterBelief noise hNoise) true noise hNoise <\n expectedFreeEnergy 1 (preferenceCounterBelief noise hNoise) false noise hNoise", "statement_sha256": "65c2aa64c6153de15ab5e259dec01b592c4f0bf8cfb5d0fd316a8f7481a5e014" }, @@ -168120,7 +168120,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.restricted_class_counterexample", "source_line": 2544, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem restricted_class_counterexample (noise : ℝ≥0) (hNoise : 0 < noise) :\n policyRisk noise hNoise (openLoopPolicy true true) =\n (1 / 2 : ℝ) + (1 - controlDecay ^ 2) ^ 2 ∧\n policyRisk noise hNoise (openLoopPolicy false true) =\n (1 / 2 : ℝ) + (1 - controlDecay) ^ 4 ∧\n policyRisk noise hNoise (openLoopPolicy false true) <\n policyRisk noise hNoise (openLoopPolicy true true)", "statement_sha256": "f8795373df50864404af4db693e7bb878410c9b7a3de1879f2c7a045918869a9" }, @@ -168174,7 +168174,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.scalar_mean_identifiability", "source_line": 372, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem scalar_mean_identifiability (noise : ℝ≥0) (hNoise : 0 < noise) :\n Function.Injective (fun mean : ℝ => gaussianReal mean noise)", "statement_sha256": "47a12e49e7c2161496d2ebda49dc1d256892af8d3cf84c6bba688b2e7e7a7d26" }, @@ -168258,7 +168258,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.secondRisk_closedForm", "source_line": 1022, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem secondRisk_closedForm (first second : Bool) (noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n secondRisk first noise hNoise observation second =\n controlDecay ^ 2 * (controlPosteriorVariance noise : ℝ) +\n (1 - controlDecay ^ 2) / 2 +\n (controlDecay * controlPosteriorMean first noise observation +\n (1 - controlDecay) * actionCenter second) ^ 2", "statement_sha256": "04dab56ad0bcf9a1eb6201ad1ecc68db1ae10c8f7a24619c6e4a56a06f5b12da" }, @@ -168312,7 +168312,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.sensory_clamped_conditional_covariance", "source_line": 2044, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem sensory_clamped_conditional_covariance (center : StandardizedState) (datum : ℝ) :\n cov[Prod.fst, Prod.snd; sensoryClampedConditionalKernel center (datum, 0)] = 1 / 56", "statement_sha256": "fd8f2fa16dd4e0a21a04181580a96da9389164bd8f453df53c54c8c90abb4014" }, @@ -168366,7 +168366,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.sensory_clamped_conditional_variances", "source_line": 2050, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem sensory_clamped_conditional_variances (center : StandardizedState) (datum : ℝ) :\n Var[Prod.fst; sensoryClampedConditionalKernel center (datum, 0)] = 15 / 56 ∧\n Var[Prod.snd; sensoryClampedConditionalKernel center (datum, 0)] = 15 / 56", "statement_sha256": "6389177ff7f66e4f7a04161030077ace94a8669c2b9ea60d0971cb299ef844a1" }, @@ -168410,7 +168410,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.sensory_clamped_native_condDistrib", "source_line": 2035, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem sensory_clamped_native_condDistrib (center : StandardizedState) :\n condDistrib sensoryEndpoints sensoryClampedBlanket (sensoryClampedLaw center)\n =ᵐ[(sensoryClampedLaw center).map sensoryClampedBlanket]\n sensoryClampedConditionalKernel center", "statement_sha256": "1b63d5e9933532df67a0f156efd182d3c1d8220b160b05a4e4dbf4b5cc7bf934" }, @@ -168443,7 +168443,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.singular_grid_infinite_kl", "source_line": 4183, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem singular_grid_infinite_kl :\n klDiv (studyProjectedLaw repeatedStudyGrid) (studyReverseLaw repeatedStudyGrid) = ∞", "statement_sha256": "032dc4768d49f2f32143e1553ed25e27859d32f148f242131a73af293fde8a2c" }, @@ -168502,7 +168502,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.terminalVariance_pos", "source_line": 2323, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem terminalVariance_pos (belief : ScalarGaussianBelief) : 0 < terminalVariance belief", "statement_sha256": "f34ba207ed6566646495c405dbba100caf9bfc2ebfded5beae4a7323dbd31820" }, @@ -168599,7 +168599,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.vfe_optimum", "source_line": 348, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem vfe_optimum (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise)\n (observation recognition : ℝ) :\n FEPComposed.SmoothReferenceKernel.evidenceSurprisal\n (observationFilter center duration noise hNoise) (prior center) observation ≤\n FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy\n (observationFilter center duration noise hNoise) (prior center) observation recognition ∧\n (FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy\n (observationFilter center duration noise hNoise) (prior center) observation recognition =\n FEPComposed.SmoothReferenceKernel.evidenceSurprisal\n (observationFilter center duration noise hNoise) (prior center) observation ↔\n recognition = posteriorMean\n (observationFilter center duration noise hNoise) (prior center) observation)", "statement_sha256": "9d6db69422c2c05c7278719b6e31f2b3740d476f5c9c3a5d8871dfa32eba724c" }, @@ -168728,7 +168728,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.continuousGaussianVFE_naturalGradient", "source_line": 436, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem continuousGaussianVFE_naturalGradient\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean tangent : ℝ)\n (hRecognition :\n recognitionMean ≠ posteriorMean model prior observation) :\n evidenceLaw model prior = volume.withDensity (evidenceDensity model prior) ∧\n 0 < evidenceDensity model prior observation ∧\n evidenceDensity model prior observation ≠ ⊤ ∧\n gaussianVariationalFreeEnergy model prior observation recognitionMean -\n evidenceSurprisal model prior observation =\n (klDiv\n ((posteriorFamily model prior).law recognitionMean)\n ((posteriorBelief model prior observation).law)).toReal ∧\n (gaussianVariationalFreeEnergy model prior observation recognitionMean =\n evidenceSurprisal model prior observation ↔\n recognitionMean = posteriorMean model prior observation) ∧\n meanNaturalGradient model prior observation recognitionMean =\n recognitionMean - posteriorMean model prior observation ∧\n meanMetricPairing (posteriorFamily model prior) recognitionMean\n (meanNaturalGradient model prior observation recognitionMean) tangent =\n ((recognitionMean - posteriorMean model prior observation) /\n (posteriorVariance model prior : ℝ)) * tangent ∧\n HasDerivAt\n (fun time =>\n gaussianVariationalFreeEnergy model prior observation\n (naturalGradientFlow model prior observation recognitionMean time))\n (-((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)))\n 0 ∧\n -((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)) < 0", "statement_sha256": "781814ab07906443154aa8a0a1e9df4e33ecaf6aa15224aab94bc12a514309f4" }, @@ -168788,7 +168788,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.evidenceDensity_ne_top", "source_line": 219, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem evidenceDensity_ne_top\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n evidenceDensity model prior observation ≠ ⊤", "statement_sha256": "29bfebd0abe1af2da0628931a1eaec6ad76a5d52e830a26e6e2226f462202f63" }, @@ -168855,7 +168855,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.evidenceLaw_eq_volume_withDensity", "source_line": 210, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem evidenceLaw_eq_volume_withDensity\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n evidenceLaw model prior = volume.withDensity (evidenceDensity model prior)", "statement_sha256": "3430bd27854d42c91ba250a02136d9f62a87059371ab94eb56ac0f2c50fcd80a" }, @@ -169031,7 +169031,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.fin4ReferenceKernel_terminal", "source_line": 771, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem fin4ReferenceKernel_terminal :\n Fintype.card Axis = 4 ∧\n K.PosDef ∧\n K * FEP.Fin4GaussianSemigroup.Sigma = 1 ∧\n FEP.Fin4GaussianSemigroup.Sigma * K = 1 ∧\n FEP.Fin4GaussianSemigroup.Sigma.PosDef ∧\n K Axis.external Axis.internal = 0 ∧\n FEP.Fin4GaussianSemigroup.Sigma Axis.external Axis.internal = 1 / 24 ∧\n FEP.Fin4GaussianSemigroup.Sigma Axis.external Axis.internal ≠ 0 ∧\n (∀ center : StandardizedState,\n stationaryLaw center =\n multivariateGaussian center FEP.Fin4GaussianSemigroup.Sigma) ∧\n (∀ center : StandardizedState,\n InvariantLaw (nativeSemigroup center) (stationaryLaw center)) ∧\n (∀ center state : StandardizedState,\n Tendsto (fun time : ℝ≥0 => transitionProbability center time state)\n atTop (𝓝 (stationaryProbability center))) ∧\n (∀ center : ℝ,\n (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2) ∧\n (∀ (center : ℝ) (time : ℝ≥0),\n projectedTransition center time =\n (scalarParameters center).ouTransition time) ∧\n (∀ center : StandardizedState,\n condDistrib endpointCoordinates blanketCoordinates (stationaryLaw center)\n =ᵐ[blanketLaw center] endpointConditionalKernel center) ∧\n (∀ center : StandardizedState,\n K Axis.external Axis.internal = 0 ∧\n cov[fun state : StandardizedState => state Axis.external,\n fun state => state Axis.internal; stationaryLaw center] = 1 / 24 ∧\n cov[fun state : StandardizedState => state Axis.external,\n fun state => state Axis.internal; stationaryLaw center] ≠ 0 ∧\n ((fun state : StandardizedState => state Axis.external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates;\n stationaryLaw center]\n (fun state => state Axis.internal))) ∧\n ¬ IndepFun perturbedExternal perturbedInternal perturbedEndpointLaw", "statement_sha256": "679f8dc4cd16d8b27cb908e665d5b095cfeceff26fe1aecd5daeec85309caed6" }, @@ -169109,7 +169109,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_eq_meanSquare_add_surprisal", "source_line": 226, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_eq_meanSquare_add_surprisal\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n gaussianVariationalFreeEnergy model prior observation recognitionMean =\n (recognitionMean - posteriorMean model prior observation) ^ 2 /\n (2 * (posteriorVariance model prior : ℝ)) +\n evidenceSurprisal model prior observation", "statement_sha256": "9abcee6e05ba5bb078cc4cfdaf3a760f3bfab3902ebc7a09ebb45009ec2bb392" }, @@ -169185,7 +169185,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_eq_surprisal_iff", "source_line": 266, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_eq_surprisal_iff\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n gaussianVariationalFreeEnergy model prior observation recognitionMean =\n evidenceSurprisal model prior observation ↔\n recognitionMean = posteriorMean model prior observation", "statement_sha256": "253812a9431142cfe3e6b972d8f916d96341c550d5028fc793ec152b6f4e0dbd" }, @@ -169261,7 +169261,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_hasDerivAt", "source_line": 287, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_hasDerivAt\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n HasDerivAt\n (gaussianVariationalFreeEnergy model prior observation)\n ((recognitionMean - posteriorMean model prior observation) /\n (posteriorVariance model prior : ℝ))\n recognitionMean", "statement_sha256": "02ec154eca4f0d96ba2c9237c201759689f78715c15a10b6490b35768075978e" }, @@ -169341,7 +169341,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_naturalGradientFlow_deriv_neg", "source_line": 422, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_naturalGradientFlow_deriv_neg\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ)\n (hRecognition :\n recognitionMean ≠ posteriorMean model prior observation) :\n -((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)) < 0", "statement_sha256": "5937b15ff4f41b6c98b07f97845b6bcbcd50a07e44fb106e8e394f903589bc62" }, @@ -169423,7 +169423,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_naturalGradientFlow_hasDerivAt", "source_line": 366, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_naturalGradientFlow_hasDerivAt\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n HasDerivAt\n (fun time =>\n gaussianVariationalFreeEnergy model prior observation\n (naturalGradientFlow model prior observation recognitionMean time))\n (-((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)))\n 0", "statement_sha256": "01b3f61a30746071f6f60caec758dfac5863c6a592ca024ccf194b8acd07e2b1" }, @@ -169484,7 +169484,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_sub_surprisal_eq_nativeKL", "source_line": 253, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_sub_surprisal_eq_nativeKL\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n gaussianVariationalFreeEnergy model prior observation recognitionMean -\n evidenceSurprisal model prior observation =\n (klDiv\n ((posteriorFamily model prior).law recognitionMean)\n ((posteriorBelief model prior observation).law)).toReal", "statement_sha256": "d4fcd6d290625d76bf1df68473021403972bb171447853aac6973ddaeda5a99f" }, @@ -169562,7 +169562,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.meanNaturalGradient_eq_displacement", "source_line": 324, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem meanNaturalGradient_eq_displacement\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n meanNaturalGradient model prior observation recognitionMean =\n recognitionMean - posteriorMean model prior observation", "statement_sha256": "91dac9db5e45c4aaf520c7aeb7bbb9a029699f5356fe1075c5ff34636b0b2fd5" }, @@ -169639,7 +169639,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.meanNaturalGradient_metric_dual", "source_line": 340, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem meanNaturalGradient_metric_dual\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean tangent : ℝ) :\n meanMetricPairing (posteriorFamily model prior) recognitionMean\n (meanNaturalGradient model prior observation recognitionMean) tangent =\n ((recognitionMean - posteriorMean model prior observation) /\n (posteriorVariance model prior : ℝ)) * tangent", "statement_sha256": "c71682ca2a968e7f691a85ca0df9c98d1f6048707511312829dfe7899ddf5408" }, @@ -169700,7 +169700,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.naturalGradientFlow_zero", "source_line": 357, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem naturalGradientFlow_zero\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n naturalGradientFlow model prior observation recognitionMean 0 =\n recognitionMean", "statement_sha256": "3e5c2a2eb47de9053fe9d0b143b24ca01dc76427d4534b9eacd38e2883587a93" }, @@ -169744,7 +169744,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_actionTransition_eq_selectedTransition", "source_line": 594, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_actionTransition_eq_selectedTransition :\n actionTransition selectedControl\n (selectedAction selectedControl selectedFilter selectedPrior 0) =\n selectedDynamics.ouTransition 1", "statement_sha256": "f1bd393d5818babbb6f27ab170d966677b4c908ecb6296b5da14bcd8ec9d6a2f" }, @@ -169780,7 +169780,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_actionTransitions_ne", "source_line": 602, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_actionTransitions_ne :\n actionTransition selectedControl false ≠\n actionTransition selectedControl true", "statement_sha256": "723eaf3994e6507f9213072ada66cf68679156a9ce86e478ade05504af9d60c8" }, @@ -169809,7 +169809,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_false_dynamics", "source_line": 487, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_false_dynamics :\n selectedControl.dynamics false = selectedDynamics", "statement_sha256": "c9031c23638a1210841337f61a76fd94521750d350af3458e19a93eccfd4f8bb" }, @@ -169859,7 +169859,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_false_risk", "source_line": 492, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_false_risk :\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 false =\n 1 - (1 / 2 : ℝ) * Real.exp (-1) ^ 2", "statement_sha256": "696a0ff8a7a9d27a950bb35233c6719be1b4ea6021cb984a24f489b74277e8fe" }, @@ -169901,7 +169901,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_false_strictlyBetter", "source_line": 574, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_false_strictlyBetter :\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 false <\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 true", "statement_sha256": "32320d6d50462db82aea0348e00fb42172100a1343741e041e3b20336a7eb473" }, @@ -169945,7 +169945,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_selectedAction", "source_line": 584, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_selectedAction :\n selectedAction selectedControl selectedFilter selectedPrior 0 = false", "statement_sha256": "119082fdc3a6ef6d2b12f39ba9c3f156d7a65d36d05bad4ae65914c9d6f9f6a0" }, @@ -169995,7 +169995,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_true_risk", "source_line": 533, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_true_risk :\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 true =\n 2 - (3 / 2 : ℝ) * Real.exp (-1) ^ 2", "statement_sha256": "981b5a0f73a427a5d40267e351d0ee9ef265b776c40be301ecb9b39b02699d7a" }, @@ -170024,7 +170024,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedDynamics_stationaryVariance", "source_line": 105, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedDynamics_stationaryVariance :\n selectedDynamics.stationaryVariance = 1", "statement_sha256": "45b1d182d3f62a00c8f8035f0eb0af4f34e3b65b59f3a4b0df08e983b10c5195" }, @@ -170064,7 +170064,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedObservationKernel_eq_learningObservationLaw", "source_line": 129, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedObservationKernel_eq_learningObservationLaw\n (hypothesis : MeanHypothesis) :\n observationKernel selectedFilter (selectedMean hypothesis) =\n selectedObservationLaw hypothesis", "statement_sha256": "bad48caaded0580803f5bc9453d7532f7f838db45b066ce58ae263731f36aac6" }, @@ -170100,7 +170100,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedPosterior_mean", "source_line": 156, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedPosterior_mean :\n posteriorMean selectedFilter selectedPrior 0 = 0", "statement_sha256": "4a1c3a16c2336f44733e993b90fd20c5271c7e8c80b5d2a23f1c409382ab20f7" }, @@ -170136,7 +170136,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedPosterior_variance", "source_line": 166, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedPosterior_variance :\n posteriorVariance selectedFilter selectedPrior = 1 / 2", "statement_sha256": "6b23e72bf5d9f17f5dfdf83bbfc920b1196b94a2f0fd57defb2b5886f03ad9b8" }, @@ -170165,7 +170165,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedPredictionBelief_eq_prior", "source_line": 138, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedPredictionBelief_eq_prior :\n predictionBelief selectedFilter selectedPrior = selectedPrior", "statement_sha256": "8edb4af67d5488419a02ff6e479fdb24e731350a34934797f1535c32a8e01e09" }, @@ -170201,7 +170201,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedStationaryLaw_eq_learningObservationFalse", "source_line": 112, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedStationaryLaw_eq_learningObservationFalse :\n selectedDynamics.stationaryLaw = selectedObservationLaw false", "statement_sha256": "f9f605169cde98f8372903e218057d829531f33a4aebd792b3e1ded4d0daa3c5" }, @@ -170241,7 +170241,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedTransition_eq_gaussianLocation", "source_line": 121, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedTransition_eq_gaussianLocation (state : ℝ) :\n selectedDynamics.ouTransition 1 state =\n (selectedDynamics.positiveTimeGaussian 1 (by norm_num)).law\n (selectedDynamics.transitionMean 1 state)", "statement_sha256": "29bb03c5a7e660ca1b38f47341dd0baaa4b34c85b8b9f037d5209d1a936cbc09" }, @@ -170281,7 +170281,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedUnitGrid_stepDuration", "source_line": 617, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedUnitGrid_stepDuration (n : ℕ) :\n selectedUnitGrid.time (n + 1) - selectedUnitGrid.time n = 1", "statement_sha256": "4916cf4f92f1cb25e24922134af88dc9ea699b1aaeb4861284d558739d33da96" }, @@ -170328,7 +170328,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedUnitGrid_stepKernel", "source_line": 624, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedUnitGrid_stepKernel (n : ℕ) :\n ouGridStep selectedDynamics selectedUnitGrid n =\n (selectedDynamics.ouTransition 1).comap\n (fun path => path ⟨n, Finset.mem_Iic.mpr le_rfl⟩) (by fun_prop)", "statement_sha256": "ef64b0380e92b52ea9b2c88dc2b04a38ecf78999f439c9b820fdf1cf2df0a6c6" }, @@ -170545,7 +170545,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.smoothReferenceKernel_terminal", "source_line": 639, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem smoothReferenceKernel_terminal\n (actual : Measure ℝ) [IsFiniteMeasure actual]\n (earlier increment : ℝ≥0) (n : ℕ)\n (recognitionMean tangent : ℝ) (hRecognition : recognitionMean ≠ 0)\n (observable : BoundedContinuousFunction MeanHypothesis ℝ) :\n (∀ hypothesis,\n observationKernel selectedFilter (selectedMean hypothesis) =\n selectedObservationLaw hypothesis) ∧\n (∀ hypothesis,\n observationKernel selectedFilter (selectedMean hypothesis) Set.univ = 1) ∧\n (∀ state,\n selectedDynamics.ouTransition 1 state =\n (selectedDynamics.positiveTimeGaussian 1 (by norm_num)).law\n (selectedDynamics.transitionMean 1 state)) ∧\n (∀ state, selectedDynamics.ouTransition 1 state Set.univ = 1) ∧\n selectedDynamics.stationaryLaw = selectedObservationLaw false ∧\n InvariantLaw selectedDynamics.ouNativeSemigroup\n selectedDynamics.stationaryLaw ∧\n predictionBelief selectedFilter selectedPrior = selectedPrior ∧\n closedFormPosteriorKernel selectedFilter selectedPrior =ᵐ[\n evidenceLaw selectedFilter selectedPrior]\n ProbabilityTheory.posterior (observationKernel selectedFilter)\n (predictionBelief selectedFilter selectedPrior).law ∧\n evidenceLaw selectedFilter selectedPrior =\n volume.withDensity (evidenceDensity selectedFilter selectedPrior) ∧\n 0 < evidenceDensity selectedFilter selectedPrior 0 ∧\n evidenceDensity selectedFilter selectedPrior 0 ≠ ⊤ ∧\n gaussianVariationalFreeEnergy selectedFilter selectedPrior 0 recognitionMean -\n evidenceSurprisal selectedFilter selectedPrior 0 =\n (klDiv\n ((posteriorFamily selectedFilter selectedPrior).law recognitionMean)\n ((posteriorBelief selectedFilter selectedPrior 0).law)).toReal ∧\n (gaussianVariationalFreeEnergy selectedFilter selectedPrior 0\n recognitionMean = evidenceSurprisal selectedFilter selectedPrior 0 ↔\n recognitionMean = posteriorMean selectedFilter selectedPrior 0) ∧\n meanNaturalGradient selectedFilter selectedPrior 0 recognitionMean =\n recognitionMean - posteriorMean selectedFilter selectedPrior 0 ∧\n meanMetricPairing (posteriorFamily selectedFilter selectedPrior)\n recognitionMean\n (meanNaturalGradient selectedFilter selectedPrior 0 recognitionMean)\n tangent =\n ((recognitionMean - posteriorMean selectedFilter selectedPrior 0) /\n (posteriorVariance selectedFilter selectedPrior : ℝ)) * tangent ∧\n HasDerivAt\n (fun time =>\n gaussianVariationalFreeEnergy selectedFilter selectedPrior 0\n (naturalGradientFlow selectedFilter selectedPrior 0\n recognitionMean time))\n (-((recognitionMean - posteriorMean selectedFilter selectedPrior 0) ^ 2 /\n (posteriorVariance selectedFilter selectedPrior : ℝ))) 0 ∧\n -((recognitionMean - posteriorMean selectedFilter selectedPrior 0) ^ 2 /\n (posteriorVariance selectedFilter selectedPrior : ℝ)) < 0 ∧\n (∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun k => posteriorProbability k sample) atTop\n (𝓝 (selectedParameterIndicator sample))) ∧\n (∀ᵐ sample ∂selectedJointLaw,\n Tendsto\n (fun k =>\n ∫ hypothesis, observable hypothesis\n ∂(parameterPosterior k sample : ProbabilityMeasure MeanHypothesis))\n atTop (𝓝 (observable sample.1))) ∧\n (∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun k => posteriorDecisionRisk k sample) atTop (𝓝 0)) ∧\n (∀ alternative : Bool,\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0\n (selectedAction selectedControl selectedFilter selectedPrior 0) ≤\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0\n alternative) ∧\n (fun observation =>\n selectedAction selectedControl selectedFilter selectedPrior observation)\n =ᵐ[evidenceLaw selectedFilter selectedPrior]\n (fun observation =>\n nativePosteriorSelectedAction selectedControl selectedFilter\n selectedPrior observation) ∧\n selectedAction selectedControl selectedFilter selectedPrior 0 = false ∧\n actionTransition selectedControl\n (selectedAction selectedControl selectedFilter selectedPrior 0) =\n selectedDynamics.ouTransition 1 ∧\n actionTransition selectedControl false ≠\n actionTransition selectedControl true ∧\n ouGridStep selectedDynamics selectedUnitGrid n =\n (selectedDynamics.ouTransition 1).comap\n (fun path => path ⟨n, Finset.mem_Iic.mpr le_rfl⟩) (by fun_prop) ∧\n forwardGridLaw selectedDynamics selectedUnitGrid n Set.univ = 1 ∧\n klDiv\n (selectedDynamics.ouTransition (earlier + increment) ∘ₘ actual)\n selectedDynamics.stationaryLaw ≤\n klDiv (selectedDynamics.ouTransition earlier ∘ₘ actual)\n selectedDynamics.stationaryLaw", "statement_sha256": "6df20f662a5fbc6ddee306e478628ee96999e37e66da89d0fba20293bf23a682" }, @@ -170659,7 +170659,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.activeInference_expectedFreeEnergy_to_fep021", "source_line": 56, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -170808,7 +170808,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep002_vfe_compProd_chain_rule", "source_line": 72, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -170916,7 +170916,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep003_pragmaticCost_efe_balance", "source_line": 218, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -170979,7 +170979,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep004_bernoulliMetric_specialization", "source_line": 259, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -171089,7 +171089,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep004_fep038_metric_nonneg", "source_line": 584, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep004_fep038_metric_nonneg {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1)\n (v : ℝ) : 0 ≤ fep_fep038.FEP038.fep038_fisherMetric p v v", "statement_sha256": "a4e4cb76e21bc8efac6b26a23f8b74282a61f974231e33afde3de5828eab2690" }, @@ -171197,7 +171197,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep007_normalizedMessage_is_fep028_softmax", "source_line": 386, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -171291,7 +171291,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep011_fep026_complexity_nonneg", "source_line": 595, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep011_fep026_complexity_nonneg {p : ℝ} (hp : 0 < p) (hp1 : p ≤ 1) :\n 0 ≤ fep_fep026.FEP026.fep026_priorComplexity p", "statement_sha256": "567d5d54d79aae7adb224abb3bca31c956dd5de2dc0900111be6590849be92dc" }, @@ -171421,7 +171421,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep012_softmax_entropyRegularizedCost_le", "source_line": 277, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -171538,7 +171538,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_finite_equilibrium_derivative", "source_line": 684, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_finite_equilibrium_derivative (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T", "statement_sha256": "af11a8cea7046caa2eb7e49fc88feba50cb57082a9ff66787f700fd797bb413f" }, @@ -171665,7 +171665,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_finite_helmholtz_decomposition", "source_line": 666, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_finite_helmholtz_decomposition (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) (q : FiniteLaw α) :\n fep_fep013.FEP013.fep013_helmholtz (expectation q E) T (entropy q) =\n helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T)", "statement_sha256": "0dddc3f7da883441b4b4d5b043ae84277564b58a1f3c5f649b28cdbc4e4393d8" }, @@ -171790,7 +171790,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_finite_helmholtz_unique_minimum", "source_line": 673, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_finite_helmholtz_unique_minimum (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n (∀ q : FiniteLaw α, helmholtzFreeEnergy E T ≤\n fep_fep013.FEP013.fep013_helmholtz (expectation q E) T (entropy q)) ∧\n (∀ q : FiniteLaw α,\n fep_fep013.FEP013.fep013_helmholtz (expectation q E) T (entropy q) =\n helmholtzFreeEnergy E T ↔ q = helmholtzGibbsLaw E T)", "statement_sha256": "bf9425eb544d54ddb270fe0b7f9adba5de3c0d77a430b841794701568dc0c91d" }, @@ -171885,7 +171885,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_gaussianHelmholtz_derivative", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -171971,7 +171971,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_two_level_uniform_strict", "source_line": 690, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_two_level_uniform_strict :\n helmholtzFreeEnergy helmholtzBoolEnergy 1 <\n fep_fep013.FEP013.fep013_helmholtz\n (expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy)\n 1 (entropy (FiniteLaw.uniform : FiniteLaw Bool))", "statement_sha256": "fdb255f78dacd7b78d878e1c878dd5ad4225d8b4d6a51b809717282eedecbf2f" }, @@ -172065,7 +172065,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep016_quadratic_pairs_fep032_descent", "source_line": 704, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep016_quadratic_pairs_fep032_descent\n (prec step center x : ℝ) (hp : 0 ≤ prec)\n (hstep0 : 0 ≤ step) (hstep2 : step ≤ 2) :\n 0 ≤ prec * (x - center) ^ 2 ∧\n (fep_fep032.FEP032.fep032_quadraticUpdate step center x - center) ^ 2 ≤\n (x - center) ^ 2", "statement_sha256": "dcbf8fd5ccec1b5c62c1390ec5a8f113ef5eb8e0976b60b169729b26d1b4dc6b" }, @@ -172146,7 +172146,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep018_coordinate_derivative_is_fep038", "source_line": 539, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep018_coordinate_derivative_is_fep038 {p : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n HasDerivAt fep_fep018.FEP018.fep018_fisherCoordinate\n (fep_fep038.FEP038.fep038_coordinateJacobian p) p", "statement_sha256": "9e619e4116c5405d06496af930df1a547d93250709a8becd86aa08ac34b274a3" }, @@ -172242,7 +172242,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep018_fep038_actual_metric_pullback", "source_line": 564, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep018_fep038_actual_metric_pullback {p v w : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n HasDerivAt fep_fep018.FEP018.fep018_fisherCoordinate\n (fep_fep038.FEP038.fep038_coordinateJacobian p) p ∧\n fep_fep038.FEP038.fep038_fisherMetric p v w =\n (fep_fep038.FEP038.fep038_coordinateJacobian p * v) *\n (fep_fep038.FEP038.fep038_coordinateJacobian p * w)", "statement_sha256": "397c48fcf1fa0c4f2db84551a22f44263eaff0675f115736e2951e6775542995" }, @@ -172349,7 +172349,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep021_informationGain_balance", "source_line": 205, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -172497,7 +172497,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep022_fep027_predictive_child_marginal", "source_line": 635, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep022_fep027_predictive_child_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": "456b82f6829d3cc9e14353a55cbf127786c8b47eacf185f681dcfe651a6edb99" }, @@ -172638,7 +172638,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep022_predictive_is_hierarchical_marginal", "source_line": 109, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -172736,7 +172736,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep024_regularizer_is_fep014_kl", "source_line": 231, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -172834,7 +172834,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep025_current_dissipation_nonneg", "source_line": 184, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -172895,7 +172895,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep026_priorComplexity_is_fep011_surprise", "source_line": 270, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173016,7 +173016,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep027_priorPredictive_is_fep019", "source_line": 100, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173086,7 +173086,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance", "source_line": 436, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173202,7 +173202,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_fep031_binary_maxEntropy", "source_line": 520, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_fep031_binary_maxEntropy (E : Fin 2 → ℝ) (β : ℝ)\n (q : FiniteLaw (Fin 2))\n (hq : expectation q E = expectation (energyGibbsLaw E β) E) :\n (Real.binEntropy (q 0) ≤ Real.log 2 ∧\n (Real.binEntropy (q 0) = Real.log 2 ↔ q 0 = (2 : ℝ)⁻¹)) ∧\n (∀ i, energyGibbsLaw E β i =\n fep_fep031.FEP031.fep031_gibbsProbability β 2 E Finset.univ i) ∧\n Real.binEntropy (q 0) ≤ Real.binEntropy (energyGibbsLaw E β 0) ∧\n (Real.binEntropy (q 0) = Real.binEntropy (energyGibbsLaw E β 0) ↔\n q = energyGibbsLaw E β)", "statement_sha256": "6c19d83daec8fe25733c405362626bb30660924d7b3c1cff08c5009e84737c0b" }, @@ -173326,7 +173326,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_fep031_finite_maxEntropy", "source_line": 492, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_fep031_finite_maxEntropy {n : ℕ} [NeZero n]\n (E : Fin n → ℝ) (β : ℝ) (q : FiniteLaw (Fin n))\n (hq : expectation q E = expectation (energyGibbsLaw E β) E) :\n (∀ i, energyGibbsLaw E β i =\n fep_fep031.FEP031.fep031_gibbsProbability β n E Finset.univ i) ∧\n entropy q ≤ entropy (energyGibbsLaw E β) ∧\n (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β)", "statement_sha256": "a6f98627c558431d5b14b7f8a226957d20eb8e76207830eb65a3e401124b983a" }, @@ -173387,7 +173387,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_fin2_entropy_eq_binEntropy", "source_line": 502, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_fin2_entropy_eq_binEntropy (q : FiniteLaw (Fin 2)) :\n entropy q = Real.binEntropy (q 0)", "statement_sha256": "51612a4a0095f08b91cf0d444096f811219d1e64ebd602643f358444d80b63c0" }, @@ -173467,7 +173467,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_finite_binary_entropy_bound", "source_line": 512, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_finite_binary_entropy_bound (q : FiniteLaw (Fin 2)) :\n entropy q ≤ Real.log 2 ∧\n (entropy q = Real.log 2 ↔ q 0 = (2 : ℝ)⁻¹)", "statement_sha256": "79ba79de68a70a1ac52299a7cf9fb7bbed0bac757bf5d6ada8de20d12cb21edc" }, @@ -173566,7 +173566,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_energyGibbs_is_topicProbability", "source_line": 484, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep031_energyGibbs_is_topicProbability {n : ℕ} [NeZero n]\n (E : Fin n → ℝ) (β : ℝ) (i : Fin n) :\n energyGibbsLaw E β i =\n fep_fep031.FEP031.fep031_gibbsProbability β n E Finset.univ i", "statement_sha256": "6f804fc9158ac1ef059cc40debd8011bcc276c4967304789916bd3c4c45e46c1" }, @@ -173640,7 +173640,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_maxEntropy", "source_line": 249, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173701,7 +173701,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_uniform", "source_line": 242, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173798,7 +173798,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep032_fep043_gradient_iteration_tendsto", "source_line": 601, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep032_fep043_gradient_iteration_tendsto\n (η a center x : ℝ) (h0 : 0 < 2*a*η) (h2 : 2*a*η < 2) :\n Filter.Tendsto\n (fun n : ℕ => ((fun y => y-η*fep_fep043.FEP043.fep043_quadraticGradient a center y)^[n]) x)\n Filter.atTop (nhds center)", "statement_sha256": "581c94a314bf9bced62799632ebbdab0d64c5a5de3c2cc49631b3584a36dca15" }, @@ -173862,7 +173862,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep032_update_is_fep043_gradientStep", "source_line": 315, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174023,7 +174023,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep034_fep017_filter_joint_reconstruction", "source_line": 652, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep034_fep017_filter_joint_reconstruction\n {Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]\n [StandardBorelSpace Ω] [Nonempty Ω]\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] :\n (κ ∘ₘ (τ ∘ₘ μ)) ⊗ₘ fep_fep034.FEP034.fep034_filter τ κ μ =\n ((τ ∘ₘ μ) ⊗ₘ κ).map Prod.swap", "statement_sha256": "d70be8c55da52e2d5a9d9f2ea2650d5d2038f689e296328acd043093b542d3b9" }, @@ -174171,7 +174171,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep034_filter_is_fep017_posterior", "source_line": 88, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174298,7 +174298,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_empiricalPosterior_closed", "source_line": 125, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174422,7 +174422,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_smoothedRate_strongLaw", "source_line": 33, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174500,7 +174500,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep037_autocorrelation_tracks_fep020", "source_line": 195, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174606,7 +174606,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep038_fisherRao_separation", "source_line": 158, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174690,7 +174690,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep039_fep005_partition_conservation_via_cover", "source_line": 614, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep039_fep005_partition_conservation_via_cover\n (assign : Fin 20 → fep_fep005.FEP005.BlkPart) (stateEnergy : Fin 20 → ℝ) :\n fep_fep039.FEP039.fep039_global_fe (fep005_blockEnergy assign stateEnergy) =\n ∑ state : Fin 20, stateEnergy state", "statement_sha256": "14ba71983211cac1dc2a49c4c54b66b39d30bb2ec93a52f103affd5847df7f1b" }, @@ -174761,7 +174761,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep039_partitionEnergy_conservation", "source_line": 332, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174864,7 +174864,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep041_informationGain_is_fep014_kl", "source_line": 170, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174934,7 +174934,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep046_single_break_is_fep045_bernoulli", "source_line": 347, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175080,7 +175080,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production", "source_line": 463, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175219,7 +175219,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep051_rn_reconstruction_refines_fep017", "source_line": 31, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep051_rn_reconstruction_refines_fep017\n {Parameter Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n (target reference : Measure Parameter)\n [target.HaveLebesgueDecomposition reference]\n (hAbsoluteContinuous : target ≪ reference)\n (likelihood : Kernel Parameter Observation)\n [IsFiniteMeasure target] [IsFiniteKernel likelihood] :\n reference.withDensity (target.rnDeriv reference) = target ∧\n (likelihood ∘ₘ target) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior likelihood target =\n (target ⊗ₘ likelihood).map Prod.swap", "statement_sha256": "6ed0796a02176afdee124eb05fe7734ed7ee9843f218188e29b272289af58275" }, @@ -175371,7 +175371,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep052_posterior_tilt_is_fep017_posterior", "source_line": 52, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep052_posterior_tilt_is_fep017_posterior\n {Parameter Observation : Type*}\n [Countable Parameter]\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Observation] [Nonempty Observation]\n [MeasurableSpace.CountableOrCountablyGenerated Parameter Observation]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n (∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n (likelihood parameter).rnDeriv\n (likelihood ∘ₘ prior) observation)) ∧\n (∀ᵐ observation ∂likelihood ∘ₘ prior,\n fep_fep017.FEP017.fep017_posterior likelihood prior observation =\n prior.withDensity (fun parameter =>\n (likelihood parameter).rnDeriv\n (likelihood ∘ₘ prior) observation))", "statement_sha256": "a449dfa748e6978bb27f48310440824c9093b1e4ffd0d3112ebf193d50477d59" }, @@ -175491,7 +175491,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep053_joint_reconstruction_extends_fep017", "source_line": 78, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep053_joint_reconstruction_extends_fep017\n {Parameter Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n ((likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap) ∧\n ((likelihood ∘ₘ prior) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior likelihood prior =\n (prior ⊗ₘ likelihood).map Prod.swap)", "statement_sha256": "024e95d60b0aba998b60dcb70e53826175677e6c97ab00c20d0f9a8ed1fe4cf2" }, @@ -175635,7 +175635,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep054_involution_of_fep017_posterior", "source_line": 98, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep054_involution_of_fep017_posterior\n {Parameter Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Observation] [Nonempty Observation]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation)\n [IsFiniteKernel likelihood] [IsMarkovKernel likelihood] :\n ((likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood) ∧\n (fep_fep017.FEP017.fep017_posterior likelihood prior ∘ₘ\n likelihood ∘ₘ prior = prior)", "statement_sha256": "1b99acf8cecc2feb0504a84ed3c624bd26030476acfc06f5425e9f03d594e987" }, @@ -175798,7 +175798,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep055_composite_inversion_uses_fep019", "source_line": 115, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep055_composite_inversion_uses_fep019\n {Parameter Intermediate Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Intermediate]\n [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Intermediate] [Nonempty Intermediate]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (earlier : Kernel Parameter Intermediate) [IsFiniteKernel earlier]\n (later : Kernel Intermediate Observation) [IsFiniteKernel later] :\n ((later ∘ₖ earlier)†prior =ᵐ[later ∘ₘ earlier ∘ₘ prior]\n earlier†prior ∘ₖ later†(earlier ∘ₘ prior)) ∧\n (later ∘ₘ\n fep_fep019.FEP019.fep019_priorPredictive earlier prior =\n fep_fep019.FEP019.fep019_priorPredictive\n (later ∘ₖ earlier) prior)", "statement_sha256": "94e5374ac33c84de6e6e9c4476c01bf6c8539b9b23cb76fe861a102488b28729" }, @@ -175970,7 +175970,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep056_disintegration_supplies_fep017", "source_line": 139, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep056_disintegration_supplies_fep017\n {Conditioning Conditioned Parameter Observation : Type*}\n [MeasurableSpace Conditioning] [MeasurableSpace Conditioned]\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n (joint.fst ⊗ₘ joint.condKernel = joint) ∧\n ((likelihood ∘ₘ prior) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior likelihood prior =\n (prior ⊗ₘ likelihood).map Prod.swap)", "statement_sha256": "84d5974967d080aa449cc73830ea363a1d04e548a08583da52f871f26dfce7c2" }, @@ -176125,7 +176125,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep057_tower_integrates_fep015", "source_line": 159, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep057_tower_integrates_fep015\n {Conditioning Conditioned : Type*}\n [MeasurableSpace Conditioning] [MeasurableSpace Conditioned]\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n {observable energy logApproximation logGenerative :\n Conditioning × Conditioned → ℝ}\n (hIntegrable : Integrable observable joint)\n (hEnergy : Measurable energy)\n (hApproximation : Measurable logApproximation)\n (hGenerative : Measurable logGenerative) :\n ((∫ conditioning,\n ∫ conditioned, observable (conditioning, conditioned)\n ∂joint.condKernel conditioning ∂joint.fst) =\n ∫ pair, observable pair ∂joint) ∧\n Measurable\n (fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative)", "statement_sha256": "70ed07c7801c0c472eeeb9db0bf889e7e3bbb18fed287c1147bc6f140f8cc636" }, @@ -176234,7 +176234,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep058_gibbs_gap_is_fep001_kl", "source_line": 185, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep058_gibbs_gap_is_fep001_kl\n {State Native : Type*} [Fintype State]\n [MeasurableSpace Native]\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State)\n (approximation posterior : Measure Native) (surprisal : ENNReal) :\n -certificate.logPartition ≤ gibbsFreeEnergy certificate candidate ∧\n surprisal ≤\n fep_fep001.FEP001.fep001_variationalUpperBound\n approximation posterior surprisal", "statement_sha256": "2757527af0ac400c46c7650ec45d0dc2de6dbe239beb48cab0384c3f0f389e05" }, @@ -176349,7 +176349,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep059_dv_equality_is_fep001_exactness", "source_line": 202, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep059_dv_equality_is_fep001_exactness\n {State Native : Type*} [Fintype State]\n [MeasurableSpace Native]\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State)\n (approximation posterior : Measure Native)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior] :\n (dvObjective certificate candidate = certificate.logPartition ↔\n candidate = certificate.optimizer) ∧\n (fep_fep001.FEP001.fep001_variationalGap approximation posterior = 0 ↔\n approximation = posterior)", "statement_sha256": "f5fa58f9a5ea26953090f5f353ee9bf525a2e06bd25190ebf926a3dfc73b8d29" }, @@ -176465,7 +176465,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep060_coordinate_elbo_refines_fep002", "source_line": 220, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep060_coordinate_elbo_refines_fep002\n {Latent Observation : Type*}\n [Fintype Latent] [Fintype Observation]\n (actualPrior referencePrior : FiniteLaw Latent)\n (actualKernel referenceKernel : FiniteKernel Latent Observation)\n (hPrior : ∀ latent, 0 < referencePrior latent)\n (hKernel : ∀ latent observation,\n 0 < referenceKernel latent observation) :\n (jointELBO actualPrior referencePrior actualKernel referenceKernel =\n -finiteKL actualPrior referencePrior -\n conditionalKL actualPrior actualKernel referenceKernel) ∧\n jointELBO actualPrior referencePrior actualKernel referenceKernel ≤\n -finiteKL actualPrior referencePrior", "statement_sha256": "68145bbfa8f92eebff757cdec1034528c9cc3f78b67670eb183cb29cfa494a37" }, @@ -176610,7 +176610,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep061_meanField_gap_is_fep014_kl", "source_line": 249, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep061_meanField_gap_is_fep014_kl\n {Fixed Coordinate Native : Type*}\n [Fintype Fixed] [Fintype Coordinate] [MeasurableSpace Native]\n (fixed : FiniteLaw Fixed) (candidate target : FiniteLaw Coordinate)\n (hFixed : ∀ value, 0 < fixed value)\n (hTarget : ∀ value, 0 < target value)\n (approximation posterior : Measure Native)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior] :\n (meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔\n candidate = target) ∧\n (InformationTheory.klDiv approximation posterior = 0 ↔\n approximation = posterior)", "statement_sha256": "a23be3af7911ffc206fadb33a1dce7dfeb97108a46d5711ab2fc00df4074b804" }, @@ -176772,7 +176772,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep062_iwae_jensen_uses_fep035", "source_line": 269, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep062_iwae_jensen_uses_fep035\n {Sample : Type*} [Fintype Sample]\n (sampling : FiniteLaw Sample) (weight : Sample → ℝ)\n (hWeight : ∀ sample, 0 < weight sample)\n {x y a b : ℝ} (hx : 0 < x) (hy : 0 < y) (hxy : x ≠ y)\n (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) :\n (∑ sample, sampling sample * Real.log (weight sample) ≤\n Real.log (∑ sample, sampling sample * weight sample)) ∧\n (a * Real.log x + b * Real.log y <\n Real.log (a * x + b * y))", "statement_sha256": "e679a9f9a415f3c0a7e8bd4641560916a91ccd3cd604a9e7279ffa49ca5996cb" }, @@ -176919,7 +176919,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep063_channel_dpi_bounds_fep014", "source_line": 288, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep063_channel_dpi_bounds_fep014\n {Input Output Native : Type*}\n [Fintype Input] [Fintype Output] [Nonempty Input]\n [MeasurableSpace Native]\n (actual reference : FiniteLaw Input)\n (channel : FiniteKernel Input Output)\n (hActual : ∀ input, 0 < actual input)\n (hReference : ∀ input, 0 < reference input)\n (hChannel : ∀ input output, 0 < channel input output)\n (nativeActual nativeReference : Measure Native) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference ∧\n 0 ≤ InformationTheory.klDiv nativeActual nativeReference", "statement_sha256": "8e398e34ec755a9eb10a3eac95a52e2103f83f7ad221f3b5611fa942c013ba8b" }, @@ -177069,7 +177069,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep064_rateDistortion_uses_fep041_mutualInformation", "source_line": 308, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep064_rateDistortion_uses_fep041_mutualInformation\n {Source Code Native : Type*}\n [Fintype Source] [Fintype Code] [MeasurableSpace Native]\n (joint : FiniteLaw (Source × Code))\n (distortion : Source → Code → ℝ)\n (multiplier rateLower distortionLower : ℝ)\n (hMultiplier : 0 ≤ multiplier)\n (hRate : rateLower ≤ mutualInformation joint)\n (hDistortion : distortionLower ≤ expectedDistortion joint distortion)\n (posterior prior : Measure Native) :\n rateLower + multiplier * distortionLower ≤\n rateDistortionLagrangian joint distortion multiplier ∧\n 0 ≤ fep_fep041.FEP041.fep041_informationGain posterior prior", "statement_sha256": "fd3d8ef31586fe013e551aaa21873c792f61718da4261aeb80c6cf149c0c4843" }, @@ -177226,7 +177226,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep065_controlledKernel_extends_fep023_normalization", "source_line": 29, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep065_controlledKernel_extends_fep023_normalization\n {State Action Policy Outcome : Type*}\n [Fintype State] [Fintype Action] [MeasurableSpace Outcome]\n (transition : ControlledKernel State Action)\n (action : Action) (state : State)\n (policies : Set Policy) (law : Policy → Measure Outcome)\n (hLaw : ∀ policy ∈ policies, law policy Set.univ = 1)\n {reachable : Measure Outcome}\n (hReachable : reachable ∈\n fep_fep023.FEP023.fep023_reachableLaws policies law) :\n (∑ nextState, transition action state nextState = 1) ∧\n reachable Set.univ = 1", "statement_sha256": "bc6d2a23c8f63800cd6f6bc3d3a96d9177b3f079153cec5fd760668122827cb2" }, @@ -177460,7 +177460,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep066_action_update_refines_fep034_filter", "source_line": 49, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep066_action_update_refines_fep034_filter\n {State Action Observation NativeState NativeObservation : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (prior : FiniteLaw State) (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 (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission] :\n (actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state *\n emission state observation) ∧\n ((nativeEmission ∘ₘ\n fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior) ⊗ₘ\n fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior =\n (fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior ⊗ₘ nativeEmission).map Prod.swap)", "statement_sha256": "08c3fc219f2e659936911bd1af5ae52f2c8fada8926d06aa635e4d41c1a36b88" }, @@ -177653,7 +177653,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep067_reachableBelief_refines_fep023", "source_line": 82, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep067_reachableBelief_refines_fep023\n {Belief State Action Observation Policy Outcome : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation]\n [DecidableEq Belief] [MeasurableSpace Outcome]\n (model : ReachableBeliefPOMDP Belief State Action Observation)\n (stateCost : State → Action → ℝ) (policy : ℕ → Belief → Action)\n (horizon : ℕ) (belief : Belief)\n (policies : Set Policy) (law : Policy → Measure Outcome)\n {available : Policy} (hAvailable : available ∈ policies) :\n reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief ∧\n law available ∈\n fep_fep023.FEP023.fep023_reachableLaws policies law", "statement_sha256": "edb6bc853d4ddc89b72e8ecaf7aad78da7a990e3c89725641c27c8bc0498b373" }, @@ -177849,7 +177849,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep068_softBellman_extends_fep033", "source_line": 104, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep068_softBellman_extends_fep033\n {State Action OldState : Type*}\n [Fintype State] [Fintype Action] [Nonempty Action]\n (temperature : ℝ) (hTemperature : 0 < temperature)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State)\n (discount : ENNReal) (oldStageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldHorizon : ℕ) (oldState : OldState) :\n ((0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))) ∧\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)))) ∧\n ∀ action,\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action) ∧\n (fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost (oldHorizon + 1) oldState =\n oldStageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost oldHorizon (step oldState))", "statement_sha256": "814a9c864bba50e41efecbe343a15edf1b501c891babc929f28967487d29b748" }, @@ -177938,7 +177938,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep069_desirability_combines_fep031_weights", "source_line": 139, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep069_desirability_combines_fep031_weights\n {State : Type*} [Fintype State]\n (passive : FiniteKernel State State)\n (stateCost desirability : State → ℝ) (state : State) :\n desirabilityStep passive stateCost desirability state =\n Real.exp (-stateCost state) *\n ∑ nextState, passive state nextState * desirability nextState ∧\n 0 < Real.exp (-(1 : ℝ) * stateCost state)", "statement_sha256": "aa212c0474c66f1d642ca1e26d370ab19287c5dd3d8c1ceaa4fdfe20b4fe189e" }, @@ -178066,7 +178066,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep070_controlPosterior_refines_fep028_softmax", "source_line": 154, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep070_controlPosterior_refines_fep028_softmax\n {Action : Type*} [Fintype Action]\n (prior : FiniteLaw Action) (precision : ℝ) (cost : Action → ℝ)\n (gamma : ℝ) (oldCost : Fin 10 → ℝ)\n (policies : Finset (Fin 10)) (hPolicies : policies.Nonempty) :\n (∑ action, controlPosterior prior precision cost action = 1) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma oldCost policies policy = 1)", "statement_sha256": "3eab5b0e00172f284346afeae14aada6b712435ade13dffa4b1537c64400e9a2" }, @@ -178241,7 +178241,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep071_sophisticatedEFE_extends_fep033", "source_line": 171, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep071_sophisticatedEFE_extends_fep033\n {Belief Action Observation OldState : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief)\n (discount : ENNReal) (stageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldHorizon : ℕ) (oldState : OldState) :\n (sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief\n (sophisticatedEFEAction model horizon belief) observation *\n sophisticatedEFEValue model horizon\n (model.update belief\n (sophisticatedEFEAction model horizon belief) observation)) ∧\n (fep_fep033.FEP033.fep033_value\n discount stageCost step terminalCost (oldHorizon + 1) oldState =\n stageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount stageCost step terminalCost oldHorizon (step oldState))", "statement_sha256": "deb2fba464032e77ed4dbb5f2f54fd42ec47b5b4017f677d560d939d7b652d55" }, @@ -178456,7 +178456,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep072_forward_filter_refines_fep034", "source_line": 200, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep072_forward_filter_refines_fep034\n {State Observation NativeState NativeObservation : Type*}\n [Fintype State] [Fintype Observation]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (prior : FiniteLaw State) (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation)\n (state : State)\n (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission] :\n (forwardFilter prior transition emission observation hEvidence state *\n forwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation) ∧\n ((nativeEmission ∘ₘ\n fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior) ⊗ₘ\n fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior =\n (fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior ⊗ₘ nativeEmission).map Prod.swap)", "statement_sha256": "da13fb3f92cae34707a9d3e668dc00b85db0ec4a33ba2946cb54496cc835c27e" }, @@ -178594,7 +178594,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep073_backward_message_composes_fep047", "source_line": 231, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep073_backward_message_composes_fep047\n {State Observation : Type*} [Fintype State] [Fintype Observation]\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (future : List Observation) (state : State)\n (outer inner : fep_fep047.FEP047.Factor)\n (incoming : fep_fep047.FEP047.State → ℝ) :\n (backwardMessage transition emission (observation :: future) state =\n backwardMessageStep transition emission observation\n (backwardMessage transition emission future) state) ∧\n (fep_fep047.FEP047.fep047_forward outer\n (fep_fep047.FEP047.fep047_forward inner incoming) =\n fep_fep047.FEP047.fep047_forward (outer * inner) incoming)", "statement_sha256": "21d1c0f905a3a5a523d6ef3879776212a01416065492a143bcb6c8a2d018a838" }, @@ -178711,7 +178711,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep074_backwardEvidence_supplies_fep072_filter", "source_line": 373, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep074_backwardEvidence_supplies_fep072_filter\n {State Observation : Type*} [Fintype State] [Fintype Observation]\n (prior : FiniteLaw State) (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hBackward : 0 < backwardEvidence prior transition emission observation) :\n ∃ hForward : 0 < forwardEvidence prior transition emission observation,\n ∀ state, forwardFilter prior transition emission observation hForward state *\n backwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation", "statement_sha256": "22349d7d5e842543dd94f33d32dee366525fb4d3123aea846d3c27fc38a03c32" }, @@ -178907,7 +178907,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep074_smoothing_reconstructs_fep034_filter", "source_line": 251, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep074_smoothing_reconstructs_fep034_filter\n {State NativeState NativeObservation : Type*}\n [Fintype State]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) (state : State)\n (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission] :\n (forwardBackwardSmoothing filtered backward hBackward hNormalizer state *\n smoothingNormalizer filtered backward =\n filtered state * backward state) ∧\n ((nativeEmission ∘ₘ\n fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior) ⊗ₘ\n fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior =\n (fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior ⊗ₘ nativeEmission).map Prod.swap)", "statement_sha256": "42a131a4ee65660e9ecd1919a9822995444c383e02cea9b96f27b8196ed224e7" }, @@ -179103,7 +179103,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep075_smoothing_normalization_extends_fep034", "source_line": 281, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep075_smoothing_normalization_extends_fep034\n {State NativeState NativeObservation : Type*}\n [Fintype State]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward)\n (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission]\n (nativeObservation : NativeObservation) :\n (∑ state,\n forwardBackwardSmoothing filtered backward hBackward hNormalizer state =\n 1) ∧\n (fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior nativeObservation Set.univ = 1)", "statement_sha256": "bd0ceee26b4b2aeb24b2698410bf91a4a2d3f469bc3b8741d2b12f4e2b360283" }, @@ -179221,7 +179221,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep076_variational_update_refines_fep028_softmax", "source_line": 307, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep076_variational_update_refines_fep028_softmax\n {State : Type*} [Fintype State]\n (prior : FiniteLaw State) (energy : State → ℝ)\n (gamma : ℝ) (oldCost : Fin 10 → ℝ)\n (policies : Finset (Fin 10)) (hPolicies : policies.Nonempty) :\n (∑ state, variationalStateUpdate prior energy state = 1) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma oldCost policies policy = 1)", "statement_sha256": "5363b81ef2e63fde550b1774b5c214bd681ba18c32a28af9a69005c9b6f351b4" }, @@ -179384,7 +179384,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep077_hierarchical_predictive_extends_fep027", "source_line": 323, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep077_hierarchical_predictive_extends_fep027\n {Upper Middle Observation NativeUpper NativeMiddle NativeObservation : Type*}\n [Fintype Upper] [Fintype Middle] [Fintype Observation]\n [MeasurableSpace NativeUpper] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeObservation]\n (top : FiniteLaw Upper) (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation)\n (nativeTop : Measure NativeUpper)\n (nativeUpperKernel : Kernel NativeUpper NativeMiddle)\n (nativeLowerKernel : Kernel (NativeUpper × NativeMiddle) NativeObservation) :\n (hierarchicalPredictive top upperKernel lowerKernel =\n (FiniteKernel.comp lowerKernel upperKernel).predictive top) ∧\n ((fep_fep027.FEP027.fep027_hierarchicalJoint\n nativeTop nativeUpperKernel ⊗ₘ nativeLowerKernel).map\n MeasurableEquiv.prodAssoc =\n fep_fep027.FEP027.fep027_hierarchicalJoint\n nativeTop (nativeUpperKernel ⊗ₖ nativeLowerKernel))", "statement_sha256": "44db5201eeac97ad0270d8619d1578f94849b9716fd947dfff30a843bb59a1ea" }, @@ -179538,7 +179538,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep078_model_average_composes_fep019", "source_line": 348, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep078_model_average_composes_fep019\n {Model Observation NativeState NativeMiddle NativeObservation : Type*}\n [Fintype Model] [Fintype Observation]\n [MeasurableSpace NativeState] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeObservation]\n (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation)\n (observation : Observation)\n (nativePrior : Measure NativeState)\n (earlier : Kernel NativeState NativeMiddle)\n (later : Kernel NativeMiddle NativeObservation) :\n (modelAverage modelPrior modelPredictive observation =\n ∑ model, modelPrior model * modelPredictive model observation) ∧\n (later ∘ₘ fep_fep019.FEP019.fep019_priorPredictive\n earlier nativePrior =\n fep_fep019.FEP019.fep019_priorPredictive\n (later ∘ₖ earlier) nativePrior)", "statement_sha256": "4447605f5cc6ec887ff1fde8f8ccf721ea15b44928e10fabd1cdc126019ab994" }, @@ -179692,7 +179692,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep079_blanket_cmi_refines_fep009", "source_line": 30, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep079_blanket_cmi_refines_fep009\n {Blanket Internal External NativeLeft NativeRight : Type*}\n [Fintype Blanket] [Fintype Internal] [Fintype External]\n [MeasurableSpace NativeLeft] [MeasurableSpace NativeRight]\n (model : ConditionalBlanketModel Blanket Internal External)\n (hBlanket : ∀ blanket, 0 < model.blanketLaw blanket)\n (left : Measure NativeLeft) (right : Measure NativeRight)\n (leftEvent : Set NativeLeft) (rightEvent : Set NativeRight) :\n (conditionalMutualInformation model = 0 ↔ Factorizes model) ∧\n 0 ≤ left leftEvent * right rightEvent", "statement_sha256": "83ef7970a5379480d940f2edd00f6b2d36c6c105930eab82f3dee50ebd9b1edb" }, @@ -179867,7 +179867,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep080_shared_mixture_preserves_fep019_prediction", "source_line": 48, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep080_shared_mixture_preserves_fep019_prediction\n {Input Output NativeInput NativeMiddle NativeOutput : Type*}\n [Fintype Input] [Fintype Output]\n [MeasurableSpace NativeInput] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeOutput]\n (weight : ℝ) (hWeightNonnegative : 0 ≤ weight)\n (hWeightAtMostOne : weight ≤ 1)\n (left right : FiniteLaw Input) (kernel : FiniteKernel Input Output)\n (prior : Measure NativeInput)\n (earlier : Kernel NativeInput NativeMiddle)\n (later : Kernel NativeMiddle NativeOutput) :\n (kernel.joint\n (mixLaw weight hWeightNonnegative hWeightAtMostOne left right) =\n mixLaw weight hWeightNonnegative hWeightAtMostOne\n (kernel.joint left) (kernel.joint right)) ∧\n (later ∘ₘ fep_fep019.FEP019.fep019_priorPredictive earlier prior =\n fep_fep019.FEP019.fep019_priorPredictive\n (later ∘ₖ earlier) prior)", "statement_sha256": "57091c91e832ad702824eca2067ce04de2991129f7755da89896fe413aea44a5" }, @@ -180086,7 +180086,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep081_coupled_blanket_composes_fep009", "source_line": 73, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep081_coupled_blanket_composes_fep009\n {BlanketOne BlanketTwo InternalOne InternalTwo ExternalOne ExternalTwo : Type*}\n [Fintype BlanketOne] [Fintype BlanketTwo]\n [Fintype InternalOne] [Fintype InternalTwo]\n [Fintype ExternalOne] [Fintype ExternalTwo]\n [MeasurableSpace InternalOne] [MeasurableSpace ExternalOne]\n (blanketLaw : FiniteLaw (BlanketOne × BlanketTwo))\n (internalOne : FiniteKernel BlanketOne InternalOne)\n (internalTwo : FiniteKernel BlanketTwo InternalTwo)\n (externalOne : FiniteKernel BlanketOne ExternalOne)\n (externalTwo : FiniteKernel BlanketTwo ExternalTwo)\n (blanket : BlanketOne × BlanketTwo)\n (left : Measure InternalOne) (right : Measure ExternalOne)\n (leftEvent : Set InternalOne) (rightEvent : Set ExternalOne) :\n mutualInformation\n (conditionalJoint\n (coupledBlanketModel blanketLaw internalOne internalTwo\n externalOne externalTwo) blanket) = 0 ∧\n 0 ≤ left leftEvent * right rightEvent", "statement_sha256": "f535c97fb1e4e840f893043937b26533ff449cd95d04be32a0e9f6d5c35a8871" }, @@ -180241,7 +180241,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep082_intervention_normalization_extends_fep023", "source_line": 100, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep082_intervention_normalization_extends_fep023\n {Context Value Policy Outcome : Type*}\n [Fintype Context] [Fintype Value] [DecidableEq Value]\n [MeasurableSpace Outcome]\n (chosen : Value) (context : Context)\n (policies : Set Policy) (law : Policy → Measure Outcome)\n (hLaw : ∀ policy ∈ policies, law policy Set.univ = 1)\n {reachable : Measure Outcome}\n (hReachable : reachable ∈\n fep_fep023.FEP023.fep023_reachableLaws policies law) :\n (∑ value, interventionKernel (Context := Context) chosen context value = 1) ∧\n reachable Set.univ = 1", "statement_sha256": "ebdd0893742de8afb54f4e8df7cb2213f0a5697f5d4e511066f5b17aaf3f142a" }, @@ -180394,7 +180394,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep083_intervention_invariance_refines_fep009", "source_line": 119, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep083_intervention_invariance_refines_fep009\n {Root NonDescendant Mediator Outcome Native : Type*}\n [Fintype Root] [Fintype NonDescendant]\n [Fintype Mediator] [Fintype Outcome] [DecidableEq Root]\n [MeasurableSpace Native]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nativeLaw : Measure Native)\n {smaller larger : Set Native} (hSubset : smaller ⊆ larger) :\n nonDescendantMarginal (interventionalJoint model root) =\n model.nonDescendantLaw ∧\n nativeLaw smaller ≤ nativeLaw larger", "statement_sha256": "ae1ded6b344b80b86d6d11dfe7c26135841a7b09321ecb8573fdbc17733aa17d" }, @@ -180586,7 +180586,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep084_ordered_factorization_extends_fep027", "source_line": 136, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep084_ordered_factorization_extends_fep027\n {Root NonDescendant Mediator Outcome NativeRoot NativeMiddle NativeOutcome :\n Type*}\n [Fintype Root] [Fintype NonDescendant]\n [Fintype Mediator] [Fintype Outcome]\n [MeasurableSpace NativeRoot] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeOutcome]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nonDescendant : NonDescendant)\n (mediator : Mediator) (outcome : Outcome)\n (nativePrior : Measure NativeRoot)\n (nativeFirst : Kernel NativeRoot NativeMiddle)\n (nativeSecond : Kernel (NativeRoot × NativeMiddle) NativeOutcome) :\n (orderedJoint model (((root, nonDescendant), mediator), outcome) =\n ((model.rootLaw root * model.nonDescendantLaw nonDescendant) *\n model.mediatorGivenRoot root mediator) *\n model.outcomeGivenParents (nonDescendant, mediator) outcome) ∧\n ((fep_fep027.FEP027.fep027_hierarchicalJoint\n nativePrior nativeFirst ⊗ₘ nativeSecond).map\n MeasurableEquiv.prodAssoc =\n fep_fep027.FEP027.fep027_hierarchicalJoint\n nativePrior (nativeFirst ⊗ₖ nativeSecond))", "statement_sha256": "67094b8632fa8a11fa40aef46ac19d0483cdc8221547c714fb4d2a00da7f6f54" }, @@ -180769,7 +180769,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep085_local_markov_refines_fep009", "source_line": 167, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep085_local_markov_refines_fep009\n {Root NonDescendant Mediator Outcome Native : Type*}\n [Fintype Root] [Fintype NonDescendant]\n [Fintype Mediator] [Fintype Outcome]\n [mNative : MeasurableSpace Native] [StandardBorelSpace Native]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator)\n (conditioning observed : MeasurableSpace Native)\n (hConditioning : conditioning ≤ mNative)\n (nativeLaw : @Measure Native mNative) [IsFiniteMeasure nativeLaw] :\n mutualInformation\n (localMarkovConditional model nonDescendant mediator hEvidence) = 0 ∧\n CondIndep conditioning observed ⊥ hConditioning nativeLaw", "statement_sha256": "70d4e997b8470ffc1cfe6edca6b3cf67ffdcaead0ec4b5c480b5af557c8f30da" }, @@ -180840,7 +180840,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep086_precision_energy_refines_fep016", "source_line": 189, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep086_precision_energy_refines_fep016\n {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate ∧\n 0 ≤ (precision / 2) * (observation - estimate) ^ 2", "statement_sha256": "466c10c660015903c233538ed563e1c7b8744df8b60261f22f8fd56dc2be6479" }, @@ -180912,7 +180912,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep087_hierarchical_energy_extends_fep039", "source_line": 203, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep087_hierarchical_energy_extends_fep039\n {depth : ℕ} (precision error : Fin (depth + 1) → ℝ)\n (left right : Fin 4 → ℝ) :\n (hierarchicalEnergy precision error =\n precision 0 / 2 * error 0 ^ 2 +\n ∑ level : Fin depth,\n precision level.succ / 2 * error level.succ ^ 2) ∧\n (fep_fep039.FEP039.fep039_global_fe\n (fun index => left index + right index) =\n fep_fep039.FEP039.fep039_global_fe left +\n fep_fep039.FEP039.fep039_global_fe right)", "statement_sha256": "659468f9edb8efe7b5a42834ca697a3f164a13ffc67033b343e2e0b7e2622201" }, @@ -180964,7 +180964,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep088_prediction_gradient_extends_fep043", "source_line": 221, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep088_prediction_gradient_extends_fep043\n (precision observation estimate : ℝ) :\n HasDerivAt\n (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate ∧\n HasDerivAt\n (fep_fep043.FEP043.fep043_quadraticFreeEnergy\n (precision / 2) observation 0)\n (fep_fep043.FEP043.fep043_quadraticGradient\n (precision / 2) observation estimate) estimate", "statement_sha256": "367113545e907da8419df3236737379e399438d87930cac2221be84ef866732b" }, @@ -181035,7 +181035,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep089_finite_jet_shift_specializes_fep006", "source_line": 239, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep089_finite_jet_shift_specializes_fep006\n {order : ℕ} (first second : ℕ) (jet : FiniteJet order) :\n shift (first + second) jet = shift first (shift second jet) ∧\n fep_fep006.FEP006.fep006_iterateFlow\n (shift 1 : FiniteJet order → FiniteJet order)\n (first + second) jet =\n fep_fep006.FEP006.fep006_iterateFlow\n (shift 1 : FiniteJet order → FiniteJet order) first\n (fep_fep006.FEP006.fep006_iterateFlow\n (shift 1 : FiniteJet order → FiniteJet order) second jet)", "statement_sha256": "7b262d5b1288c0baae01dae7e117115a1c2b8971ea003dc60b2fb9d936b10fc4" }, @@ -181126,7 +181126,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep090_generalized_correction_combines_fep043", "source_line": 256, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep090_generalized_correction_combines_fep043\n {order : ℕ} (stepSize : ℝ) (precision : ℕ → ℝ)\n (target estimate : FiniteJet order) (degree : ℕ) :\n ((generalizedFilteringStep stepSize precision target estimate).coefficient\n degree =\n estimate.coefficient degree + stepSize *\n ((shift 1 estimate).coefficient degree -\n precisionEnergyGradient (precision degree)\n (target.coefficient degree) (estimate.coefficient degree))) ∧\n HasDerivAt\n (fep_fep043.FEP043.fep043_quadraticFreeEnergy\n (precision degree / 2) (target.coefficient degree) 0)\n (fep_fep043.FEP043.fep043_quadraticGradient\n (precision degree / 2) (target.coefficient degree)\n (estimate.coefficient degree))\n (estimate.coefficient degree)", "statement_sha256": "5617079c94d05757f8597e2ccfbc3dcbc091e667cff0b6e3be33225f4a02e4c0" }, @@ -181208,7 +181208,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep091_precision_modulation_refines_fep016", "source_line": 281, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep091_precision_modulation_refines_fep016\n {lower upper : ℝ} (hLowerNonnegative : 0 ≤ lower)\n (hPrecision : lower ≤ upper) (observation estimate : ℝ) :\n (0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate) ∧\n 0 ≤ (lower / 2) * (observation - estimate) ^ 2", "statement_sha256": "a5d702e28b4d0f93b921e72c9c60f1542ba2f4573594a8634a2019aa663d2962" }, @@ -181289,7 +181289,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep092_quadratic_convergence_specializes_fep032", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep092_quadratic_convergence_specializes_fep032\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) ∧\n Tendsto\n (fun iterations =>\n ((fep_fep032.FEP032.fep032_quadraticUpdate stepSize target)^[iterations])\n estimate)\n atTop (nhds target)", "statement_sha256": "7cb4338f0bb7b68ef8335a9c569dc34aa0e8719e627d0c0c9222ae0a47039ad3" }, @@ -181397,7 +181397,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep093_path_ratio_extends_fep010_reversal", "source_line": 32, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep093_path_ratio_extends_fep010_reversal\n {Path Native : Type*} [Fintype Path] [MeasurableSpace Native]\n (protocol : FinitePathProtocol Path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path)\n (nativeLaw : Measure Native) :\n pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path ∧\n Kernel.IsReversible (Kernel.id : Kernel Native Native) nativeLaw", "statement_sha256": "0e4a93dc66e1b4b617d23bd19e5959a54fe59949ef7d45b1909a3fac9d51802b" }, @@ -181496,7 +181496,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep094_path_kl_refines_fep049_entropy_production", "source_line": 47, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep094_path_kl_refines_fep049_entropy_production\n {Path Edge : Type*} [Fintype Path] [Fintype Edge]\n (protocol : FinitePathProtocol Path)\n (conductance force : Edge → ℝ)\n (hConductance : ∀ edge, 0 ≤ conductance edge) :\n entropyProduction protocol =\n finiteKL protocol.forward protocol.reverseAligned ∧\n 0 ≤ fep_fep049.FEP049.fep049_entropyProduction conductance force", "statement_sha256": "acbdd0689136608bd35d21f9a178f46b12bbcd53271fee3d3f728a6a55045a3a" }, @@ -181642,7 +181642,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep095_fluctuation_symmetry_extends_fep010_reversibility", "source_line": 62, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep095_fluctuation_symmetry_extends_fep010_reversibility\n {Path Native : Type*} [Fintype Path] [MeasurableSpace Native]\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path)\n (kernel : Kernel Native Native) (nativeLaw : Measure Native)\n [IsMarkovKernel kernel] (hReversible : Kernel.IsReversible kernel nativeLaw) :\n (protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path) ∧\n Kernel.Invariant kernel nativeLaw", "statement_sha256": "03ada95ddf5f07a982478092de230595d4b750bb7c81a03d7cc34bd3d94adcff" }, @@ -181751,7 +181751,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep096_integral_fluctuation_refines_fep049", "source_line": 81, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep096_integral_fluctuation_refines_fep049\n {Path Edge : Type*} [Fintype Path] [Fintype Edge]\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path)\n (conductance force : Edge → ℝ) :\n (∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1) ∧\n ((∑ edge,\n force edge *\n fep_fep049.FEP049.fep049_linearFlux conductance force edge) =\n fep_fep049.FEP049.fep049_entropyProduction conductance force)", "statement_sha256": "434b6a85702e8dd1eaafae5bc579fcf97ce07916b0894a10a7bbdef597e822c6" }, @@ -181865,7 +181865,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep097_jarzynski_extends_fep013_helmholtz", "source_line": 101, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep097_jarzynski_extends_fep013_helmholtz\n {Path : Type*} [Fintype Path]\n (law : FiniteLaw Path) (beta deltaFreeEnergy : ℝ) (work : Path → ℝ)\n (hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work)\n (internalInitial internalFinal temperature entropyInitial entropyFinal : ℝ) :\n exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy) ∧\n (fep_fep013.FEP013.fep013_helmholtz\n internalFinal temperature entropyFinal -\n fep_fep013.FEP013.fep013_helmholtz\n internalInitial temperature entropyInitial =\n (internalFinal - internalInitial) -\n temperature * (entropyFinal - entropyInitial))", "statement_sha256": "ecbf32a8bf04e10b42b24d3fe202c163433a032e42dbf095060bf24a74fcbec7" }, @@ -181996,7 +181996,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep098_local_current_refines_fep025", "source_line": 123, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep098_local_current_refines_fep025\n {State : Type*} [Fintype State]\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (source target : State)\n {size : ℕ} (flow : Matrix (Fin size) (Fin size) ℝ)\n (left right : Fin size) :\n probabilityCurrent law kernel source target = 0 ∧\n fep_fep025.FEP025.fep025_probabilityCurrent flow left right =\n -fep_fep025.FEP025.fep025_probabilityCurrent flow right left", "statement_sha256": "a5a88a66da6ce97e4e25e8cd37e23b048b5ba4a75333cc2288f292b0f8b287d9" }, @@ -182134,7 +182134,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep099_markov_path_KL_drop_reduction", "source_line": 165, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep099_markov_path_KL_drop_reduction\n {State : Type*} [Fintype State] [DecidableEq State] [Nonempty State]\n (actual stationary : FiniteLaw State) (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 entropyProduction (markovPathProtocol kernel actual kernel\n (kernel.predictive actual) 1) =\n finiteKL actual stationary - finiteKL (kernel.predictive actual) stationary ∧\n finiteKL (kernel.predictive actual) stationary ≤ finiteKL actual stationary", "statement_sha256": "c4fa391bf0afd3a7c8438c960f99397f681fd691e936171950420908b827c2f1" }, @@ -182316,7 +182316,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep099_reversible_kl_dissipation_links_fep010_fep014", "source_line": 140, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep099_reversible_kl_dissipation_links_fep010_fep014\n {State Native : Type*} [Fintype State] [Nonempty State]\n [MeasurableSpace Native]\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 (nativeActual nativeStationary : Measure Native)\n (nativeKernel : Kernel Native Native) [IsMarkovKernel nativeKernel]\n (hNativeReversible : Kernel.IsReversible nativeKernel nativeStationary) :\n finiteKL (kernel.predictive actual) stationary ≤\n finiteKL actual stationary ∧\n 0 ≤ InformationTheory.klDiv nativeActual nativeStationary ∧\n Kernel.Invariant nativeKernel nativeStationary", "statement_sha256": "6124612b7449a59f6dd9d352def5fc3db40d6bd029f95c4df9d14b7e43b1fc10" }, @@ -182428,7 +182428,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep100_categorical_fisher_refines_fep004", "source_line": 185, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep100_categorical_fisher_refines_fep004\n {dimension : ℕ} (carrier : CategoricalFisherCarrier dimension)\n (tangent : Fin dimension → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0)\n (information oldTangent : Fin dimension → ℝ)\n (hInformation : ∀ coordinate, 0 ≤ information coordinate) :\n 0 < fisherMetric carrier.model tangent tangent ∧\n 0 ≤ fep_fep004.FEP004.fep004_fisherMetric\n information oldTangent oldTangent", "statement_sha256": "322343a3ecb2e451e871d0f83085be1c2bdb054006c53088528ae6a97f604834" }, @@ -182571,7 +182571,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep101_fisher_pullback_extends_fep038", "source_line": 202, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep101_fisher_pullback_extends_fep038\n {Outcome : Type*} [Fintype Outcome] {dimension chartDimension : ℕ}\n (model : ScoreModel Outcome dimension)\n (outer : Matrix (Fin dimension) (Fin chartDimension) ℝ)\n (inner : Matrix (Fin chartDimension) (Fin dimension) ℝ)\n (left right : Fin dimension → ℝ)\n {parameter leftScalar rightScalar : ℝ}\n (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1) :\n (pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)) ∧\n (fep_fep038.FEP038.fep038_fisherMetric\n parameter leftScalar rightScalar =\n (fep_fep038.FEP038.fep038_coordinateJacobian parameter * leftScalar) *\n (fep_fep038.FEP038.fep038_coordinateJacobian parameter *\n rightScalar))", "statement_sha256": "5c70d115a16cc9794bbe444f9e1e962e1405c755eff9cd68b38b180feb9a101b" }, @@ -182700,7 +182700,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep102_cramer_rao_uses_fep038_score_geometry", "source_line": 226, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep102_cramer_rao_uses_fep038_score_geometry\n {Outcome : Type*} [Fintype Outcome]\n (model : ScoreModel Outcome 1) (estimator : Outcome → ℝ)\n (target : ℝ)\n (certificate : ScalarCramerRaoCertificate model estimator target)\n {parameter : ℝ} (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1) :\n 1 ≤ estimatorVariance model.law estimator target * scalarFisher model ∧\n (∑ outcome : Bool,\n fep_fep038.FEP038.fep038_bernoulliMass parameter outcome *\n fep_fep038.FEP038.fep038_score parameter outcome = 0)", "statement_sha256": "02d407536c8cf8a31ec8b9dc0ec4af426bc88b71b80ad9691b2ef499e824da82" }, @@ -182846,7 +182846,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep103_natural_gradient_extends_fep038", "source_line": 245, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep103_natural_gradient_extends_fep038\n {Outcome : Type*} [Fintype Outcome] {dimension : ℕ}\n (model : ScoreModel Outcome dimension) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin dimension) (Fin dimension) ℝ)\n [Invertible jacobian] (covector : Fin dimension → ℝ)\n {parameter gradient : ℝ} (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1) :\n (chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector) ∧\n (fep_fep038.FEP038.fep038_fisherInformation parameter *\n fep_fep038.FEP038.fep038_naturalGradient parameter gradient =\n gradient)", "statement_sha256": "e405c988ec0eebb5a8873a5e0850bdd633a04229caa99543ad91f87e6c23e123" }, @@ -182969,7 +182969,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep104_mirror_descent_refines_fep024", "source_line": 266, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep104_mirror_descent_refines_fep024\n {dimension : ℕ}\n (potential : (Fin dimension → ℝ) → ℝ)\n (gradient : (Fin dimension → ℝ) → Fin dimension → ℝ)\n (left middle right : Fin dimension → ℝ)\n {Native : Type*} [MeasurableSpace Native]\n (base weight : ENNReal) (approximation prior : Measure Native) :\n (bregmanDivergence potential gradient left right -\n bregmanDivergence potential gradient left middle -\n bregmanDivergence potential gradient middle right =\n coordinatePairing\n (fun coordinate => gradient middle coordinate - gradient right coordinate)\n (fun coordinate => left coordinate - middle coordinate)) ∧\n base ≤ fep_fep024.FEP024.fep024_klRegularizedObjective\n base weight approximation prior", "statement_sha256": "3ac0450ec4aa272f0ff12dfd3bcb6383537be65b277628e72dc3138f17660dbb" }, @@ -183093,7 +183093,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep105_bregman_projection_extends_fep044", "source_line": 289, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep105_bregman_projection_extends_fep044\n {dimension : ℕ}\n (potential : (Fin dimension → ℝ) → ℝ)\n (gradient : (Fin dimension → ℝ) → Fin dimension → ℝ)\n (affineSet : Set (Fin dimension → ℝ))\n (base projection candidate : Fin dimension → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet) (left right : ℝ) :\n (bregmanDivergence potential gradient candidate base =\n bregmanDivergence potential gradient candidate projection +\n bregmanDivergence potential gradient projection base) ∧\n 0 ≤ fep_fep044.FEP044.fep044_hellingerSq left right", "statement_sha256": "a0689f80a68285a27fbc328b5324eddf53dcc8f5eb6a209be7f7464a1dd85106" }, @@ -183241,7 +183241,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep106_replicator_links_fep028_fep038", "source_line": 311, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep106_replicator_links_fep028_fep038\n {dimension : ℕ} (carrier : CategoricalFisherCarrier dimension)\n (fitness : Fin dimension → ℝ)\n {parameter scalarGradient : ℝ}\n (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1)\n (gamma : ℝ) (cost : Fin 10 → ℝ) (policies : Finset (Fin 10))\n (hPolicies : policies.Nonempty) :\n IsNaturalGradient carrier.model\n (fun coordinate => fitness coordinate - meanFitness carrier.law fitness)\n (replicatorVector carrier.law fitness) ∧\n (fep_fep038.FEP038.fep038_fisherInformation parameter *\n fep_fep038.FEP038.fep038_naturalGradient parameter scalarGradient =\n scalarGradient) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma cost policies policy = 1)", "statement_sha256": "232dcabfa496355ee9235960cffc8256b0fc0c773493b50039c67605888e6520" }, @@ -183470,7 +183470,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep107_product_agent_extends_fep027_hierarchy", "source_line": 32, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep107_product_agent_extends_fep027_hierarchy\n {StateLeft StateRight ObservationLeft ObservationRight : Type*}\n [Fintype StateLeft] [Fintype StateRight]\n [Fintype ObservationLeft] [Fintype ObservationRight]\n (priorLeft : FiniteLaw StateLeft) (priorRight : FiniteLaw StateRight)\n (kernelLeft : FiniteKernel StateLeft ObservationLeft)\n (kernelRight : FiniteKernel StateRight ObservationRight)\n (stateLeft : StateLeft) (stateRight : StateRight)\n (observationLeft : ObservationLeft) (observationRight : ObservationRight)\n {NativeParent NativeChild : Type*}\n [MeasurableSpace NativeParent] [MeasurableSpace NativeChild]\n (nativePrior : Measure NativeParent) [IsProbabilityMeasure nativePrior]\n (nativeKernel : Kernel NativeParent NativeChild)\n [IsMarkovKernel nativeKernel] :\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)) ∧\n (fep_fep027.FEP027.fep027_hierarchicalJoint\n nativePrior nativeKernel Set.univ = 1)", "statement_sha256": "bda9dfe5044cf045f98fa73020e9225a0ec2f5b24e60ebf785319f7472035461" }, @@ -183611,7 +183611,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep108_collective_vfe_extends_fep039_additivity", "source_line": 62, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep108_collective_vfe_extends_fep039_additivity\n {StateLeft StateRight : Type*} [Fintype StateLeft] [Fintype StateRight]\n (actualLeft referenceLeft : FiniteLaw StateLeft)\n (actualRight referenceRight : FiniteLaw StateRight)\n (leftCost : StateLeft → ℝ) (rightCost : StateRight → ℝ)\n (hReferenceLeft : ∀ state, 0 < referenceLeft state)\n (hReferenceRight : ∀ state, 0 < referenceRight state)\n (oldLeft oldRight : Fin 4 → ℝ) :\n collectiveVFE\n actualLeft referenceLeft actualRight referenceRight leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost ∧\n (fep_fep039.FEP039.fep039_global_fe\n (fun index => oldLeft index + oldRight index) =\n fep_fep039.FEP039.fep039_global_fe oldLeft +\n fep_fep039.FEP039.fep039_global_fe oldRight)", "statement_sha256": "26c010f4976fff0e73be684ff5629443d3fd839d2a8985c934a1dcaf16aa240c" }, @@ -183762,7 +183762,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep109_independent_efe_extends_fep021", "source_line": 86, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep109_independent_efe_extends_fep021\n {StateLeft StateRight : Type*} [Fintype StateLeft] [Fintype StateRight]\n (predictiveLeft preferenceLeft : FiniteLaw StateLeft)\n (predictiveRight preferenceRight : FiniteLaw StateRight)\n (ambiguityLeft : StateLeft → ℝ) (ambiguityRight : StateRight → ℝ)\n (hPreferenceLeft : ∀ state, 0 < preferenceLeft state)\n (hPreferenceRight : ∀ state, 0 < preferenceRight state)\n {pragmaticCost epistemicValue : ENNReal}\n (hEpistemicValue : epistemicValue ≤ pragmaticCost) :\n independentCollectiveEFE\n predictiveLeft preferenceLeft predictiveRight preferenceRight\n ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight ∧\n (fep_fep021.FEP021.fep021_expectedFreeEnergy\n pragmaticCost epistemicValue + epistemicValue = pragmaticCost)", "statement_sha256": "30d31c6c226e53936157ad2ee05671b968a9e702c7a4a46bb1ecf4458ff09d32" }, @@ -183882,7 +183882,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep110_product_of_experts_refines_fep028_normalization", "source_line": 110, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep110_product_of_experts_refines_fep028_normalization\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State)\n (hNormalizer : 0 < productOfExpertsNormalizer left right)\n (gamma : ℝ) (cost : Fin 10 → ℝ) (policies : Finset (Fin 10))\n (hPolicies : policies.Nonempty) :\n (∑ state,\n unitWeightProductOfExpertsPool left right hNormalizer state = 1) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma cost policies policy = 1)", "statement_sha256": "f3de845344a9d06f667070cc9777af3d2ae0ed9a55fd620517a14a1c391fedc6" }, @@ -183992,7 +183992,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep111_consensus_mass_extends_fep025_conservation", "source_line": 128, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep111_consensus_mass_extends_fep025_conservation\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n {size : ℕ} (current : Matrix (Fin size) (Fin size) ℝ)\n (hCurrent : ∀ source target,\n current source target = -current target source) :\n consensusLeft left right state + consensusRight left right state =\n left state + right state ∧\n (∑ source,\n fep_fep025.FEP025.fep025_divergence current source = 0)", "statement_sha256": "c9c4bea756a7cf14dcf6affbc1c8214833ff8720f940dc3214818fe1b92b118e" }, @@ -184082,7 +184082,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep112_consensus_convergence_extends_fep048_contraction", "source_line": 145, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep112_consensus_convergence_extends_fep048_contraction\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) (initial : ℝ) :\n Tendsto\n (fun iterations =>\n beliefGap\n (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0) ∧\n Tendsto\n (fun iterations => fep_fep048.FEP048.fep048_halfUpdate^[iterations] initial)\n atTop (nhds 0)", "statement_sha256": "55fd995a8cdd977c306bafe12664624cae9b62f38a80155d8bb21a037d1f0bc9" }, @@ -184172,7 +184172,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep112_consensus_fixed_pair_is_equal", "source_line": 376, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep112_consensus_fixed_pair_is_equal\n {State : Type*} [Fintype State] (left right : FiniteLaw State)\n (hLeft : consensusLeft left right = left)\n (hRight : consensusRight left right = right) : left = right", "statement_sha256": "716f1bbc736ece53e109c8438e50d898cb3c86d43091adcfe7223e20eb9cabc8" }, @@ -184294,7 +184294,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep113_coupled_potential_refines_fep032_descent", "source_line": 163, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep113_coupled_potential_refines_fep032_descent\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n (hSeparated : left state ≠ right state)\n {step center estimate : ℝ} (hStepNonnegative : 0 ≤ step)\n (hStepAtMostTwo : step ≤ 2) :\n coupledPotential (consensusLeft left right)\n (consensusRight left right) state <\n coupledPotential left right state ∧\n (fep_fep032.FEP032.fep032_quadraticUpdate step center estimate - center) ^ 2 ≤\n (estimate - center) ^ 2", "statement_sha256": "7ee0cdb53262d6545f1cb00b9bf7e064bd9217f773d627a9b91e5d5702a7d6e7" }, @@ -184444,7 +184444,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep114_subgaussian_tail_refines_fep036_empirical_rate", "source_line": 182, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep114_subgaussian_tail_refines_fep036_empirical_rate\n {Omega : Type*} [MeasurableSpace Omega]\n (law : Measure Omega) {sampleCount : ℕ}\n (observables : Fin sampleCount → Omega → ℝ)\n (hIndependent : iIndepFun observables law)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (hSubGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) law)\n {deviation : ℝ} (hDeviation : 0 ≤ deviation)\n (successes trials : ℕ) :\n law.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index)) ∧\n 0 < fep_fep036.FEP036.fep036_smoothedRate successes trials", "statement_sha256": "674090a23f1cc2b47b2f023ce2271d12eef7bd9829ed7dd3d3e32100753392d7" }, @@ -184617,7 +184617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep115_frequency_union_bound_extends_fep042_counts", "source_line": 206, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep115_frequency_union_bound_extends_fep042_counts\n {Omega Alphabet : Type*} [MeasurableSpace Omega]\n [Fintype Alphabet] [DecidableEq Alphabet]\n (law : Measure Omega) [IsProbabilityMeasure law]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Omega → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation perSymbolFailure : ℝ)\n (hPerSymbol : ∀ symbol,\n law.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure)\n (bernoulliParameter : ℝ) (data : List Bool) :\n law.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure ∧\n (fep_fep042.FEP042.fep042_bernoulliLikelihood bernoulliParameter data =\n bernoulliParameter ^ fep_fep042.FEP042.fep042_successCount data *\n (1 - bernoulliParameter) ^\n fep_fep042.FEP042.fep042_failureCount data)", "statement_sha256": "a46670b20a2fcd1fe0d630d1cca887f70356ce40b3986164d2b4a47ee4323e3d" }, @@ -184827,7 +184827,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep116_pac_bayes_refines_fep001_variational_bound", "source_line": 233, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep116_pac_bayes_refines_fep001_variational_bound\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior posterior : FiniteLaw Hypothesis)\n (certificate : GibbsCertificate Hypothesis)\n (hCertificate : certificate.reference = prior)\n (empiricalLoss populationLoss : Hypothesis → ℝ)\n (inverseTemperature : ℝ)\n (hInverseTemperature : 0 < inverseTemperature)\n (hPotential : ∀ hypothesis,\n certificate.potential hypothesis = inverseTemperature *\n (populationLoss hypothesis - empiricalLoss hypothesis))\n (confidence : ℝ)\n (hConfidencePositive : 0 < confidence)\n (hConfidenceBelowOne : confidence < 1)\n (hLogMGF : certificate.logPartition ≤ Real.log confidence⁻¹)\n {Native : Type*} [MeasurableSpace Native]\n (approximation exactPosterior : Measure Native) (surprisal : ENNReal) :\n expectation posterior populationLoss ≤\n expectation posterior empiricalLoss +\n (finiteKL posterior prior + Real.log confidence⁻¹) /\n inverseTemperature ∧\n surprisal ≤\n fep_fep001.FEP001.fep001_variationalUpperBound\n approximation exactPosterior surprisal", "statement_sha256": "91c745d82fecc0c50a793b87fe73d76f92dd3d18b8a3ffa2b91cb5c7f34e9c6d" }, @@ -185045,7 +185045,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep117_posterior_odds_extends_fep017_bayes", "source_line": 267, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep117_posterior_odds_extends_fep017_bayes\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < likelihood.predictive prior evidence)\n (favored reference : Hypothesis)\n (hReferencePrior : 0 < prior reference)\n (hReferenceLikelihood : 0 < likelihood reference evidence)\n {NativeHypothesis NativeEvidence : Type*}\n [MeasurableSpace NativeHypothesis] [MeasurableSpace NativeEvidence]\n [StandardBorelSpace NativeHypothesis] [Nonempty NativeHypothesis]\n (nativePrior : Measure NativeHypothesis) [IsFiniteMeasure nativePrior]\n (nativeLikelihood : Kernel NativeHypothesis NativeEvidence)\n [IsFiniteKernel nativeLikelihood] :\n posteriorOdds prior likelihood evidence hEvidence favored reference =\n (prior favored / prior reference) *\n (likelihood favored evidence / likelihood reference evidence) ∧\n ((nativeLikelihood ∘ₘ nativePrior) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior nativeLikelihood nativePrior =\n (nativePrior ⊗ₘ nativeLikelihood).map Prod.swap)", "statement_sha256": "e88388a49b3864e933dfb6dbd964c867a8316022513f908b42d8ee3e869d0fca" }, @@ -185182,7 +185182,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep118_posterior_concentration_extends_fep045_update", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep118_posterior_concentration_extends_fep045_update\n (priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)\n (sampleCount : ℕ)\n (hPriorGood : 0 < priorGood) (hPriorBad : 0 ≤ priorBad)\n (hLikelihoodGood : 0 < likelihoodGood)\n (hLikelihoodBad : 0 ≤ likelihoodBad)\n (hGap : 0 ≤ likelihoodGap)\n (hGapBound : likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood)\n (bernoulliPrior likelihoodFalse likelihoodTrue : ℝ) :\n twoHypothesisPosteriorBad\n priorGood priorBad likelihoodGood likelihoodBad sampleCount ≤\n (priorBad / priorGood) *\n Real.exp (-((sampleCount : ℝ) * likelihoodGap)) ∧\n (∑ value : Bool,\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter\n bernoulliPrior likelihoodFalse likelihoodTrue) value = 1)", "statement_sha256": "0eb6270221b0e6bb9256caa6bd23a9f17f2ad2bf52f2223e1289b11fca06d289" }, @@ -185301,7 +185301,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep119_mixture_log_loss_refines_fep026_complexity", "source_line": 324, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep119_mixture_log_loss_refines_fep026_complexity\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (hLikelihood : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis) (hPrior : 0 < prior selected)\n (hSelectedLikelihood : 0 < likelihood selected) :\n -Real.log (mixtureEvidence prior likelihood) ≤\n -Real.log (likelihood selected) - Real.log (prior selected) ∧\n (fep_fep026.FEP026.fep026_priorComplexity\n (prior selected * likelihood selected) =\n fep_fep026.FEP026.fep026_priorComplexity (prior selected) +\n fep_fep026.FEP026.fep026_priorComplexity (likelihood selected))", "statement_sha256": "4972ca58aafdd1508abbc364e47ea8be56162d8f47816b72a0eb6f86bf62ff85" }, @@ -185442,7 +185442,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep120_bayes_factor_update_extends_fep019_prediction", "source_line": 344, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep120_bayes_factor_update_extends_fep019_prediction\n (priorOdds firstFavored firstReference secondFavored secondReference : ℝ)\n (hFirstReference : firstReference ≠ 0)\n (hSecondReference : secondReference ≠ 0)\n {NativeState NativeMiddle NativeEvidence : Type*}\n [MeasurableSpace NativeState] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeEvidence]\n (nativePrior : Measure NativeState)\n (firstKernel : Kernel NativeState NativeMiddle)\n (secondKernel : Kernel NativeMiddle NativeEvidence) :\n (bayesFactor (firstFavored * secondFavored)\n (firstReference * secondReference) =\n bayesFactor firstFavored firstReference *\n bayesFactor secondFavored secondReference ∧\n updatedModelOdds priorOdds (firstFavored * secondFavored)\n (firstReference * secondReference) =\n updatedModelOdds\n (updatedModelOdds priorOdds firstFavored firstReference)\n secondFavored secondReference) ∧\n (secondKernel ∘ₘ\n fep_fep019.FEP019.fep019_priorPredictive firstKernel nativePrior =\n fep_fep019.FEP019.fep019_priorPredictive\n (secondKernel ∘ₖ firstKernel) nativePrior)", "statement_sha256": "033f09fed25a51673398719aa5cc82cf6b7be2c1734a4c90239c10db52249ed9" }, @@ -185530,7 +185530,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep121_laplaceError_extends_fep036", "source_line": 26, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep121_laplaceError_extends_fep036\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target) ∧\n (fep_fep036.FEP036.fep036_smoothedRate successes sampleCount =\n ((successes : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2))", "statement_sha256": "95ed2a9d164a620d1f58e808bed13e148f5c32864e7f55fdb7669f4f3bd586f3" }, @@ -185608,7 +185608,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep122_laplaceBias_extends_fep036", "source_line": 47, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep122_laplaceBias_extends_fep036\n (successes sampleCount : ℕ) (target : ℝ)\n (successesAtMost : successes ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (|laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)) ∧\n (fep_fep036.FEP036.fep036_smoothedRate successes sampleCount ∈\n Set.Ioo (0 : ℝ) 1)", "statement_sha256": "b203822b65440902e1446602c842a04ff12bab23f80075b07d957f38081c6b66" }, @@ -185707,7 +185707,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep123_laplaceAbsoluteError_extends_fep036", "source_line": 62, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep123_laplaceAbsoluteError_extends_fep036\n (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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)) ∧\n (fep_fep036.FEP036.fep036_smoothedRate successes sampleCount =\n ((successes : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2))", "statement_sha256": "4b6b74404bce737eb24da9c14d221a7048b539af2d47c6e4c56b7967fe310269" }, @@ -185899,7 +185899,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep124_laplaceSquaredRisk_combines_fep036_fep114", "source_line": 84, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep124_laplaceSquaredRisk_combines_fep036_fep114\n {Ω : Type*} [MeasurableSpace Ω]\n (nativeLaw : Measure Ω) {nativeSampleCount : ℕ}\n (observables : Fin nativeSampleCount → Ω → ℝ)\n (independent : iIndepFun observables nativeLaw)\n (proxyVariance : Fin nativeSampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) nativeLaw)\n {deviation : ℝ} (deviationNonnegative : 0 ≤ deviation)\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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) ∧\n ((fep_fep036.FEP036.fep036_smoothedRate successes sampleCount =\n ((successes : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2)) ∧\n nativeLaw.real {outcome |\n (nativeSampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((nativeSampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index)))", "statement_sha256": "059062d9f0a58c10ec4d42fc6e500a29be948d8ff41b9df928a325987d15e2fd" }, @@ -185947,7 +185947,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep125_brierExcess_refines_fep022", "source_line": 123, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep125_brierExcess_refines_fep022 (target forecast : ℝ) :\n (bernoulliBrierScore target forecast -\n bernoulliBrierScore target target = (forecast - target) ^ 2) ∧\n (fep_fep022.FEP022.fep022_brierScore target forecast =\n target * (1 - target) + (forecast - target) ^ 2)", "statement_sha256": "8745afc8f35276dff8643eb86f7da43704b707eb4b2779774711c4cc198cd11d" }, @@ -186072,7 +186072,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep125_brier_identity_transfers_fep124_risk_bound", "source_line": 207, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep125_brier_identity_transfers_fep124_risk_bound\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (hCount : 0 < sampleCount) (hSuccess : ∀ o, successes o ≤ sampleCount)\n (hTarget : target ∈ Set.Icc (0 : ℝ) 1) :\n brierExcessRisk sampling\n (fun o => laplaceEstimate (successes o) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 * expectation sampling\n (fun o => (empiricalRate (successes o) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "statement_sha256": "b1fd50ba0c8e8feeab30c437f299eed9ad8e306df0ff77db50dd8e78820f2c2e" }, @@ -186213,7 +186213,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep126_laplaceBrierRisk_combines_fep022_fep036", "source_line": 135, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep126_laplaceBrierRisk_combines_fep022_fep036\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (selected : Ω) :\n (brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2) ∧\n ((fep_fep022.FEP022.fep022_brierScore target\n (laplaceEstimate (successes selected) sampleCount) =\n target * (1 - target) +\n (laplaceEstimate (successes selected) sampleCount - target) ^ 2) ∧\n fep_fep036.FEP036.fep036_smoothedRate\n (successes selected) sampleCount =\n ((successes selected : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2))", "statement_sha256": "35974c85ad2832a0206e28e653389230ba46b1dc3eb4f8ecae1c05538a3bd16f" }, @@ -186423,7 +186423,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep127_laplaceConcentration_combines_fep036_fep114", "source_line": 169, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep127_laplaceConcentration_combines_fep036_fep114\n {Ω : Type*} [Fintype Ω] [MeasurableSpace Ω]\n (successes : Ω → ℕ) (sampleCount : ℕ)\n (target error : ℝ) (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) (selected : Ω)\n (nativeLaw : Measure Ω)\n (observables : Fin sampleCount → Ω → ℝ)\n (independent : iIndepFun observables nativeLaw)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) nativeLaw)\n (deviation : ℝ) (deviationNonnegative : 0 ≤ deviation) :\n (laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error) ∧\n ((fep_fep036.FEP036.fep036_smoothedRate\n (successes selected) sampleCount =\n ((successes selected : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2)) ∧\n nativeLaw.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index)))", "statement_sha256": "be442a435ef80c6d104d6bc14cd658898153dca94c8ccde1599e237991614631" }, @@ -186584,7 +186584,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep128_policyTreeRecursion_extends_fep071", "source_line": 25, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep128_policyTreeRecursion_extends_fep071\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (action : Action)\n (continuation : Observation → PolicyTree Action Observation depth)\n (belief : Belief)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (policyTreeValue (depth := depth + 1) treeModel (action, continuation) belief =\n treeModel.stageCost depth belief action +\n ∑ observation,\n treeModel.observationLaw belief action observation *\n policyTreeValue treeModel (continuation observation)\n (treeModel.update belief action observation)) ∧\n (sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation))", "statement_sha256": "cd326b9e9c19cddc2d147215a89cc329f60c8ec0f5b93d5f64cadfbc41596fda" }, @@ -186792,7 +186792,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep129_policyTreeBellman_extends_fep033", "source_line": 61, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep129_policyTreeBellman_extends_fep033\n {Belief Action Observation OldState : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief)\n (discount : ENNReal) (oldStageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldDepth : ℕ) (oldState : OldState)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (optimalTreeValue treeModel (depth + 1) belief =\n treeModel.stageCost depth belief (optimalTreeAction treeModel depth belief) +\n ∑ observation,\n treeModel.observationLaw belief\n (optimalTreeAction treeModel depth belief) observation *\n optimalTreeValue treeModel depth\n (treeModel.update belief\n (optimalTreeAction treeModel depth belief) observation)) ∧\n ((fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost (oldDepth + 1) oldState =\n oldStageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost oldDepth (step oldState)) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "b598b56436cb73afe75a59ca70390748750a78e2b1a63a9400a5955c6d089ae4" }, @@ -186903,7 +186903,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep130_attaining_tree_dominates_fep131_embedded_plans", "source_line": 255, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep130_attaining_tree_dominates_fep131_embedded_plans\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation) (depth : ℕ) (belief : Belief) :\n ∃ tree : PolicyTree Action Observation depth,\n policyTreeValue model tree belief = optimalTreeValue model depth belief ∧\n ∀ plan : OpenLoopPlan Action depth,\n policyTreeValue model tree belief ≤ openLoopValue model plan belief", "statement_sha256": "d30d55fc2485bbefd1b2d09e3ca8dc7c3b8d21193570768ece6a703e431e8604" }, @@ -187080,7 +187080,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep130_optimalPolicyTree_extends_fep008", "source_line": 106, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep130_optimalPolicyTree_extends_fep008\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief)\n (policies : Finset fep_fep008.FEP008.Policy)\n (policiesNonempty : policies.Nonempty)\n (objective : fep_fep008.FEP008.Policy → ℝ)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (∃ tree : PolicyTree Action Observation depth,\n policyTreeValue treeModel tree belief =\n optimalTreeValue treeModel depth belief ∧\n ∀ alternative : PolicyTree Action Observation depth,\n policyTreeValue treeModel tree belief ≤\n policyTreeValue treeModel alternative belief) ∧\n ((∃ policy ∈ policies, ∀ alternative ∈ policies,\n objective policy ≤ objective alternative) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "06107dac56b617111243368508051e45a7bf19855dafe0701c78418052fd9ac8" }, @@ -187298,7 +187298,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep131_openLoopEmbedding_extends_fep033", "source_line": 147, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep131_openLoopEmbedding_extends_fep033\n {Belief Action Observation OldState : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief)\n (discount : ENNReal) (oldStageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldDepth : ℕ) (oldState : OldState)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (policyTreeValue treeModel\n (openLoopEmbedding (Observation := Observation) plan) belief =\n openLoopValue treeModel plan belief) ∧\n ((fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost (oldDepth + 1) oldState =\n oldStageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost oldDepth (step oldState)) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "87826d53c0ae6c0deb464944ca6ef456aed371f27321da04b6a916c050d743ad" }, @@ -187429,7 +187429,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep132_closedLoopDominance_extends_fep071", "source_line": 188, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep132_closedLoopDominance_extends_fep071\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief)\n (fixedBooleanAction : Bool) :\n (optimalTreeValue treeModel depth belief ≤\n openLoopValue treeModel plan belief) ∧\n (twoStageFeedbackExpectedCost <\n twoStageOpenLoopExpectedCost fixedBooleanAction)", "statement_sha256": "ac0062eeacefd4d57fdc5da331945df1b2c222df30334ce0cb540f8b632fbad4" }, @@ -187616,7 +187616,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep133_treewiseEFE_extends_fep021", "source_line": 206, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep133_treewiseEFE_extends_fep021\n {Belief State Action Observation : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action]\n [Fintype Observation] [Nonempty Action]\n (treeModel : EFEPolicyTreeModel Belief State Action Observation)\n {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief)\n {pragmaticCost epistemicValue : ENNReal}\n (epistemicAtMostPragmatic : epistemicValue ≤ pragmaticCost)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (policyTreeValue (efePolicyTreeModel treeModel) tree belief =\n policyTreeValue (riskAmbiguityPolicyTreeModel treeModel) tree belief) ∧\n ((fep_fep021.FEP021.fep021_expectedFreeEnergy\n pragmaticCost epistemicValue + epistemicValue = pragmaticCost) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "cf74beafafd94a1606147c02617687c768f70af57cff772d8553ab125fbbbfed" }, @@ -187663,7 +187663,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep134_feedbackWitness_extends_fep071", "source_line": 244, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep134_feedbackWitness_extends_fep071 (action : Bool) :\n (policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2 ∧\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false) ∧\n (twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action)", "statement_sha256": "542a0179672aba77d1cc55d50a065368ba59bf60c950a0cf5dbb6b79cd553923" }, @@ -187801,7 +187801,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep135_embeddedLaw_extends_fep017", "source_line": 31, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep135_embeddedLaw_extends_fep017\n {State Observation : Type*}\n [Fintype State] [Fintype Observation] [Nonempty State]\n [MeasurableSpace State] [MeasurableSpace Observation]\n [DiscreteMeasurableSpace State] [DiscreteMeasurableSpace Observation]\n (law : FiniteLaw State) (kernel : FiniteKernel State Observation)\n (observation : Observation) :\n embeddedLaw law Set.univ = 1 ∧\n fep_fep017.FEP017.fep017_posterior\n (embeddedKernel kernel) (embeddedLaw law) observation Set.univ = 1", "statement_sha256": "252d74cdf1777e241537ee4239f364474356e5f1acbf8656e7b33339c6865335" }, @@ -187928,7 +187928,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep136_embeddedExpectation_extends_fep015", "source_line": 48, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep136_embeddedExpectation_extends_fep015\n {State : Type*} [Fintype State]\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (law : FiniteLaw State)\n (energy logApproximation logGenerative : State → ℝ)\n (energyMeasurable : Measurable energy)\n (approximationMeasurable : Measurable logApproximation)\n (generativeMeasurable : Measurable logGenerative) :\n (∫ state,\n fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative state ∂embeddedLaw law) =\n ∑ state, law state *\n fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative state ∧\n Measurable\n (fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative)", "statement_sha256": "ca466817282444e6fc3a9f993b5560e481de7b528bef7a1010c776b47bf83dbe" }, @@ -188048,7 +188048,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep137_embeddedPredictive_extends_fep019", "source_line": 74, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep137_embeddedPredictive_extends_fep019\n {Input Output : Type*} [Fintype Input] [Fintype Output]\n [MeasurableSpace Input] [MeasurableSpace Output]\n [DiscreteMeasurableSpace Input] [DiscreteMeasurableSpace Output]\n (prior : FiniteLaw Input) (kernel : FiniteKernel Input Output) :\n embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior ∧\n fep_fep019.FEP019.fep019_priorPredictive\n (embeddedKernel kernel) (embeddedLaw prior) Set.univ = 1", "statement_sha256": "313461519c783353cd95212112a297a7d5f94c6d6e14687c910a3ac6d7877a5e" }, @@ -188238,7 +188238,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep138_rectangleFactorization_extends_fep079", "source_line": 90, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep138_rectangleFactorization_extends_fep079\n {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]\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) ∧\n conditionalMutualInformation (ofStaticModel model) = 0", "statement_sha256": "a14a4b11ad13e2fe6e967dc87677da1f2dafc23753050ef4558a5b81038c86ab" }, @@ -188414,7 +188414,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep139_nativeCondIndep_connects_fep009_fep079", "source_line": 119, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep139_nativeCondIndep_connects_fep009_fep079\n {Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [Nonempty Internal] [Nonempty External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace 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)) ∧\n (CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap internalCoordinate inferInstance)\n (MeasurableSpace.comap externalCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)) →\n CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap externalCoordinate inferInstance)\n (MeasurableSpace.comap internalCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)))", "statement_sha256": "d0532db8a77090aa05140a1197c3cec2f466332556883499c36b334e4fae0e77" }, @@ -188648,7 +188648,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep140_measurableCoarsening_extends_fep009", "source_line": 159, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep140_measurableCoarsening_extends_fep009\n {Internal Sensory Active External InternalImage ExternalImage : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [Nonempty Internal] [Nonempty External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [MeasurableSpace InternalImage] [MeasurableSpace ExternalImage]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]\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)) ∧\n (CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap (internalImage ∘ internalCoordinate) inferInstance)\n (MeasurableSpace.comap (externalImage ∘ externalCoordinate) inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)) →\n CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap (externalImage ∘ externalCoordinate) inferInstance)\n (MeasurableSpace.comap (internalImage ∘ internalCoordinate) inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)))", "statement_sha256": "8d473bc9565030f7825ad70d72ccd80ff7c110b36f921565aaaf2094c6dbb7d5" }, @@ -188875,7 +188875,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep141_blanketTransition_extends_fep080", "source_line": 209, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep141_blanketTransition_extends_fep080\n {Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [Nonempty Internal] [Nonempty External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External)\n (weight : ℝ) (weightNonnegative : 0 ≤ weight) (weightAtMostOne : weight ≤ 1)\n (left right : FiniteLaw (Blanket Sensory Active)) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current))) ∧\n (conditionalPairKernel (nextStaticModel dynamics current)).joint\n (mixLaw weight weightNonnegative weightAtMostOne left right) =\n mixLaw weight weightNonnegative weightAtMostOne\n ((conditionalPairKernel (nextStaticModel dynamics current)).joint left)\n ((conditionalPairKernel (nextStaticModel dynamics current)).joint right)", "statement_sha256": "0d8b9e99a4587e7a1524509bc1b92e9b1a7dfa614ff6416b939bc0b24409b765" }, @@ -189002,7 +189002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep142_exponentialNormalization_extends_fep031", "source_line": 30, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep142_exponentialNormalization_extends_fep031\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (parameter beta : ℝ)\n (size : ℕ) (energy : Fin size → ℝ) (support : Finset (Fin size))\n (hSupport : support.Nonempty) :\n (∑ outcome, family.law parameter outcome = 1) ∧\n (∑ state ∈ support,\n fep_fep031.FEP031.fep031_gibbsProbability\n beta size energy support state = 1)", "statement_sha256": "d9893c81eaa55f7d7341ffee887c3d7aef10851df2776fdb35d15ada651cc992" }, @@ -189130,7 +189130,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep143_logDensityRatio_extends_fep026", "source_line": 46, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep143_logDensityRatio_extends_fep026\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome)\n (left right : ℝ) (outcome : Outcome)\n {numerator denominator : ℝ} (hNumerator : 0 < numerator)\n (hDenominator : 0 < denominator) :\n (Real.log (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)) ∧\n Real.log (numerator / denominator) =\n Real.log numerator - Real.log denominator", "statement_sha256": "6aa613b84c2c696d9d6671cae9ac3872614a1bd4939bfa0931f6d200f601c121" }, @@ -189236,7 +189236,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep144_logPartitionGradient_extends_fep040", "source_line": 64, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep144_logPartitionGradient_extends_fep040\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n {variance : ℝ} (hVariance : 0 < variance) :\n HasDerivAt family.logPartition (family.mean parameter) parameter ∧\n HasDerivAt fep_fep040.FEP040.fep040_gaussianEntropy\n (1 / (2 * variance)) variance", "statement_sha256": "a2ea0855c3c5090a4c2bd16f0a13c9ed5c65becd0fe9ece386ff6c69916825d3" }, @@ -189362,7 +189362,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep145_centeredScore_extends_fep038", "source_line": 77, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep145_centeredScore_extends_fep038\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) {probability : ℝ}\n (hProbabilityPositive : 0 < probability)\n (hProbabilityBelowOne : probability < 1) :\n (family.score parameter outcome =\n family.statistic outcome - family.mean parameter) ∧\n (∑ state : Bool,\n fep_fep038.FEP038.fep038_bernoulliMass probability state *\n fep_fep038.FEP038.fep038_score probability state = 0)", "statement_sha256": "28a299ccba52fc1fd7c2741d79205f6cf60198816d699ba828bf04c781779dc1" }, @@ -189498,7 +189498,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep146_fisherVariance_extends_fep100", "source_line": 96, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep146_fisherVariance_extends_fep100\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n {dimension : ℕ}\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (carrier : CategoricalFisherCarrier dimension)\n (tangent : Fin dimension → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n family.fisher parameter = family.variance parameter ∧\n 0 < fisherMetric carrier.model tangent tangent", "statement_sha256": "b5c8021746e1556bf170276a11000e5d6dc6f4056a099de01f0e44fc44e0076e" }, @@ -189601,7 +189601,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep146_positive_fisher_supplies_fep148_mean_injectivity", "source_line": 147, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep146_positive_fisher_supplies_fep148_mean_injectivity\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (lower upper : ℝ)\n (hFisher : ∀ parameter ∈ Set.Icc lower upper, 0 < family.fisher parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper) ∧\n Set.InjOn family.mean (Set.Icc lower upper)", "statement_sha256": "52a98dc44826c852c7d6c77eb870e28a8e37ef5d0da727d9e4f59359efef6e6c" }, @@ -189708,7 +189708,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep147_KLBregman_connects_fep014_fep104", "source_line": 112, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep147_KLBregman_connects_fep014_fep104\n {Outcome Native : Type*} [Fintype Outcome] [Nonempty Outcome]\n [MeasurableSpace Native]\n (family : ScalarExponentialFamily Outcome) (left right : ℝ)\n (nativeLeft nativeRight : Measure Native) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right ∧\n 0 ≤ InformationTheory.klDiv nativeLeft nativeRight", "statement_sha256": "5d205854b6de2b4a05754fba8c4347f148bb556513354f1e06004b4042b7503a" }, @@ -189870,7 +189870,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep148_meanCoordinate_extends_fep103", "source_line": 127, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep148_meanCoordinate_extends_fep103\n {Outcome Native : Type*} [Fintype Outcome] [Nonempty Outcome]\n [Fintype Native] {dimension : ℕ}\n (family : ScalarExponentialFamily Outcome) {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)\n (model : ScoreModel Native dimension) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin dimension) (Fin dimension) ℝ)\n [Invertible jacobian] (covector : Fin dimension → ℝ) :\n Set.InjOn family.mean (Set.Icc lower upper) ∧\n chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector", "statement_sha256": "c385a08f4f2f6fd985bee14e950978060ca76549319a7cd4741aead5b1235320" }, @@ -189939,7 +189939,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep149_continuousKernel_extends_fep020", "source_line": 25, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep149_continuousKernel_extends_fep020\n (rates : TwoStateRates) (time switching : ℝ)\n (source discreteSource : Bool) :\n (∑ target, rates.transition time source target = 1) ∧\n (∑ target : Bool,\n fep_fep020.FEP020.fep020_transition switching discreteSource target =\n 1)", "statement_sha256": "5617d3d5112c948ce4ae885b23cf7d66750d323885d6a819726202bc9cfe71cf" }, @@ -190017,7 +190017,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep150_semigroupZero_extends_fep006", "source_line": 39, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep150_semigroupZero_extends_fep006\n {State : Type*} (rates : TwoStateRates) (source target : Bool)\n (step : State → State) :\n (rates.transition 0 source target = if source = target then 1 else 0) ∧\n fep_fep006.FEP006.fep006_iterateFlow step 0 = id", "statement_sha256": "50d1fb6d5897e7166d9a37310d384facfd013768e84251f810de3e00fa3a14b2" }, @@ -190127,7 +190127,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep151_semigroupAdd_extends_fep006", "source_line": 50, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep151_semigroupAdd_extends_fep006\n {State : Type*} (rates : TwoStateRates) (left right : ℝ)\n (source target : Bool) (step : State → State) (m n : ℕ)\n (state : State) :\n (rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target) ∧\n (fep_fep006.FEP006.fep006_iterateFlow step (m + n) state =\n fep_fep006.FEP006.fep006_iterateFlow step m\n (fep_fep006.FEP006.fep006_iterateFlow step n state))", "statement_sha256": "2af612a4017a9373e45d57ec1ddca5eeec5dd71b7153f34f57731c8c6ae84821" }, @@ -190206,7 +190206,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep152_masterEquation_extends_fep020", "source_line": 68, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep152_masterEquation_extends_fep020\n (rates : TwoStateRates) (time : ℝ) (source target : Bool)\n (switching probability : ℝ) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n (fep_fep020.FEP020.fep020_evolve switching probability =\n switching + (1 - 2 * switching) * probability)", "statement_sha256": "d11ad54198d9079e141dbb0761714895bf7678bf0d3a587e083b4852b93a47e7" }, @@ -190302,7 +190302,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep153_continuousDetailedBalance_extends_fep010", "source_line": 84, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep153_continuousDetailedBalance_extends_fep010\n {Native : Type*} [MeasurableSpace Native]\n (rates : TwoStateRates) (time : ℝ) (source target : Bool)\n (nativeLaw : Measure Native) :\n (rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source) ∧\n Kernel.IsReversible (Kernel.id : Kernel Native Native) nativeLaw", "statement_sha256": "2599ed548534fe05db1847c79d054ee58c42ead1bf3d0372e45990b9d7632d0d" }, @@ -190380,7 +190380,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep154_continuousRelaxation_extends_fep020", "source_line": 98, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep154_continuousRelaxation_extends_fep020\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ)\n (switching probability : ℝ) :\n (rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)) ∧\n (fep_fep020.FEP020.fep020_evolve switching probability - 1 / 2 =\n (1 - 2 * switching) * (probability - 1 / 2))", "statement_sha256": "0eef538b352e7190b9c9c0f3af82ea1fa5712493eab98133e624c222e0bbc7f4" }, @@ -190457,7 +190457,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep154_nonstationary_relaxation_supplies_fep155_strict_decay", "source_line": 126, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep154_nonstationary_relaxation_supplies_fep155_strict_decay\n (rates : TwoStateRates) (initial : FiniteLaw Bool)\n (nonstationary : initial true ≠ rates.stationaryTrue) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time ∧\n -2 * rates.decayRate * rates.lyapunov initial time < 0", "statement_sha256": "c3006fd0569c8c4c76a4461a6901c71900eb2407f6532e3857bc9f91a88f72c4" }, @@ -190556,7 +190556,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep155_lyapunovDecay_extends_fep032", "source_line": 111, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep155_lyapunovDecay_extends_fep032\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ)\n {step center state : ℝ} (hStepNonnegative : 0 ≤ step)\n (hStepAtMostTwo : step ≤ 2) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time ∧\n (fep_fep032.FEP032.fep032_quadraticUpdate step center state - center) ^ 2 ≤\n (state - center) ^ 2", "statement_sha256": "12d2e5febb72d3d584da9285f5e7c595d87d480248b5eba0b37fb944fa83660c" }, @@ -190691,7 +190691,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/compositions/efe_policy_selection.lean", "statement": "theorem fep156_boltzmannControlPosterior_extends_fep021_efeBalance\n {Action : Type*} [Fintype Action]\n (prior : FiniteLaw Action) (prior_pos : ∀ policy, 0 < prior policy)\n (γ : ℝ) (hγ : 0 < γ) (cost : Action → ℝ) (Q : FiniteLaw Action)\n {pragmaticCost epistemicValue : ENNReal}\n (hBalance : epistemicValue ≤ pragmaticCost) :\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)) ∧\n (fep_fep021.FEP021.fep021_expectedFreeEnergy pragmaticCost epistemicValue +\n epistemicValue =\n pragmaticCost)", "statement_sha256": "1e598cfb8ea399455add6d673e054f82030dc82c9380ee336644db89e070555d" }, @@ -190860,7 +190860,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/compositions/perception_action_loop.lean", "statement": "theorem fep157_loopInvariant_extends_fep065_controlledKernel\n {Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (support : FullSupport (withInitialState model\n (filteredBelief model belief outcome hEvidence)))\n (controlledTransition : ControlledKernel State Action)\n (controlledAction : Action) (controlledState : State) :\n (-Real.log (model.likelihood.predictive belief outcome) ≤\n perceptionVFE model belief outcome hEvidence belief ∧\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence) ∧\n expectedFreeEnergy\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) =\n risk (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) +\n ambiguity\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence))) ∧\n (∑ nextState, controlledTransition controlledAction controlledState nextState =\n 1)", "statement_sha256": "5e767fc634eaf3c9518336995a63919cea56153d26074b5a4cd460c9023c3ef3" }, @@ -191035,7 +191035,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep158_masked_evidence_supplies_fep117_reduced_odds", "source_line": 46, - "source_owner": "src/fep_lean/formal/compositions/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/compositions/bayesian_model_reduction.lean", "statement": "theorem fep158_masked_evidence_supplies_fep117_reduced_odds\n {Parameter Evidence : Type*} [Fintype Parameter] [Fintype Evidence]\n (prior : FiniteLaw Parameter) (weight : Parameter → ℝ)\n (kernel : FiniteKernel Parameter Evidence) (data : Evidence)\n (hw : ∀ x, 0 ≤ weight x) (hZ : 0 < ∑ x, weight x * prior x)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (favored reference : Parameter) (hwref : 0 < weight reference)\n (hpref : 0 < prior reference) (hlref : 0 < kernel reference data) :\n ∃ hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data,\n FEP.LearningTheory.posteriorOdds (maskedPrior prior weight hw hZ) kernel data hy favored reference =\n ((weight favored * prior favored) / (weight reference * prior reference)) *\n (kernel favored data / kernel reference data)", "statement_sha256": "bc3bdb35c2adb9f51cb57764fa1438c9e307705aa24497e9a3094cae0598e059" }, @@ -191179,7 +191179,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/compositions/bayesian_model_reduction.lean", "statement": "theorem fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound\n {Parameter Evidence : Type*} [Fintype Parameter] [Fintype Evidence]\n (prior : FiniteLaw Parameter) (weight : Parameter → ℝ)\n (kernel : FiniteKernel Parameter Evidence) (data : Evidence)\n (hw1 : ∀ x, weight x ≤ 1)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (certificate : GibbsCertificate Parameter)\n (candidate : FiniteLaw Parameter) :\n (evidenceFreeEnergy (kernel.predictive prior data) ≤\n evidenceFreeEnergy (maskedEvidence prior weight kernel data)) ∧\n (-certificate.logPartition ≤\n gibbsFreeEnergy certificate candidate)", "statement_sha256": "f6874d9a42144af78d37ebf6449ef35700aa5fb1b8c90fd7d856b6cb14b232de" }, @@ -191265,7 +191265,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep159_epistemicGain_extends_fep153_stationary", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/compositions/efe_time_scale_separation.lean", "statement": "theorem fep159_epistemicGain_extends_fep153_stationary\n (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) (time : ℝ) (target : Bool) :\n (finiteKL belief rates.stationaryLaw ≤\n productionRate rates belief / rates.decayRate) ∧\n ((∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target)", "statement_sha256": "4fee79d1881e6003c9ade444c347ad1e461d80e780258914ff6ce0419189cec9" }, @@ -191347,7 +191347,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep160_aoNess_extends_fep025_current", "source_line": 29, - "source_owner": "src/fep_lean/formal/compositions/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/formal/compositions/helmholtz_ao_ness.lean", "statement": "theorem fep160_aoNess_extends_fep025_current\n (generator : FiniteRateGenerator (Fin 3)) (law : FiniteLaw (Fin 3))\n (hSupport : ∀ i, 0 < law i) (hStat : generator.IsStationary law) :\n (∀ i j : Fin 3,\n generator.probabilityCurrent law i j =\n 2 * law i * circulationPart generator.rate law i j) ∧\n (∀ i : Fin 3,\n ∑ j, generator.probabilityCurrent law j i = 0) ∧\n (fep_fep025.FEP025.fep025_cycleCurrent 0 1 ≠ 0)", "statement_sha256": "8b30ead2b4cc6581c8e764b4eccf177904f7c68e559dfab48ab31eae8beb8311" }, @@ -191482,7 +191482,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep161_skewCancellation_extends_fep160_aoNess", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep161_skewCancellation_extends_fep160_aoNess\n {n : ℕ} (Q H : Fin n → Fin n → ℝ) (hQ : SkewSymmetric Q)\n (hH : SymmetricOf H) (g : Fin n → ℝ)\n {rate : Fin n → Fin n → ℝ} {law : FiniteLaw (Fin n)}\n (hSupport : ∀ i, 0 < law i) (i j : Fin n) :\n (traceOf (mulOf Q H) = 0 ∧ dot g (mulVec Q g) = 0) ∧\n (law i * fep_fep160.FEP160.fep160_circulationPart rate law i j =\n -(law j * fep_fep160.FEP160.fep160_circulationPart rate law j i))", "statement_sha256": "224e2d560c5d8ee4319acee3a80871cd1e63a602ab16e25bf2b6ecf3cf857851" }, @@ -191550,7 +191550,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation", "source_line": 42, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep162_clairautSymmetrize_extends_fep161_skewCancellation\n {n : ℕ} (Q H : Fin n → Fin n → ℝ) (hQ : SkewSymmetric Q) :\n (SymmetricOf (FEP.GeometricMechanics.symmetrize H) ∧\n traceOf (mulOf Q (FEP.GeometricMechanics.symmetrize H)) = 0)", "statement_sha256": "2dbc5586c2493f24b766f4c116ad7da303c3b5fdb13218e6d3df6fb9c0ac0e40" }, @@ -191680,7 +191680,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep163_solenoidalExpansion_extends_fep025_current", "source_line": 56, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep163_solenoidalExpansion_extends_fep025_current\n {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hcoup : ∀ i, dlogp i = -g i)\n {stationary : Fin n → ℝ} {transition : Matrix (Fin n) (Fin n) ℝ}\n (hrow : ∀ i, ∑ j, transition i j = 1)\n (hstat : ∀ j, ∑ i, stationary i * transition i j = stationary j)\n (i : Fin n) :\n (FEP.GeometricMechanics.weightedDivergence Q H DQ g dlogp\n = FEP.GeometricMechanics.traceOf (FEP.GeometricMechanics.mulOf Q H)\n - FEP.GeometricMechanics.dot g (FEP.GeometricMechanics.mulVec Q g)\n + FEP.GeometricMechanics.dot (FEP.GeometricMechanics.divQ DQ) g) ∧\n (fep_fep025.FEP025.fep025_divergence\n (fep_fep025.FEP025.fep025_transitionCurrent stationary transition) i\n = 0)", "statement_sha256": "0303123125cec0d088ef98845c968be20410691595fa57f2dd4cc8efe5c885c4" }, @@ -191777,7 +191777,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep164_graphCurrent_extends_fep025_current", "source_line": 78, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep164_graphCurrent_extends_fep025_current\n {n : ℕ} (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ) (hQ : SkewSymmetric Q)\n (flow : Matrix (Fin n) (Fin n) ℝ) (i : Fin n) :\n (FEP.GeometricMechanics.nodeDiv (FEP.GeometricMechanics.currentOf Q g) i\n = FEP.GeometricMechanics.mulVec Q g i\n + g i * FEP.GeometricMechanics.rowSum Q i) ∧\n (∀ a b : Fin n,\n fep_fep025.FEP025.fep025_probabilityCurrent flow a b =\n -fep_fep025.FEP025.fep025_probabilityCurrent flow b a)", "statement_sha256": "3e861c73f4eec19265ccb2f9163a2c776425dbded429149f8049e4a6c6c9c625" }, @@ -191813,7 +191813,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep165_necessityWitness_extends_fep025_current", "source_line": 94, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep165_necessityWitness_extends_fep025_current :\n (FEP.GeometricMechanics.nodeDiv\n (FEP.GeometricMechanics.currentOf FEP.GeometricMechanics.witnessQ\n FEP.GeometricMechanics.witnessG) 0\n = 1) ∧\n (fep_fep025.FEP025.fep025_divergence\n fep_fep025.FEP025.fep025_cycleCurrent 0 = 0)", "statement_sha256": "f3a218697ac2229d801ddadfe44001089f6081e4c992d13fb14682724333fb21" }, @@ -191940,7 +191940,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep166_splitUnique_extends_fep160_aoNess", "source_line": 50, - "source_owner": "src/fep_lean/formal/compositions/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/formal/compositions/helmholtz_ao_ness.lean", "statement": "theorem fep166_splitUnique_extends_fep160_aoNess\n {State : Type*} [Fintype State] {rate S A : State → State → ℝ}\n {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i)\n (hS : ∀ i j, law i * S i j = law j * S j i)\n (hA : ∀ i j, law i * A i j = -(law j * A j i))\n (hSum : ∀ i j, rate i j = S i j + A i j) (i j : State) :\n (S = symmetricPart rate law ∧ A = circulationPart rate law) ∧\n (rate i j = symmetricPart rate law i j + circulationPart rate law i j)", "statement_sha256": "efe59b6d3139a58f83ea4a7b71999fb1c55266d9179c884b6b16a76d28a41980" }, @@ -192014,7 +192014,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep167_frobeniusProjection_extends_fep162_clairautSymmetrize", "source_line": 110, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep167_frobeniusProjection_extends_fep162_clairautSymmetrize\n {n : ℕ} (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S) :\n (frobeniusSq (H - S)\n = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)) ∧\n (frobeniusSq (H - symmetrize H) ≤ frobeniusSq (H - S)) ∧\n SymmetricOf (FEP.GeometricMechanics.symmetrize H)", "statement_sha256": "85d1ea9a1f218e1e1059edf15759dcaf72edf15ed644115de3ccadbfb3f81412" }, @@ -192114,7 +192114,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep168_remainderBound_extends_fep163_solenoidalExpansion", "source_line": 125, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep168_remainderBound_extends_fep163_solenoidalExpansion\n {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) (hcoup : ∀ i, dlogp i = -g i) :\n (weightedDivergence Q H DQ g dlogp\n = FEP.GeometricMechanics.traceOf (FEP.GeometricMechanics.mulOf Q H)\n - FEP.GeometricMechanics.dot g (FEP.GeometricMechanics.mulVec Q g)\n + FEP.GeometricMechanics.dot (FEP.GeometricMechanics.divQ DQ) g) ∧\n ((weightedDivergence Q H DQ g dlogp) ^ 2\n ≤ FEP.GeometricMechanics.dot (FEP.GeometricMechanics.divQ DQ)\n (FEP.GeometricMechanics.divQ DQ)\n * FEP.GeometricMechanics.dot g g)", "statement_sha256": "b7b24a6183f32de6c136e738d82daba7b9b00683d69e3c602199195f6fa00507" }, @@ -192183,7 +192183,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep001.FEP001.fep001_variationalGap_eq_zero_iff", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep001_variationalGap_eq_zero_iff\n (approximation posterior : Measure α)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior] :\n fep001_variationalGap approximation posterior = 0 ↔\n approximation = posterior", "statement_sha256": "c102b47647ef8e443a8c99fa83044ae9e5d61d27e2e4cf04334f8aeab7e59728" }, @@ -192279,7 +192279,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep001.FEP001.fep001_variationalUpperBound_eq_iff", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep001_variationalUpperBound_eq_iff\n (approximation posterior : Measure α)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior]\n {surprisal : ENNReal} (hsurprisal : surprisal ≠ ∞) :\n fep001_variationalUpperBound approximation posterior surprisal = surprisal ↔\n approximation = posterior", "statement_sha256": "83d2d174aa3e01c427f597450727adad4c31a05963a067760d31ef4c17491704" }, @@ -192342,7 +192342,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep001.FEP001.fep001_variationalUpperBound_ge", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep001_variationalUpperBound_ge\n (approximation posterior : Measure α) (surprisal : ENNReal) :\n surprisal ≤\n fep001_variationalUpperBound approximation posterior surprisal", "statement_sha256": "4677cf6214d5e8d6fca593ee26e3e10d12b8bfff0e0417d56708248415c8bde5" }, @@ -192417,7 +192417,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_elbo_bound", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_elbo_bound (logEvidence freeEnergy klDiv : ℝ)\n (h_decomp : logEvidence = freeEnergy + klDiv)\n (h_kl_nonneg : 0 ≤ klDiv) :\n freeEnergy ≤ logEvidence", "statement_sha256": "db020ea80f99e8ba43e8ff9bee30a0a116f4cfe1eaa2621991107465268129f5" }, @@ -192508,7 +192508,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_prob_compl", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_prob_compl (μ : Measure α) [IsProbabilityMeasure μ] {s : Set α}\n (hs : MeasurableSet s) (hfin : μ s ≠ ⊤) :\n μ sᶜ = 1 - μ s", "statement_sha256": "cd4963fdc4b74032d43247bf6e59bd3efd9418c8933b732074208fba176abdb6" }, @@ -192569,7 +192569,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_prob_measure_univ", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_prob_measure_univ (μ : Measure α) [IsProbabilityMeasure μ] :\n μ Set.univ = 1", "statement_sha256": "d2ce528fbc2ce407740825166639e8e41d106e803bbf4ebc137d65b99316e41f" }, @@ -192640,7 +192640,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_vfe_exact_at_posterior", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_vfe_exact_at_posterior (posterior : Measure α)\n [SigmaFinite posterior] (surprisal : ENNReal) :\n fep002_variationalFreeEnergy posterior posterior surprisal = surprisal", "statement_sha256": "97e5f161b572f6bb522381cbf33dcaf0bc393eef8b94f2e38ae05470941d8ade" }, @@ -192704,7 +192704,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_vfe_ge_surprisal", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_vfe_ge_surprisal (q posterior : Measure α) (surprisal : ENNReal) :\n surprisal ≤ fep002_variationalFreeEnergy q posterior surprisal", "statement_sha256": "e95e01d2bc68b126578aaf703c13ebb4685cba10353671819f26a2f3c697b214" }, @@ -192763,7 +192763,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_horizon_succ", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_horizon_succ\n (discount : ENNReal) (stageCost : ℕ → ENNReal) (horizon : ℕ) :\n fep003_pragmaticCost discount stageCost horizon ≤\n fep003_pragmaticCost discount stageCost (horizon + 1)", "statement_sha256": "8ccd558a076362372669eeb79acc45a5cc06179838ca6a4cdba8e18551325578" }, @@ -192826,7 +192826,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_mono", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_mono\n (discount : ENNReal) {cost₁ cost₂ : ℕ → ENNReal}\n (hcost : ∀ t, cost₁ t ≤ cost₂ t) (horizon : ℕ) :\n fep003_pragmaticCost discount cost₁ horizon ≤\n fep003_pragmaticCost discount cost₂ horizon", "statement_sha256": "8584a4b91ef7561ec8f7443e52d4dba489fb7396672b2f07307d815e60530e8f" }, @@ -192878,7 +192878,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_succ", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_succ\n (discount : ENNReal) (stageCost : ℕ → ENNReal) (horizon : ℕ) :\n fep003_pragmaticCost discount stageCost (horizon + 1) =\n fep003_pragmaticCost discount stageCost horizon +\n discount ^ horizon * stageCost horizon", "statement_sha256": "ac4b0c6a93d8cf5efaba86bb31bb85f00bddbb4146a534d0bb524d7d39e4d411" }, @@ -192920,7 +192920,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_zero", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_zero\n (discount : ENNReal) (stageCost : ℕ → ENNReal) :\n fep003_pragmaticCost discount stageCost 0 = 0", "statement_sha256": "4f140e9625cf2711d487d03be79f37605b611ed04f43955b8d6aef9f3b97157f" }, @@ -192982,7 +192982,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep004_fisherMetric_eq_zero_iff {ι : Type*} [Fintype ι]\n (information v : ι → ℝ) (hinformation : ∀ i, 0 < information i) :\n fep004_fisherMetric information v v = 0 ↔ ∀ i, v i = 0", "statement_sha256": "e6a524204301e666d9ede4a615465fd3088b32289014bca59189bc62dc7e1c79" }, @@ -193044,7 +193044,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep004.FEP004.fep004_fisherMetric_nonneg", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep004_fisherMetric_nonneg {ι : Type*} [Fintype ι]\n (information v : ι → ℝ) (hinformation : ∀ i, 0 ≤ information i) :\n 0 ≤ fep004_fisherMetric information v v", "statement_sha256": "482161255cf2e642f82fcc0d6f6552b67b48e11b392f9d234b5a4c3b45147548" }, @@ -193097,7 +193097,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep004.FEP004.fep004_fisherMetric_symm", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep004_fisherMetric_symm {ι : Type*} [Fintype ι]\n (information u v : ι → ℝ) :\n fep004_fisherMetric information u v =\n fep004_fisherMetric information v u", "statement_sha256": "2387918709d4eaa9574f6465bdf429c54d271556dbcddac7a80afb8abaa14e04" }, @@ -193151,7 +193151,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_disjoint", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_disjoint (assign : Fin 20 → BlkPart) (i j : BlkPart) (hij : i ≠ j) :\n Disjoint (fep005_partitionCover assign i) (fep005_partitionCover assign j)", "statement_sha256": "1d6d8abdd8ae1d5aa3a0b9c40268a8a0f0afe2d4628c6a29c616037591b4e553" }, @@ -193201,7 +193201,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_existsUnique_block", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_existsUnique_block (assign : Fin 20 → BlkPart) (s : Fin 20) :\n ∃! k : BlkPart, s ∈ fep005_partitionCover assign k", "statement_sha256": "e301d3df168a1394c8083808987bcfb18a277b6df6971c6f088d2842dbbc4051" }, @@ -193254,7 +193254,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_mem_iff", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_mem_iff (assign : Fin 20 → BlkPart) (s : Fin 20) (k : BlkPart) :\n s ∈ fep005_partitionCover assign k ↔ assign s = k", "statement_sha256": "fc549ae30574276626b54dc5d8faba1907ec41777ece60abac3cf31ce7dfd125" }, @@ -193287,7 +193287,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_total_cover", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_total_cover (assign : Fin 20 → BlkPart) :\n ∀ s : Fin 20, ∃ k : BlkPart, s ∈ fep005_partitionCover assign k", "statement_sha256": "d51ebac3eab6d3000639abee2af6f66ca3c323fa2d651053727be43fb03d7b19" }, @@ -193353,7 +193353,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_add", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_add (step : α → α) (m n : ℕ) (state : α) :\n fep006_iterateFlow step (m + n) state =\n fep006_iterateFlow step m (fep006_iterateFlow step n state)", "statement_sha256": "2e251f5a4666144a9c2843a6d226db497856836266d2d8a0730885be5ea13f89" }, @@ -193428,7 +193428,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_fixed", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_fixed\n (step : α → α) {state : α} (hfixed : Function.IsFixedPt step state)\n (time : ℕ) :\n fep006_iterateFlow step time state = state", "statement_sha256": "2c095b1b38929419af7f2a8eecb4482b32273982e71614d0f4353c7e9ec15dab" }, @@ -193501,7 +193501,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_measurable", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_measurable\n [MeasurableSpace α] {step : α → α} (hstep : Measurable step) (time : ℕ) :\n Measurable (fep006_iterateFlow step time)", "statement_sha256": "a7b6dabfe4c1e04a796c36b4ba2efd91b9f2bca53829219d80b438bb714e10e1" }, @@ -193546,7 +193546,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_zero", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_zero (step : α → α) :\n fep006_iterateFlow step 0 = id", "statement_sha256": "490866fac82f68c500525ab61e38dc2fdff955d12fdf86f8112833852a65e5cb" }, @@ -193611,7 +193611,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_factorProduct_nonneg", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_factorProduct_nonneg (ψ : Node → Node → ℝ) (i j : Node)\n (hψ : 0 ≤ ψ i j) (hj : 0 ≤ ψ j i) : 0 ≤ ψ i j * ψ j i", "statement_sha256": "ca3b9a77d4ae9a6cdc9fd551a9e9981dacd9c56e9b89355a203977dc7a6c1ecb" }, @@ -193705,7 +193705,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_messageNormalizer_pos", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_messageNormalizer_pos\n (ψ : Node → Node → ℝ) (incoming : Node → ℝ)\n (neighbors : Finset Node) (i : Node)\n (hne : neighbors.Nonempty)\n (hψ : ∀ j ∈ neighbors, 0 < ψ i j)\n (hincoming : ∀ j ∈ neighbors, 0 < incoming j) :\n 0 < fep007_messageNormalizer ψ incoming neighbors i", "statement_sha256": "5e6a1c01b9818f345183a64872c4935bde36869eb2ba1e213dfb9765236e0b4a" }, @@ -193790,7 +193790,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_message_agg_mono", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_message_agg_mono (ψ : Node → Node → ℝ) (m₁ m₂ : Node → ℝ)\n (N : Finset Node) (i : Node)\n (hψ : ∀ j, 0 ≤ ψ i j) (h : ∀ j ∈ N, m₁ j ≤ m₂ j) :\n ∑ j ∈ N, ψ i j * m₁ j ≤ ∑ j ∈ N, ψ i j * m₂ j", "statement_sha256": "2b22ed42c126920135c2133464cc303cc09602a8f9b7a2f148505f967dca3911" }, @@ -193874,7 +193874,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_message_agg_nonneg", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_message_agg_nonneg (ψ : Node → Node → ℝ) (msg : Node → ℝ)\n (N : Finset Node) (i : Node)\n (hψ : ∀ j, 0 ≤ ψ i j) (hm : ∀ j, 0 ≤ msg j) :\n 0 ≤ ∑ j ∈ N, ψ i j * msg j", "statement_sha256": "2e14323c1c0e6d543289ed40208fa5d7654d14dda41329702388be5036e6cebb" }, @@ -193976,7 +193976,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_normalizedMessage_nonneg", "source_line": 73, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_normalizedMessage_nonneg\n (ψ : Node → Node → ℝ) (incoming : Node → ℝ)\n (neighbors : Finset Node) (i j : Node)\n (hne : neighbors.Nonempty)\n (hψ : ∀ k ∈ neighbors, 0 < ψ i k)\n (hincoming : ∀ k ∈ neighbors, 0 < incoming k) :\n 0 ≤ fep007_normalizedMessage ψ incoming neighbors i j", "statement_sha256": "f5fe2098410f7165bfdc2a7ab29d430b5ec82edec6d042c98d5cac9266e16cbb" }, @@ -194077,7 +194077,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_normalizedMessage_sum_one", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_normalizedMessage_sum_one\n (ψ : Node → Node → ℝ) (incoming : Node → ℝ)\n (neighbors : Finset Node) (i : Node)\n (hne : neighbors.Nonempty)\n (hψ : ∀ j ∈ neighbors, 0 < ψ i j)\n (hincoming : ∀ j ∈ neighbors, 0 < incoming j) :\n ∑ j ∈ neighbors,\n fep007_normalizedMessage ψ incoming neighbors i j = 1", "statement_sha256": "1671525aef941319d36be131abac89402984d450d9316b43bd93b20dcc591ad8" }, @@ -194131,7 +194131,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_zero_msg", "source_line": 34, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_zero_msg (ψ : Node → Node → ℝ) (N : Finset Node) (i : Node) :\n ∑ j ∈ N, ψ i j * (0 : ℝ) = 0", "statement_sha256": "cf7a905f1769cddacf87297ba97c6f3140ffcec24ce60ad22c9637f9295e1402" }, @@ -194185,7 +194185,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_exists_maxG", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_exists_maxG (policies : Finset Policy) (hne : policies.Nonempty) (G : Policy → ℝ) :\n ∃ p ∈ policies, ∀ p' ∈ policies, G p' ≤ G p", "statement_sha256": "aec4f41843e88420f676bcb9ddbb7579d9dd8ae71b0dd9c7f90621b93a4e2ce1" }, @@ -194239,7 +194239,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_exists_minG", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_exists_minG (policies : Finset Policy) (hne : policies.Nonempty) (G : Policy → ℝ) :\n ∃ p ∈ policies, ∀ p' ∈ policies, G p ≤ G p'", "statement_sha256": "cb1cab225b8cd31b35013e6d54ab674ede6955975d4ee6f5ae80eeaa5db3c32a" }, @@ -194344,7 +194344,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_min_agrees_on_value", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_min_agrees_on_value (policies : Finset Policy) (_hne : policies.Nonempty) (G : Policy → ℝ)\n (p p' : Policy) (hp : p ∈ policies) (hp' : p' ∈ policies)\n (hmin : ∀ p'' ∈ policies, G p ≤ G p'') (hmin' : ∀ p'' ∈ policies, G p' ≤ G p'') :\n G p = G p'", "statement_sha256": "eecbf588e2ed12d71745bf9230e39175da69f0f83ed4155d50aa1a1e038d6836" }, @@ -194418,7 +194418,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_min_is_lb", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_min_is_lb (policies : Finset Policy) (G : Policy → ℝ)\n (p : Policy) (_hp : p ∈ policies)\n (hmin : ∀ p' ∈ policies, G p ≤ G p') :\n ∀ p' ∈ policies, G p ≤ G p'", "statement_sha256": "29f7645a78cab5319fab8e684f1246aeb4e8a43ccfc568e7c068aff3e4fab380" }, @@ -194509,7 +194509,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_condIndep_bot_right", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_condIndep_bot_right\n (m' m₁ : MeasurableSpace Ω) (hm' : m' ≤ mΩ)\n (μ : @Measure Ω mΩ) [IsFiniteMeasure μ] :\n CondIndep m' m₁ ⊥ hm' μ", "statement_sha256": "aac07e4e052be6eb37ff68848f306a7e9160f84a2d39fb8a69e04ac3097d7859" }, @@ -194611,7 +194611,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_condIndep_symm", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_condIndep_symm\n (m' m₁ m₂ : MeasurableSpace Ω) (hm' : m' ≤ mΩ)\n (μ : @Measure Ω mΩ) [IsFiniteMeasure μ]\n (h : CondIndep m' m₁ m₂ hm' μ) :\n CondIndep m' m₂ m₁ hm' μ", "statement_sha256": "bc5adce9c7bf4f6311d4034b78fd2a10176525c43b705de0a5d089327df4dd7f" }, @@ -194701,7 +194701,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_empty_zero", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_empty_zero (μ : Measure α) : μ ∅ = 0", "statement_sha256": "9edb5d642193cd237e036a77c05e6b1fd0373e2962e3c82192c8e8d2ce9b52e0" }, @@ -194821,7 +194821,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_joint_product_nonneg", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_joint_product_nonneg (μ : Measure α) (ν : Measure β) (s : Set α) (t : Set β) :\n 0 ≤ μ s * ν t", "statement_sha256": "6789b905ba56ebaaf4f0d4366f7b83d3b2d21783efefbede40af248c1106f7fb" }, @@ -194932,7 +194932,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_likelihood_mono", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_likelihood_mono {μ : Measure α} {s t : Set α} (h : s ⊆ t) :\n μ s ≤ μ t", "statement_sha256": "42e73b3a15f9d19459834b2d0eaa8630dd87710969291c9cb13c7f250d5063b0" }, @@ -195052,7 +195052,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_map_nonneg", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_map_nonneg (μ : Measure α) {f : α → β} (_hf : Measurable f) (s : Set β) :\n 0 ≤ μ.map f s", "statement_sha256": "8c57c68c87ea957b390373b6cbdad4d50fde700c67f18b5c1c04d522e1e1fb8c" }, @@ -195153,7 +195153,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_union_le", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_union_le (μ : Measure α) (s t : Set α) :\n μ (s ∪ t) ≤ μ s + μ t", "statement_sha256": "7a70c3ec6b06e341f76dc75eb5d98c46751a59da6a69dceeeb870ec07218f0d2" }, @@ -195218,7 +195218,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_identity_invariant", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_identity_invariant (π : Measure α) :\n Kernel.Invariant (Kernel.id : Kernel α α) π", "statement_sha256": "7666786e7efc4f909127d46ff8666a705256e3f50af4ab8fcbc3ad552165151d" }, @@ -195270,7 +195270,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_identity_reversible", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_identity_reversible (π : Measure α) :\n Kernel.IsReversible (Kernel.id : Kernel α α) π", "statement_sha256": "6cbce932e69063b6bcc205b2d78e05dc5551db5cc647562608679c5c479bff8f" }, @@ -195353,7 +195353,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_invariant_comp", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_invariant_comp (κ η : Kernel α α) (π : Measure α)\n (hκ : Kernel.Invariant κ π) (hη : Kernel.Invariant η π) :\n Kernel.Invariant (κ ∘ₖ η) π", "statement_sha256": "7a56b9aaed29f22b2736241f2675d025f4b2595cfd0018ba1f724c6511d1c3ca" }, @@ -195425,7 +195425,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_invariant_def", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_invariant_def (κ : Kernel α α) (π : Measure α)\n (hinv : Kernel.Invariant κ π) :\n π.bind κ = π", "statement_sha256": "10cf267bba9d5747b43c60d7101f11ff6e02e41f621495f932324ecf6a364766" }, @@ -195505,7 +195505,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_reversible_invariant", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_reversible_invariant (κ : Kernel α α) (π : Measure α)\n [IsMarkovKernel κ] (hrev : Kernel.IsReversible κ π) :\n Kernel.Invariant κ π", "statement_sha256": "a38367c979919df2d77b454fba7180f48afb6a2b29aba6c6b73107905fff5eac" }, @@ -195546,7 +195546,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_log_nonneg_on_ge_one", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_log_nonneg_on_ge_one {x : ℝ} (hx : 1 ≤ x) : 0 ≤ Real.log x", "statement_sha256": "b5be70097274b200c08180c6a7cf3dd17385b3f69267d7308b594bc1ecb929b0" }, @@ -195598,7 +195598,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_additive", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_additive {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n fep011_surprise (a * b) = fep011_surprise a + fep011_surprise b", "statement_sha256": "a72604951ec2bea59c882475ff576a14f68393235b232a705f892702b6be0c2e" }, @@ -195618,7 +195618,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_cert", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_cert : fep011_surprise 1 = 0", "statement_sha256": "3a901bc65b35a4503aa98a631d45c30a16b8ac42f3c31efe85134c5799e6647e" }, @@ -195666,7 +195666,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_eq_zero_iff", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_eq_zero_iff {p : ℝ} (hp : 0 < p) :\n fep011_surprise p = 0 ↔ p = 1", "statement_sha256": "8564076d5cb9efe4ca3e9bf67a9189d51f75e91d174c73d9582f6edd6858f19b" }, @@ -195718,7 +195718,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_mono", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_mono {p q : ℝ} (hp : 0 < p) (h : p ≤ q) :\n fep011_surprise q ≤ fep011_surprise p", "statement_sha256": "1adbcf1602f54ce957a4af76a1d6cdd8ab81ef319881aa59d1adb4b50f1528b1" }, @@ -195769,7 +195769,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_nonneg", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_nonneg {u : ℝ} (hu : 0 < u) (hu1 : u ≤ 1) :\n 0 ≤ fep011_surprise u", "statement_sha256": "af52f9d07a24ba4484563d35c78bec81a371d16797ca35dfaf61d30b31d61ff0" }, @@ -195821,7 +195821,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_strictAnti", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_strictAnti {p q : ℝ} (hp : 0 < p) (hpq : p < q) :\n fep011_surprise q < fep011_surprise p", "statement_sha256": "7ff02a81e0d8f369097324110248459a9915bd435db7f17867f92461150d11a5" }, @@ -195893,7 +195893,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_entropyRegularizedCost_le_expectedCost\n (q cost : Policy → ℝ) (τ : ℝ)\n (hτ : 0 ≤ τ) (hq : ∀ p, q p ∈ Set.Icc (0 : ℝ) 1) :\n fep012_entropyRegularizedCost q cost τ ≤ fep012_expectedCost q cost", "statement_sha256": "882d58a6cc3083475f4dac35215496c799a69e6451d773914c49d7ed3f594b4e" }, @@ -195928,7 +195928,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_entropyRegularizedCost_zeroTemperature", "source_line": 51, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_entropyRegularizedCost_zeroTemperature\n (q cost : Policy → ℝ) :\n fep012_entropyRegularizedCost q cost 0 = fep012_expectedCost q cost", "statement_sha256": "6c3c291f36999ada63d84cfe4d1b8b4f97f5c28b5dd397a8a98c4115caad7022" }, @@ -195972,7 +195972,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_gibbsPartition_nonneg", "source_line": 57, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_gibbsPartition_nonneg (G : Policy → ℝ) (s : Finset Policy) :\n 0 ≤ ∑ p ∈ s, Real.exp (-G p)", "statement_sha256": "63d5b7a70c9eb822a31254ca0f04f1c60c4f1db6f22694e01adb375175aed884" }, @@ -196026,7 +196026,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_gibbsPartition_pos", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_gibbsPartition_pos (G : Policy → ℝ) (s : Finset Policy) (hne : s.Nonempty) :\n 0 < ∑ p ∈ s, Real.exp (-G p)", "statement_sha256": "f8b57651e5252944386bc0d6b0b9aa8ff255403c9ada29760113912ad5e3c7f5" }, @@ -196081,7 +196081,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_gibbs_mono", "source_line": 67, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_gibbs_mono (G₁ G₂ : Policy) (G : Policy → ℝ) (h : G G₁ ≤ G G₂) :\n Real.exp (-G G₂) ≤ Real.exp (-G G₁)", "statement_sha256": "167f120b561961db2a92a070b492b2e6194979a3d046874b088c98e26c51fe9a" }, @@ -196125,7 +196125,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_policyEntropy_nonneg", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_policyEntropy_nonneg (q : Policy → ℝ)\n (hq : ∀ p, q p ∈ Set.Icc (0 : ℝ) 1) :\n 0 ≤ fep012_policyEntropy q", "statement_sha256": "5f2b090f422d3ef38d6732c882b447caa6c53e30bebb762f8046fc98c212fc7a" }, @@ -196159,7 +196159,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_policyEntropy_pointMass", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_policyEntropy_pointMass (chosen : Policy) :\n fep012_policyEntropy (fun p => if p = chosen then 1 else 0) = 0", "statement_sha256": "1bc6736216c9a7d2ae8a8c81a723459945357a1e0fd03c8be6f0e54e95b79e11" }, @@ -196198,7 +196198,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_delta_F", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_delta_F (U₁ U₂ T S₁ S₂ : ℝ) :\n fep013_helmholtz U₂ T S₂ - fep013_helmholtz U₁ T S₁ = (U₂ - U₁) - T * (S₂ - S₁)", "statement_sha256": "7149d5ee7aae5722bae3c2179aea8222ab949b3631cbaf1babb56b62502f3a6b" }, @@ -196234,7 +196234,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_at_zero_temp", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_at_zero_temp (U S : ℝ) : fep013_helmholtz U 0 S = U", "statement_sha256": "fc1a64572320ff00081e3428d27e85e8dfc79c89989b90a5cd2222bbab7e9a98" }, @@ -196319,7 +196319,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_derivative_eq_neg_entropy\n {U S : ℝ → ℝ} {U' S' T : ℝ}\n (hU : HasDerivAt U U' T) (hS : HasDerivAt S S' T)\n (hfirstLaw : U' = T * S') :\n HasDerivAt (fun t => fep013_helmholtz (U t) t (S t)) (-S T) T", "statement_sha256": "ab2adb496858aed3ae648e7cb8403cb84287cd62e6e15e556ad372e7c2a982ea" }, @@ -196387,7 +196387,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_hasDerivAt", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_hasDerivAt\n {U S : ℝ → ℝ} {U' S' T : ℝ}\n (hU : HasDerivAt U U' T) (hS : HasDerivAt S S' T) :\n HasDerivAt (fun t => fep013_helmholtz (U t) t (S t))\n (U' - (S T + T * S')) T", "statement_sha256": "ffd3d76c1141e399198a52a434feef7fcd8bc3ce79f5c235b59f1cecdfb2a605" }, @@ -196435,7 +196435,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_mono_U", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_mono_U (U₁ U₂ T S : ℝ) (h : U₁ ≤ U₂) :\n fep013_helmholtz U₁ T S ≤ fep013_helmholtz U₂ T S", "statement_sha256": "39e17a837dd2c57b8dcd5bba4a05fb416a18d00925499b423ff85e3c5e36cb78" }, @@ -196502,7 +196502,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_mono_entropy", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_mono_entropy (U T : ℝ) (S₁ S₂ : ℝ) (hT : 0 < T) (h : S₁ ≤ S₂) :\n fep013_helmholtz U T S₂ ≤ fep013_helmholtz U T S₁", "statement_sha256": "5a82158088304de617089a2f178ce0215ef032667a09fc8841399df7054c505d" }, @@ -196617,7 +196617,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_chain_rule", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_chain_rule (μ ν : Measure α) (κ η : Kernel α β)\n [IsFiniteMeasure μ] [IsFiniteMeasure ν]\n [IsMarkovKernel κ] [IsMarkovKernel η] :\n InformationTheory.klDiv (μ ⊗ₘ κ) (ν ⊗ₘ η) =\n InformationTheory.klDiv μ ν +\n InformationTheory.klDiv (μ ⊗ₘ κ) (μ ⊗ₘ η)", "statement_sha256": "21969566091dad4228853573b68000098b7f09e09acc9979d7c1922fa8bbd78f" }, @@ -196686,7 +196686,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_eq_zero_iff", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_eq_zero_iff (μ ν : Measure α)\n [IsFiniteMeasure μ] [IsFiniteMeasure ν] :\n InformationTheory.klDiv μ ν = 0 ↔ μ = ν", "statement_sha256": "e6ae048d0e591874cf8022fe5ac59c993e22104a1168728dcdcf642ddfea2604" }, @@ -196739,7 +196739,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_nonneg", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_nonneg (μ ν : Measure α) :\n 0 ≤ InformationTheory.klDiv μ ν", "statement_sha256": "02a1f0cfb1273a022df57ce4c8fbdb0e9386a6f68ef98306f8ecccd2ed066be5" }, @@ -196799,7 +196799,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_self", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_self (μ : Measure α) [SigmaFinite μ] :\n InformationTheory.klDiv μ μ = 0", "statement_sha256": "4f43be26972138d270a03033cbf290f8b79f121a3236dc1f7fab2ca7bd0641af" }, @@ -196900,7 +196900,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep015.FEP015.fep015_variationalIntegrand_add_const_measurable", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep015_variationalIntegrand_add_const_measurable\n {energy logApproximation logGenerative : α → ℝ}\n (henergy : Measurable energy)\n (happroximation : Measurable logApproximation)\n (hgenerative : Measurable logGenerative) (baseline : ℝ) :\n Measurable (fun state =>\n fep015_variationalIntegrand energy logApproximation logGenerative state +\n baseline)", "statement_sha256": "6a830ea3e9ff95896a81c6048272e994c3904c5bd497193940af7126b171c433" }, @@ -197029,7 +197029,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep015.FEP015.fep015_variationalIntegrand_comp_measurable", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep015_variationalIntegrand_comp_measurable\n {β : Type*} [MeasurableSpace β]\n {energy logApproximation logGenerative : α → ℝ}\n {reparameterize : β → α}\n (henergy : Measurable energy)\n (happroximation : Measurable logApproximation)\n (hgenerative : Measurable logGenerative)\n (hreparameterize : Measurable reparameterize) :\n Measurable\n (fep015_variationalIntegrand energy logApproximation logGenerative ∘\n reparameterize)", "statement_sha256": "57c234c31fbd4d7ff28294506d227c2e4322ad60a798d0953c600de76e1eab62" }, @@ -197113,7 +197113,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep015.FEP015.fep015_variationalIntegrand_measurable", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep015_variationalIntegrand_measurable\n {energy logApproximation logGenerative : α → ℝ}\n (henergy : Measurable energy)\n (happroximation : Measurable logApproximation)\n (hgenerative : Measurable logGenerative) :\n Measurable\n (fep015_variationalIntegrand energy logApproximation logGenerative)", "statement_sha256": "5338152efc2f76fc6815a88f002d0fb350fd4b1d0ae8eb0642eb7aa21d2df606" }, @@ -197154,7 +197154,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_laplaceKernel_integrable", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_laplaceKernel_integrable\n {precision : ℝ} (hprecision : 0 < precision) :\n MeasureTheory.Integrable (fep016_laplaceKernel precision)", "statement_sha256": "28a558ee189d4acd7d867fb67721b48cb5a9ad9c691b519dd1b0bfcc7fb7a572" }, @@ -197202,7 +197202,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_laplaceKernel_integral", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_laplaceKernel_integral\n {precision : ℝ} (hprecision : 0 < precision) :\n (∫ x : ℝ, fep016_laplaceKernel precision x) =\n Real.sqrt (Real.pi / (precision / 2))", "statement_sha256": "74a4a09fd65f75f60d189a3cb4781b809bf31ad6c3adb805627fd45f05ffb7d0" }, @@ -197245,7 +197245,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_precision_weighted", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_precision_weighted (prec x μ : ℝ) (hp : 0 ≤ prec) :\n 0 ≤ prec * (x - μ) ^ 2", "statement_sha256": "7327fd388ae4acc4d82dc1a5502d6d9d0d17e2b0e9a454d931617d25510458fb" }, @@ -197276,7 +197276,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_at_mode", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_at_mode (μ : ℝ) : (μ - μ) ^ 2 = 0", "statement_sha256": "eb07a3821f0ffb6160a8a9760d12d495a25baf8ac03682ec492e4a1a57fe207e" }, @@ -197308,7 +197308,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_expand", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_expand (x μ : ℝ) :\n (x - μ) ^ 2 = x ^ 2 - 2 * μ * x + μ ^ 2", "statement_sha256": "e7203d4c4590996d507597e858e71c487e602e850b7b55c64e7c09d63854d551" }, @@ -197339,7 +197339,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_min", "source_line": 6, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_min (x : ℝ) : 0 ≤ x ^ 2", "statement_sha256": "6933f3766380150d7ca92470ac94f102ec26d07e3c403b664e21a0683df9c75c" }, @@ -197371,7 +197371,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_sym", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_sym (x μ : ℝ) : (x - μ) ^ 2 = (μ - x) ^ 2", "statement_sha256": "4ddd8e8515ac0772cfec97b1405868070701922ced49f806d6c76a2a87130b44" }, @@ -197498,7 +197498,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_bayes_density", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_bayes_density\n [Countable Ω] [StandardBorelSpace Ω] [Nonempty Ω]\n [StandardBorelSpace 𝓧] [Nonempty 𝓧]\n (κ : Kernel Ω 𝓧) (μ : Measure Ω) [IsFiniteMeasure μ] [IsFiniteKernel κ] :\n ∀ᵐ x ∂(κ ∘ₘ μ),\n fep017_posterior κ μ x =\n μ.withDensity (fun ω ↦ (κ ω).rnDeriv (κ ∘ₘ μ) x)", "statement_sha256": "169cb8effd7a1bf2625e2bd1ae416ca1ba1aa111ae861c14c4565d87a630bf10" }, @@ -197601,7 +197601,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_joint_reconstruction", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_joint_reconstruction\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel κ] :\n (κ ∘ₘ μ) ⊗ₘ fep017_posterior κ μ = (μ ⊗ₘ κ).map Prod.swap", "statement_sha256": "98d008210ab0bfc3b28e0e2ce3f17f731ca0371d30f0c3da808c1896232f0294" }, @@ -197714,7 +197714,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_mass_one", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_mass_one\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel κ]\n (x : 𝓧) :\n fep017_posterior κ μ x Set.univ = 1", "statement_sha256": "8c8d364150dad52d0a5a0cd12c7ba8949e8be092f582c83e82bc5ff5a829dff2" }, @@ -197817,7 +197817,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_recovers_prior", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_recovers_prior\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsMarkovKernel κ] :\n fep017_posterior κ μ ∘ₘ κ ∘ₘ μ = μ", "statement_sha256": "4c24d332fcc2f674c76b47fcf7cdf89b2ed4480bfedc9be5b1e70608f35e29a5" }, @@ -197872,7 +197872,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_eq_zero_iff", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_eq_zero_iff\n {p q : ℝ} (hp : p ∈ Set.Icc (0 : ℝ) 1) (hq : q ∈ Set.Icc (0 : ℝ) 1) :\n fep018_fisherRaoDistance p q = 0 ↔ p = q", "statement_sha256": "5797f41428eb3b76fa381501d77d768715c2b599471b529626b6b6865078b731" }, @@ -197907,7 +197907,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_nonneg", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_nonneg (p q : ℝ) :\n 0 ≤ fep018_fisherRaoDistance p q", "statement_sha256": "6fb79c4b1c42ea9343559552b7b4dbe541e26c5b450b5f8d290e09ba4950db26" }, @@ -197942,7 +197942,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_symm", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_symm (p q : ℝ) :\n fep018_fisherRaoDistance p q = fep018_fisherRaoDistance q p", "statement_sha256": "ebc6e1679960dfc52109b81b89b8a208bfb21bc2f0c902e088bf6e297a4e695b" }, @@ -197978,7 +197978,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_triangle", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_triangle (p q r : ℝ) :\n fep018_fisherRaoDistance p r ≤\n fep018_fisherRaoDistance p q + fep018_fisherRaoDistance q r", "statement_sha256": "eafb9a9b28c4acbff6dcf6bcb46e2d94ea8584f4c15350bb71668b95ae2d3f46" }, @@ -198069,7 +198069,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep019.FEP019.fep019_priorPredictive_assoc", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep019_priorPredictive_assoc\n (κ : Kernel Ω 𝓧) (η : Kernel 𝓧 𝓨) (μ : Measure Ω) :\n η ∘ₘ fep019_priorPredictive κ μ =\n fep019_priorPredictive (η ∘ₖ κ) μ", "statement_sha256": "9096a12c54c1851213746b784002d8a980eb3de206602b80408b7025fc4cac9d" }, @@ -198158,7 +198158,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep019.FEP019.fep019_priorPredictive_mass", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep019_priorPredictive_mass\n (κ : Kernel Ω 𝓧) (μ : Measure Ω) [IsMarkovKernel κ] :\n fep019_priorPredictive κ μ Set.univ = μ Set.univ", "statement_sha256": "bf35f10bfb5954ef8f60e7bd0a8fdc2fbf6fd8bc4ac1abd218434fa9517d2849" }, @@ -198255,7 +198255,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep019.FEP019.fep019_priorPredictive_mass_one", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep019_priorPredictive_mass_one\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [IsProbabilityMeasure μ] [IsMarkovKernel κ] :\n fep019_priorPredictive κ μ Set.univ = 1", "statement_sha256": "c4ced010d8e364853f22c7c5ed656127d74a1f1d60db3080ab45438acdfc4a90" }, @@ -198298,7 +198298,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_deviation_step", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_deviation_step (α p : ℝ) :\n fep020_evolve α p - 1 / 2 = (1 - 2 * α) * (p - 1 / 2)", "statement_sha256": "b803d763810b98307b6da4d9f63cb29ddcc7e19dd3f12991331f8e5e2e9a3a84" }, @@ -198334,7 +198334,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_evolve_affine", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_evolve_affine (α p : ℝ) :\n fep020_evolve α p = α + (1 - 2 * α) * p", "statement_sha256": "21241ee2bc4576d664d00bfffbeb1f43668341ce066ada1c559fac0ef016bf5a" }, @@ -198387,7 +198387,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_iterate_deviation", "source_line": 51, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_iterate_deviation (α p : ℝ) (n : ℕ) :\n ((fep020_evolve α)^[n]) p - 1 / 2 =\n (1 - 2 * α) ^ n * (p - 1 / 2)", "statement_sha256": "aa1369acb4e8acb9f56ffdb252ef199fd090da156348872ad1aa15bcae0be4ae" }, @@ -198459,7 +198459,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_tendsto_uniform", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_tendsto_uniform\n {α : ℝ} (hα0 : 0 < α) (hα1 : α < 1) (p : ℝ) :\n Filter.Tendsto (fun n => ((fep020_evolve α)^[n]) p)\n Filter.atTop (nhds (1 / 2 : ℝ))", "statement_sha256": "ea9b253ed3e0487b52718633214d3e8591d4e0c20dd02051433da426e083ca2a" }, @@ -198525,7 +198525,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_transition_nonneg", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_transition_nonneg\n {α : ℝ} (hα0 : 0 ≤ α) (hα1 : α ≤ 1) (source target : Bool) :\n 0 ≤ fep020_transition α source target", "statement_sha256": "1afa475daf8b0ff28a264e9c0c390d56a5be1d0bc6cc3430c56084f5c8963b5c" }, @@ -198570,7 +198570,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_transition_sum_one", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_transition_sum_one (α : ℝ) (source : Bool) :\n ∑ target : Bool, fep020_transition α source target = 1", "statement_sha256": "63d4097e740efbbe05e6de5f10c91a768d79d4058aa5283ee682d2d4039fc511" }, @@ -198612,7 +198612,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_uniform_stationary", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_uniform_stationary (α : ℝ) :\n fep020_evolve α (1 / 2 : ℝ) = 1 / 2", "statement_sha256": "fd8fae96849d425861735909b4490f07dc6db131f3abddf0dff883422e6b34d0" }, @@ -198655,7 +198655,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_antitone_epistemic", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_antitone_epistemic\n {pragmaticCost epistemic₁ epistemic₂ : ENNReal}\n (hepistemic : epistemic₁ ≤ epistemic₂) :\n fep021_expectedFreeEnergy pragmaticCost epistemic₂ ≤\n fep021_expectedFreeEnergy pragmaticCost epistemic₁", "statement_sha256": "f0ea4dd8aec89b53649158020ef44560e6bcf8f1e09bfe630472abebc454ec5f" }, @@ -198697,7 +198697,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_epistemic_balance", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_epistemic_balance\n {pragmaticCost epistemicValue : ENNReal}\n (hvalue : epistemicValue ≤ pragmaticCost) :\n fep021_expectedFreeEnergy pragmaticCost epistemicValue + epistemicValue =\n pragmaticCost", "statement_sha256": "e01503efc6588b941eef1d04ca71dade6171ff361f1e709b36e1dd7e7ff42268" }, @@ -198729,7 +198729,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_eq_zero_iff", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_eq_zero_iff\n (pragmaticCost epistemicValue : ENNReal) :\n fep021_expectedFreeEnergy pragmaticCost epistemicValue = 0 ↔\n pragmaticCost ≤ epistemicValue", "statement_sha256": "05df3a7d4fd1822895fe4a8bfcbc78a1be0f8690ae4208f05172f76ca7509122" }, @@ -198772,7 +198772,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_mono_pragmatic", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_mono_pragmatic\n {pragmatic₁ pragmatic₂ epistemicValue : ENNReal}\n (hpragmatic : pragmatic₁ ≤ pragmatic₂) :\n fep021_expectedFreeEnergy pragmatic₁ epistemicValue ≤\n fep021_expectedFreeEnergy pragmatic₂ epistemicValue", "statement_sha256": "142a67d9575d826eb65f78de0be258af9a2bd557b900d1e226720e36fba02cdd" }, @@ -198804,7 +198804,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_nonneg", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_nonneg (pragmaticCost epistemicValue : ENNReal) :\n 0 ≤ fep021_expectedFreeEnergy pragmaticCost epistemicValue", "statement_sha256": "d4584685e159113207864b4a9f38024f73b5cae78bc49c412bed5fcf80536d39" }, @@ -198878,7 +198878,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_brier_decomposition", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_brier_decomposition (p q : ℝ) :\n fep022_brierScore p q = p * (1 - p) + (q - p) ^ 2", "statement_sha256": "b66386f69496c402330a26779a7c17dd009082ca27edf7b2d51ccb842b6695d5" }, @@ -198959,7 +198959,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_brier_eq_optimum_iff", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_brier_eq_optimum_iff (p q : ℝ) :\n fep022_brierScore p q = p * (1 - p) ↔ q = p", "statement_sha256": "323b7587b11abb8e5e3b000386076a62da101d438585d49df49697c6c50870e3" }, @@ -199068,7 +199068,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_posteriorPredictive_mass_one", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_posteriorPredictive_mass_one\n (posterior : Kernel 𝓒 Ω) (likelihood : Kernel Ω 𝓧)\n [IsMarkovKernel posterior] [IsMarkovKernel likelihood] (c : 𝓒) :\n fep022_posteriorPredictive posterior likelihood c Set.univ = 1", "statement_sha256": "7bde76acf8a27d7965664a93d9b644e9f9378a78296374e9b72ebe62b65e964a" }, @@ -199178,7 +199178,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_predictive_brier_decomposition", "source_line": 53, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_predictive_brier_decomposition\n (posterior : Kernel 𝓒 Ω) (likelihood : Kernel Ω Bool) (c : 𝓒) (p : ℝ) :\n fep022_brierScore p (fep022_predictiveTrueMass posterior likelihood c) =\n p * (1 - p) +\n (fep022_predictiveTrueMass posterior likelihood c - p) ^ 2", "statement_sha256": "05649407bd4f5405b89a8501712aceeb82b65cf60505719a9f9dbb50bfcbfa5e" }, @@ -199261,7 +199261,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_policy_reachable", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_policy_reachable\n (policies : Set Policy) (law : Policy → Measure Outcome)\n {policy : Policy} (hpolicy : policy ∈ policies) :\n law policy ∈ fep023_reachableLaws policies law", "statement_sha256": "cdbe6c09c9c9e71dca7835b0901bda037aa504520369584f4d8bb7e9e6b6b2ea" }, @@ -199314,7 +199314,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_reachable_empty", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_reachable_empty (law : Policy → Measure Outcome) :\n fep023_reachableLaws (∅ : Set Policy) law = ∅", "statement_sha256": "d4738af48d48a3630d3f69710cdd21df5e1b05250f69ed074ef1f3ab8f09b120" }, @@ -199388,7 +199388,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_reachable_mono", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_reachable_mono\n {policies₁ policies₂ : Set Policy} (law : Policy → Measure Outcome)\n (hpolicies : policies₁ ⊆ policies₂) :\n fep023_reachableLaws policies₁ law ⊆\n fep023_reachableLaws policies₂ law", "statement_sha256": "707c48c41f04436accbb622a29830d945e04d274e5bb5068f04561f13d436ace" }, @@ -199481,7 +199481,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_reachable_normalized", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_reachable_normalized\n (policies : Set Policy) (law : Policy → Measure Outcome)\n (hlaw : ∀ policy ∈ policies, law policy Set.univ = 1)\n {μ : Measure Outcome} (hμ : μ ∈ fep023_reachableLaws policies law) :\n μ Set.univ = 1", "statement_sha256": "dad693d336fd1c27b5508f362dcd41738b904647d1a71cd1c1fe77e6779ab703" }, @@ -199552,7 +199552,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_exact", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_exact\n (base weight : ENNReal) (prior : Measure α) [SigmaFinite prior] :\n fep024_klRegularizedObjective base weight prior prior = base", "statement_sha256": "88e181d986953546a2cb889f0701fb7f2e4a4712090d7ba257b686338e03ef6d" }, @@ -199616,7 +199616,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_ge", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_ge\n (base weight : ENNReal) (approximation prior : Measure α) :\n base ≤ fep024_klRegularizedObjective base weight approximation prior", "statement_sha256": "d0294abe077c55b34cdb5ddcad1206fe3be518280a0b4e342575e5fc23115e5f" }, @@ -199700,7 +199700,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_monoWeight", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_monoWeight\n (base : ENNReal) {weight₁ weight₂ : ENNReal}\n (hweight : weight₁ ≤ weight₂) (approximation prior : Measure α) :\n fep024_klRegularizedObjective base weight₁ approximation prior ≤\n fep024_klRegularizedObjective base weight₂ approximation prior", "statement_sha256": "dfdee81098cdb3d1773391e0c38b0a8780890823c7fb69b6ac76021d53a89840" }, @@ -199763,7 +199763,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_zeroWeight", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_zeroWeight\n (base : ENNReal) (approximation prior : Measure α) :\n fep024_klRegularizedObjective base 0 approximation prior = base", "statement_sha256": "fc9215490ff6d9b6efa7e17472bcd658ce16511a93d921c1e2aeac242905c1e9" }, @@ -199789,7 +199789,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleCurrent_nonzero", "source_line": 104, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleCurrent_nonzero : fep025_cycleCurrent 0 1 ≠ 0", "statement_sha256": "a383cb469a34cd61a1540db2c5d343442af1701c6e116206c0a267f59863d33b" }, @@ -199845,7 +199845,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleCurrent_stationary", "source_line": 97, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleCurrent_stationary (i : Fin 3) :\n fep025_divergence fep025_cycleCurrent i = 0", "statement_sha256": "f6fd56c8eb7633711097a7ca302e721ec1605b3bcea45246d79b423435748acc" }, @@ -199882,7 +199882,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleStationary_invariant", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleStationary_invariant (j : Fin 3) :\n ∑ i, fep025_cycleStationary i * fep025_cycleTransition i j =\n fep025_cycleStationary j", "statement_sha256": "795d5248ee6ccc5ef11b4f5e3e1d18844a7504a542dde9ec09ce5123e77722f8" }, @@ -199919,7 +199919,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleTransition_row", "source_line": 86, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleTransition_row (i : Fin 3) :\n ∑ j, fep025_cycleTransition i j = 1", "statement_sha256": "d46ebcedb4bcc0c88eac344c6e1fa720571f4851c45ecd19e546e26b85ce756d" }, @@ -199977,7 +199977,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_probabilityCurrent_antisymm", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_probabilityCurrent_antisymm {n : ℕ}\n (flow : Matrix (Fin n) (Fin n) ℝ) (i j : Fin n) :\n fep025_probabilityCurrent flow i j =\n -fep025_probabilityCurrent flow j i", "statement_sha256": "bcfde817f4d3004f1d73cc32967cc28dfc195901cf918c4645cdd2809eaaaff6" }, @@ -200034,7 +200034,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_probabilityCurrent_diag_zero", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_probabilityCurrent_diag_zero {n : ℕ}\n (flow : Matrix (Fin n) (Fin n) ℝ) (i : Fin n) :\n fep025_probabilityCurrent flow i i = 0", "statement_sha256": "4ab9d4a59720d00370352e6b3a32182fb36ecff14d4f95c53dd7e4f64b419bc1" }, @@ -200091,7 +200091,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_total_divergence_zero", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_total_divergence_zero {n : ℕ}\n (current : Matrix (Fin n) (Fin n) ℝ)\n (hcurrent : ∀ i j, current i j = -current j i) :\n ∑ i, fep025_divergence current i = 0", "statement_sha256": "3d6d2961d46dcdfb4be8a62107aeaff711ed8569e298b45d5925c109e1f24de2" }, @@ -200178,7 +200178,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_transitionCurrent_stationary", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_transitionCurrent_stationary {n : ℕ}\n (stationary : Fin n → ℝ) (transition : Matrix (Fin n) (Fin n) ℝ)\n (hrow : ∀ i, ∑ j, transition i j = 1)\n (hstationary : ∀ j, ∑ i, stationary i * transition i j = stationary j)\n (i : Fin n) :\n fep025_divergence (fep025_transitionCurrent stationary transition) i = 0", "statement_sha256": "d18de9b804e8822aa4f907f55a9b1a02d336f31d1ba6e24a206d82e1344faa06" }, @@ -200230,7 +200230,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_complexity_additive", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_complexity_additive {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n fep026_priorComplexity (a * b) =\n fep026_priorComplexity a + fep026_priorComplexity b", "statement_sha256": "5ca23b0e17ee85dd62276883a2804e923d47effe2e93cfc2be9f1ca6b52c0eba" }, @@ -200292,7 +200292,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_complexity_increases", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_complexity_increases {p q : ℝ} (hp : 0 < p) (_hq : 0 < q) (h : p ≤ q) :\n fep026_priorComplexity q ≤ fep026_priorComplexity p", "statement_sha256": "0a44784b1a5c13021fa98922adca7d59e8bd4d7a13575c24a42db62b38ac4227" }, @@ -200312,7 +200312,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_complexity_zero_at_one", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_complexity_zero_at_one : fep026_priorComplexity 1 = 0", "statement_sha256": "d225b799f91768e3feadd8b9d3e6b1fd4e790b7ce530c7f11310577044778fb3" }, @@ -200364,7 +200364,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_log_div", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_log_div {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n Real.log (a / b) = Real.log a - Real.log b", "statement_sha256": "b624f0621bf3b38057194b5134f2274e6d7eb50e5ada69d99628a8b887548a32" }, @@ -200416,7 +200416,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_log_monotone", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_log_monotone {a b : ℝ} (ha : 0 < a) (hab : a ≤ b) :\n Real.log a ≤ Real.log b", "statement_sha256": "2731f765c90a8729f44433d61f3054d214c17758653eab9b828d32722df2c490" }, @@ -200464,7 +200464,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_priorComplexity_eq_zero_iff", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_priorComplexity_eq_zero_iff {p : ℝ} (hp : 0 < p) :\n fep026_priorComplexity p = 0 ↔ p = 1", "statement_sha256": "2f55a76ffda7abc6b9462730fa359b976e87e327fbc1fd525eadcb2dca1ccbc0" }, @@ -200516,7 +200516,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_priorComplexity_strictAnti", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_priorComplexity_strictAnti\n {p q : ℝ} (hp : 0 < p) (hpq : p < q) :\n fep026_priorComplexity q < fep026_priorComplexity p", "statement_sha256": "42aa23af4f54079730350c3ae6e18d4afddef24461c3d993b95b94046640282a" }, @@ -200607,7 +200607,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_assoc", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_assoc\n (μ : Measure α) (κ : Kernel α β) (η : Kernel (α × β) γ) :\n (fep027_hierarchicalJoint μ κ ⊗ₘ η).map MeasurableEquiv.prodAssoc =\n fep027_hierarchicalJoint μ (κ ⊗ₖ η)", "statement_sha256": "1cbf2cff0592bb7862c062b00c0ecb48cd071f7d06ceebeab5f98ba782575b0a" }, @@ -200704,7 +200704,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_fst", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_fst\n (μ : Measure α) (κ : Kernel α β) [SFinite μ] [IsMarkovKernel κ] :\n (fep027_hierarchicalJoint μ κ).fst = μ", "statement_sha256": "cb8d6d867101e44bf79f6c6404d7da99914715e2901d8dfda6fd2da9757db2eb" }, @@ -200801,7 +200801,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_mass_one", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_mass_one\n (μ : Measure α) (κ : Kernel α β)\n [IsProbabilityMeasure μ] [IsMarkovKernel κ] :\n fep027_hierarchicalJoint μ κ Set.univ = 1", "statement_sha256": "a0810d78bdd114d1c0bed56280df4b7fd3287089da1337c20606eb08236916c0" }, @@ -200898,7 +200898,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_snd", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_snd\n (μ : Measure α) (κ : Kernel α β) [SFinite μ] [IsSFiniteKernel κ] :\n (fep027_hierarchicalJoint μ κ).snd = κ ∘ₘ μ", "statement_sha256": "7f20c07447b029942882498718b66c5af33c26ce60c21b3aae98aa6f8b74d2e8" }, @@ -200960,7 +200960,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_denominator_pos", "source_line": 93, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_denominator_pos (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy)\n (hne : policies.Nonempty) :\n 0 < ∑ p' ∈ policies, Real.exp (-γ * G p')", "statement_sha256": "78ab42315b066326b279ca23c060bd024fc23f3de5f797005a86eac1245fa2a2" }, @@ -201012,7 +201012,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_numerator_pos", "source_line": 88, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_numerator_pos (γ : ℝ) (G : Policy → ℝ) (p : Policy) :\n 0 < Real.exp (-γ * G p)", "statement_sha256": "729fda24d5ebe55796b607bbd30978b48da105dd6c2d93272c758e64d6df7853" }, @@ -201084,7 +201084,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_le_one", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_le_one\n (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy) (p : Policy)\n (hne : policies.Nonempty) :\n fep028_softmax γ G policies p ≤ 1", "statement_sha256": "88d0926b41a7bd0ee458856bd1c6787425239b2a2c89c805bebaf1896cc66b66" }, @@ -201156,7 +201156,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_nonneg", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_nonneg (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy) (p : Policy)\n (hne : policies.Nonempty) : 0 ≤ fep028_softmax γ G policies p", "statement_sha256": "98fbb25adc928fabc952cea3e5e5cbfbfc53c317fb8fca75ebd79f76a14d73b6" }, @@ -201218,7 +201218,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_probs_sum_one", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_probs_sum_one (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy)\n (hne : policies.Nonempty) :\n ∑ p ∈ policies, fep028_softmax γ G policies p = 1", "statement_sha256": "e62903985f3dd75abf92fda5c35271fff1a3cbc7e547e4b499f9938382d6c843" }, @@ -201293,7 +201293,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_sum_univ", "source_line": 73, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_sum_univ\n (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy)\n (hne : policies.Nonempty) :\n ∑ p : Policy, fep028_softmax γ G policies p = 1", "statement_sha256": "995efdad40c6bf57c4fd3fff19757c06a8d28a7a787c41e69495e3efcf0ef4a1" }, @@ -201365,7 +201365,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_support", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_support\n (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy) {p : Policy}\n (hp : p ∉ policies) :\n fep028_softmax γ G policies p = 0", "statement_sha256": "a702168a24f3c82a5419abc10d97b6b8e189bd0781d996188969d7ffdcc4cf4c" }, @@ -201407,7 +201407,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_bregman_quadratic_nonneg", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_bregman_quadratic_nonneg (x y : ℝ) :\n 0 ≤ fep029_quadraticBregman x y", "statement_sha256": "4aae72d54186c3f13e8d376fe60715101a5e81872c294e711b4f934a4d1a34c6" }, @@ -201442,7 +201442,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_combo_t_one", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_combo_t_one (a b : ℝ) : (1 - 1) * a + 1 * b = b", "statement_sha256": "b12220b22a45b91eb180fd60294f796e8ef78ff01660e1d4249c3e32464866fe" }, @@ -201477,7 +201477,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_combo_t_zero", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_combo_t_zero (a b : ℝ) : (1 - 0) * a + 0 * b = a", "statement_sha256": "6ffcd7b678793b1204ff31f8ff761ea18ecfae64189c889795a3984864bb07e7" }, @@ -201543,7 +201543,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_convex_combo_bound", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_convex_combo_bound (a b t : ℝ) (_ht0 : 0 ≤ t) (ht1 : t ≤ 1) (hab : a ≤ b) :\n (1 - t) * a + t * b ≤ b", "statement_sha256": "c989726cd367c8306c3de8cecf1ea88a04750fdbd2770c106eac8138ce086eb4" }, @@ -201578,7 +201578,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_quadraticBregman_eq_sq", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_quadraticBregman_eq_sq (x y : ℝ) :\n fep029_quadraticBregman x y = (x - y) ^ 2", "statement_sha256": "e1cc9244acaa8b6706636f2fed48abe78c029d6133aea756e32639113f7f9b83" }, @@ -201620,7 +201620,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_quadraticBregman_eq_zero_iff (x y : ℝ) :\n fep029_quadraticBregman x y = 0 ↔ x = y", "statement_sha256": "fdf491d9e1c72de1235bf6da2d7d553aa1034f55a8963dd1f3e467d2de6e37d7" }, @@ -201686,7 +201686,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_secant_ineq", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_secant_ineq (a b t : ℝ) (ht0 : 0 ≤ t) (_ht1 : t ≤ 1) (hab : a ≤ b) :\n (1 - t) * a + t * b ≥ a", "statement_sha256": "683c64e8e9b7a092dc8a2c1888eca15b0f7b98df9e4073bdfd6119fce8960491" }, @@ -201722,7 +201722,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_binaryEntropy_eq_max_iff (p : ℝ) :\n Real.binEntropy p = Real.log 2 ↔ p = (2 : ℝ)⁻¹", "statement_sha256": "77ebe8551a0c42fad4e500797699e287c035548c6c8baa02102fca9fcb62102e" }, @@ -201758,7 +201758,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_binaryEntropy_max", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_binaryEntropy_max (p : ℝ) :\n Real.binEntropy p ≤ Real.log 2", "statement_sha256": "f7529755c96704b732e96ec78ed9eba2a9fe6f0ee12ac1026950fcf9dbd0cb90" }, @@ -201811,7 +201811,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_entropy_eq_log", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_entropy_eq_log (n : ℕ) (hn : 0 < n) :\n -∑ _ ∈ Finset.range n, (1 : ℝ) / n * Real.log ((1 : ℝ) / n)\n = Real.log n", "statement_sha256": "ca53841e3992dab95b95ba5874eedf399402717209232ca5bc139e1f5adee5c1" }, @@ -201857,7 +201857,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_log_card_nonneg", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_log_card_nonneg (n : ℕ) (hn : 1 ≤ n) : 0 ≤ Real.log n", "statement_sha256": "fadf8b9fa2aca47a8ac5ffd2c8db04c943889b34753c3d2ab208945243fb785c" }, @@ -201903,7 +201903,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_uniform_nonneg", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_uniform_nonneg (n : ℕ) (_hn : 0 < n) : 0 ≤ (1 : ℝ) / n", "statement_sha256": "0be5bdd6c6896b9f67de03d33c86460e2b39d603ca11a49e69b5b0297dab66d9" }, @@ -201949,7 +201949,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_uniform_sum_one", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_uniform_sum_one (n : ℕ) (hn : 0 < n) :\n ∑ _ ∈ Finset.range n, (1 : ℝ) / n = 1", "statement_sha256": "72e43364e4455ca3933b948a05910c0fc8d39b38fa5f6dbe1278cda7ed48dbc3" }, @@ -202037,7 +202037,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbsProbability_nonneg", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbsProbability_nonneg (β : ℝ) (n : ℕ) (E : Fin n → ℝ)\n (S : Finset (Fin n)) (hS : S.Nonempty) (i : Fin n) :\n 0 ≤ fep031_gibbsProbability β n E S i", "statement_sha256": "4f662edbca072ab8774f0e97eaf27f75d8d31c1799a042a2f66b1e8084a83ef7" }, @@ -202115,7 +202115,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbsProbability_sum_one", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbsProbability_sum_one (β : ℝ) (n : ℕ) (E : Fin n → ℝ)\n (S : Finset (Fin n)) (hS : S.Nonempty) :\n ∑ i ∈ S, fep031_gibbsProbability β n E S i = 1", "statement_sha256": "b820482b0d83d31084b607ac3d22b896ff7a6f121b7fa6dd3bf7a325353013b9" }, @@ -202168,7 +202168,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbs_mono", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbs_mono (β E₁ E₂ : ℝ) (hβ : 0 < β) (hE : E₁ ≤ E₂) :\n Real.exp (-β * E₂) ≤ Real.exp (-β * E₁)", "statement_sha256": "fc35e9c573397d28cb93a3b84f9962fc3724c03967dd3dddbf0d82a7d71f0f89" }, @@ -202200,7 +202200,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbs_weight_pos", "source_line": 6, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbs_weight_pos (β E : ℝ) : 0 < Real.exp (-β * E)", "statement_sha256": "dd211b08b469046168812acda14c9e882c3aa19a6de9750d41117cec8b00fdf6" }, @@ -202271,7 +202271,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_partition_pos", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_partition_pos (β : ℝ) (n : ℕ) (E : Fin n → ℝ)\n (S : Finset (Fin n)) (hS : S.Nonempty) :\n 0 < ∑ i ∈ S, Real.exp (-β * E i)", "statement_sha256": "18fbd3a0b69a887c017a7334675df0e9f138eb66fc0c28b767e3572a25c35d43" }, @@ -202333,7 +202333,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticEnergy_descent", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticEnergy_descent\n {step center x : ℝ} (hstep0 : 0 ≤ step) (hstep2 : step ≤ 2) :\n (fep032_quadraticUpdate step center x - center) ^ 2 ≤\n (x - center) ^ 2", "statement_sha256": "f8b6eb29502f29afba4ef52ef56d2353be0865196414ced8bdb94d2131455970" }, @@ -202368,7 +202368,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_deviation", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_deviation (step center x : ℝ) :\n fep032_quadraticUpdate step center x - center =\n (1 - step) * (x - center)", "statement_sha256": "440b8f0651cf505f6a3148132e0daf551535bfc4e699cf43a32d035974fa2c65" }, @@ -202402,7 +202402,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_fixed", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_fixed (step center : ℝ) :\n fep032_quadraticUpdate step center center = center", "statement_sha256": "926cfc16e6797dd756546f47cb39635c6ad3eb91375e11805f47569005571f11" }, @@ -202454,7 +202454,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_iterate", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_iterate (step center x : ℝ) (n : ℕ) :\n ((fep032_quadraticUpdate step center)^[n]) x - center =\n (1 - step) ^ n * (x - center)", "statement_sha256": "7531a0c7243246f6946a88f1a764805da86cdd53ac05ddae51b0674b52137650" }, @@ -202525,7 +202525,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_tendsto", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_tendsto\n {step : ℝ} (hstep0 : 0 < step) (hstep2 : step < 2)\n (center x : ℝ) :\n Filter.Tendsto\n (fun n => ((fep032_quadraticUpdate step center)^[n]) x)\n Filter.atTop (nhds center)", "statement_sha256": "b3d9e259e8854cf5dc05ca196133519555f2fee14075b1b9c10b0c45c1bb8def" }, @@ -202616,7 +202616,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_bellman", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_bellman {State : Type*}\n (discount : ENNReal) (stageCost : State → ENNReal)\n (step : State → State) (terminalCost : State → ENNReal)\n (horizon : ℕ) (state : State) :\n fep033_value discount stageCost step terminalCost (horizon + 1) state =\n stageCost state + discount *\n fep033_value discount stageCost step terminalCost horizon (step state)", "statement_sha256": "f1f99c501f3a44fe60e283cf6d65bf3e646ced830f863c9ec189c92449c6adf2" }, @@ -202720,7 +202720,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_value_mono", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_value_mono {State : Type*}\n (discount : ENNReal) {stage₁ stage₂ terminal₁ terminal₂ : State → ENNReal}\n (step : State → State) (hstage : ∀ state, stage₁ state ≤ stage₂ state)\n (hterminal : ∀ state, terminal₁ state ≤ terminal₂ state)\n (horizon : ℕ) (state : State) :\n fep033_value discount stage₁ step terminal₁ horizon state ≤\n fep033_value discount stage₂ step terminal₂ horizon state", "statement_sha256": "7db750b9e5dc189beacc04f0db0473103ca233a6d55c551fadaad479272cb1b9" }, @@ -202791,7 +202791,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_zeroCost", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_zeroCost {State : Type*}\n (discount : ENNReal) (step : State → State) (horizon : ℕ) (state : State) :\n fep033_value discount (fun _ => 0) step (fun _ => 0) horizon state = 0", "statement_sha256": "7314877bbdd4354ba23c93d39de7c90b38ccab2e13034992c62bd8c3f5d8adec" }, @@ -202872,7 +202872,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_zeroDiscount", "source_line": 51, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_zeroDiscount {State : Type*}\n (stageCost : State → ENNReal) (step : State → State)\n (terminalCost : State → ENNReal) (horizon : ℕ) (state : State) :\n fep033_value 0 stageCost step terminalCost (horizon + 1) state =\n stageCost state", "statement_sha256": "4af84d11495623ae1c036bc134a7194511f6bc3cadd17a984f681ffc3b336ced" }, @@ -202993,7 +202993,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_filter_joint_reconstruction", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_filter_joint_reconstruction\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] :\n (κ ∘ₘ fep034_predictivePrior τ μ) ⊗ₘ fep034_filter τ κ μ =\n (fep034_predictivePrior τ μ ⊗ₘ κ).map Prod.swap", "statement_sha256": "2ea67c17ce32ff9e753b090e5e1969d08ffe6a6da264020e15ad374cc069ca48" }, @@ -203124,7 +203124,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_filter_mass_one", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_filter_mass_one\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] (x : 𝓧) :\n fep034_filter τ κ μ x Set.univ = 1", "statement_sha256": "713261c03c6bd9994a93423c352666a83498e99655fe4707fcdcf3e9eff9ad6a" }, @@ -203245,7 +203245,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_filter_recovers_prediction", "source_line": 54, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_filter_recovers_prediction\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsMarkovKernel κ] :\n fep034_filter τ κ μ ∘ₘ κ ∘ₘ fep034_predictivePrior τ μ =\n fep034_predictivePrior τ μ", "statement_sha256": "ac90a558192c5e589418d22965b56a615a4496f870acb80ee0cc6f2e60f29431" }, @@ -203324,7 +203324,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_predictive_mass", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_predictive_mass\n (τ : Kernel Ω Ω) (μ : Measure Ω) [IsMarkovKernel τ] :\n fep034_predictivePrior τ μ Set.univ = μ Set.univ", "statement_sha256": "9077885ed84339b50186b04fc5611ba21a54f7f14b0c8c28fc7cfd92f22fcdbc" }, @@ -203355,7 +203355,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_exp", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_exp (x : ℝ) : Real.log (Real.exp x) = x", "statement_sha256": "af33de5ad365f59a196c1076f6069b0ef242cdda8c6b2a005359a2accc11e345" }, @@ -203449,7 +203449,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_jensen_two_strict", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_jensen_two_strict\n {x y a b : ℝ} (hx : 0 < x) (hy : 0 < y) (hxy : x ≠ y)\n (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) :\n a * Real.log x + b * Real.log y < Real.log (a * x + b * y)", "statement_sha256": "7c6c7866cc148a246815692523c27e33f72535c893bacf416a9fee050835aab5" }, @@ -203501,7 +203501,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_mono", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_mono {a b : ℝ} (ha : 0 < a) (h : a ≤ b) :\n Real.log a ≤ Real.log b", "statement_sha256": "0c08ff7f5a7cada55c7b1efe31b4e6f39e1bc75626c7d7649f629fa4a73df974" }, @@ -203553,7 +203553,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_mul", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_mul {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n Real.log (a * b) = Real.log a + Real.log b", "statement_sha256": "64dcf63b5a9706a13131a8e3a4791cade0afe6c1a0152e4cd8ea59d4f86335db" }, @@ -203573,7 +203573,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_one", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_one : Real.log (1 : ℝ) = 0", "statement_sha256": "af910b4ddb459b7c2906a3dfafe85e19e503404ed5ebafa31a2d61d09d272261" }, @@ -203624,7 +203624,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_pow", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_pow {a : ℝ} (_ha : 0 < a) (n : ℕ) : Real.log (a ^ n) = n * Real.log a", "statement_sha256": "f6ca393ee4e05aa24536a7c7457ef40f013ae883a892f72321ead1a9ddfe9716" }, @@ -203644,7 +203644,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_strictConcave", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_strictConcave :\n StrictConcaveOn ℝ (Set.Ioi 0) Real.log", "statement_sha256": "dfb88592150a3f001a7c7011761fe2330cb3ea4ed972308cb7df732f8f257938" }, @@ -203712,7 +203712,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_binomialModel_apply", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_binomialModel_apply (p : NNReal) (hp : p ≤ 1) (trials : ℕ)\n (sample : ℕ) :\n (fep036_binomialModel p hp trials).real {sample} =\n (trials.choose sample : ℝ) * (p : ℝ) ^ sample *\n (1 - (p : ℝ)) ^ (trials - sample)", "statement_sha256": "451e6323e24f6c3a15c1fa85997284e403ffcfa7bc34537fe098d44784b8fd3c" }, @@ -203767,7 +203767,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_empiricalPrior_mem_Ioo", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_empiricalPrior_mem_Ioo\n (trials : ℕ) (sample : Fin (trials + 1)) :\n fep036_empiricalPrior trials sample ∈ Set.Ioo (0 : ℝ) 1", "statement_sha256": "04cf220d9c248677ca115be64dbca39826b58e030757668b532cce5fe218265f" }, @@ -203816,7 +203816,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical", "source_line": 78, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_eq_shrunkEmpirical\n {successes trials : ℕ} (htrials : 0 < trials) :\n fep036_smoothedRate successes trials =\n ((successes : ℝ) / trials) * ((trials : ℝ) / (trials + 2)) +\n 1 / ((trials : ℝ) + 2)", "statement_sha256": "a9728e927eca5af7bb83af0a1a4c2fe40523f7aae43b7708cef9ba84eb103d8a" }, @@ -203865,7 +203865,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_lt_one", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_lt_one\n {successes trials : ℕ} (h : successes ≤ trials) :\n fep036_smoothedRate successes trials < 1", "statement_sha256": "8fab4f95ba975d876d909eab426e16ffe5332b00b1bd6c3556aa2c80be27aa25" }, @@ -203927,7 +203927,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_mem_Ioo\n {successes trials : ℕ} (h : successes ≤ trials) :\n fep036_smoothedRate successes trials ∈ Set.Ioo (0 : ℝ) 1", "statement_sha256": "86a182c801c4eb415fca212bbbafe2e9df78c7f0260d01c96692f55017547a8e" }, @@ -203977,7 +203977,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_mono", "source_line": 70, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_mono\n {s₁ s₂ trials : ℕ} (h : s₁ ≤ s₂) :\n fep036_smoothedRate s₁ trials ≤ fep036_smoothedRate s₂ trials", "statement_sha256": "5fb3871fc187ae922d912c8a235b27f1a48ca7a179a3e7bac33937efb73bef77" }, @@ -204016,7 +204016,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_pos", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_pos (successes trials : ℕ) :\n 0 < fep036_smoothedRate successes trials", "statement_sha256": "c05133d4e33ed22f6824184972d6518f1849c89e35e3b179daad0e9f7fabf707" }, @@ -204081,7 +204081,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_tendsto_of_empiricalRate\n (successes : ℕ → ℕ) (p : ℝ)\n (hraw : Filter.Tendsto (fun n : ℕ => (successes n : ℝ) / n)\n Filter.atTop (nhds p)) :\n Filter.Tendsto (fun n : ℕ => fep036_smoothedRate (successes n) n)\n Filter.atTop (nhds p)", "statement_sha256": "fe4522100bb6c684258cb0fa0a0438a91419d8f6bd4100110d09d9d476729160" }, @@ -204126,7 +204126,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_autocorrelation_recurrence", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_autocorrelation_recurrence (α variance : ℝ) (n : ℕ) :\n fep037_autocorrelation α variance (n + 1) =\n fep037_relaxation α * fep037_autocorrelation α variance n", "statement_sha256": "ab44e1cead2ae18b45c34d8983f97d91e164e3ef3dcd96795f1a077c504c3403" }, @@ -204190,7 +204190,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_autocorrelation_tendsto_zero", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_autocorrelation_tendsto_zero\n {α : ℝ} (hα0 : 0 < α) (hα1 : α < 1) (variance : ℝ) :\n Filter.Tendsto (fep037_autocorrelation α variance)\n Filter.atTop (nhds 0)", "statement_sha256": "c17105605d3f51de0288cebc4f578b23db5715b744d524ed0b489979464d332e" }, @@ -204243,7 +204243,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_response_eq", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_response_eq (β α variance : ℝ) (n : ℕ) :\n fep037_response β α variance n =\n 2 * β * α * variance * fep037_relaxation α ^ n", "statement_sha256": "b37da70a8d36ba4119953b0f63dfe43dfba1a9e0c9916de13bedbece172a7a39" }, @@ -204336,7 +204336,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_response_nonneg", "source_line": 54, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_response_nonneg\n {β α variance : ℝ} (hβ : 0 ≤ β) (hα0 : 0 ≤ α) (hαhalf : α ≤ 1 / 2)\n (hvariance : 0 ≤ variance) (n : ℕ) :\n 0 ≤ fep037_response β α variance n", "statement_sha256": "e31044259bd67696fe88a2a1e89829c4b9994d8fafd61749446adb6d474da385" }, @@ -204408,7 +204408,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_response_tendsto_zero", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_response_tendsto_zero\n {α : ℝ} (hα0 : 0 < α) (hα1 : α < 1) (β variance : ℝ) :\n Filter.Tendsto (fun n => fep037_response β α variance n)\n Filter.atTop (nhds 0)", "statement_sha256": "87719c7cd261f9ee0aba2f045705def2c5566aae12f7d0a9fbf97e5273ffb43b" }, @@ -204457,7 +204457,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_bernoulliMass_hasDerivAt", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_bernoulliMass_hasDerivAt (p : ℝ) (b : Bool) :\n HasDerivAt (fun q => fep038_bernoulliMass q b)\n (fep038_bernoulliMassDeriv b) p", "statement_sha256": "2d3fa7aac8f872e47995d2b958c1bed2990b8d43dad764af7ce8d007a3c4ba82" }, @@ -204496,7 +204496,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_bernoulliMass_sum_one", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_bernoulliMass_sum_one (p : ℝ) :\n ∑ b : Bool, fep038_bernoulliMass p b = 1", "statement_sha256": "95b0dbc4f8796ddc695a2c17f4e51533ce68777eafabbc27980265265bff5ee0" }, @@ -204555,7 +204555,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_expectedScore_zero", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_expectedScore_zero {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :\n ∑ b : Bool, fep038_bernoulliMass p b * fep038_score p b = 0", "statement_sha256": "10bb87130d8123bb924df23c7a7412a617c1807de0129f8596f8034404013b1e" }, @@ -204614,7 +204614,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherInformation_eq", "source_line": 61, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherInformation_eq {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_fisherInformation p = 1 / (p * (1 - p))", "statement_sha256": "02c1d95fd632491952c1583ecfc90ddffd87b7e1cf980fc46bdca53c0c817b24" }, @@ -204680,7 +204680,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherMetric_coordinate", "source_line": 104, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherMetric_coordinate {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_coordinateJacobian p ^ 2 = fep038_fisherInformation p", "statement_sha256": "dab8270b573e610ce8644ef9d63b5fd1742f4708938ec80e09fd37af0ac2d14a" }, @@ -204757,7 +204757,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherMetric_pos", "source_line": 75, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherMetric_pos {p v : ℝ} (hp0 : 0 < p) (hp1 : p < 1)\n (hv : v ≠ 0) :\n 0 < fep038_fisherMetric p v v", "statement_sha256": "c3b631f6c0638763f0f62e4da75c76ef5dd4b23b4afd4f11709bd6ee2923056e" }, @@ -204825,7 +204825,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherMetric_pullback", "source_line": 111, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherMetric_pullback {p v w : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_fisherMetric p v w =\n (fep038_coordinateJacobian p * v) *\n (fep038_coordinateJacobian p * w)", "statement_sha256": "8cd8ed95f945b53aa2949297128d75eb782809dbbcd60109825c215714aae24b" }, @@ -204892,7 +204892,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_naturalGradient_duality", "source_line": 89, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_naturalGradient_duality {p gradient : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_fisherInformation p * fep038_naturalGradient p gradient = gradient", "statement_sha256": "74080fdc7eab69e200d9e310cf452fa5525f7a092ad660942df77f55e455a49c" }, @@ -204926,7 +204926,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_add", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_add (f g : Fin 4 → ℝ) :\n fep039_global_fe (fun i => f i + g i) = fep039_global_fe f + fep039_global_fe g", "statement_sha256": "16d8ccf6103c8ad40d5e87415c2329b4350fd689996ae02b74a56dfae7a47440" }, @@ -204969,7 +204969,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_eq_zero_iff", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_eq_zero_iff (local_fe : Fin 4 → ℝ)\n (hnonneg : ∀ i, 0 ≤ local_fe i) :\n fep039_global_fe local_fe = 0 ↔ ∀ i, local_fe i = 0", "statement_sha256": "98a43d97d725e0ee2ce7a3951e0b66a7a7867703b7f0a6ae5730eeedf36459f5" }, @@ -205013,7 +205013,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_mono", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_mono (f g : Fin 4 → ℝ) (h : ∀ i, f i ≤ g i) :\n fep039_global_fe f ≤ fep039_global_fe g", "statement_sha256": "7bba26671c7fdd60add4de5eece136ff8b89b76f199cb794ccef375fb7937a54" }, @@ -205056,7 +205056,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_nonneg", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_nonneg (local_fe : Fin 4 → ℝ) (h : ∀ i, 0 ≤ local_fe i) :\n 0 ≤ fep039_global_fe local_fe", "statement_sha256": "de339ac3e0d1861fde3d5fa659d5f6764a084388ad750e7a9ba3472441487ce6" }, @@ -205078,7 +205078,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_zero", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_zero : fep039_global_fe (fun _ => 0) = 0", "statement_sha256": "2a74383f051d3f28bcf6b3c1cc0c7996a55aed979f9affce8af7fc22a7104990" }, @@ -205124,7 +205124,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAt", "source_line": 49, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussianEntropy_hasDerivAt\n {v : ℝ} (hv : 0 < v) :\n HasDerivAt fep040_gaussianEntropy (1 / (2 * v)) v", "statement_sha256": "9e53a1713a76d6081357c43efa31f7558233944e2f4e565a22c525a8c22b9c6c" }, @@ -205181,7 +205181,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussianEntropy_strictMono", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussianEntropy_strictMono\n {v₁ v₂ : ℝ} (hv₁ : 0 < v₁) (hv : v₁ < v₂) :\n fep040_gaussianEntropy v₁ < fep040_gaussianEntropy v₂", "statement_sha256": "131b5abb6a58ff1610ca39f8fe4f17d0a8e57112efcf9bf76a140cb397a9f20e" }, @@ -205227,7 +205227,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussian_mass_one", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussian_mass_one (mean : ℝ) (variance : NNReal) :\n fep040_gaussianLaw mean variance Set.univ = 1", "statement_sha256": "a58439ef9330b2dae0967ed1e26e1d12f012cfd70244db5ae8f5a2f4e2797dce" }, @@ -205273,7 +205273,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussian_mean", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussian_mean (mean : ℝ) (variance : NNReal) :\n ∫ x, x ∂fep040_gaussianLaw mean variance = mean", "statement_sha256": "a3a849b9d176fa9f2aa135a18458cfc3a558b8360378633d9dcb354841a4cb1f" }, @@ -205319,7 +205319,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussian_variance", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussian_variance (mean : ℝ) (variance : NNReal) :\n ProbabilityTheory.variance id (fep040_gaussianLaw mean variance) = variance", "statement_sha256": "41d43a1ddb06ed9be4ea5e2e0d4b23f95cc43f45fc000c3ab4505973a15e5c03" }, @@ -205365,7 +205365,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_heatCapacity_eq_half", "source_line": 106, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_heatCapacity_eq_half {T : ℝ} (hT : 0 < T) :\n fep040_heatCapacity T = 1 / 2", "statement_sha256": "5477ab18412c5f9b0d7cef81e5ef2d3bad6ad5adb3f79a383bb674b7ea715013" }, @@ -205429,7 +205429,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt", "source_line": 78, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_thermalEntropy_hasDerivAt\n {κ T : ℝ} (hκ : 0 < κ) (hT : 0 < T) :\n HasDerivAt (fep040_thermalEntropy κ) (1 / (2 * T)) T", "statement_sha256": "262b8ea6a1dd324986f0ad97cbcaa25ee44a67c047f856978caed0cceb6642e4" }, @@ -205530,7 +205530,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep041.FEP041.fep041_expectedInformationGain_zero", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep041_expectedInformationGain_zero\n (predictive : Measure Obs)\n (posterior : Obs → Measure State)\n (prior : Measure State) [SigmaFinite prior]\n (hposterior : ∀ᵐ observation ∂predictive, posterior observation = prior) :\n fep041_expectedInformationGain predictive posterior prior = 0", "statement_sha256": "b73f62ca41fb9ae8d23147d39cf2be99c1c7b51b9c8514d453e75f8e175d97ac" }, @@ -205610,7 +205610,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep041.FEP041.fep041_informationGain_eq_zero_iff", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep041_informationGain_eq_zero_iff\n (posterior prior : Measure State)\n [IsFiniteMeasure posterior] [IsFiniteMeasure prior] :\n fep041_informationGain posterior prior = 0 ↔ posterior = prior", "statement_sha256": "ccfcac80e5e27b10451912731a140ebb801b0317980e603836c54eeac02355e8" }, @@ -205674,7 +205674,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep041.FEP041.fep041_informationGain_nonneg", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep041_informationGain_nonneg (posterior prior : Measure State) :\n 0 ≤ fep041_informationGain posterior prior", "statement_sha256": "7dcba7723e84c978116423c66562107d3d0bd17ee49f4d676f8a7ee0dfde7958" }, @@ -205735,7 +205735,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep042_likelihood_eq_of_stat_eq\n (p : ℝ) (xs ys : List Bool)\n (h : fep042_sufficientStatistic xs = fep042_sufficientStatistic ys) :\n fep042_bernoulliLikelihood p xs = fep042_bernoulliLikelihood p ys", "statement_sha256": "0b31f9c72d114da240237a4fcd3b204fbfd0f187e3014be2dd938b6e68e74e9f" }, @@ -205778,7 +205778,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep042.FEP042.fep042_likelihood_factorizes", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep042_likelihood_factorizes (p : ℝ) (data : List Bool) :\n fep042_bernoulliLikelihood p data =\n p ^ fep042_successCount data * (1 - p) ^ fep042_failureCount data", "statement_sha256": "c5eef7004e228bf540cf093ed08a511b98d513e52a0db4a101a120cdcdb69e88" }, @@ -205835,7 +205835,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_localMin_deriv_zero", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_localMin_deriv_zero\n {f : ℝ → ℝ} {x₀ : ℝ} (hmin : IsLocalMin f x₀) :\n deriv f x₀ = 0", "statement_sha256": "bc582107356c19123aefb4eab872a416265e14b74b7e578160095ea75049832d" }, @@ -205874,7 +205874,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadraticGradient_hasDerivAt", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadraticGradient_hasDerivAt (a x₀ x : ℝ) :\n HasDerivAt (fep043_quadraticGradient a x₀) (2 * a) x", "statement_sha256": "9347def9fc3da535de6f52c23edc5de3e577870ef6902186c34135a4e6a6c0ec" }, @@ -205931,7 +205931,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_critical_iff", "source_line": 53, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_critical_iff\n {a x₀ c x : ℝ} (ha : 0 < a) :\n deriv (fep043_quadraticFreeEnergy a x₀ c) x = 0 ↔ x = x₀", "statement_sha256": "03ecb9afb5b2cff4bc6144539eae1e8bf2b00ad25cf70bfa6be2d6c5d8564652" }, @@ -205971,7 +205971,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_hasDerivAt", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_hasDerivAt (a x₀ c x : ℝ) :\n HasDerivAt (fep043_quadraticFreeEnergy a x₀ c)\n (fep043_quadraticGradient a x₀ x) x", "statement_sha256": "56f4e7724c047694513fd9e4ee0c2fe6a03fa832e47a0a3cd082a836b4b8d6d2" }, @@ -206018,7 +206018,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_hessian_pos", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_hessian_pos {a : ℝ} (ha : 0 < a) :\n 0 < 2 * a", "statement_sha256": "5ef0587ade969e6e3f7df1b9704ead0115e970ca974333622248014bb6f4f558" }, @@ -206068,7 +206068,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_unique_min", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_unique_min\n {a x₀ c x : ℝ} (ha : 0 < a) :\n fep043_quadraticFreeEnergy a x₀ c x =\n fep043_quadraticFreeEnergy a x₀ c x₀ ↔\n x = x₀", "statement_sha256": "1bef06e22d5cf4d6ab9c52328c2771d4dcac08a0d195bab719ec7e4141e5d6da" }, @@ -206103,7 +206103,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_complement", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_complement (p q : ℝ) :\n fep044_hellingerSq (1 - p) (1 - q) = fep044_hellingerSq p q", "statement_sha256": "7b02357564ba37a72561aaa6d81cbb9c0305edea6fb8a12ca9c1c33bd468bb6c" }, @@ -206158,7 +206158,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_eq_zero_iff\n {p q : ℝ} (hp : p ∈ Set.Icc (0 : ℝ) 1) (hq : q ∈ Set.Icc (0 : ℝ) 1) :\n fep044_hellingerSq p q = 0 ↔ p = q", "statement_sha256": "9156ee48c34ef31f943eefc08b19e01af8a6a183b6f260580f26c04fafcc4abe" }, @@ -206193,7 +206193,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_nonneg", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_nonneg (p q : ℝ) :\n 0 ≤ fep044_hellingerSq p q", "statement_sha256": "4a70ec79ecaa3acc0e679e812b53ab77be896f264547f0a01b1dbe9247d664ff" }, @@ -206228,7 +206228,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_symm", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_symm (p q : ℝ) :\n fep044_hellingerSq p q = fep044_hellingerSq q p", "statement_sha256": "792eaa9b2b8dea04df9b0f86e23173f94f47b66b8772fd16e4c76de8fbaa5c27" }, @@ -206285,7 +206285,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_bernoulli_posterior_closed", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_bernoulli_posterior_closed\n {p l₀ l₁ : ℝ} (hZ : fep045_evidence p l₀ l₁ ≠ 0) (b : Bool) :\n fep045_bernoulliMass (fep045_posteriorParameter p l₀ l₁) b =\n fep045_bernoulliMass p b * fep045_binaryLikelihood l₀ l₁ b /\n fep045_evidence p l₀ l₁", "statement_sha256": "f98b85e18c1887c931d7d2f7fe44fde19f3988b9cb0e62e8e5991383ed9c283b" }, @@ -206362,7 +206362,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_evidence_pos", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_evidence_pos\n {p l₀ l₁ : ℝ} (hp₀ : 0 < p) (hp₁ : p < 1)\n (hl₀ : 0 < l₀) (hl₁ : 0 < l₁) :\n 0 < fep045_evidence p l₀ l₁", "statement_sha256": "a099e05f23a8e329ca84a459e7598d67ee5297349e047a67d0f6a5c8dcbf9fed" }, @@ -206446,7 +206446,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_posteriorParameter_mem_unit", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_posteriorParameter_mem_unit\n {p l₀ l₁ : ℝ} (hp₀ : 0 < p) (hp₁ : p < 1)\n (hl₀ : 0 < l₀) (hl₁ : 0 < l₁) :\n 0 ≤ fep045_posteriorParameter p l₀ l₁ ∧\n fep045_posteriorParameter p l₀ l₁ ≤ 1", "statement_sha256": "562f7782a59e7dc3b04555e8f4a8fa403d054af621974b3a5d67e8b51b1d1bd9" }, @@ -206483,7 +206483,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_posterior_mass_one", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_posterior_mass_one (p l₀ l₁ : ℝ) :\n ∑ b : Bool, fep045_bernoulliMass (fep045_posteriorParameter p l₀ l₁) b = 1", "statement_sha256": "f1e7223b249418248556274c50aa5bda976b62d4103281622993d9738ffa9445" }, @@ -206517,7 +206517,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep046.FEP046.fep046_mass_conservation", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep046_mass_conservation (breaks : List ℝ) :\n (fep046_stickWeights breaks).sum + fep046_remainder breaks = 1", "statement_sha256": "1060012a8289a11ff44b50822f4d778cf3fb1a0228b6e9169fc1cbaf155548da" }, @@ -206568,7 +206568,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep046.FEP046.fep046_remainder_le_one", "source_line": 58, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep046_remainder_le_one (breaks : List ℝ)\n (hbreaks : ∀ v ∈ breaks, v ∈ Set.Icc (0 : ℝ) 1) :\n fep046_remainder breaks ≤ 1", "statement_sha256": "cbeee33f1f00cd0cc4e40ab370b31af67becb2d0a8cdcbca4c1f2d5075997310" }, @@ -206612,7 +206612,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep046.FEP046.fep046_remainder_nonneg", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep046_remainder_nonneg (breaks : List ℝ)\n (hbreaks : ∀ v ∈ breaks, v ∈ Set.Icc (0 : ℝ) 1) :\n 0 ≤ fep046_remainder breaks", "statement_sha256": "4f7223cd8f9400e330f62f677531dc69f49d165c7dcae9aacddc98ae19559601" }, @@ -206655,7 +206655,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_forward_compose", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_forward_compose\n (outer inner : Factor) (incoming : State → ℝ) :\n fep047_forward outer (fep047_forward inner incoming) =\n fep047_forward (outer * inner) incoming", "statement_sha256": "7acc9063c0579c11b0aa5832b5edfe1e76809a10ee5378a0378d9e0cde1eaf8c" }, @@ -206728,7 +206728,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_forward_mono", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_forward_mono\n (factor : Factor) (incoming₁ incoming₂ : State → ℝ)\n (hfactor : ∀ x y, 0 ≤ factor x y)\n (hincoming : ∀ y, incoming₁ y ≤ incoming₂ y) (x : State) :\n fep047_forward factor incoming₁ x ≤\n fep047_forward factor incoming₂ x", "statement_sha256": "7f695764846b5598fd1f82a9b337da09e787c925d4735d221663d4a718d6804b" }, @@ -206800,7 +206800,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_forward_nonneg", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_forward_nonneg\n (factor : Factor) (incoming : State → ℝ)\n (hfactor : ∀ x y, 0 ≤ factor x y)\n (hincoming : ∀ y, 0 ≤ incoming y) (x : State) :\n 0 ≤ fep047_forward factor incoming x", "statement_sha256": "9b1c66c38e2ad9f48b340be3472f54b04e91698dfdf97ae2ca60e50e31910c32" }, @@ -206832,7 +206832,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_identity", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_identity (incoming : State → ℝ) :\n fep047_forward (1 : Factor) incoming = incoming", "statement_sha256": "7b158fcece6a4efccb8304ac7827e83cc88d2526d8ea042fbca044cae10ee8c9" }, @@ -206864,7 +206864,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_zero_in", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_zero_in (factor : Factor) :\n fep047_forward factor (fun _ => 0) = 0", "statement_sha256": "4c00e1928ce74896ea71dee71507fdacfb02fac55d46977a028ed249a8ff2457" }, @@ -206918,7 +206918,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_add_mono", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_add_mono (f g : ℝ → ℝ) (hf : Monotone f) (hg : Monotone g) :\n Monotone (fun x => f x + g x)", "statement_sha256": "50df6bbf6fd1c9e1a43992f0af02b51b69115a21c6bcf532d196d6d268705201" }, @@ -206972,7 +206972,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_async_mono", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_async_mono (f g : ℝ → ℝ) (hf : Monotone f) (hg : Monotone g) :\n Monotone (g ∘ f)", "statement_sha256": "2c2367bd2b131b8806dde50b1f82ba4144c0a45c07a22834b2b9857e7da2dbe2" }, @@ -207056,7 +207056,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_contraction_unique", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_contraction_unique (f : ℝ → ℝ) (c : NNReal)\n (hcontract : ContractingWith c f) (x y : ℝ)\n (hfx : Function.IsFixedPt f x) (hfy : Function.IsFixedPt f y) : x = y", "statement_sha256": "bc2b9944b737f7fdcca45094efe2b0785d329c0debc042c08aaed3aa12e4e485" }, @@ -207078,7 +207078,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_halfUpdate_contracts", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_halfUpdate_contracts :\n ContractingWith (1 / 2 : NNReal) fep048_halfUpdate", "statement_sha256": "e587582505104569bc0e74d4bb38aa4ee35c20f26bc42729e632130a1eaa6d83" }, @@ -207118,7 +207118,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_halfUpdate_iterates_converge", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_halfUpdate_iterates_converge (x : ℝ) :\n Filter.Tendsto (fun n ↦ fep048_halfUpdate^[n] x) Filter.atTop (𝓝 0)", "statement_sha256": "c6aaf651c9abe58a55b0457eb26c84ff5e18339028b99998acfe87da5923b145" }, @@ -207161,7 +207161,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_halfUpdate_unique_fixed_point", "source_line": 40, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_halfUpdate_unique_fixed_point (x : ℝ)\n (hx : Function.IsFixedPt fep048_halfUpdate x) : x = 0", "statement_sha256": "395ac9e55d0d92cc4c75b6392e4c25c71658f139b1e1ec98b898d281d72dce61" }, @@ -207183,7 +207183,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_id_mono", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_id_mono : Monotone (id : ℝ → ℝ)", "statement_sha256": "9984fd6d28830cbc4a087e294673bcb1923772a1375bd1e439eb54a967441bd6" }, @@ -207237,7 +207237,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_sync_nonneg", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_sync_nonneg (a b : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) : 0 ≤ a + b", "statement_sha256": "9ebd7b42bb37e2d2bd44aca14df01fa38847ef7359c97b0988247ccb288a9373" }, @@ -207292,7 +207292,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_edgeProduction_eq_zero_iff", "source_line": 80, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_edgeProduction_eq_zero_iff\n {forward reverse : ℝ} (hforward : 0 < forward) (hreverse : 0 < reverse) :\n fep049_edgeProduction forward reverse = 0 ↔ forward = reverse", "statement_sha256": "e9a518f6b2a62d7839294215ba973efb9ac0d0722baf7ec67709238aef9cc306" }, @@ -207347,7 +207347,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_edgeProduction_nonneg", "source_line": 67, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_edgeProduction_nonneg\n {forward reverse : ℝ} (hforward : 0 < forward) (hreverse : 0 < reverse) :\n 0 ≤ fep049_edgeProduction forward reverse", "statement_sha256": "018f2faa2ef0592417ded22b3a916906f6ae8e77e937a7b3fc8653d0257bd9ad" }, @@ -207410,7 +207410,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff", "source_line": 40, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_entropyProduction_eq_zero_iff {ι : Type*} [Fintype ι]\n (conductance force : ι → ℝ)\n (hconductance : ∀ i, 0 < conductance i) :\n fep049_entropyProduction conductance force = 0 ↔\n ∀ i, force i = 0", "statement_sha256": "3d529e0d1010a2fbccd19146222795117af8ae5aa38e462da61e155946e51ee3" }, @@ -207473,7 +207473,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_entropyProduction_nonneg", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_entropyProduction_nonneg {ι : Type*} [Fintype ι]\n (conductance force : ι → ℝ)\n (hconductance : ∀ i, 0 ≤ conductance i) :\n 0 ≤ fep049_entropyProduction conductance force", "statement_sha256": "5049821a33ca3169116f28b1a0f0f3b1d6941baeb6e65be31b1cec4d16815aa8" }, @@ -207526,7 +207526,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_flux_force_identity", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_flux_force_identity {ι : Type*} [Fintype ι]\n (conductance force : ι → ℝ) :\n (∑ i, force i * fep049_linearFlux conductance force i) =\n fep049_entropyProduction conductance force", "statement_sha256": "4a45b94fd98236f4dc25713d35c732c2deb3cf283218aaf64d11b02ee57fd149" }, @@ -207560,7 +207560,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_erasureEntropyLoss_eq", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_erasureEntropyLoss_eq (kB : ℝ) :\n fep050_erasureEntropyLoss kB = kB * Real.log 2", "statement_sha256": "8d39b479810cb3643ec99f43cb464276b1865fc025a21c0cf92f0ac9cf2b6540" }, @@ -207583,7 +207583,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_erasure_not_injective", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_erasure_not_injective :\n ¬Function.Injective fep050_erasure", "statement_sha256": "d63f2c8edf98ceb3d8518c69ee13ef9723bd377f189f9ed3a3331c114926869c" }, @@ -207673,7 +207673,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_generalized_landauer_heat_bound", "source_line": 69, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_generalized_landauer_heat_bound\n {Path : Type*} [Fintype Path]\n (model : FEP.PathThermodynamics.ErasureModel Path)\n {kB T : ℝ} (hBeta : model.beta = (kB * T)⁻¹)\n (hReset : model.IsReset) :\n kB * T * Real.binEntropy (model.prior true) ≤ model.meanHeat", "statement_sha256": "4d1871d771f99256f7001fc50cc61920fadb9c413a8f54ddc30ddb50b209a93a" }, @@ -207728,7 +207728,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauerBound_pos", "source_line": 107, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauerBound_pos\n {kB T : ℝ} (hkB : 0 < kB) (hT : 0 < T) :\n 0 < fep050_landauerBound kB T", "statement_sha256": "00abd1258736b3629df941b0dc52389b75008dfd6825817656f05f0794ef649b" }, @@ -207848,7 +207848,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_heat_bound", "source_line": 84, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_heat_bound\n {Path : Type*} [Fintype Path]\n (model : FEP.PathThermodynamics.ErasureModel Path)\n {kB T : ℝ} (_hkB : 0 < kB) (_hT : 0 < T)\n (hBeta : model.beta = (kB * T)⁻¹)\n (hReset : model.IsReset) (hFair : model.prior true = 1 / 2) :\n fep050_landauerBound kB T ≤ model.meanHeat", "statement_sha256": "dc3696ab5148488ddc614978c44a6ff6293efe3e0ea423ea8a379047c9ddbd0d" }, @@ -207911,7 +207911,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_heat_bound_of_entropy_balance", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_heat_bound_of_entropy_balance\n {Q T kB : ℝ} (hT : 0 < T)\n (hsecondLaw : 0 ≤ fep050_totalEntropyChange Q T kB) :\n fep050_landauerBound kB T ≤ Q", "statement_sha256": "5f310077fbbb4bdada913dc8092655d955012e4b2196b77524ca85fa57fb5396" }, @@ -208042,7 +208042,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_work_bound", "source_line": 96, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_work_bound\n {Path : Type*} [Fintype Path]\n (model : FEP.PathThermodynamics.ErasureModel Path)\n {W kB T : ℝ} (hkB : 0 < kB) (hT : 0 < T)\n (hBeta : model.beta = (kB * T)⁻¹)\n (hReset : model.IsReset) (hFair : model.prior true = 1 / 2)\n (hworkHeat : model.meanHeat ≤ W) :\n fep050_landauerBound kB T ≤ W", "statement_sha256": "44ae51f8652eb46d44c591470a9806c0f5fadd16729db884caba5bb1f2415d4f" }, @@ -208116,7 +208116,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_work_bound_of_entropy_balance", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_work_bound_of_entropy_balance\n {W Q T kB : ℝ} (hT : 0 < T)\n (hsecondLaw : 0 ≤ fep050_totalEntropyChange Q T kB)\n (hworkHeat : Q ≤ W) :\n fep050_landauerBound kB T ≤ W", "statement_sha256": "f82e28c62426eef3fd44a43ee553aa85b947e3751ff63f486c87b35b5b687aca" }, @@ -208194,7 +208194,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep051.FEP051.fep051_likelihoodRatio_reconstruction", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep051_likelihoodRatio_reconstruction\n (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference]\n (h_ac : target ≪ reference) :\n reference.withDensity (target.rnDeriv reference) = target", "statement_sha256": "f2280d1314067b91c06989d581f44a40f94fb379420e17fca181edfc2a3be27d" }, @@ -208262,7 +208262,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep051.FEP051.fep051_reconstruction_iff_absoluteContinuous", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep051_reconstruction_iff_absoluteContinuous\n (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference] :\n reference.withDensity (target.rnDeriv reference) = target ↔\n target ≪ reference", "statement_sha256": "a8d9d6595832b595d49e0615dc24fdfa2628c7be55d385ccb1c14b05e6eaf09f" }, @@ -208415,7 +208415,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep052.FEP052.fep052_countable_posterior_density_tilt", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep052_countable_posterior_density_tilt\n {Parameter : Type*} [Countable Parameter] [MeasurableSpace Parameter]\n [Nonempty Parameter] [StandardBorelSpace Parameter]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n ∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n (likelihood parameter).rnDeriv (likelihood ∘ₘ prior) observation)", "statement_sha256": "18e3f79bc13d56ebee1922e1c25d36f26d1e5380c955cd05a6c03fac2adcf399" }, @@ -208543,7 +208543,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep052.FEP052.fep052_posterior_density_tilt", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep052_posterior_density_tilt\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood]\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 Parameter (likelihood ∘ₘ prior))\n parameter observation)", "statement_sha256": "ca2e74c6bd7ba9a5d569327fcc36f63a5ceef7808b0ed396286234dd1e579450" }, @@ -208694,7 +208694,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep053.FEP053.fep053_finiteBayes_atom_reconstruction", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep053_finiteBayes_atom_reconstruction\n {FiniteParameter FiniteEvidence : Type*}\n [Fintype FiniteParameter] [Fintype FiniteEvidence]\n (prior : FiniteLaw FiniteParameter)\n (likelihood : FiniteKernel FiniteParameter FiniteEvidence)\n (evidence : FiniteEvidence)\n (hEvidence : 0 < likelihood.predictive prior evidence)\n (parameter : FiniteParameter) :\n likelihood.posterior prior evidence hEvidence parameter *\n likelihood.predictive prior evidence =\n prior parameter * likelihood parameter evidence", "statement_sha256": "e541892b85247991d25fb7226677157a01f5d0ad0982edc11709ed77f2ea06ff" }, @@ -208804,7 +208804,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep053.FEP053.fep053_kernelBayes_joint_reconstruction", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep053_kernelBayes_joint_reconstruction\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", "statement_sha256": "ceb431dc832f15dbe315a2b2700a5fd017624f12405e7f84c28f677150c667ac" }, @@ -208938,7 +208938,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep054.FEP054.fep054_bayes_involution", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep054_bayes_involution\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation)\n [StandardBorelSpace Observation] [Nonempty Observation]\n [IsFiniteKernel likelihood] [IsMarkovKernel likelihood] :\n (likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", "statement_sha256": "1e6e23b084226dac19e371e7311750e0e66475071c9b69d697f1cd9c9419d62d" }, @@ -209056,7 +209056,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep054.FEP054.fep054_posterior_reconstructs_prior", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep054_posterior_reconstructs_prior\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation)\n [IsFiniteKernel likelihood] [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", "statement_sha256": "6bb0f0a95b48341e3541d7ecafe5168ed3140a61e6cd9fd17e41f7b0738d7db3" }, @@ -209209,7 +209209,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep055.FEP055.fep055_compositeKernel_bayesInversion", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep055_compositeKernel_bayesInversion\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Intermediate] [Nonempty Intermediate]\n (earlier : Kernel Parameter Intermediate) [IsFiniteKernel earlier]\n (later : Kernel Intermediate Observation) [IsFiniteKernel later] :\n (later ∘ₖ earlier)†prior =ᵐ[later ∘ₘ earlier ∘ₘ prior]\n earlier†prior ∘ₖ later†(earlier ∘ₘ prior)", "statement_sha256": "b72f53864a521fa1a2d74ef0671ac24aff39ccf167e5161b633d30e35122ca4b" }, @@ -209323,7 +209323,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep055.FEP055.fep055_compositePredictive_associativity", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep055_compositePredictive_associativity\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (earlier : Kernel Parameter Intermediate) [IsFiniteKernel earlier]\n (later : Kernel Intermediate Observation) [IsFiniteKernel later] :\n (later ∘ₖ earlier) ∘ₘ prior = later ∘ₘ earlier ∘ₘ prior", "statement_sha256": "5768e172d9b367db78b47933b137447f2bffa659eaa7fb591e41c899f25f3681" }, @@ -209418,7 +209418,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep056.FEP056.fep056_standardBorel_condKernel_mass_one", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep056_standardBorel_condKernel_mass_one\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n (conditioning : Conditioning) :\n joint.condKernel conditioning Set.univ = 1", "statement_sha256": "6e871329e7a3ff3c85feb7e19cac307e3d3626e258c494289ea605762c5a9484" }, @@ -209510,7 +209510,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep056.FEP056.fep056_standardBorel_condKernel_reconstruction", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep056_standardBorel_condKernel_reconstruction\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", "statement_sha256": "63be4bdabdd40473e12a7157085b220dce9074ccf3793a9c57f30ada27f7df47" }, @@ -209622,7 +209622,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep057.FEP057.fep057_conditionalExpectation_tower", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep057_conditionalExpectation_tower\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n {observable : Conditioning × Conditioned → ℝ}\n (hintegrable : Integrable observable joint) :\n (∫ conditioning,\n ∫ conditioned, observable (conditioning, conditioned)\n ∂joint.condKernel conditioning ∂joint.fst) =\n ∫ pair, observable pair ∂joint", "statement_sha256": "5f0c5f1f873b7101932a5c8da0ed75c954712f1db13138fea228007da961a1a4" }, @@ -209727,7 +209727,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep057.FEP057.fep057_conditionalLIntegral_tower", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep057_conditionalLIntegral_tower\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n {observable : Conditioning × Conditioned → ℝ≥0∞}\n (hmeasurable : Measurable observable) :\n (∫⁻ conditioning,\n ∫⁻ conditioned, observable (conditioning, conditioned)\n ∂joint.condKernel conditioning ∂joint.fst) =\n ∫⁻ pair, observable pair ∂joint", "statement_sha256": "db9e05ce06134c08d72ae091924825a50d4607b35f9e1aba50037d46bb77be6a" }, @@ -209798,7 +209798,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep058.FEP058.fep058_gibbsVariational_lower_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep058_gibbsVariational_lower_bound\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :\n -certificate.logPartition ≤\n gibbsFreeEnergy certificate candidate", "statement_sha256": "90670984964379cd407d54b2d287518bc0b85f3dbd51cecdd097dbe36fd3fb68" }, @@ -209859,7 +209859,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep058.FEP058.fep058_gibbsVariational_optimizer", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep058_gibbsVariational_optimizer\n (certificate : GibbsCertificate State) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", "statement_sha256": "913c94aa2cf4eb5c87a94263a41f4bf941997dec5ff7b07d41d740aac3eea7aa" }, @@ -209918,7 +209918,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep058.FEP058.fep058_uniformGibbs_nonvacuity", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep058_uniformGibbs_nonvacuity [Nonempty State] :\n dvObjective (uniformZeroPotentialGibbs (α := State))\n (uniformZeroPotentialGibbs (α := State)).optimizer = 0", "statement_sha256": "9e0400b32dae961889e5feb4dc79bb3cdfbc12d3af3d700741573b93997163e4" }, @@ -209989,7 +209989,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep059.FEP059.fep059_donskerVaradhan_equality_iff", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep059_donskerVaradhan_equality_iff\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :\n dvObjective certificate candidate = certificate.logPartition ↔\n candidate = certificate.optimizer", "statement_sha256": "f16f2f8b1b067f9a47f2773f4cd0288ead8a1cf3d04ee1bd5f3a3a74a2db0ed6" }, @@ -210050,7 +210050,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep059.FEP059.fep059_donskerVaradhan_optimizer", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep059_donskerVaradhan_optimizer\n (certificate : GibbsCertificate State) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", "statement_sha256": "9fba5eb122016882be62ba958b9695412ab521e8b6e9dc4e703490709158250b" }, @@ -210121,7 +210121,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep059.FEP059.fep059_donskerVaradhan_upper_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep059_donskerVaradhan_upper_bound\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :\n dvObjective certificate candidate ≤ certificate.logPartition", "statement_sha256": "d7abe568d4cf2e915b220a93d15fee92844de769c4bd4cdd2bfde0d9eb736cbf" }, @@ -210223,7 +210223,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep060.FEP060.fep060_coordinateELBO_decomposition", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep060_coordinateELBO_decomposition\n (actualPrior referencePrior : FiniteLaw Latent)\n (actualKernel referenceKernel : FiniteKernel Latent Observation)\n (hprior : ∀ latent, 0 < referencePrior latent)\n (hkernel : ∀ latent observation,\n 0 < referenceKernel latent observation) :\n jointELBO actualPrior referencePrior actualKernel referenceKernel =\n -finiteKL actualPrior referencePrior -\n conditionalKL actualPrior actualKernel referenceKernel", "statement_sha256": "78da89f659fc9a59050c042b31a9887180d1a95315984d3ecc38a1b1b32cc37b" }, @@ -210304,7 +210304,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep060.FEP060.fep060_coordinateKL_nonnegative", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep060_coordinateKL_nonnegative\n (prior : FiniteLaw Latent)\n (actual reference : FiniteKernel Latent Observation) :\n 0 ≤ conditionalKL prior actual reference", "statement_sha256": "fdf1cdf631fd4fd52ed1d0e2f733eb74e1f35a804d6d9778d34229c44e912cbc" }, @@ -210405,7 +210405,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep061.FEP061.fep061_meanFieldCoordinate_optimum_iff", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep061_meanFieldCoordinate_optimum_iff\n (fixed : FiniteLaw Fixed) (candidate target : FiniteLaw Coordinate)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔\n candidate = target", "statement_sha256": "1253260e7cd3c458aa7ffe535d5b10af48afe3f9fbf7ca6578ad118a9a97a1eb" }, @@ -210506,7 +210506,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep061.FEP061.fep061_meanFieldCoordinate_reduction", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep061_meanFieldCoordinate_reduction\n (fixed : FiniteLaw Fixed) (candidate target : FiniteLaw Coordinate)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target =\n FEP.FiniteInformation.finiteKL candidate target", "statement_sha256": "0c11789a4a53841ef5e6015a04f810c1ca566a6141c758a8eee2f92062b15672" }, @@ -210596,7 +210596,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep062.FEP062.fep062_expectedImportanceWeight_positive", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep062_expectedImportanceWeight_positive\n [Nonempty Sample]\n (sampling : FiniteLaw Sample) (weight : Sample → ℝ)\n (hsampling : ∀ sample, 0 < sampling sample)\n (hweight : ∀ sample, 0 < weight sample) :\n 0 < ∑ sample, sampling sample * weight sample", "statement_sha256": "1ab01df246751e38554c42036156b33100b3b3de14c31531005b56b5836e961f" }, @@ -210677,7 +210677,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep062.FEP062.fep062_fixedSample_importanceJensen", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep062_fixedSample_importanceJensen\n (sampling : FiniteLaw Sample) (weight : Sample → ℝ)\n (hweight : ∀ sample, 0 < weight sample) :\n ∑ sample, sampling sample * Real.log (weight sample) ≤\n Real.log (∑ sample, sampling sample * weight sample)", "statement_sha256": "5c09f91bca011f2d6c43726ccbafed5f8b1bc9671c003b7e25ab13cc4888556f" }, @@ -210776,7 +210776,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep062.FEP062.fep062_iidProduct_importanceJensen", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep062_iidProduct_importanceJensen\n (base : FiniteLaw Sample) (sampleCount : ℕ) [NeZero sampleCount]\n (weight : Sample → ℝ) (hweight : ∀ sample, 0 < weight sample) :\n ∑ sampleTuple, iidProductLaw base sampleCount sampleTuple *\n Real.log (sampleMeanWeight sampleCount weight sampleTuple) ≤\n Real.log (∑ sampleTuple, iidProductLaw base sampleCount sampleTuple *\n sampleMeanWeight sampleCount weight sampleTuple)", "statement_sha256": "d074283706e0cc8cbade659fed8eac94e7c6aa11beb83c134b4ec38df23cdb9b" }, @@ -210877,7 +210877,7 @@ ], "qualified_name": "fep_fep063.FEP063.fep063_constantChannel_strict", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_constantChannel_strict\n (actual reference : FiniteLaw Input) (hne : actual ≠ reference) :\n finiteKL\n ((FiniteKernel.deterministic (fun _ : Input => ())).predictive actual)\n ((FiniteKernel.deterministic (fun _ : Input => ())).predictive reference) <\n finiteKL actual reference", "statement_sha256": "17d00f6a908d6dd2dfba2b0977e37851323662d13e66e2ca9864e2f729c7bd40" }, @@ -210997,7 +210997,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_finiteChannel_klDataProcessing\n (actual reference : FiniteLaw Input)\n (channel : FiniteKernel Input Output)\n (hactual : ∀ input, 0 < actual input)\n (hreference : ∀ input, 0 < reference input)\n (hchannel : ∀ input output, 0 < channel input output) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "statement_sha256": "b76a3f5ec35a4fe78a23abbc7a1351005cd3d24318fbb0babdfbc6a6049c4763" }, @@ -211122,7 +211122,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing_of_relativeSupport", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_finiteChannel_klDataProcessing_of_relativeSupport\n {Input Output : Type*} [Fintype Input] [Fintype Output]\n (actual reference : FiniteLaw Input) (channel : FiniteKernel Input Output)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "statement_sha256": "6ef1088f19fa411c2aec429fce6fdd24f82daa35fe88d2658259818e16e68eb7" }, @@ -211216,7 +211216,7 @@ ], "qualified_name": "fep_fep063.FEP063.fep063_identityChannel_preservesKL", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_identityChannel_preservesKL [DecidableEq Input]\n (actual reference : FiniteLaw Input) :\n finiteKL (FiniteKernel.identity.predictive actual)\n (FiniteKernel.identity.predictive reference) = finiteKL actual reference", "statement_sha256": "6461cfff20ecb0ef65115b382205311a795711334ec16f068d040e40b3409efe" }, @@ -211326,7 +211326,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep063.FEP063.fep063_referencePredictive_fullSupport", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_referencePredictive_fullSupport\n (reference : FiniteLaw Input)\n (channel : FiniteKernel Input Output)\n (hreference : ∀ input, 0 < reference input)\n (hchannel : ∀ input output, 0 < channel input output)\n (output : Output) :\n 0 < channel.predictive reference output", "statement_sha256": "81ecd3bbf6bcc60fccb2e2eeee0d08528e1f320a2ac0f646c7a4ff0a8dfdceb7" }, @@ -211424,7 +211424,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_dual_zeroMultiplier", "source_line": 58, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_dual_zeroMultiplier [Nonempty Code]\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ) (budget : ℝ) :\n rateDistortionDualValue source distortion budget 0 = 0", "statement_sha256": "d9f2759552ef000ba2220081b8bccdca05814109b0cac56f53b52061542da745" }, @@ -211483,7 +211483,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_halfBudget_nonunique", "source_line": 82, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_halfBudget_nonunique :\n ∃ left right : FiniteLaw (Bool × Bool), left ≠ right ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) left ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation left ≤ mutualInformation candidate) ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) right ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation right ≤ mutualInformation candidate)", "statement_sha256": "0569a1ee2d09ecdadbe742a886708db52a084b41985b8921c513ae21f1091414" }, @@ -211593,7 +211593,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_negativeBudget_infeasible", "source_line": 64, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_negativeBudget_infeasible\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ) (budget : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hbudget : budget < 0) :\n ¬ ∃ joint, RateDistortionFeasible source distortion budget joint", "statement_sha256": "934990f1cb3a2861a4deeccd75eb0f221984079fc916b2876f2cfc9d09171900" }, @@ -211652,7 +211652,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_quarterBudget_informative_optimum", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_quarterBudget_informative_optimum :\n ∃ optimizer : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4) optimizer ∧\n 0 < mutualInformation optimizer ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 4) candidate → mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "5b2e4d44f09f615c54c3dba7b15afe7c4d4a744c57a1a4cd1d6b6568764c0506" }, @@ -211783,7 +211783,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_rateDistortion_dual_lower_bound", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_rateDistortion_dual_lower_bound\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ)\n (budget multiplier : ℝ) (hdistortion : ∀ x y, 0 ≤ distortion x y)\n (hmultiplier : 0 ≤ multiplier) (joint : FiniteLaw (Source × Code))\n (hjoint : RateDistortionFeasible source distortion budget joint) :\n rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint", "statement_sha256": "a3d4f2de684d742f91d76fd8ae37e2f2d4254ffa9bbc5a07569182128bb8cf63" }, @@ -211883,7 +211883,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_rateDistortion_exists_minimizer", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_rateDistortion_exists_minimizer\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ) (budget : ℝ)\n (hfeasible : ∃ joint, RateDistortionFeasible source distortion budget joint) :\n ∃ optimizer : FiniteLaw (Source × Code),\n RateDistortionFeasible source distortion budget optimizer ∧\n ∀ candidate : FiniteLaw (Source × Code),\n RateDistortionFeasible source distortion budget candidate →\n mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "f0f98989a433d8b17c67e96559f8f738909eb2bf96889a30896722f69a3347f1" }, @@ -212005,7 +212005,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_rateDistortion_weakDuality", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_rateDistortion_weakDuality\n (joint : FiniteLaw (Source × Code))\n (distortion : Source → Code → ℝ)\n (multiplier rateLower distortionLower : ℝ)\n (hmultiplier : 0 ≤ multiplier)\n (hrate : rateLower ≤ mutualInformation joint)\n (hdistortion :\n distortionLower ≤ expectedDistortion joint distortion) :\n rateLower + multiplier * distortionLower ≤\n rateDistortionLagrangian joint distortion multiplier", "statement_sha256": "fec46716b7f73754cf4a5af3887f46f19ac7b7b019a2e33d01bd2e8a25f35fc4" }, @@ -212085,7 +212085,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_zeroBudget_unique", "source_line": 94, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_zeroBudget_unique\n (joint : FiniteLaw (Bool × Bool))\n (hjoint : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0 joint) :\n joint = boolZeroDistortionJoint", "statement_sha256": "3dbcd49957afff0bb494ff5173517253fccf39365ea9bda7e72f4c9f3c94464f" }, @@ -212156,7 +212156,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_zeroMultiplier_boundary", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_zeroMultiplier_boundary\n (joint : FiniteLaw (Source × Code))\n (distortion : Source → Code → ℝ) :\n rateDistortionLagrangian joint distortion 0 =\n mutualInformation joint", "statement_sha256": "4879ae9b82ddc4c9040d45228e1802010e1a0eb91083b3c9df09f4dab9fe416b" }, @@ -212246,7 +212246,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep065.FEP065.fep065_controlledKernel_normalization", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep065_controlledKernel_normalization\n (transition : ControlledKernel State Action)\n (action : Action) (state : State) :\n ∑ nextState, transition action state nextState = 1", "statement_sha256": "a53b95fd123d60bb187fbd0162698f723a360b9b84ede8c4c225fc03b672f223" }, @@ -212385,7 +212385,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep066.FEP066.fep066_actionConditioned_bayes_reconstruction", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep066_actionConditioned_bayes_reconstruction\n (prior : FiniteLaw State) (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": "2b4f767e4fd0fcd97bd9f996a1799b57900086f3439568e46f6f568b5d9a5da6" }, @@ -212514,7 +212514,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep066.FEP066.fep066_actionConditioned_update_normalized", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep066_actionConditioned_update_normalized\n (prior : FiniteLaw State) (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": "d1c83c16e6f5b94a38e6175bc18e1469c6731678c8319383c6f807c1b0985030" }, @@ -212643,7 +212643,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep066.FEP066.fep066_zero_evidence_boundary", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep066_zero_evidence_boundary\n (prior : FiniteLaw State) (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": "d9fdbfa7544d370b233eee34a3f411a9a3cf3c46df2ab00c17585120e024a5d4" }, @@ -212751,7 +212751,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep067.FEP067.fep067_bool_reachable_update", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep067_bool_reachable_update\n (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": "f088466768d215e3832093ddc0b78678cf84c8faa562f86c1e1d6c9ff785d3c0" }, @@ -212887,7 +212887,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep067.FEP067.fep067_reachableBelief_policyValue_equivalence", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep067_reachableBelief_policyValue_equivalence\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": "1aef3337b8edd0d3b642a358876b7a55b0521aec70311676207c1db6ed116919" }, @@ -213031,7 +213031,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep068.FEP068.fep068_softBellman_recursion", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep068_softBellman_recursion (temperature : ℝ)\n (hTemperature : 0 < 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))) ∧\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)))) ∧\n ∀ action,\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", "statement_sha256": "44a13873120679abcae0379c77e5738abe833724965e1c5550e81741754f9a87" }, @@ -213123,7 +213123,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep069.FEP069.fep069_desirability_nonnegative", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep069_desirability_nonnegative\n (passive : FiniteKernel State State) (stateCost desirability : State → ℝ)\n (hDesirability : ∀ state, 0 ≤ desirability state) (state : State) :\n 0 ≤ desirabilityStep passive stateCost desirability state", "statement_sha256": "e3d5ef2afd94ccbaa2018fecdef848ada90f61ced48b3c8e944388ed899f1ffc" }, @@ -213196,7 +213196,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep069.FEP069.fep069_desirability_recursion", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep069_desirability_recursion\n (passive : FiniteKernel State State) (stateCost desirability : State → ℝ)\n (state : State) :\n desirabilityStep passive stateCost desirability state =\n Real.exp (-stateCost state) *\n ∑ nextState, passive state nextState * desirability nextState", "statement_sha256": "92234e1f5be335aecf271887af24bcb24350674955a3bd5a62964221d6e5b07a" }, @@ -213267,7 +213267,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep069.FEP069.fep069_zeroCost_unitDesirability", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep069_zeroCost_unitDesirability\n (passive : FiniteKernel State State) (state : State) :\n desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", "statement_sha256": "d7dd8b2647963aa385eb45c0a00b93efda25c7e90d32b22f3f7833e1090295ff" }, @@ -213348,7 +213348,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep070.FEP070.fep070_controlPosterior_normalized", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep070_controlPosterior_normalized (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) :\n ∑ action, controlPosterior prior precision cost action = 1", "statement_sha256": "aff2bbac12afd922a275a609b7bc6f9d959bcd286f5d882e9be09d15686d0786" }, @@ -213439,7 +213439,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep070.FEP070.fep070_controlPosterior_reconstruction", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep070_controlPosterior_reconstruction (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) (action : Action) :\n controlPosterior prior precision cost action *\n boltzmannPartition prior (fun candidate => precision * cost candidate) =\n boltzmannWeight prior (fun candidate => precision * cost candidate) action", "statement_sha256": "121dad9850d786dca80496f4fd410e07b1d23e5b2842942c5ea972bebbb536e9" }, @@ -213510,7 +213510,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep070.FEP070.fep070_zeroCost_posterior_eq_prior", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep070_zeroCost_posterior_eq_prior (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", "statement_sha256": "5accaab6171020c0ee094a1ea596919fa7edcd3a538cc7b357caaf775311f565" }, @@ -213617,7 +213617,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep071.FEP071.fep071_sophisticatedEFE_backward_step", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep071_sophisticatedEFE_backward_step\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": "e080f58291f7e403fc4e8032cc6c92d748955736bcdd6dda891041216a6a30cd" }, @@ -213693,7 +213693,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep071.FEP071.fep071_twoStage_feedback_changes_action", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep071_twoStage_feedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", "statement_sha256": "d5cbcc2ddb8a9c0642569efa7b32ce18c578628a0f994c30428a5f328cc27a70" }, @@ -213780,7 +213780,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep071.FEP071.fep071_twoStage_feedback_strictly_better", "source_line": 34, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep071_twoStage_feedback_strictly_better (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", "statement_sha256": "66042c62dff1ca75fe0b25c0f6ece6c0d6ab2220461f8b1a88ae2e565fad04cf" }, @@ -213839,7 +213839,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep072.FEP072.fep072_bool_forward_mass", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep072_bool_forward_mass : boolForwardFilter true = 20 / 23", "statement_sha256": "a3d40d0c02d5177c788e4ce12049391dfe5fd117dda44929d770bf2225bd94f8" }, @@ -213959,7 +213959,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep072.FEP072.fep072_forward_filtering_recursion", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep072_forward_filtering_recursion (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation)\n (state : State) :\n forwardFilter prior transition emission observation hEvidence state *\n forwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation", "statement_sha256": "03e4766ce38807cdef8ff2bf7559da71e2c407c9a40e34cb585e9d4d3d8b656f" }, @@ -214069,7 +214069,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep072.FEP072.fep072_zero_evidence_boundary", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep072_zero_evidence_boundary (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hZero : forwardEvidence prior transition emission observation = 0) :\n ¬0 < forwardEvidence prior transition emission observation", "statement_sha256": "b104b32a15c65b8df28f4dc99e163207b11e121eb3ecac0e2eed371d645f2508" }, @@ -214189,7 +214189,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep073.FEP073.fep073_backward_message_nonnegative", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep073_backward_message_nonnegative\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (nextMessage : State → ℝ) (hMessage : ∀ state, 0 ≤ nextMessage state)\n (state : State) :\n 0 ≤ backwardMessageStep transition emission observation nextMessage state", "statement_sha256": "077b0e28d1a8c3def210746d7303a8a07e3e77f6728e9c841fc94172e73d9c23" }, @@ -214299,7 +214299,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep073.FEP073.fep073_backward_message_recursion", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep073_backward_message_recursion\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (future : List Observation) (state : State) :\n backwardMessage transition emission (observation :: future) state =\n backwardMessageStep transition emission observation\n (backwardMessage transition emission future) state", "statement_sha256": "bc80c3dabf2a7b422de746e07218bbbab213225b939507b382d9a3c5d5ce04b9" }, @@ -214400,7 +214400,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep074.FEP074.fep074_forwardBackward_smoothing_factorization", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep074_forwardBackward_smoothing_factorization\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) (state : State) :\n forwardBackwardSmoothing filtered backward hBackward hNormalizer state *\n smoothingNormalizer filtered backward =\n filtered state * backward state", "statement_sha256": "dba4ebde6156a7fdcff1dffa41dc012226e88b9211edf6f2169db9f50febd640" }, @@ -214509,7 +214509,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep074.FEP074.fep074_forward_backward_evidence_agreement", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep074_forward_backward_evidence_agreement\n {Observation : Type*} [Fintype Observation]\n (prior : FiniteLaw State) (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation) :\n forwardEvidence prior transition emission observation =\n backwardEvidence prior transition emission observation", "statement_sha256": "60645a5025eccc276fe4e3f15d0e791749a75c99e526a26fa7153ee9c732af85" }, @@ -214559,7 +214559,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep075.FEP075.fep075_bool_smoothing_normalization", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep075_bool_smoothing_normalization :\n boolSmoothing false + boolSmoothing true = 1", "statement_sha256": "f2065d85788d162570f20bb57de6b5a0b415c52b57f7df455f4c47cadbe85667" }, @@ -214650,7 +214650,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep075.FEP075.fep075_smoothing_marginal_normalization", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep075_smoothing_marginal_normalization\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) :\n ∑ state, forwardBackwardSmoothing filtered backward hBackward hNormalizer state =\n 1", "statement_sha256": "9109242bf170373a368e03b08d2abf96007cf64be958e63ed41943ddbac114a0" }, @@ -214731,7 +214731,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep075.FEP075.fep075_zero_normalizer_boundary", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep075_zero_normalizer_boundary (filtered : FiniteLaw State)\n (backward : State → ℝ) (hZero : smoothingNormalizer filtered backward = 0) :\n ¬0 < smoothingNormalizer filtered backward", "statement_sha256": "122b81c4c123d515aa56f8be965fd3f5670a567b21f12dfa18302d103b1a663a" }, @@ -214802,7 +214802,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep076.FEP076.fep076_variational_state_update_normalized", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep076_variational_state_update_normalized\n (prior : FiniteLaw State) (energy : State → ℝ) :\n ∑ state, variationalStateUpdate prior energy state = 1", "statement_sha256": "0127795b7196ffc1398cd27a2072f17e5eaa185867208f0a668494bf9d287593" }, @@ -214883,7 +214883,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep076.FEP076.fep076_variational_state_update_reconstruction", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep076_variational_state_update_reconstruction\n (prior : FiniteLaw State) (energy : State → ℝ) (state : State) :\n variationalStateUpdate prior energy state * boltzmannPartition prior energy =\n boltzmannWeight prior energy state", "statement_sha256": "9646ebf494779ec227d901517c146c34f7ec62236f37b43905242ce16edd5a1f" }, @@ -214944,7 +214944,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep076.FEP076.fep076_zeroEnergy_update_eq_prior", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep076_zeroEnergy_update_eq_prior (prior : FiniteLaw State) :\n variationalStateUpdate prior (fun _ => 0) = prior", "statement_sha256": "0c3b1460e33b54f233b0375a88395b9378b5c0b514dd26919ddb3bbb42742734" }, @@ -215043,7 +215043,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep077.FEP077.fep077_hierarchical_predictive_factorization", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep077_hierarchical_predictive_factorization\n (top : FiniteLaw Upper) (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation) :\n hierarchicalPredictive top upperKernel lowerKernel =\n (FiniteKernel.comp lowerKernel upperKernel).predictive top", "statement_sha256": "5dabdb1a38fec9299f193a4e1c7f856b6bf16f3931ef9761708ca099fc23c858" }, @@ -215102,7 +215102,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep078.FEP078.fep078_bool_modelAverage_true_mass", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep078_bool_modelAverage_true_mass :\n modelAverage boolInitialLaw boolAccurateEmission true = 13 / 20", "statement_sha256": "10e07f2063816c682c096128cfd54058140080b237293768ea71980f157bb7a4" }, @@ -215182,7 +215182,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep078.FEP078.fep078_modelAverage_normalized", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep078_modelAverage_normalized (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation) :\n ∑ observation, modelAverage modelPrior modelPredictive observation = 1", "statement_sha256": "ff0d94d3422d579aaf27132237dda3db328e38985e808956e035a5ce956cd38e" }, @@ -215272,7 +215272,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep078.FEP078.fep078_modelAverage_predictive_law", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep078_modelAverage_predictive_law (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation)\n (observation : Observation) :\n modelAverage modelPrior modelPredictive observation =\n ∑ model, modelPrior model * modelPredictive model observation", "statement_sha256": "058f3d1bd35626341aec6edeaa890c2a421000745116097e446aebd8bb8ad8b8" }, @@ -215379,7 +215379,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep079.FEP079.fep079_blanketFactorization_iff_conditionalMutualInformation_zero", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep079_blanketFactorization_iff_conditionalMutualInformation_zero\n (model : ConditionalBlanketModel Blanket Internal External)\n (hBlanket : ∀ blanket, 0 < model.blanketLaw blanket) :\n conditionalMutualInformation model = 0 ↔ Factorizes model", "statement_sha256": "6e61e6292be755525881652eb9d4f7981846a3bba01a4b1474ee1c6d5373f17a" }, @@ -215476,7 +215476,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep079.FEP079.fep079_staticBlanket_conditionalMutualInformation_zero", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep079_staticBlanket_conditionalMutualInformation_zero\n (model : StaticModel Internal Sensory Active External) :\n conditionalMutualInformation (ofStaticModel model) = 0", "statement_sha256": "cc898b5cd9b36350569c213ecbb3de83afbedf61cfe46bf6538aa0629cbcac09" }, @@ -215543,7 +215543,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep080.FEP080.fep080_boolHalfMixture_nonvacuity", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep080_boolHalfMixture_nonvacuity :\n boolHalfMixture false = 1 / 2 ∧ boolHalfMixture true = 1 / 2", "statement_sha256": "7f3e9f69ac8cbce0c777570c2650662f2ee9aff4bcf304c9f868e1e8231c1d5e" }, @@ -215654,7 +215654,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep080.FEP080.fep080_sharedConditional_mixture_preservation", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep080_sharedConditional_mixture_preservation\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": "9fe94cdcd9a2d5d0b3f4583a6132220259faafe90e061d7a74db294dd8a10412" }, @@ -215757,7 +215757,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep081.FEP081.fep081_correlatedBlanket_nonvacuity", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep081_correlatedBlanket_nonvacuity :\n correlatedBoolBlanket (false, false) = 1 / 2 ∧\n correlatedBoolBlanket (true, true) = 1 / 2 ∧\n 0 < mutualInformation correlatedBoolBlanket", "statement_sha256": "4ecd61c034004b17d6eaec2e679d958454cf3c7572adcd4411671d1b7191491d" }, @@ -215913,7 +215913,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep081.FEP081.fep081_coupledSubsystem_blanketComposition", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep081_coupledSubsystem_blanketComposition\n (blanketLaw : FiniteLaw (Blanket₁ × Blanket₂))\n (internal₁ : FiniteKernel Blanket₁ Internal₁)\n (internal₂ : FiniteKernel Blanket₂ Internal₂)\n (external₁ : FiniteKernel Blanket₁ External₁)\n (external₂ : FiniteKernel Blanket₂ External₂)\n (blanket : Blanket₁ × Blanket₂) :\n mutualInformation\n (conditionalJoint\n (coupledBlanketModel blanketLaw internal₁ internal₂ external₁ external₂)\n blanket) = 0", "statement_sha256": "94f88ef0673e924c601f9a1af1e5a7c71eb6a79d004cf3bb7f5e0080ca2668a1" }, @@ -216001,7 +216001,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep082.FEP082.fep082_interventionKernel_chosen_mass", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep082_interventionKernel_chosen_mass\n (chosen : Value) (context : Context) :\n interventionKernel (Context := Context) chosen context chosen = 1", "statement_sha256": "765893fa662c6389594391e1db5c80bf95d51e5e93d3964ac4fc803519b8915f" }, @@ -216089,7 +216089,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep082.FEP082.fep082_interventionKernel_normalization", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep082_interventionKernel_normalization\n (chosen : Value) (context : Context) :\n ∑ value, interventionKernel (Context := Context) chosen context value = 1", "statement_sha256": "69e697e392ad139e3e8675d2b2436e4edfb01e751f21ddafaae863933b802f8c" }, @@ -216188,7 +216188,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep082.FEP082.fep082_interventionKernel_other_mass", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep082_interventionKernel_other_mass\n (chosen other : Value) (hOther : other ≠ chosen) (context : Context) :\n interventionKernel (Context := Context) chosen context other = 0", "statement_sha256": "8a9a4b11ccadfaa6c69247f5a2eedb934872c045e5fbc3d1524ae693be8aee3e" }, @@ -216289,7 +216289,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep083.FEP083.fep083_fourNode_descendantChange_nonDescendantPreservation", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep083_fourNode_descendantChange_nonDescendantPreservation :\n mediatorMarginal (interventionalJoint boolOrderedModel false) true = 0 ∧\n mediatorMarginal (interventionalJoint boolOrderedModel true) true = 1 ∧\n nonDescendantMarginal (interventionalJoint boolOrderedModel false) =\n nonDescendantMarginal (interventionalJoint boolOrderedModel true)", "statement_sha256": "4935b16f09d47aaf395f9848517ac285e817d7ef643288e6ef95e2f3e1d10a12" }, @@ -216395,7 +216395,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep083.FEP083.fep083_nonDescendant_intervention_invariance", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep083_nonDescendant_intervention_invariance\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) :\n nonDescendantMarginal (interventionalJoint model root) =\n model.nonDescendantLaw", "statement_sha256": "d856b05442975fb2f1b37a79ee0fe8df1adac437152de66e9cb93f514f401e14" }, @@ -216523,7 +216523,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep084.FEP084.fep084_orderedFiniteCausal_factorization", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep084_orderedFiniteCausal_factorization\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nonDescendant : NonDescendant)\n (mediator : Mediator) (outcome : Outcome) :\n orderedJoint model (((root, nonDescendant), mediator), outcome) =\n ((model.rootLaw root * model.nonDescendantLaw nonDescendant) *\n model.mediatorGivenRoot root mediator) *\n model.outcomeGivenParents (nonDescendant, mediator) outcome", "statement_sha256": "bde53dac18d8ea8f5c99817b40f7007aa08b229820a639b92e1263f865cd470f" }, @@ -216611,7 +216611,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep084.FEP084.fep084_orderedFiniteCausal_normalization", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep084_orderedFiniteCausal_normalization\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome) :\n ∑ state, orderedJoint model state = 1", "statement_sha256": "4973ae53c1c70b8ab11ee1bd4445ef80a3414a672776aa7e71d74ba18faf22e8" }, @@ -216704,7 +216704,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_bool_localMarkov_nonvacuity", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_bool_localMarkov_nonvacuity :\n mutualInformation\n (localMarkovConditional boolOrderedModel false true\n (by rw [boolMediatorEvidence_true]; norm_num)) = 0", "statement_sha256": "98d2d173fd5f0dd198a8fa91a26236ec2f0101ff3745673fe0615f3874e675ed" }, @@ -216822,7 +216822,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_localMarkov_factorization_from_ordered", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_localMarkov_factorization_from_ordered\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n localMarkovConditional model nonDescendant mediator hEvidence =\n (model.mediatorGivenRoot.posterior model.rootLaw mediator hEvidence).product\n (model.outcomeGivenParents.row (nonDescendant, mediator))", "statement_sha256": "8f17b9d12ca096fedbc5d118763d6ebd0be809ccf86560ca934280c715fb797f" }, @@ -216940,7 +216940,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_localMarkov_mutualInformation_zero", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_localMarkov_mutualInformation_zero\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n mutualInformation\n (localMarkovConditional model nonDescendant mediator hEvidence) = 0", "statement_sha256": "9eb9eaef95821b331571e186ca4093bd89010cf381fcff21571b50fcc6adf47f" }, @@ -217048,7 +217048,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_zeroEvidence_boundary", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_zeroEvidence_boundary\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (mediator : Mediator) (hZero : mediatorEvidence model mediator = 0) :\n ¬0 < mediatorEvidence model mediator", "statement_sha256": "58074eacceb290c3015df43e2ff373b76c9eab8c4bde4bf45f4e52b2f2effc06" }, @@ -217109,7 +217109,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep086.FEP086.fep086_precisionWeighted_predictionError_nonnegative", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep086_precisionWeighted_predictionError_nonnegative\n {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", "statement_sha256": "3d171c4355b1e0642ec20057b15e5229950bf261d2d58d5f3c74af5ecfbec225" }, @@ -217170,7 +217170,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep086.FEP086.fep086_precisionWeighted_zero_iff_exactPrediction", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep086_precisionWeighted_zero_iff_exactPrediction\n {precision : ℝ} (hPrecision : 0 < precision)\n (observation estimate : ℝ) :\n precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", "statement_sha256": "4882d23ad237e39eb1066ebe1fde705d0366d5dcaea4937ba61b74ad26623802" }, @@ -217190,7 +217190,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep086.FEP086.fep086_unitError_nonvacuity", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep086_unitError_nonvacuity : precisionEnergy 2 1 0 = 1", "statement_sha256": "8e19cdf8cb9a7936a090c296bb3cf5100cf6d55cf9620da83508f2ee0c957ffa" }, @@ -217241,7 +217241,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_decomposition", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep087_hierarchicalPredictiveCoding_decomposition {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": "b475f867789cbd28994d51f4a330aabc85958e4d8abf85d2b1deed20c0292fb7" }, @@ -217310,7 +217310,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_nonnegative", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep087_hierarchicalPredictiveCoding_nonnegative\n {Level : Type*} [Fintype Level]\n (precision error : Level → ℝ)\n (hPrecision : ∀ level, 0 ≤ precision level) :\n 0 ≤ hierarchicalEnergy precision error", "statement_sha256": "05d5539957e11769398f64ab055ac2aad69c30917ef15ba8c0072c75d6440870" }, @@ -217339,7 +217339,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep087.FEP087.fep087_twoLevel_decomposition_nonvacuity", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep087_twoLevel_decomposition_nonvacuity :\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": "f23e2ee868b649d466453396cba2e7a626549c0e464c23b098efec2206d5803a" }, @@ -217359,7 +217359,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep088.FEP088.fep088_gradient_nonvacuity", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep088_gradient_nonvacuity :\n precisionEnergyGradient 2 1 0 = -2", "statement_sha256": "e284adeb11e87cc3c53a00ae97c9b3d913dec931a8c1cf8e39b5cf4e2ec674ed" }, @@ -217401,7 +217401,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep088.FEP088.fep088_namedGradient_hasDerivAt", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep088_namedGradient_hasDerivAt\n (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (precisionEnergyGradient precision observation estimate) estimate", "statement_sha256": "0a98432ed3390997a3084821eaacb967efeddfa7a77a8c3615555240d918115c" }, @@ -217443,7 +217443,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep088.FEP088.fep088_predictionError_gradient_identity", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep088_predictionError_gradient_identity\n (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", "statement_sha256": "ab942b09f63c0366ec52cd71db85fdbf8b1d72263aa2648b73c26f43a043ac97" }, @@ -217504,7 +217504,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep089.FEP089.fep089_finiteJet_shift_semigroup", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep089_finiteJet_shift_semigroup {order : ℕ}\n (first second : ℕ) (jet : FiniteJet order) :\n shift (first + second) jet = shift first (shift second jet)", "statement_sha256": "455c3dd521e185f794a49fb284d91b5389c24e04b623d4c8bb8ee7a8443add30" }, @@ -217554,7 +217554,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep089.FEP089.fep089_finiteJet_terminal_boundary", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep089_finiteJet_terminal_boundary {order : ℕ}\n (jet : FiniteJet order) :\n (shift 1 jet).coefficient order = 0", "statement_sha256": "912938a476be18faf3b440ac26ab7264a1610f036556edf673abd703547505a4" }, @@ -217595,7 +217595,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep089.FEP089.fep089_firstOrder_shift_nonvacuity", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep089_firstOrder_shift_nonvacuity (value velocity : ℝ) :\n (shift 1 (firstOrderJet value velocity)).coefficient 0 = velocity ∧\n (shift 1 (firstOrderJet value velocity)).coefficient 1 = 0", "statement_sha256": "4a25503e41bdc021e98a68c5a65936a283213fd2e3b29614fbed67e08f60f8e0" }, @@ -217666,7 +217666,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_finiteJet_coordinateGradient_hasDerivAt", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_finiteJet_coordinateGradient_hasDerivAt\n {order : ℕ} (precision : ℕ → ℝ)\n (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": "eafe9b4e116f842fa6ab2a36450fdfea15e69cabc5de92a81d22e9f7ba6c0b69" }, @@ -217747,7 +217747,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_finiteJet_generalizedFiltering_correctionEquation", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_finiteJet_generalizedFiltering_correctionEquation\n {order : ℕ} (stepSize : ℝ) (precision : ℕ → ℝ)\n (target estimate : FiniteJet order) (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": "aa289d5f7810c0d4518eb04910fa11cccd445a89a6834fa965475ba52762bed8" }, @@ -217808,7 +217808,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_finiteJet_truncation_visible", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_finiteJet_truncation_visible\n {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": "132051b419ba15fead73f4e608607294feb99e5921143a2677c6c0d610a50bf4" }, @@ -217837,7 +217837,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_firstOrder_correction_nonvacuity", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_firstOrder_correction_nonvacuity :\n let corrected := generalizedFilteringStep (1 / 2 : ℝ) (fun _ => 1)\n (firstOrderJet 2 0) (firstOrderJet 0 1)\n corrected.coefficient 0 = 3 / 2 ∧ corrected.coefficient 1 = 1 / 2", "statement_sha256": "4e80ffd71bbe6ffb36ba73dae9e0ce1af9820202be7b236055091a7db21b977e" }, @@ -217866,7 +217866,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep091.FEP091.fep091_doubledPrecision_nonvacuity", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep091_doubledPrecision_nonvacuity :\n precisionEnergy 2 1 0 = 2 * precisionEnergy 1 1 0 ∧\n precisionEnergy 1 1 0 < precisionEnergy 2 1 0", "statement_sha256": "319a7424a4987d4f54450a3aac03c9855d8d7d4af886d21db28e5ca672dc002a" }, @@ -217938,7 +217938,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep091.FEP091.fep091_precisionModulation_energy_mono", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep091_precisionModulation_energy_mono\n {lower upper : ℝ} (hLowerNonneg : 0 ≤ lower)\n (hPrecision : lower ≤ upper)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", "statement_sha256": "cdeb5542b50d53a05aaf4cf874280d7479f27334794b8b06cd36666cf615b1dc" }, @@ -217981,7 +217981,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep091.FEP091.fep091_precisionModulation_gradient_scale", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep091_precisionModulation_gradient_scale\n (scale precision observation estimate : ℝ) :\n precisionEnergyGradient (scale * precision) observation estimate =\n scale * precisionEnergyGradient precision observation estimate", "statement_sha256": "cc8390f4230266070bc3984e9b08992ed4e15045d88d343e5ee7a10ea861a441" }, @@ -218010,7 +218010,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_halfStep_decrease_nonvacuity", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_halfStep_decrease_nonvacuity :\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": "28546bd641959a981ed6b8b1d6f1a142f4b2f27ca4ade3628db6d59af4f4fe54" }, @@ -218053,7 +218053,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_quadraticPredictiveCoding_contraction", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_quadraticPredictiveCoding_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": "c081801ecfdf5a1ccb44d83222ed54a7d8448382f88a118e017b025ccaf26856" }, @@ -218124,7 +218124,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_quadraticPredictiveCoding_error_tendsto_zero", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_quadraticPredictiveCoding_error_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": "4eebc560141da18383bcaf516b0c4f1eb7105e3b4d44ab250a1ad13339dfee49" }, @@ -218207,7 +218207,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_quadraticPredictiveCoding_strictDecrease", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_quadraticPredictiveCoding_strictDecrease\n {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": "b84f8193cfd3a830c5352e9ce837b0175eae9b759f2001b95ac5da52704f97fe" }, @@ -218288,7 +218288,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep093.FEP093.fep093_forward_reverse_pathLaw_ratio", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep093_forward_reverse_pathLaw_ratio\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": "d9bd59ca90aa7dca2f3a372bf81e0d154acd7e0fc724f56ad1fb133099ac8ec8" }, @@ -218349,7 +218349,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep093.FEP093.fep093_pathLaws_normalized", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep093_pathLaws_normalized\n (protocol : FinitePathProtocol Path) :\n (∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", "statement_sha256": "d7e28bf7beaaf204158be3bda5facdffa29e75ac1673c31c3d24bd60678ab9eb" }, @@ -218420,7 +218420,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep093.FEP093.fep093_pathReversal_involutive", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep093_pathReversal_involutive\n (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", "statement_sha256": "79de21e25caee770f7a8fbe0a9ef8b5eef4234360b879174bc6c79e836a8ce85" }, @@ -218472,7 +218472,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep094.FEP094.fep094_entropyProduction_as_pathKL", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep094_entropyProduction_as_pathKL\n (protocol : FinitePathProtocol Path) :\n entropyProduction protocol =\n finiteKL protocol.forward protocol.reverseAligned", "statement_sha256": "dfbc2ceca9ae3e2f0cdef4e46671b80761a7a73c6508218a904c7de408a7b15f" }, @@ -218553,7 +218553,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep094.FEP094.fep094_entropyProduction_expected_logRatio", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep094_entropyProduction_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": "87b8ad43484f5cfcaf981afc458cb74354697ff8c83ca40ef2c628bf89fdec37" }, @@ -218615,7 +218615,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep094.FEP094.fep094_entropyProduction_nonnegative", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep094_entropyProduction_nonnegative\n (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", "statement_sha256": "855cd17290c9b387b1f745e15960e7f07c9f7ae37aea01009b455d83fe76dae2" }, @@ -218706,7 +218706,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep095.FEP095.fep095_detailedFluctuation_symmetry", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep095_detailedFluctuation_symmetry\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": "bb7351a9144564779a9152fea17f631d33a78e4e569ec4bc5914dae6954ee47d" }, @@ -218817,7 +218817,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep095.FEP095.fep095_entropyProduction_reversal_antisymmetry", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep095_entropyProduction_reversal_antisymmetry\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) = protocol.reverseAligned path)\n (hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) = protocol.forward path)\n (path : Path) :\n pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", "statement_sha256": "adc6650bc85d38e2bdf3ce539f15468f16dcfcd76e196f8b20394d07651ccab5" }, @@ -218898,7 +218898,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep096.FEP096.fep096_integralFluctuation_theorem", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep096_integralFluctuation_theorem\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": "3b11546769bf446eaebebe7cfde4e63602787f6bb3b110f16a9fddd48dd5d3eb" }, @@ -218990,7 +218990,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep097.FEP097.fep097_finiteJarzynski_equality", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep097_finiteJarzynski_equality\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": "dde76533df2c63b5c344035d8ca0901aa37d32f729d5921923f26bc7d503b8bc" }, @@ -219082,7 +219082,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep098.FEP098.fep098_localDetailedBalance_currentCancellation", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep098_localDetailedBalance_currentCancellation\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": "231a346ec9052f7a01161826338ddd6b7acf186c9a1068b3c110d7d4295f69d6" }, @@ -219174,7 +219174,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep098.FEP098.fep098_zeroReverseRate_boundary", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep098_zeroReverseRate_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": "5e7a555e8939dc7bbcafd20ea3817ed7274acebf6a6082f117eb0fac0104b966" }, @@ -219224,7 +219224,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep099.FEP099.fep099_irreversiblePositiveProduction_witness", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep099_irreversiblePositiveProduction_witness :\n 0 < entropyProduction irreversibleBoolProtocol", "statement_sha256": "c24e95b6a87629a529d0443e7f9dd3f0709cd8a62b901b52050feffc4f4c4ecd" }, @@ -219344,7 +219344,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep099.FEP099.fep099_reversibleChain_oneStep_KL_dissipation", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep099_reversibleChain_oneStep_KL_dissipation\n [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": "2228d0602ecea43d7fede48e56bf282cebe6a360c9fc6222673dde3e41c5e5fd" }, @@ -219414,7 +219414,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep099.FEP099.fep099_reversibleEquality_boundary", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep099_reversibleEquality_boundary [DecidableEq State]\n (actual stationary : FiniteLaw State) :\n finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", "statement_sha256": "686b118e6c6785b900e7ab8051ceb964515e3739f96365bc5efaa26ca88c0fef" }, @@ -219497,7 +219497,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_categoricalFisher_simplexTangent_positivity", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_categoricalFisher_simplexTangent_positivity\n (carrier : CategoricalFisherCarrier d)\n (tangent : Fin d → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric carrier.model tangent tangent", "statement_sha256": "eddf08868ba5eeac6eba0283ece75ad02874db34b3bfe0dfe4c74c996d80c9d2" }, @@ -219539,7 +219539,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_fullRank_categorical_example", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_fullRank_categorical_example :\n IsSimplexTangent twoCategoricalTangent ∧\n twoCategoricalTangent ≠ 0 ∧\n fisherMetric twoCategoricalFisherCarrier.model\n twoCategoricalTangent twoCategoricalTangent = 4", "statement_sha256": "f735c486e0f6ea69b398f02388a7154fe0979433e7222507f1b1e24d68dcd6f5" }, @@ -219581,7 +219581,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_rankDeficient_nullDirection_example", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_rankDeficient_nullDirection_example :\n duplicatedScoreNullTangent ≠ 0 ∧\n fisherMetric duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent duplicatedScoreNullTangent = 0", "statement_sha256": "787c2204b78b69ab14846be63937fb5c798c160a67d241d804fd52f6074af625" }, @@ -219654,7 +219654,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_twoCategorical_simplexMetric_fullRank", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_twoCategorical_simplexMetric_fullRank\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric twoCategoricalFisherCarrier.model tangent tangent", "statement_sha256": "406cd33fa429b80326df87fb4db0e6fb861153c4ed938d05db05956948fdecc4" }, @@ -219717,7 +219717,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_twoCategorical_tangent_spanning", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_twoCategorical_tangent_spanning\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n tangent = fun coordinate ↦\n tangent 0 * twoCategoricalTangent coordinate", "statement_sha256": "3248ef67a2d28421eff787eb4eacc986c2071243805f0d6de65fc43ee0cc6b96" }, @@ -219810,7 +219810,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep101.FEP101.fep101_fisherPullback_nonnegative", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep101_fisherPullback_nonnegative\n (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin k) ℝ) (tangent : Fin k → ℝ) :\n 0 ≤ pullbackMetric model jacobian tangent tangent", "statement_sha256": "005007091a34505f610dd61337c1eddbeb11289c76cc270e64da5e2d69bbab05" }, @@ -219914,7 +219914,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep101.FEP101.fep101_fisherPullback_reparameterization", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep101_fisherPullback_reparameterization\n (model : ScoreModel Outcome d)\n (outer : Matrix (Fin d) (Fin k) ℝ)\n (inner : Matrix (Fin k) (Fin d) ℝ)\n (left right : Fin d → ℝ) :\n pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)", "statement_sha256": "39075e92e670dbe4fc410780da0a282f0afde3c06d659efae89f772c684f60bb" }, @@ -220005,7 +220005,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep102.FEP102.fep102_unbiasedScalar_cramerRao", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep102_unbiasedScalar_cramerRao\n (model : ScoreModel Outcome 1) (estimator : Outcome → ℝ)\n (target : ℝ)\n (certificate : ScalarCramerRaoCertificate model estimator target) :\n 1 ≤ estimatorVariance model.law estimator target * scalarFisher model", "statement_sha256": "5246413d1a88c1d2d5d190b6177bc9eb4acd6c67f700b1fcb90d59bd7d4952c5" }, @@ -220113,7 +220113,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep103.FEP103.fep103_naturalGradient_equivariance", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep103_naturalGradient_equivariance\n (model : ScoreModel Outcome d) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin d) (Fin d) ℝ) [Invertible jacobian]\n (covector : Fin d → ℝ) :\n chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector", "statement_sha256": "010a2159f70563c04db0ae72aec5b25a12fd3fd2c07322b851fdcb232c62a3cf" }, @@ -220206,7 +220206,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep103.FEP103.fep103_weightedCauchySchwarz_proofSpike", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep103_weightedCauchySchwarz_proofSpike\n (law : FiniteLaw Outcome) (left right : Outcome → ℝ)\n (hRight : 0 < ∑ outcome, law outcome * right outcome ^ 2) :\n (∑ outcome, law outcome * left outcome * right outcome) ^ 2 ≤\n (∑ outcome, law outcome * left outcome ^ 2) *\n ∑ outcome, law outcome * right outcome ^ 2", "statement_sha256": "cbc5a2dfe66c5cb211231b4b167f7ec4f0c5c53030c2f95c007a7b73f7980480" }, @@ -220281,7 +220281,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep104_mirrorDescent_threePoint_identity\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (left middle right : Fin d → ℝ) :\n bregmanDivergence potential gradient left right -\n bregmanDivergence potential gradient left middle -\n bregmanDivergence potential gradient middle right =\n coordinatePairing\n (fun coordinate ↦\n gradient middle coordinate - gradient right coordinate)\n (fun coordinate ↦ left coordinate - middle coordinate)", "statement_sha256": "390eec210f9de37001adcb624fe1f9133c47276e3d9adeb88974a683d296043d" }, @@ -220386,7 +220386,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep105.FEP105.fep105_affineProjection_bregmanPythagorean", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep105_affineProjection_bregmanPythagorean\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet) :\n bregmanDivergence potential gradient candidate base =\n bregmanDivergence potential gradient candidate projection +\n bregmanDivergence potential gradient projection base", "statement_sha256": "a34e8f3f86f3df474b5e312a8450ace17f86708a5b09714c24b742ccbe759d83" }, @@ -220501,7 +220501,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep105.FEP105.fep105_affineProjection_minimizes", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep105_affineProjection_minimizes\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet)\n (hNonnegative :\n 0 ≤ bregmanDivergence potential gradient candidate projection) :\n bregmanDivergence potential gradient projection base ≤\n bregmanDivergence potential gradient candidate base", "statement_sha256": "d41f896fb1518ed045eee3b1f2fb939637a1905d91f61d4464ae1c7bc97e585e" }, @@ -220564,7 +220564,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep106.FEP106.fep106_replicator_massConservation", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep106_replicator_massConservation\n (law : FiniteLaw (Fin d)) (fitness : Fin d → ℝ) :\n ∑ coordinate, replicatorVector law fitness coordinate = 0", "statement_sha256": "43edbff5e8921366c748850c66a857a2f778b51c9e083ea1d85b71af0a15f1a2" }, @@ -220627,7 +220627,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep106.FEP106.fep106_replicator_naturalGradient_equivalence", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep106_replicator_naturalGradient_equivalence\n (carrier : CategoricalFisherCarrier d) (fitness : Fin d → ℝ) :\n IsNaturalGradient carrier.model\n (fun coordinate ↦ fitness coordinate - meanFitness carrier.law fitness)\n (replicatorVector carrier.law fitness)", "statement_sha256": "1bdcb1e0f579c38916ee2ddb0356d1e696a313d33a9a62f0b78c257775603332" }, @@ -220669,7 +220669,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep106.FEP106.fep106_twoCategorical_nonzero_replicator_witness", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep106_twoCategorical_nonzero_replicator_witness :\n twoCategoricalFitness 0 ≠ twoCategoricalFitness 1 ∧\n replicatorVector twoCategoricalLaw twoCategoricalFitness ≠ 0 ∧\n IsNaturalGradient twoCategoricalFisherCarrier.model\n (fun coordinate ↦\n twoCategoricalFitness coordinate -\n meanFitness twoCategoricalLaw twoCategoricalFitness)\n (replicatorVector twoCategoricalLaw twoCategoricalFitness)", "statement_sha256": "ec4a4a691660f4862377237b993e790ee116ffabcbdbdabd682e6617f555bcb3" }, @@ -220825,7 +220825,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep107.FEP107.fep107_productAgent_generative_mass", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep107_productAgent_generative_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 (FEP.CollectiveInference.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": "a98f380c4fc3a8f5c6bf681c90dcc7044457be433ba1d3e68b34e8fd2483e225" }, @@ -220931,7 +220931,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep107.FEP107.fep107_productKernel_normalized", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep107_productKernel_normalized\n (left : FiniteKernel State₁ Observation₁)\n (right : FiniteKernel State₂ Observation₂)\n (state : State₁ × State₂) :\n ∑ observation,\n FEP.CollectiveInference.productKernel left right state observation = 1", "statement_sha256": "ec8435ab83208a5308b7362c8557fe17e6eb937f8ada445936a870c538825cd8" }, @@ -221051,7 +221051,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep108.FEP108.fep108_collectiveVFE_additive", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep108_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 FEP.CollectiveInference.collectiveVFE\n actualLeft referenceLeft actualRight referenceRight leftCost rightCost =\n FEP.CollectiveInference.variationalFreeEnergy\n actualLeft referenceLeft leftCost +\n FEP.CollectiveInference.variationalFreeEnergy\n actualRight referenceRight rightCost", "statement_sha256": "c91b8b0f94d40985009f8909ee557d8e80d62e6f1f02a1202e64e4deac953e36" }, @@ -221149,7 +221149,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep108.FEP108.fep108_productCost_additive", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep108_productCost_additive\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ) :\n FEP.CollectiveInference.expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n FEP.CollectiveInference.expectedCost left leftCost +\n FEP.CollectiveInference.expectedCost right rightCost", "statement_sha256": "519fe37fd0456055822f63d896f251e1fcb9046fb8a9cf3369046b8635695235" }, @@ -221247,7 +221247,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep109.FEP109.fep109_additiveAmbiguity_expectation", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep109_additiveAmbiguity_expectation\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (ambiguityLeft : State₁ → ℝ) (ambiguityRight : State₂ → ℝ) :\n FEP.CollectiveInference.expectedCost (FiniteLaw.product left right)\n (fun state => ambiguityLeft state.1 + ambiguityRight state.2) =\n FEP.CollectiveInference.expectedCost left ambiguityLeft +\n FEP.CollectiveInference.expectedCost right ambiguityRight", "statement_sha256": "b9cb8fe30706976817b7d3988a567c35faff690484596609f2cc2e375902cad5" }, @@ -221367,7 +221367,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep109.FEP109.fep109_independentEFE_additive", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep109_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 FEP.CollectiveInference.independentCollectiveEFE\n predictiveLeft preferenceLeft predictiveRight preferenceRight\n ambiguityLeft ambiguityRight =\n FEP.CollectiveInference.expectedFreeEnergy\n predictiveLeft preferenceLeft ambiguityLeft +\n FEP.CollectiveInference.expectedFreeEnergy\n predictiveRight preferenceRight ambiguityRight", "statement_sha256": "c930ee14325395e0479436269b9fde0852e88716bb48aff7806897148ab87a28" }, @@ -221440,7 +221440,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_mass", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep110_unitWeightProductOfExpertsPool_mass\n (left right : FiniteLaw State)\n (normalizerPositive :\n 0 < FEP.CollectiveInference.productOfExpertsNormalizer left right)\n (state : State) :\n FEP.CollectiveInference.unitWeightProductOfExpertsPool\n left right normalizerPositive state =\n left state * right state /\n FEP.CollectiveInference.productOfExpertsNormalizer left right", "statement_sha256": "8638effcda20a7b2b3d67c140de9d0c3e63d6396f847fd8625acbd0b19b13273" }, @@ -221510,7 +221510,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_normalized", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep110_unitWeightProductOfExpertsPool_normalized\n (left right : FiniteLaw State)\n (normalizerPositive :\n 0 < FEP.CollectiveInference.productOfExpertsNormalizer left right) :\n ∑ state,\n FEP.CollectiveInference.unitWeightProductOfExpertsPool\n left right normalizerPositive state = 1", "statement_sha256": "2b351f91ec79b2d8601620143eba0868c4b371ddcf249726838d85d020c991e2" }, @@ -221580,7 +221580,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep111.FEP111.fep111_consensus_pointwise_mass_conserved", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep111_consensus_pointwise_mass_conserved\n (left right : FiniteLaw State) (state : State) :\n FEP.CollectiveInference.consensusLeft left right state +\n FEP.CollectiveInference.consensusRight left right state =\n left state + right state", "statement_sha256": "e7100f1644930343c4795fe08cf3dc590bf66acaadee5c1567b12822544d3165" }, @@ -221633,7 +221633,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep111.FEP111.fep111_consensus_total_mass_two", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep111_consensus_total_mass_two\n (left right : FiniteLaw State) :\n (∑ state, FEP.CollectiveInference.consensusLeft left right state) +\n ∑ state, FEP.CollectiveInference.consensusRight left right state = 2", "statement_sha256": "764c64fc4f510a8434eeb6e24ff350b3ae9e397855f9daa59e7fb9c34ae0cb1e" }, @@ -221681,7 +221681,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep112.FEP112.fep112_bool_nonzero_strict_witness", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep112_bool_nonzero_strict_witness :\n FEP.CollectiveInference.beliefGap\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (FEP.CollectiveInference.consensusRight\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false)) true = 1 / 2 ∧\n 0 < FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (FEP.CollectiveInference.consensusRight\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false)) true ∧\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (FEP.CollectiveInference.consensusRight\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false)) true <\n FEP.CollectiveInference.beliefGap\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", "statement_sha256": "53229cd727c698c799c844667566edf2eacdde8ec50079f97dfbfa24c21f3cde" }, @@ -221751,7 +221751,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep112.FEP112.fep112_consensus_converges", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep112_consensus_converges\n (left right : FiniteLaw State) (state : State) :\n Tendsto\n (fun iterations =>\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusIterate\n (left, right) iterations).1\n (FEP.CollectiveInference.consensusIterate\n (left, right) iterations).2 state)\n atTop (nhds 0)", "statement_sha256": "7f4668d9c9d8eb1fa7390d9b36adc4d6bd453afc815063994497d9d4edad1036" }, @@ -221821,7 +221821,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep112.FEP112.fep112_consensus_half_contraction", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep112_consensus_half_contraction\n (left right : FiniteLaw State) (state : State) :\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft left right)\n (FEP.CollectiveInference.consensusRight left right) state =\n (1 / 2 : ℝ) *\n FEP.CollectiveInference.beliefGap left right state", "statement_sha256": "10ddc2507e5c8791de31401c5113e4c6008ff3a2659b8a7662ab29730344dff1" }, @@ -221891,7 +221891,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep113.FEP113.fep113_coupledPotential_contracts", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep113_coupledPotential_contracts\n (left right : FiniteLaw State) (state : State) :\n FEP.CollectiveInference.coupledPotential\n (FEP.CollectiveInference.consensusLeft left right)\n (FEP.CollectiveInference.consensusRight left right) state =\n (1 / 4 : ℝ) *\n FEP.CollectiveInference.coupledPotential left right state", "statement_sha256": "489b27b8fd47aa3605a2aaef2f21c34ca86c161d81691150d66a26527b70eaa0" }, @@ -221971,7 +221971,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep113.FEP113.fep113_coupledPotential_strict_descent", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep113_coupledPotential_strict_descent\n (left right : FiniteLaw State) (state : State)\n (separated : left state ≠ right state) :\n FEP.CollectiveInference.coupledPotential\n (FEP.CollectiveInference.consensusLeft left right)\n (FEP.CollectiveInference.consensusRight left right) state <\n FEP.CollectiveInference.coupledPotential left right state", "statement_sha256": "49e37a199a1763644433e23ee58a8d4802535c9fb24eae93b24454063e591a64" }, @@ -222032,7 +222032,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep114.FEP114.fep114_empiricalMean_definition", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep114_empiricalMean_definition\n {Ω : Type*} {sampleCount : ℕ}\n (observables : Fin sampleCount → Ω → ℝ) (outcome : Ω) :\n FEP.LearningTheory.empiricalMean observables outcome =\n (∑ index, observables index outcome) / sampleCount", "statement_sha256": "a6346225bffac40c3b4481a9a099229f26219ff49b8925c366cc28d648f931d2" }, @@ -222158,7 +222158,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep114.FEP114.fep114_subGaussian_empiricalMean_tail", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep114_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": "f19575efac2722be8f87efecc2cf1f4c6e8504c40336922f62460a6f333541bb" }, @@ -222274,7 +222274,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep115.FEP115.fep115_frequencyDeviationEvent_membership", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep115_frequencyDeviationEvent_membership\n {Ω Alphabet : Type*} [Fintype Alphabet] [DecidableEq Alphabet]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Ω → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation : ℝ)\n (symbol : Alphabet) (outcome : Ω) :\n outcome ∈ FEP.LearningTheory.frequencyDeviationEvent\n sample target deviation symbol ↔\n deviation ≤\n |FEP.LearningTheory.empiricalFrequency\n (sample outcome) symbol - target symbol|", "statement_sha256": "75c6a63329bc06a8a2cd140abd255a3cef41176175e2eca8b40f7c0a8a6537a9" }, @@ -222414,7 +222414,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep115.FEP115.fep115_simultaneous_frequency_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep115_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\n (FEP.LearningTheory.frequencyDeviationEvent\n sample target deviation symbol) ≤ perSymbolFailure) :\n μ.real (⋃ symbol,\n FEP.LearningTheory.frequencyDeviationEvent\n sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", "statement_sha256": "3d7904332709f5bec5b23a15b69d6c46499a0c6e1dfdffe9b0a8dc5c3826a3a1" }, @@ -222572,7 +222572,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep116.FEP116.fep116_finitePACBayes_with_confidence", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep116_finitePACBayes_with_confidence\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior posterior : FiniteLaw Hypothesis)\n (certificate : FEP.VariationalDuality.GibbsCertificate Hypothesis)\n (referenceIsPrior : certificate.reference = prior)\n (empiricalLoss populationLoss : Hypothesis → ℝ)\n (inverseTemperature : ℝ)\n (inverseTemperaturePositive : 0 < inverseTemperature)\n (potentialIsLossGap : ∀ hypothesis,\n certificate.potential hypothesis = inverseTemperature *\n (populationLoss hypothesis - empiricalLoss hypothesis))\n (confidence : ℝ)\n (confidencePositive : 0 < confidence)\n (confidenceBelowOne : confidence < 1)\n (logMGFBound : certificate.logPartition ≤ Real.log confidence⁻¹) :\n FEP.VariationalDuality.expectation posterior populationLoss ≤\n FEP.VariationalDuality.expectation posterior empiricalLoss +\n (FEP.FiniteInformation.finiteKL posterior prior +\n Real.log confidence⁻¹) / inverseTemperature", "statement_sha256": "f8202c2ab9913fea9fac00fbff3532196b2926400367a3fe65fd6fc3ccc273cd" }, @@ -222641,7 +222641,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep116.FEP116.fep116_prior_support_nonzero", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep116_prior_support_nonzero\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis)\n (priorPositive : ∀ hypothesis, 0 < prior hypothesis)\n (hypothesis : Hypothesis) :\n prior hypothesis ≠ 0", "statement_sha256": "5e6b7789b74dc9b17cb99126be474bbf69c64657b1cdaaf59e6f8020e0d1be25" }, @@ -222767,7 +222767,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep117.FEP117.fep117_posteriorOdds_recursion", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep117_posteriorOdds_recursion\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence)\n (evidencePositive : 0 < likelihood.predictive prior evidence)\n (favored reference : Hypothesis)\n (referencePriorPositive : 0 < prior reference)\n (referenceLikelihoodPositive : 0 < likelihood reference evidence) :\n FEP.LearningTheory.posteriorOdds\n prior likelihood evidence evidencePositive favored reference =\n (prior favored / prior reference) *\n (likelihood favored evidence / likelihood reference evidence)", "statement_sha256": "ad2c9e2823e16376a440c29ae7be9571a639eb15ec88e2ad3b37ec9945247fb8" }, @@ -222882,7 +222882,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep117.FEP117.fep117_zero_prior_boundary", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep117_zero_prior_boundary\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence)\n (evidencePositive : 0 < likelihood.predictive prior evidence)\n (hypothesis : Hypothesis) (priorZero : prior hypothesis = 0) :\n likelihood.posterior prior evidence evidencePositive hypothesis = 0", "statement_sha256": "d427b877fdbadcf9f355dcd6547767801c174ecc4cde1dad05aad21ecee1343c" }, @@ -222994,7 +222994,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep118.FEP118.fep118_posteriorGap_concentration", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep118_posteriorGap_concentration\n (priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)\n (sampleCount : ℕ)\n (priorGoodPositive : 0 < priorGood)\n (priorBadNonnegative : 0 ≤ priorBad)\n (likelihoodGoodPositive : 0 < likelihoodGood)\n (likelihoodBadNonnegative : 0 ≤ likelihoodBad)\n (likelihoodGapNonnegative : 0 ≤ likelihoodGap)\n (gapBound :\n likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood) :\n FEP.LearningTheory.twoHypothesisPosteriorBad\n priorGood priorBad likelihoodGood likelihoodBad sampleCount ≤\n (priorBad / priorGood) *\n Real.exp (-((sampleCount : ℝ) * likelihoodGap))", "statement_sha256": "677ba3a2f3a232174aad0054e2067b7ae2f562713499238f2c00f0a751ff0036" }, @@ -223021,7 +223021,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep118.FEP118.fep118_twoHypothesis_witness", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep118_twoHypothesis_witness :\n FEP.LearningTheory.twoHypothesisPosteriorBad\n (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", "statement_sha256": "40dbf772b856fa50581b6402a164328a2579e7fd703441e554ae081de2336c87" }, @@ -223110,7 +223110,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep119.FEP119.fep119_mixtureEvidence_lower_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep119_mixtureEvidence_lower_bound\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis) :\n prior selected * likelihood selected ≤\n FEP.LearningTheory.mixtureEvidence prior likelihood", "statement_sha256": "23da0fd96647c533a264bfcb377a3b2626513c72f060eae9a1a85f4f73321ab8" }, @@ -223219,7 +223219,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep119.FEP119.fep119_mixtureLogLoss_regret", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep119_mixtureLogLoss_regret\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis)\n (priorPositive : 0 < prior selected)\n (likelihoodPositive : 0 < likelihood selected) :\n -Real.log (FEP.LearningTheory.mixtureEvidence prior likelihood) ≤\n -Real.log (likelihood selected) - Real.log (prior selected)", "statement_sha256": "f9099f72066898aad9ccb696ccb48816ba33cc5888628896f902e8a4a2fa2fb5" }, @@ -223281,7 +223281,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep120.FEP120.fep120_bayesFactor_multiplicative_update", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep120_bayesFactor_multiplicative_update\n (priorOdds firstFavored firstReference secondFavored secondReference : ℝ)\n (firstReferenceNonzero : firstReference ≠ 0)\n (secondReferenceNonzero : secondReference ≠ 0) :\n FEP.LearningTheory.bayesFactor\n (firstFavored * secondFavored) (firstReference * secondReference) =\n FEP.LearningTheory.bayesFactor firstFavored firstReference *\n FEP.LearningTheory.bayesFactor secondFavored secondReference ∧\n FEP.LearningTheory.updatedModelOdds priorOdds\n (firstFavored * secondFavored) (firstReference * secondReference) =\n FEP.LearningTheory.updatedModelOdds\n (FEP.LearningTheory.updatedModelOdds\n priorOdds firstFavored firstReference)\n secondFavored secondReference", "statement_sha256": "9c919e910ee2fdf648997c151f8ad8e36ced28c1963c1b18e329c4fe4ea9c973" }, @@ -223308,7 +223308,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep120.FEP120.fep120_twoHypothesis_evidence_witness", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep120_twoHypothesis_evidence_witness :\n FEP.LearningTheory.bayesFactor (3 / 4) (1 / 4) = 3 ∧\n FEP.LearningTheory.updatedModelOdds 1 (3 / 4) (1 / 4) = 3", "statement_sha256": "af06b407e7224c681b2ccc0f46517881e82378edfcccb5aa0712d08967ebf06f" }, @@ -223346,7 +223346,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep120.FEP120.fep120_zero_evidence_boundary", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep120_zero_evidence_boundary (favored : ℝ) :\n FEP.LearningTheory.bayesFactor favored 0 = 0", "statement_sha256": "b4039a6f7b9e9820828993a103269383e1d86acac1d42fdc8334fc1ef02cac5d" }, @@ -223427,7 +223427,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep121.FEP121.fep121_laplaceError_identity", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep121_laplaceError_identity\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", "statement_sha256": "ed107055b5246e0ef533113f1d083e89769d6001cecf16ea46d5f3176b7a4f75" }, @@ -223475,7 +223475,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep121.FEP121.fep121_shrinkage_mem_unitInterval", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep121_shrinkage_mem_unitInterval (sampleCount : ℕ) :\n shrinkage sampleCount ∈ Set.Icc (0 : ℝ) 1", "statement_sha256": "7470ad3f1a381f23ea38813276ae6066dd3e0a998884fb50f15eca375d1f3810" }, @@ -223535,7 +223535,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep122.FEP122.fep122_laplaceBias_abs_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep122_laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n |laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", "statement_sha256": "b103ec3c6e0cefa9c67c09e4326b5be21f3bd13312f504c909cc662b7582dfe4" }, @@ -223564,7 +223564,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep122.FEP122.fep122_nonzero_boundary_witness", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep122_nonzero_boundary_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", "statement_sha256": "0ed30035806d95181bb449659d92228c0fcc5496cdc9d8e640bdf8c8e01ae2df" }, @@ -223617,7 +223617,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep123.FEP123.fep123_error_nonnegative", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep123_error_nonnegative\n (successes sampleCount : ℕ) (target error : ℝ)\n (empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error) :\n 0 ≤ error", "statement_sha256": "9a9a395c84b42696f74365baf7361ff7e7a5c8a1b6344609f398940a9376052b" }, @@ -223709,7 +223709,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep123.FEP123.fep123_laplaceAbsoluteError_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep123_laplaceAbsoluteError_le\n (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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": "9b7567663dc895b120f3d65e0ce919711cb0bee5a507867a10cd24e2be6a709f" }, @@ -223790,7 +223790,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep124.FEP124.fep124_laplaceSquaredError_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep124_laplaceSquaredError_le\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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": "bb11673b1709d518db4541f183cee6bbb0767af6f4d8b2cdde6236d95801fd50" }, @@ -223908,7 +223908,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep124.FEP124.fep124_laplaceSquaredRisk_le", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep124_laplaceSquaredRisk_le\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n FEP.VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n FEP.VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "statement_sha256": "7a2a8a0bad10a89973e447e39e0b03e39d728536029430c43aff83062931ca23" }, @@ -223949,7 +223949,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep125.FEP125.fep125_brierExcess_eq_sqError", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep125_brierExcess_eq_sqError (target forecast : ℝ) :\n bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", "statement_sha256": "fac45ecc2d144c57967b82df5d060d946dde1aa4a0fac8f823dc64a4648990d8" }, @@ -223980,7 +223980,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep125.FEP125.fep125_brierExcess_self", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep125_brierExcess_self (target : ℝ) :\n bernoulliBrierScore target target - bernoulliBrierScore target target = 0", "statement_sha256": "5dc89fb89a81fc0d7d39601311a165e70413b589a5b4466a6e7edd5a7edf502a" }, @@ -224098,7 +224098,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep126.FEP126.fep126_laplaceBrierRisk_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep126_laplaceBrierRisk_le\n {Ω : Type*} [Fintype Ω] (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 FEP.VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "statement_sha256": "8468d801f26dffb26c27484cce65673b8716c1ff50eece26a13d6753f86af984" }, @@ -224147,7 +224147,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep126.FEP126.fep126_sampling_mass_one", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep126_sampling_mass_one\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω) :\n ∑ outcome, sampling outcome = 1", "statement_sha256": "f1646c282ce1af02feac037a87b397c3b55df0620e7f76dc89316eadee397623" }, @@ -224277,7 +224277,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep127.FEP127.fep127_laplaceBadEvent_probability_le", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep127_laplaceBadEvent_probability_le\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ)\n (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": "8d4cff52f290b168a154e9aa83c2f67475c8d36734822046ecbd844978a10bb7" }, @@ -224386,7 +224386,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep127.FEP127.fep127_laplaceBadEvent_subset", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep127_laplaceBadEvent_subset\n {Ω : Type*} [Fintype Ω] (successes : Ω → ℕ)\n (sampleCount : ℕ) (target error : ℝ)\n (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": "020746b334eeaa62092972d1a6360475f771725857e1200ebe9f999ae570a75f" }, @@ -224463,7 +224463,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep128.FEP128.fep128_policyTreeValue_leaf", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep128_policyTreeValue_leaf\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n (model : PolicyTreeModel Belief Action Observation) (belief : Belief) :\n policyTreeValue (depth := 0) model\n (PUnit.unit : PolicyTree Action Observation 0) belief = 0", "statement_sha256": "1341f5359a0f7773323fb41a718bab836bba59230bdb68ef4f1b454a249c16fc" }, @@ -224579,7 +224579,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep128.FEP128.fep128_policyTreeValue_node", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep128_policyTreeValue_node\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (action : Action)\n (continuation : Observation → PolicyTree Action Observation depth)\n (belief : Belief) :\n policyTreeValue (depth := depth + 1) model (action, continuation) belief =\n model.stageCost depth belief action +\n ∑ observation,\n model.observationLaw belief action observation *\n policyTreeValue model (continuation observation)\n (model.update belief action observation)", "statement_sha256": "50c0d7737436c2c6b584012f0c4d344c62ad2c18c85d8eba649d5cbcc8c85a7a" }, @@ -224693,7 +224693,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep129.FEP129.fep129_optimalTreeAction_le", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep129_optimalTreeAction_le\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) (alternative : Action) :\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation) ≤\n model.stageCost depth belief alternative +\n ∑ observation,\n model.observationLaw belief alternative observation *\n optimalTreeValue model depth\n (model.update belief alternative observation)", "statement_sha256": "825786501c04665076e2443fc1dff7027d2435d4753fa6b8c5425e4cf10d6ce8" }, @@ -224797,7 +224797,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep129.FEP129.fep129_optimalTreeValue_eq_min", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep129_optimalTreeValue_eq_min\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue model (depth + 1) belief =\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation)", "statement_sha256": "21fa255572345e1ee58d45700e5f7320ff64acaff1b86400ebda69bcd17f99c7" }, @@ -224901,7 +224901,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep130.FEP130.fep130_exists_optimalPolicyTree", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep130_exists_optimalPolicyTree\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n ∃ tree : PolicyTree Action Observation depth,\n policyTreeValue model tree belief = optimalTreeValue model depth belief ∧\n ∀ alternative : PolicyTree Action Observation depth,\n policyTreeValue model tree belief ≤\n policyTreeValue model alternative belief", "statement_sha256": "ae826d6fce59dee31885385d2b44e907f4069b3e24df597cbded1453281cf22e" }, @@ -224959,7 +224959,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep130.FEP130.fep130_policyTree_carrier_finite", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep130_policyTree_carrier_finite\n {Action Observation : Type*}\n [Fintype Action] [Fintype Observation] (depth : ℕ) :\n Finite (PolicyTree Action Observation depth)", "statement_sha256": "c6b040db26c8a1df346ad0495a282db370a162368087902ad344ed289a9b9dc8" }, @@ -224991,7 +224991,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep131.FEP131.fep131_openLoopEmbedding_leaf", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep131_openLoopEmbedding_leaf\n {Action Observation : Type*} :\n openLoopEmbedding (depth := 0) (Action := Action) (Observation := Observation)\n (PUnit.unit : OpenLoopPlan Action 0) =\n (PUnit.unit : PolicyTree Action Observation 0)", "statement_sha256": "939acb2b34c59c57498d9059c087d3f8ea4668f6d77b21dc009a8cff520be749" }, @@ -225097,7 +225097,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep131.FEP131.fep131_openLoopEmbedding_value", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep131_openLoopEmbedding_value\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief) :\n policyTreeValue model\n (openLoopEmbedding (Observation := Observation) plan) belief =\n openLoopValue model plan belief", "statement_sha256": "a4ff4bec2f98588a459cdba6c5892dfb2bcc71f8c7a419de461702744cb47f11" }, @@ -225128,7 +225128,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep132.FEP132.fep132_finite_horizon_depth", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep132_finite_horizon_depth (depth : ℕ) : depth < depth + 1", "statement_sha256": "a1950ecf01112c92a6da9ef70f4ce96e0f8947c188990511da774cca320826e1" }, @@ -225242,7 +225242,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep132.FEP132.fep132_optimalTree_le_openLoop", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep132_optimalTree_le_openLoop\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief) :\n optimalTreeValue model depth belief ≤ openLoopValue model plan belief", "statement_sha256": "3735afccbf7bbe0b3f37ba520c998888923da4fa3ea2f2241f773e4667b9653c" }, @@ -225355,7 +225355,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep133.FEP133.fep133_optimalValues_agree", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep133_optimalValues_agree\n {Belief State Action Observation : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation]\n [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue (efePolicyTreeModel model) depth belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief", "statement_sha256": "3f7fecf8ebc49bf2ec663a9cfd78294fe7bff81eb5fe931783d3199d808dc5e8" }, @@ -225470,7 +225470,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep133.FEP133.fep133_policyTree_efe_eq_risk_add_ambiguity", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep133_policyTree_efe_eq_risk_add_ambiguity\n {Belief State Action Observation : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief) :\n policyTreeValue (efePolicyTreeModel model) tree belief =\n policyTreeValue (riskAmbiguityPolicyTreeModel model) tree belief", "statement_sha256": "cef8627be99f4d7a06190a6d672655f5f677b617ee0a5145fb36270498e289c3" }, @@ -225526,7 +225526,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep134.FEP134.fep134_boolFeedback_strictlyBetter", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep134_boolFeedback_strictlyBetter (action : Bool) :\n policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2 ∧\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false", "statement_sha256": "4a14745f1ceb8623a76f90c97e459d1adefcfe4929e18a55c860e79eef2bd2ae" }, @@ -225546,7 +225546,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep134.FEP134.fep134_feedback_continuation_changes", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep134_feedback_continuation_changes :\n (boolFeedbackTree.2 false).1 ≠ (boolFeedbackTree.2 true).1", "statement_sha256": "2c921b09381fdfc66124d0f8ec770fe71c79ce74365fb037edf571310d47575c" }, @@ -225631,7 +225631,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep135.FEP135.fep135_embeddedLaw_apply_singleton", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep135_embeddedLaw_apply_singleton\n (law : FiniteLaw State) (state : State) :\n FEP.NativeBlanket.embeddedLaw law {state} = ENNReal.ofReal (law state)", "statement_sha256": "91faa79dff9e9cba887f3d349bff60e6d80468f80b2e1e9c4ab5757257482a16" }, @@ -225706,7 +225706,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep135.FEP135.fep135_embeddedLaw_normalized", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep135_embeddedLaw_normalized (law : FiniteLaw State) :\n FEP.NativeBlanket.embeddedLaw law Set.univ = 1", "statement_sha256": "4a7b86c077f5566cc25dbe22976bfe7ef0a062c835a90b3610a8923f9077b47b" }, @@ -225791,7 +225791,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep136.FEP136.fep136_embeddedLaw_expectation", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep136_embeddedLaw_expectation\n (law : FiniteLaw State) (observable : State → ℝ) :\n ∫ state, observable state ∂FEP.NativeBlanket.embeddedLaw law =\n ∑ state, law state * observable state", "statement_sha256": "0c100004a5b0174e9afa2ef7fccafc91bfe8ff5b3fbd4e964ba2f6aa3d545aca" }, @@ -225855,7 +225855,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep136.FEP136.fep136_embeddedLaw_injective", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep136_embeddedLaw_injective :\n Function.Injective\n (FEP.NativeBlanket.embeddedLaw : FiniteLaw State → Measure State)", "statement_sha256": "1b89737a68a32fe74fac38e86a8999fd0831963f32f04597719b028ce23cf9ca" }, @@ -225965,7 +225965,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep137.FEP137.fep137_embeddedPredictive_eq_comp", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep137_embeddedPredictive_eq_comp\n (prior : FiniteLaw Input) (kernel : FiniteKernel Input Output) :\n FEP.NativeBlanket.embeddedLaw (kernel.predictive prior) =\n FEP.NativeBlanket.embeddedKernel kernel ∘ₘ\n FEP.NativeBlanket.embeddedLaw prior", "statement_sha256": "4b8fd2ec0e2035b7d275d1a03fd8b28d3cb0b2ff8d9945ed8b32f15024636f81" }, @@ -226145,7 +226145,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep138.FEP138.fep138_staticJoint_rectangle_factorization", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep138_staticJoint_rectangle_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n FEP.NativeBlanket.embeddedLaw (staticJoint model)\n (FEP.NativeBlanket.blanketCoordinate ⁻¹' {blanket} ∩\n FEP.NativeBlanket.internalCoordinate ⁻¹' {internal} ∩\n FEP.NativeBlanket.externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", "statement_sha256": "7315ac00d3c4dc9158de424dd0bf81d0ad8b5104c85861fedb7361264839f12f" }, @@ -226300,7 +226300,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep139.FEP139.fep139_correlatedBlanket_nonvacuous", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep139_correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool := ⊤\n CondIndepFun\n (MeasurableSpace.comap FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n FEP.NativeBlanket.internalCoordinate\n FEP.NativeBlanket.externalCoordinate\n (FEP.NativeBlanket.embeddedLaw\n (staticJoint FEP.NativeBlanket.correlatedBlanketModel)) ∧\n staticJoint FEP.NativeBlanket.correlatedBlanketModel\n (((false, false), false), false) = 1 / 2 ∧\n staticJoint FEP.NativeBlanket.correlatedBlanketModel\n (((true, true), true), true) = 1 / 2 ∧\n staticJoint FEP.NativeBlanket.correlatedBlanketModel\n (((false, true), false), false) ≠ 1 / 2", "statement_sha256": "4902114c5ed24f575f046e85f6bafca1e14f2de0742aa01faffcad11c63bd358" }, @@ -226466,7 +226466,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep139.FEP139.fep139_staticJoint_condIndepFun", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep139_staticJoint_condIndepFun\n (model : StaticModel Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n FEP.NativeBlanket.internalCoordinate\n FEP.NativeBlanket.externalCoordinate\n (FEP.NativeBlanket.embeddedLaw (staticJoint model))", "statement_sha256": "5f07d04f71194ee3898cb7f036073a14347891e41e68072e20765a400de2d8d5" }, @@ -226699,7 +226699,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep140.FEP140.fep140_condIndepFun_measurableImages", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep140_condIndepFun_measurableImages\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 FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n (internalImage ∘ FEP.NativeBlanket.internalCoordinate)\n (externalImage ∘ FEP.NativeBlanket.externalCoordinate)\n (FEP.NativeBlanket.embeddedLaw (staticJoint model))", "statement_sha256": "8f1d3d43d43e65e7b9eb686f790751b0f7ba674e87f893318183fdb611fe031e" }, @@ -226875,7 +226875,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep141.FEP141.fep141_prediction_preserves_nativeBlanket", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep141_prediction_preserves_nativeBlanket\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n FEP.NativeBlanket.internalCoordinate\n FEP.NativeBlanket.externalCoordinate\n (FEP.NativeBlanket.embeddedLaw\n (staticJoint (nextStaticModel dynamics current)))", "statement_sha256": "c642ab9be26cd9491e9c062dd0bf7df8d3863593a3e8e10fbeda5c6cee65aa40" }, @@ -226955,7 +226955,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep142.FEP142.fep142_exponentialFamily_pointwise_pos", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep142_exponentialFamily_pointwise_pos\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) :\n 0 < family.law parameter outcome", "statement_sha256": "98c54365f1dce582a3787f94c5eae48ace16575b1533be11f01ff32f04be9456" }, @@ -227025,7 +227025,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep142.FEP142.fep142_exponentialFamily_sum_one", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep142_exponentialFamily_sum_one\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n ∑ outcome, family.law parameter outcome = 1", "statement_sha256": "2c6a5bbdf1383df2da2230f35b0bb47413b38a76462070fa266a8add76a2a29c" }, @@ -227106,7 +227106,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep143.FEP143.fep143_logDensityRatio_eq", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep143_logDensityRatio_eq\n (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": "485d40c679cc88bf9ddbbe513516d0a46b0077fae3a24bb38550444b5f0041c5" }, @@ -227176,7 +227176,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep144.FEP144.fep144_logPartition_hasDerivAt", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep144_logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", "statement_sha256": "537ddb500e88078866997639cc3787dbe3d37fdc1301c31c00dcc175b3a4454e" }, @@ -227262,7 +227262,7 @@ ], "qualified_name": "fep_fep145.FEP145.fep145_score_eq_statistic_sub_mean", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep145_score_eq_statistic_sub_mean\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) :\n family.score parameter outcome =\n family.statistic outcome - family.mean parameter", "statement_sha256": "11d5c6466849fd69bd7e82d016854bfa45d541bf78a45ceb8af853403d2367b3" }, @@ -227338,7 +227338,7 @@ ], "qualified_name": "fep_fep145.FEP145.fep145_score_mean_zero", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep145_score_mean_zero\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n ∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", "statement_sha256": "e09fcb01e89d61f122a64948f24388b434b78ed330c6df20cf1af351e5ddfce5" }, @@ -227419,7 +227419,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_constantStatistic_zero_boundary", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_constantStatistic_zero_boundary\n (base : Outcome → ℝ) (hBase : ∀ outcome, 0 < base outcome)\n (constant parameter : ℝ) :\n (ScalarExponentialFamily.constantStatisticFamily base hBase constant).fisher\n parameter = 0", "statement_sha256": "7d0498e5430e26c87941930ef14685381fba91a656dfea62f398bbf80fc1b826" }, @@ -227489,7 +227489,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_fisher_eq_variance", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_fisher_eq_variance\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", "statement_sha256": "d6f43d313ca9334bf5678a9fd60ab66a3ababafc294908ea42cee31823cea1d3" }, @@ -227559,7 +227559,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_logPartition_secondDeriv_eq_variance", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_logPartition_secondDeriv_eq_variance\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", "statement_sha256": "5c08230fa5b758448eff3d0f9608f00f22c4ae1837682f1d523c5e29487096a0" }, @@ -227608,7 +227608,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_threeState_variance_positive", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_threeState_variance_positive :\n 0 < ScalarExponentialFamily.threeStateFamily.variance 0", "statement_sha256": "ee06e5ff46a4691279b6799d47759c5312fb569a6b0ec9f20e3112602ca50ea9" }, @@ -227679,7 +227679,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep147.FEP147.fep147_exponentialFamily_KL_eq_bregman", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep147_exponentialFamily_KL_eq_bregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", "statement_sha256": "577c4809f7bd4f06b5b30f84dd2854c730d263bf943bef8387765abf47ccbb83" }, @@ -227759,7 +227759,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep147.FEP147.fep147_exponentialFamily_fullSupport", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep147_exponentialFamily_fullSupport\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) :\n 0 < family.law parameter outcome", "statement_sha256": "230a5f414967870cc9f3ea933a02a8a036a7a82b7320e08f939e0ab87e606614" }, @@ -227840,7 +227840,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep148.FEP148.fep148_meanParameter_injective", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep148_meanParameter_injective\n (family : ScalarExponentialFamily Outcome) {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": "3642b84053853a49eea2b9cfe65600750113b027eaa3adaaf04d1746edf9ac7f" }, @@ -227921,7 +227921,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep148.FEP148.fep148_meanParameter_strictMono", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep148_meanParameter_strictMono\n (family : ScalarExponentialFamily Outcome) {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper)", "statement_sha256": "2386b608a85ad06337d6e227a56efb6e954ccaa7f31fa841be0ebec5f8e46493" }, @@ -227941,7 +227941,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep149.FEP149.fep149_benchmarkRates_exact", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep149_benchmarkRates_exact :\n TwoStateRates.benchmarkRates.forward = 0.7 ∧\n TwoStateRates.benchmarkRates.backward = 0.3", "statement_sha256": "0074e0e391a7be78f41761a9e2932aca09db97b3a9c705d62b0079a830a89378" }, @@ -228003,7 +228003,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep149.FEP149.fep149_twoStateSemigroup_nonnegative", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep149_twoStateSemigroup_nonnegative\n (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time)\n (source target : Bool) :\n 0 ≤ rates.transition time source target", "statement_sha256": "3af121c235fd13a44a365b7df52715524e33f5e90bfbc33be9203a003572a875" }, @@ -228054,7 +228054,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep149.FEP149.fep149_twoStateSemigroup_rowSum", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep149_twoStateSemigroup_rowSum\n (rates : TwoStateRates) (time : ℝ) (source : Bool) :\n ∑ target, rates.transition time source target = 1", "statement_sha256": "b7ee1ba49a8a773f5b2a62f99724ca45555e8a156cb7cc6a9fcf4652c5e1c824" }, @@ -228096,7 +228096,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep150.FEP150.fep150_twoStateSemigroup_zero", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep150_twoStateSemigroup_zero\n (rates : TwoStateRates) (source target : Bool) :\n rates.transition 0 source target = if source = target then 1 else 0", "statement_sha256": "93e5df3d1d1db00493b38a4a0b3bbe2184ed78ecbfd9de755f3fbb526932b66d" }, @@ -228149,7 +228149,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep151.FEP151.fep151_twoStateSemigroup_add", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep151_twoStateSemigroup_add\n (rates : TwoStateRates) (left right : ℝ) (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": "a4467057b3fa962f265b1e642db38676920731c7cd2868e689f4259e3f6c1ebb" }, @@ -228201,7 +228201,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep152.FEP152.fep152_twoStateSemigroup_hasDerivAt", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep152_twoStateSemigroup_hasDerivAt\n (rates : TwoStateRates) (time : ℝ) (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": "4dd0da2b184ebac3bfb95a163753ac1ad66460d10bfc719b6e85784e4b6f5f66" }, @@ -228253,7 +228253,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep153.FEP153.fep153_twoStateSemigroup_detailedBalance", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep153_twoStateSemigroup_detailedBalance\n (rates : TwoStateRates) (time : ℝ) (source target : Bool) :\n rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", "statement_sha256": "dc3ff53a03e4afbe7b3ed465ef3cdc272cfab3b051634147ffbfb4221909afff" }, @@ -228304,7 +228304,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep153.FEP153.fep153_twoStateSemigroup_stationary", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep153_twoStateSemigroup_stationary\n (rates : TwoStateRates) (time : ℝ) (target : Bool) :\n (∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", "statement_sha256": "e2942d429f630b0cdb62591f2ae5d64facbcd0fb4eaed647c00b5504b373e48e" }, @@ -228324,7 +228324,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep154.FEP154.fep154_benchmarkInitial_nonstationary", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep154_benchmarkInitial_nonstationary :\n TwoStateRates.benchmarkInitial true ≠\n TwoStateRates.benchmarkRates.stationaryTrue", "statement_sha256": "c963ea99a69a9e612166b530159d837241a2e99c90804e97e6cb747d1679762c" }, @@ -228375,7 +228375,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep154.FEP154.fep154_twoStateRelaxation_exact", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep154_twoStateRelaxation_exact\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :\n rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", "statement_sha256": "b3e8e19848c4a5cb8c923fe882fb24259c610d1f1c616725d11a36a011532a0c" }, @@ -228395,7 +228395,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep155.FEP155.fep155_benchmarkLyapunov_strictlyDecreasing", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep155_benchmarkLyapunov_strictlyDecreasing :\n -2 * TwoStateRates.benchmarkRates.decayRate *\n TwoStateRates.benchmarkRates.lyapunov\n TwoStateRates.benchmarkInitial 0 < 0", "statement_sha256": "493971e4771c756cf9a5ec96ced716c2a0e44915de19a8b8cb01299c3a978935" }, @@ -228446,7 +228446,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep155.FEP155.fep155_twoStateLyapunov_exact", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep155_twoStateLyapunov_exact\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :\n rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", "statement_sha256": "086618cb9fcd16ed6bc31eabf24b681a35e9c14b1e28829da05a4d77fd0d03a4" }, @@ -228497,7 +228497,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep155.FEP155.fep155_twoStateLyapunov_hasDerivAt", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep155_twoStateLyapunov_hasDerivAt\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", "statement_sha256": "c91d356bcb73f0348df78ccb839b9916233c8e267ec50740ff262c2b4c2dc701" }, @@ -228621,7 +228621,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_argminEFE_eq_risk_add_ambiguity", "source_line": 71, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "fd2e9424d038ccdecf61782d6d04ac263148ac8e18bb051583cba6839dfcc2d8" }, @@ -228765,7 +228765,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimal_value", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "23af393336570f87cd57abe8efd005733fa86771d7f004bc8ad69b8b723a72f3" }, @@ -228919,7 +228919,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "c0908aa4276132837913ff79174d26dbc64763295a709038ff2061ff94ea8fbb" }, @@ -229073,7 +229073,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_efeControlObjective_eq_gibbsFreeEnergy", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "e90a9994abcf9174ee783c98254db5bff4df9b95b86b22d6ecbb81a85d5c6912" }, @@ -229227,7 +229227,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_efeControlObjective_eq_kl_sub_logPartition", "source_line": 49, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "7b36d36524cbfba2b74c931c9e177da3a52390f950c0bb781c386625869d8247" }, @@ -229381,7 +229381,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_efeControlObjective_sub_eq_kl", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "0c5d166f8f03e106ef8694be90bb5afdfd3b35834a3e0667a69b2e7346f8d06e" }, @@ -229493,7 +229493,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_exists_EFE_minimizing_policy", "source_line": 94, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "ce04ebd9b77162c985f7ab4cef2019388a0c33b554483d9204aaed4e9abebd6f" }, @@ -229625,7 +229625,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_finiteArgminEFE_minimizes_risk_add_ambiguity", "source_line": 84, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "bdb96df5583cf7ee8487d045e541973ef31d74577ddd7f7578ffa9e857ccfc43" }, @@ -229757,7 +229757,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_policyTree_value_agreement", "source_line": 104, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "da8c784e4e4dd371890e47f86de803171f3bd9588f75e5a07fb42c6a385d9e31" }, @@ -229880,7 +229880,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_filteredBelief_eq_forwardFilter", "source_line": 147, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_filteredBelief_eq_forwardFilter [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n filteredBelief model belief outcome hEvidence =\n forwardFilter belief FiniteKernel.identity model.likelihood outcome\n (identity_forwardEvidence belief outcome FiniteKernel.identity rfl\n model.likelihood hEvidence)", "statement_sha256": "86127cf410a7bf8fecf0f92eaa80793c7d459c939ee2e32a44d4f30558d05f4a" }, @@ -229997,7 +229997,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_loop_fixed_point_is_boltzmann", "source_line": 129, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_loop_fixed_point_is_boltzmann (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (energy : ℝ)\n (hflat : ∀ policy, expectedFreeEnergy model policy = energy) :\n policyPosterior precision model support = model.policyPrior", "statement_sha256": "96a369c3e73ee70da36ac672c8a16f18502b2c843e406cf7e6185cf6a2eaea8d" }, @@ -230122,7 +230122,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_loop_invariant_surprisal_bound [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (support : FullSupport (withInitialState model\n (filteredBelief model belief outcome hEvidence))) :\n -Real.log (model.likelihood.predictive belief outcome) ≤\n perceptionVFE model belief outcome hEvidence belief ∧\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence) ∧\n expectedFreeEnergy\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) =\n risk (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) +\n ambiguity\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence))", "statement_sha256": "298db1292b9c9a86781b2a62ba64881d7727ac80b090a154ab74d6927d0fd6a9" }, @@ -230255,7 +230255,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perceptionActionKernel_apply", "source_line": 170, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perceptionActionKernel_apply [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (hEvidence : ∀ o : Outcome, 0 < model.likelihood.predictive belief o)\n (outcome : Outcome) (state : State) :\n perceptionActionKernel model belief hEvidence outcome state =\n perceptionActionStep model belief outcome (hEvidence outcome) state", "statement_sha256": "36d327bcc1c4fad33bf3d1c3a5db9f1427b023a09aad502adff899428e66ba2d" }, @@ -230378,7 +230378,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perceptionActionStep_eq", "source_line": 159, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perceptionActionStep_eq [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionActionStep model belief outcome hEvidence =\n (model.transition (selectedPolicy model\n (filteredBelief model belief outcome hEvidence))).predictive\n (filteredBelief model belief outcome hEvidence)", "statement_sha256": "626c057faa432bac843c3a703e3fb71018ea6c36bd969d609fcea399bcb5da2c" }, @@ -230485,7 +230485,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perceptionVFE_gap", "source_line": 108, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perceptionVFE_gap\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence)", "statement_sha256": "0431ec5156934ae64b5ffec6a68c93b89a0563ede9f3a81bd6e949f6fcad5cb9" }, @@ -230601,7 +230601,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perception_kl_decomposition", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perception_kl_decomposition\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n finiteKL actual reference =\n finiteKL (model.likelihood.predictive actual)\n (model.likelihood.predictive reference) +\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o))", "statement_sha256": "8d80fc2bc81d6fe7624a46ad437c551b8e9086a8924dcffd81ee906cbd2105b7" }, @@ -230721,7 +230721,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perception_native_kl_nonincrease", "source_line": 78, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perception_native_kl_nonincrease\n [MeasurableSpace State] [MeasurableSpace Outcome]\n [DiscreteMeasurableSpace State] [DiscreteMeasurableSpace Outcome]\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive actual))\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive reference)) ≤\n InformationTheory.klDiv (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", "statement_sha256": "f2c42b78cdc39651c0f191f1991c52cd445294de19226755e817369bb4a5d4de" }, @@ -230837,7 +230837,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perception_step_kl_nonincrease", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perception_step_kl_nonincrease\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o)) ≤\n finiteKL actual reference", "statement_sha256": "f450a5fb4a5c9f04af3f7afce795c89de33883423aad3463c089bea08c39e8b4" }, @@ -230934,7 +230934,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_policyPosterior_eq_controlPosterior", "source_line": 119, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_policyPosterior_eq_controlPosterior (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) :\n policyPosterior precision model support =\n controlPosterior model.policyPrior precision (expectedFreeEnergy model)", "statement_sha256": "912187d1d1b7e655eb64438b6537df13e4106f8faf6649a5f9f7a7e0610e1481" }, @@ -231051,7 +231051,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_posteriorKernel_joint_eq_swap", "source_line": 180, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_posteriorKernel_joint_eq_swap\n (model : GenerativeModel Policy State Outcome) (prior : FiniteLaw State)\n (hEvidence : ∀ o, 0 < model.likelihood.predictive prior o)\n (o : Outcome) (s : State) :\n (posteriorKernel model prior hEvidence).joint\n (model.likelihood.predictive prior) (o, s) =\n (model.likelihood.joint prior) (s, o)", "statement_sha256": "0e50cb2cc7c108d5f54e5f02b8e2263d0a7a24b8cc108bf776a17b594d7bf998" }, @@ -231177,7 +231177,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_prediction_dobrushin_contraction", "source_line": 93, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_prediction_dobrushin_contraction [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n {coefficient : ℝ}\n (hBound : FEP.FiniteMarkovDynamics.HasDobrushinBound\n (model.transition policy) coefficient)\n (left right : FiniteLaw State) :\n FEP.FiniteMarkovDynamics.totalVariation\n ((model.transition policy).predictive left)\n ((model.transition policy).predictive right) ≤\n coefficient * FEP.FiniteMarkovDynamics.totalVariation left right", "statement_sha256": "c8b90eeb6a44ac35e54b08e5904ad2e5354d9a407d1e833ae42fcf31095d3c6a" }, @@ -231282,7 +231282,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_selectedPolicy_minimizes", "source_line": 137, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_selectedPolicy_minimizes [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (alternative : Policy) :\n expectedFreeEnergy (withInitialState model belief)\n (selectedPolicy model belief) ≤\n expectedFreeEnergy (withInitialState model belief) alternative", "statement_sha256": "f8c07c67ad067c1b9d5518f39caddf89cb8048aa3db60bb903a947e47e8744c2" }, @@ -231361,7 +231361,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_gaussianLogBayesFactor_eq", "source_line": 114, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_gaussianLogBayesFactor_eq (family : FixedVarianceGaussian)\n (natural x : ℝ) :\n Real.log\n (gaussianPDFReal (family.naturalToMean natural) family.variance x /\n gaussianPDFReal 0 family.variance x) =\n natural * x - family.naturalLogPartition natural", "statement_sha256": "82af48b2a7acb042df9855062cf8ce2d66d835f229e7118238f56be9ed496ec1" }, @@ -231439,7 +231439,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_gibbsFreeEnergy_eq_neg_dvObjective", "source_line": 87, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_gibbsFreeEnergy_eq_neg_dvObjective (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand = -dvObjective c cand", "statement_sha256": "cb232f4ceedafce42896d8ab149d560deb030ab5d1637a430fad486a93fc6fc7" }, @@ -231547,7 +231547,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_maskedEvidence_le_predictive", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_maskedEvidence_le_predictive (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1) :\n maskedEvidence prior weight kernel data ≤ kernel.predictive prior data", "statement_sha256": "27aa48f00de3d4e3021f96ad758029eb954fdee873e72e6bdbfe37374f8b1d9d" }, @@ -231665,7 +231665,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_maskedPrior_predictive_eq", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_maskedPrior_predictive_eq (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x) :\n kernel.predictive (maskedPrior prior weight hw hZ) data =\n maskedEvidence prior weight kernel data / ∑ y, weight y * prior y", "statement_sha256": "48295afb4c2ed087dc62e1dbc20cac7695cc26abe832fbf18d261a7991a21808" }, @@ -231823,7 +231823,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduced_posterior_reconstructs", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduced_posterior_reconstructs (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hP : 0 < kernel.predictive prior data)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x =\n FiniteKernel.posterior prior kernel data hP x * weight x *\n (kernel.predictive prior data /\n maskedEvidence prior weight kernel data)", "statement_sha256": "63b37ee05cf03ad300e55a3d65335e76de050f533328dcb77e43ef927a0fc864" }, @@ -231901,7 +231901,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_free_energy_change_eq_kl", "source_line": 94, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_free_energy_change_eq_kl (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand - gibbsFreeEnergy c c.optimizer =\n finiteKL cand c.optimizer", "statement_sha256": "2b041b09ea067b0bd4025bba3d601920fab15d471eb7e7dcc9182175baf021d4" }, @@ -232019,7 +232019,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_free_energy_monotone", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_free_energy_monotone (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1)\n (hE : 0 < maskedEvidence prior weight kernel data) :\n evidenceFreeEnergy (kernel.predictive prior data) ≤\n evidenceFreeEnergy (maskedEvidence prior weight kernel data)", "statement_sha256": "a3f9effd459c88bb8702bff10e61e4d3288d040f57bf2a6181ca8bdcd3c010a8" }, @@ -232097,7 +232097,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_free_energy_monotone_gibbs", "source_line": 103, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_free_energy_monotone_gibbs\n (c : GibbsCertificate Parameter) (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c c.optimizer ≤ gibbsFreeEnergy c cand", "statement_sha256": "7fdf866afb3b222cf0ca7cd8daeca74fe8246c47e5758ffca81e946752929643" }, @@ -232236,7 +232236,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_posterior_odds", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_posterior_odds (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x y : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n (weight y * prior y * kernel y data) =\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy y *\n (weight x * prior x * kernel x data)", "statement_sha256": "bd2c2ae2e3e00ad2b9c7814b7ee1e2328c9ad31cf43fd346cb0b79abaafeb19a" }, @@ -232374,7 +232374,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_posterior_reconstruction", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_posterior_reconstruction (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n maskedEvidence prior weight kernel data =\n weight x * prior x * kernel x data", "statement_sha256": "c59f9e9b51d740e3fde42e5f3a462c1e47238c19938be3513ad3846a30158d87" }, @@ -232452,7 +232452,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_beliefAffinity_eq_localAffinity", "source_line": 82, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_beliefAffinity_eq_localAffinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 < time) :\n beliefAffinity rates belief =\n localAffinity belief (rates.certifiedSemigroup.kernel time hTime.le) false true", "statement_sha256": "2b972a1c69d8094df913a3b95e759465af9f99fec47213d17fd42829fd2ab007" }, @@ -232540,7 +232540,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_epistemicGain_rateScaling", "source_line": 106, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_epistemicGain_rateScaling (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (eps : ℝ) (heps : 0 < eps) :\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤\n Real.exp (-(rates.decayRate / eps) * time) ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "3de3b9596a49894b25aa26186e7ee65a8339fcc4bfc5a4b915235c299efd4448" }, @@ -232598,7 +232598,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_epistemic_gain_bounded_by_affinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i) :\n finiteKL belief rates.stationaryLaw ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "a6d4d8fc041fc51da373de78f7cabf8ef9ebcdce587ef8d264e9675e12b9df9d" }, @@ -232686,7 +232686,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_expectedFreeEnergy_le_productionRate_div_decayRate", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_expectedFreeEnergy_le_productionRate_div_decayRate (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "8e33948d73eecf0b41180d75da0e5eb4c5bd2ad7c9c415376f1c8d4d602e5122" }, @@ -232754,7 +232754,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_fastRelaxation_epistemic_vanishes", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_fastRelaxation_epistemic_vanishes (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps : ℝ, 0 < eps ∧ ∀ (hTime : 0 ≤ time) (heps : 0 < eps),\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "b71babe02b1abe824e2f6f01e9b4a02f4c0e3e18976bd29d5cd67cfed8858300" }, @@ -232822,7 +232822,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_fastRelaxation_eventually_small", "source_line": 54, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_fastRelaxation_eventually_small (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps0 : ℝ, 0 < eps0 ∧\n ∀ eps : ℝ, ∀ heps : 0 < eps, eps ≤ eps0 → ∀ hTime : 0 ≤ time,\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "b5ac80d4e0b48c03c030b1957e227c551507650b56fe4e22d75e7fed8e94ac87" }, @@ -232890,7 +232890,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_fastRelaxation_tendsto", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_fastRelaxation_tendsto (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n Filter.Tendsto (FEP.TimeScaleEFE.positiveScaledEpistemicGain rates belief time hpos.le)\n (nhdsWithin 0 (Set.Ioi 0)) (nhds 0)", "statement_sha256": "861665b71c349a5e7ce8fdaa7557f76911ec534792e67bfc967fca18dfb1fae7" }, @@ -232948,7 +232948,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_productionRate_nonneg", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_productionRate_nonneg (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) : 0 ≤ productionRate rates belief", "statement_sha256": "453786c738c321086a841db3194af7f56501d38e580cc36a35b9b46edab2adba" }, @@ -233036,7 +233036,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_slicePath_entropyProduction_eq", "source_line": 73, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_slicePath_entropyProduction_eq (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (hpos : 0 < time) :\n entropyProduction (slicePathProtocol rates belief time hTime)\n = (1 - rates.rho time) * productionRate rates belief / rates.decayRate", "statement_sha256": "8aa7956815c2eb359a396b8bbb6e375c90d3d4423981516e46ac6f1c93b34372" }, @@ -233104,7 +233104,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_slow_fast_separation_statement", "source_line": 34, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_slow_fast_separation_statement (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n rates.rho time ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "46f41ab66397c6bab5e391658ad50e72dab03708dc1f4f26a08cc3f9727d976c" }, @@ -233192,7 +233192,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_twoStateModel_expectedFreeEnergy", "source_line": 97, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_twoStateModel_expectedFreeEnergy (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy =\n epistemicGain rates belief time hTime", "statement_sha256": "856221f3f073fc3dff4400e1ef3b1299a2742fae5826ae065bf606bc0b74e25e" }, @@ -233282,7 +233282,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_aoDecomposition", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_aoDecomposition {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n rate i j = symmetricPart rate law i j + circulationPart rate law i j", "statement_sha256": "04c0daa50dc47a82ba9fdba2e77a485f5bd055d60841fda323db08cb4b04ea55" }, @@ -233372,7 +233372,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_circulationPart_skew", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_circulationPart_skew {rate : State → State → ℝ}\n {law : FiniteLaw State} (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": "4fee811292ddeccbd962c64d62afa740f6a7fbce594fa39e71467757d61a1c9e" }, @@ -233471,7 +233471,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_circulation_divergence_zero", "source_line": 115, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "99c8b64e7ce5c1da1a5f3fb5e4a74d6d1b8ee5a5b211d9666bd649b7f17a6c98" }, @@ -233561,7 +233561,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_current_eq_twice_circulation", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "bab1cc4e34e66826c1e768336d0fd36e75b03d01074a5784514ac39ffa5b89de" }, @@ -233609,7 +233609,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_cycle_ao_ness", "source_line": 126, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "aa5b880f2cf5c1407fe6a5fe89cea4ace10e14c022c04c315a3f0b4b3850e1f1" }, @@ -233688,7 +233688,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_detailedBalanced_iff_circulation_eq_zero", "source_line": 88, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_detailedBalanced_iff_circulation_eq_zero\n {rate : State → State → ℝ} {law : FiniteLaw State}\n (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": "d1c875431b0a0fc5bbbd43fcde5b8de4634d2f2dd21c4280f3eab9e51c8911a3" }, @@ -233798,7 +233798,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_forceSplit", "source_line": 96, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "ea56f2f3352b6e5170ae72915af259038daccf1d3d83a07bb3a8510729430d2a" }, @@ -233888,7 +233888,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_probabilityCurrent_eq_twice_circulation", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "aafc52e1b9df3cc9490024ac1978241bc1c09def4e17db99f455f88880e9614f" }, @@ -233970,7 +233970,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_skewQuadratic_eq_zero", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_skewQuadratic_eq_zero {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0", "statement_sha256": "8ffe30fbe5bb4b5840a0139be708c42ce5afe63284365b0fdae7ee8c5b28af7d" }, @@ -234053,7 +234053,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_skewTrace_eq_zero", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_skewTrace_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0", "statement_sha256": "535583c333d49863f3ebe6a6e91ec0ab2cbfa36a894eaa6a32a66c5c5224a42d" }, @@ -234142,7 +234142,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_stationaryCurrent_divergence_zero", "source_line": 107, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "a1431b0e9235dc82c5f75c69f06705adc408f0709b343bbd5d28481fa753f580" }, @@ -234232,7 +234232,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_symmetricPart_current_eq_zero", "source_line": 79, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "63c3653bd8e2d56f8563da8096f6f3b23ad765ddf89dd7cdfb753cffbb2f5be4" }, @@ -234322,7 +234322,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_symmetricPart_reversible", "source_line": 64, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "1e57633728e377993ddb3ee6fade21497153b120bc2d3739da1233a86fd56df6" }, @@ -234390,7 +234390,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep161.FEP161.fep161_skewQuadratic_eq_zero", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep161_skewQuadratic_eq_zero {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0", "statement_sha256": "d7efecb5e02404db4fe7d261f083faa0a98d6382c5f5f51782dd518a6c765679" }, @@ -234459,7 +234459,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep161.FEP161.fep161_skewTrace_eq_zero", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep161_skewTrace_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0", "statement_sha256": "0ca4766d398444a5f032eb5d8fd1c585307cde58b548af65d788c8ec26810096" }, @@ -234518,7 +234518,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep162.FEP162.fep162_skewTrace_symmetrize_eq_zero", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep162_skewTrace_symmetrize_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) : traceOf (mulOf Q (symmetrize H)) = 0", "statement_sha256": "a93cfa7fdbc54095d83c890d1ba0c5ed1ebd19d29118d098fcd7be1695a30fee" }, @@ -234576,7 +234576,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep162.FEP162.fep162_symmetrize_of_symmetric", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep162_symmetrize_of_symmetric {n : ℕ} (H : Fin n → Fin n → ℝ)\n (hH : SymmetricOf H) : symmetrize H = H", "statement_sha256": "697f68427df410ed3ceca6c59c998bb0efb23eb9215399039d5fa7f520a52dcf" }, @@ -234624,7 +234624,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep162.FEP162.fep162_symmetrize_symmetric", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep162_symmetrize_symmetric {n : ℕ} (H : Fin n → Fin n → ℝ) :\n SymmetricOf (symmetrize H)", "statement_sha256": "c3138af5005b583c951acd659ef499b88d88fa5e7dd5b02b2880585adf9e0d64" }, @@ -234651,7 +234651,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_expansion_remainder_witness", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_expansion_remainder_witness :\n dot (divQ remainderDQ) remainderG = 1", "statement_sha256": "a0fae5d70187366b7140060950d949281dc691e8f349c1b1c8a087ff14503c68" }, @@ -234752,7 +234752,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_solenoidal_drop_of_constantQ", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_solenoidal_drop_of_constantQ {n : ℕ}\n (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (hconst : ∀ k l, DQ k l = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "15d04b0bad580094eb81b125561d9997e2b3e1403bd3eccf3b8379483f9f0018" }, @@ -234853,7 +234853,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_solenoidal_drop_of_orthogonal", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_solenoidal_drop_of_orthogonal {n : ℕ}\n (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (horth : dot (divQ DQ) g = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "0d793207941c37db5f55cca9bc84987df31168879cb91706b358acf4a63cc38b" }, @@ -234924,7 +234924,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_solenoidal_expansion", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_solenoidal_expansion {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) - dot g (mulVec Q g) + dot (divQ DQ) g", "statement_sha256": "ab74fca348286803a73d1a002578f7ac1ec0662faef978075ded5c63875f80fe" }, @@ -234985,7 +234985,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_weightedDivergence_eq", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_weightedDivergence_eq {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) + dot (divQ DQ) g + dot (mulVec Q g) dlogp", "statement_sha256": "fe2eecf2b95ded4efa72fdaec50a266350a85488a010081f371523e8b7f62056" }, @@ -235063,7 +235063,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_graphDecomposition", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_graphDecomposition {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) (hQ : SkewSymmetric Q) (i : Fin n) :\n nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i", "statement_sha256": "630038c783a28e35eff4ef8f338eb0254f1b6c4d88b0b42bc5970a8b380e9b92" }, @@ -235131,7 +235131,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_nodeDiv_skew", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_nodeDiv_skew {n : ℕ} {Q : Fin n → Fin n → ℝ} (hQ : SkewSymmetric Q)\n (i : Fin n) : nodeDiv Q i = 2 * rowSum Q i", "statement_sha256": "f2ab8df235c07793dea48c82e8c7d6fe5ac65004f8bd9ff68e9e967e1b98b7a4" }, @@ -235229,7 +235229,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_weightedCurrent_div_eq", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_weightedCurrent_div_eq {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) {p : Fin n → ℝ} (hQ : SkewSymmetric Q)\n (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p (currentOf Q g) i\n = mulVec Q g i + g i * rowSum Q i\n + g i * ∑ j, (1 - p j / p i) * Q j i", "statement_sha256": "2b8a445ffab880a4a23d3e3983a28bc3e55123353fe47f6ab9df863fc902995b" }, @@ -235307,7 +235307,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_weightedNodeDiv_eq", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_weightedNodeDiv_eq {n : ℕ} (W : Fin n → Fin n → ℝ)\n {p : Fin n → ℝ} (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p W i =\n nodeDiv W i + ∑ j, (1 - p j / p i) * W j i", "statement_sha256": "36e439231660d226bff44108d250768e4a129bbff476fcb12c141f2a6f74173e" }, @@ -235334,7 +235334,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witnessQ_skew", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witnessQ_skew : SkewSymmetric witnessQ", "statement_sha256": "c129d477327cc57dec588e30ab7921d6011c0035a29071107d7f97ab2849cf72" }, @@ -235361,7 +235361,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_current", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_current :\n mulVec witnessQ witnessG = fun i => if i = 0 then 0 else -1", "statement_sha256": "5f1c303c8fd161b2a32114d29a6b32e31fdffdf73ab24cf65d193665b3974e12" }, @@ -235388,7 +235388,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_divQ", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_divQ :\n nodeDiv witnessQ = fun i => if i = 0 then 2 else -2", "statement_sha256": "78658c1371acac8e2b84350e63296f1d6ff056df8a002c52b3f61c95776fde6d" }, @@ -235415,7 +235415,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_divergence", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_divergence :\n nodeDiv (currentOf witnessQ witnessG) = fun i => if i = 0 then 1 else -1", "statement_sha256": "3d75acfa6a7bbae81a62f8e44f21d147940201f55f571d3b063a256824a811f5" }, @@ -235442,7 +235442,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_drop_fails", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_drop_fails : nodeDiv (currentOf witnessQ witnessG) 0 = 1", "statement_sha256": "574a92e35ffcc5eaf3daea03a05126909401309ebf4916e6a0f6da811819456d" }, @@ -235533,7 +235533,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_reversible_split_unique", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_reversible_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hRev : ∀ i j, law i * rate i j = law j * rate j i) :\n rate = symmetricPart rate law ∧ (∀ i j, circulationPart rate law i j = 0)", "statement_sha256": "bd869503b42c518a6caee9ca156220d44fc778750ed39cf53c6cf6b04004b006" }, @@ -235644,7 +235644,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_split_unique", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hS : ∀ i j, law i * S i j = law j * S j i)\n (hA : ∀ i j, law i * A i j = -(law j * A j i))\n (hSum : ∀ i j, rate i j = S i j + A i j) :\n S = symmetricPart rate law ∧ A = circulationPart rate law", "statement_sha256": "384b4d16d47da2ea364315da5e73e0f800de1831dd266cc9838b58e8733fdd69" }, @@ -235714,7 +235714,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_circulation_negative", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_circulation_negative :\n circulationPart twoByTwoW twoByTwoLaw (1 : Fin 2) (0 : Fin 2) = -1 / 4", "statement_sha256": "fb5a68d1af0f50f44b3ee545bf24468b33892d5df3f698b6115a66b0a79c0aed" }, @@ -235784,7 +235784,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_circulation_nonzero", "source_line": 53, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_circulation_nonzero :\n circulationPart twoByTwoW twoByTwoLaw (0 : Fin 2) (1 : Fin 2) = 1 / 2", "statement_sha256": "61e1a1ac08c14a9977fcdd5d6907712c101d9b6bee77103513414370e62c7bfd" }, @@ -235854,7 +235854,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_predicates", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_predicates :\n (∀ i j : Fin 2, twoByTwoLaw i * twoByTwoS i j = twoByTwoLaw j * twoByTwoS j i) ∧\n (∀ i j : Fin 2,\n twoByTwoLaw i * twoByTwoA i j = -(twoByTwoLaw j * twoByTwoA j i)) ∧\n (∀ i j : Fin 2, twoByTwoW i j = twoByTwoS i j + twoByTwoA i j)", "statement_sha256": "9a58e18759e5e2286d87e0d555507bf38eace98d2af7d775262fdb45b29c8583" }, @@ -235924,7 +235924,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_split_canonical", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_split_canonical :\n twoByTwoS = symmetricPart twoByTwoW twoByTwoLaw ∧\n twoByTwoA = circulationPart twoByTwoW twoByTwoLaw", "statement_sha256": "b258b36eb7fdb83ccb452d2d867a667383ed1310e6ae9fa30573c2532ad24c85" }, @@ -236005,7 +236005,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_support", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_support (i : Fin 2) :\n 0 < twoByTwoLaw i", "statement_sha256": "751c58faff79bc4fb257043cf3db2cdbf9c9e6753fdddedd5a7fdc2855f0c4eb" }, @@ -236064,7 +236064,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_frobenius_pythagoras", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_frobenius_pythagoras {n : ℕ} (H S : Fin n → Fin n → ℝ)\n (hS : SymmetricOf S) :\n frobeniusSq (H - S)\n = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)", "statement_sha256": "20643519ee3062d2daf404f20834a1394b2f8500ea0cc52e11fda70b8bab2ddb" }, @@ -236133,7 +236133,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_projection_unique", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_projection_unique {n : ℕ} (H S : Fin n → Fin n → ℝ)\n (hS : SymmetricOf S)\n (hmin : ∀ T : Fin n → Fin n → ℝ, SymmetricOf T →\n frobeniusSq (H - S) ≤ frobeniusSq (H - T)) :\n S = symmetrize H", "statement_sha256": "7205da507b35213a8f9a84407c895823a0af1a9156fb458e5efeac702f278a8d" }, @@ -236160,7 +236160,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_residual_example", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_residual_example :\n frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) = 1 / 2\n ∧ frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) ≠ 0", "statement_sha256": "665290b728f4e7c76b0ef6d0818f9b56790663129ed8de6d6fb62915c225f150" }, @@ -236219,7 +236219,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_symmetrize_minimizes", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_symmetrize_minimizes {n : ℕ} (H S : Fin n → Fin n → ℝ)\n (hS : SymmetricOf S) :\n frobeniusSq (H - symmetrize H) ≤ frobeniusSq (H - S)\n ∧ (frobeniusSq (H - symmetrize H) = frobeniusSq (H - S) ↔ S = symmetrize H)", "statement_sha256": "00a3f91ffe4f1c79f57a239b6ee7819c8e2381f3a4ef8d458651ed50eb68e426" }, @@ -236310,7 +236310,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_absolute_budget", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_absolute_budget {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n abs (weightedDivergence Q H DQ g dlogp) * abs (weightedDivergence Q H DQ g dlogp)\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "093fb0825622b2fceea4cfdb410ae8145162f383dc1d535c49b44642f09e4acb" }, @@ -236337,7 +236337,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_equality_attained", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_equality_attained :\n (weightedDivergence witnessQ fep168AlignedH remainderDQ fep168AlignedG\n (fun i => -fep168AlignedG i)) ^ 2\n = dot (divQ remainderDQ) (divQ remainderDQ) * dot fep168AlignedG fep168AlignedG\n ∧ dot fep168AlignedG fep168AlignedG ≠ 0", "statement_sha256": "ca3efc39495b2a44d1fd3b0d77f1f5ee5964e78db900d02ee2e4fbac06bc797f" }, @@ -236428,7 +236428,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_remainder_sq_budget", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_remainder_sq_budget {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n (weightedDivergence Q H DQ g dlogp) ^ 2\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "439e0cde26cbcb40f2712cb501453691314966628e4603addfd7b9b1611a63f4" }, @@ -236519,7 +236519,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_weightedDivergence_eq_remainderDot", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_weightedDivergence_eq_remainderDot {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp = dot (divQ DQ) g", "statement_sha256": "727f8b080ba12460389afbff0a1dc76a49857551340cf7e538ed588fb87ff9b8" } @@ -236530,7 +236530,7 @@ { "aggregate_namespace": "fep_fep001.FEP001", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 3, "canonical_body_sha256": "08f829c94658a4fff1a9eef73e245f5c641da6e46a8ea6db8b580612221ba892", "canonical_namespace": "FEP001", @@ -236580,7 +236580,7 @@ { "aggregate_namespace": "fep_fep002.FEP002", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 5, "canonical_body_sha256": "b71cc98895024671592846057d44e3826f45e353e1e32707363636d1f504dbb3", "canonical_namespace": "FEP002", @@ -236634,7 +236634,7 @@ { "aggregate_namespace": "fep_fep003.FEP003", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "c9cfdfab87c9b5613f8fd2e08ca8c1f80681fd239001aaa6494c1e52194e0d68", "canonical_namespace": "FEP003", @@ -236685,7 +236685,7 @@ { "aggregate_namespace": "fep_fep004.FEP004", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 3, "canonical_body_sha256": "9101abb2cf0073571db62dc6adef6b77623434c4d2a25c6ae8241b393d470d95", "canonical_namespace": "FEP004", @@ -236735,7 +236735,7 @@ { "aggregate_namespace": "fep_fep005.FEP005", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "746b2db5f9e11f4b38445a085d58a4d756e97e1daa3f03b952729d61cf99ebf4", "canonical_namespace": "FEP005", @@ -236786,7 +236786,7 @@ { "aggregate_namespace": "fep_fep006.FEP006", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 4, "canonical_body_sha256": "b91bbe2b61ff3a354d6af75df90f9c3d492d9e6a01063e85822d1fb92dbd9eff", "canonical_namespace": "FEP006", @@ -236838,7 +236838,7 @@ { "aggregate_namespace": "fep_fep007.FEP007", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 7, "canonical_body_sha256": "0428730d3463363420087da0b8bddd28114d53e470ab8903731637253d143281", "canonical_namespace": "FEP007", @@ -236895,7 +236895,7 @@ { "aggregate_namespace": "fep_fep008.FEP008", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "0589ed42d0d6faa9899658c9a86b40f7a7ed759b3d2a11094a884d6dd7054920", "canonical_namespace": "FEP008", @@ -236947,7 +236947,7 @@ { "aggregate_namespace": "fep_fep009.FEP009", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 7, "canonical_body_sha256": "c350ce4b0b5d2a759d1891d7ff36f7e4e55389b1d668bbfa5703b1817274979c", "canonical_namespace": "FEP009", @@ -237004,7 +237004,7 @@ { "aggregate_namespace": "fep_fep010.FEP010", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 5, "canonical_body_sha256": "83a256f871bca849bef9c01effef893bc7f375b2a4fa66801dfae9039d3d7422", "canonical_namespace": "FEP010", @@ -237057,7 +237057,7 @@ { "aggregate_namespace": "fep_fep011.FEP011", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "79a1af603c1e4bfff4cf715cd3b723d2112f3a8f6c3a4e81d3710338d9dcf03c", "canonical_namespace": "FEP011", @@ -237115,7 +237115,7 @@ { "aggregate_namespace": "fep_fep012.FEP012", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "8fd07baaeb4ce29f5bbeb8257c4b3867614e34bcd7a0f1cf06632fd7ddf25eb4", "canonical_namespace": "FEP012", @@ -237173,7 +237173,7 @@ { "aggregate_namespace": "fep_fep013.FEP013", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 6, "canonical_body_sha256": "6b9c69e6301ea55700f2915cb829f3a104becbca4d5f874a4d079aca68bb7fa9", "canonical_namespace": "FEP013", @@ -237229,7 +237229,7 @@ { "aggregate_namespace": "fep_fep014.FEP014", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "800cd64392da359f1df69785fcf1d08403ae3d7c2a89119b10091b2c3128d0ee", "canonical_namespace": "FEP014", @@ -237281,7 +237281,7 @@ { "aggregate_namespace": "fep_fep015.FEP015", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 3, "canonical_body_sha256": "d0af067922e62342d9b8701bb70f8d0295bd825bd772559a1cee5678215e51d4", "canonical_namespace": "FEP015", @@ -237331,7 +237331,7 @@ { "aggregate_namespace": "fep_fep016.FEP016", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "5338337e544aa5e5df57b196dfba20f437f86d137b41d8dd73c278525fe326c5", "canonical_namespace": "FEP016", @@ -237389,7 +237389,7 @@ { "aggregate_namespace": "fep_fep017.FEP017", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "72bcf690afc832b46642161d2e750b001aaeca7a965a91d9c12dd37e13378677", "canonical_namespace": "FEP017", @@ -237440,7 +237440,7 @@ { "aggregate_namespace": "fep_fep018.FEP018", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "3c9455cc9264f076d9937f80d8579de977590dc3a8c292a6fd58dfc287f59df3", "canonical_namespace": "FEP018", @@ -237492,7 +237492,7 @@ { "aggregate_namespace": "fep_fep019.FEP019", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 3, "canonical_body_sha256": "7891e99d767d03ce42f0d3d3dc11a2cda282ba161374b5e1a7bf3dcc33ad9b81", "canonical_namespace": "FEP019", @@ -237541,7 +237541,7 @@ { "aggregate_namespace": "fep_fep020.FEP020", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 7, "canonical_body_sha256": "b5c555d2f2bfdf84c99c999b69964554e197fd88409705f6436f1fb7e982e2fd", "canonical_namespace": "FEP020", @@ -237598,7 +237598,7 @@ { "aggregate_namespace": "fep_fep021.FEP021", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 5, "canonical_body_sha256": "30f289cfabde0d1a266ef3af689df32cf30f37451d5251db89aa59f0b603a42f", "canonical_namespace": "FEP021", @@ -237651,7 +237651,7 @@ { "aggregate_namespace": "fep_fep022.FEP022", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "64ec7d1fbe3616faf40bdfa7048e14694f4f9ffddbccf88420ff761bfd251226", "canonical_namespace": "FEP022", @@ -237702,7 +237702,7 @@ { "aggregate_namespace": "fep_fep023.FEP023", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "d9c39e4ee529d530374a45ce3907cf39a57438d932ba9933149b1aec9e10e7df", "canonical_namespace": "FEP023", @@ -237753,7 +237753,7 @@ { "aggregate_namespace": "fep_fep024.FEP024", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "640c98f38ede2f124f5bfd8d1b6f9601c88984bf3bd810ca4b175251bdace224", "canonical_namespace": "FEP024", @@ -237805,7 +237805,7 @@ { "aggregate_namespace": "fep_fep025.FEP025", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 8, "canonical_body_sha256": "5382a7d47f047ad802abbcbb51a8f8c5bc6c20e588b8c6cefcdf65fca85220bb", "canonical_namespace": "FEP025", @@ -237865,7 +237865,7 @@ { "aggregate_namespace": "fep_fep026.FEP026", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "93dfa116f821e97d2be49cee3c840440b6627303c5c4780d59a6ee5f07fb4485", "canonical_namespace": "FEP026", @@ -237923,7 +237923,7 @@ { "aggregate_namespace": "fep_fep027.FEP027", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "6641bcc8ae5f5e6c5aa4097dc5f49ddddd0397cfb72be69710cddb4bc4741e40", "canonical_namespace": "FEP027", @@ -237974,7 +237974,7 @@ { "aggregate_namespace": "fep_fep028.FEP028", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 7, "canonical_body_sha256": "5ae2158c63599c3e944c9f85e33f9d0366902f95ec373fd564ed964544eb5b7b", "canonical_namespace": "FEP028", @@ -238032,7 +238032,7 @@ { "aggregate_namespace": "fep_fep029.FEP029", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 7, "canonical_body_sha256": "252b9c9d4a43eefb0e355236c7d8de08a455965bf672b7e35fcc15f53df72c32", "canonical_namespace": "FEP029", @@ -238090,7 +238090,7 @@ { "aggregate_namespace": "fep_fep030.FEP030", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 6, "canonical_body_sha256": "fb11ed74476648eb35a4f13f48aa86d161e17574a545796cf80b2c6cb0a43237", "canonical_namespace": "FEP030", @@ -238146,7 +238146,7 @@ { "aggregate_namespace": "fep_fep031.FEP031", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 5, "canonical_body_sha256": "5de120eff03a8808f57cdf1684184c7f4b4f4c5d3000138929475e13068ebf63", "canonical_namespace": "FEP031", @@ -238200,7 +238200,7 @@ { "aggregate_namespace": "fep_fep032.FEP032", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 5, "canonical_body_sha256": "1bf2b95276564dbd264f61fa3ed22714c6c6c443ab50eaa9d18fb84894098ed0", "canonical_namespace": "FEP032", @@ -238254,7 +238254,7 @@ { "aggregate_namespace": "fep_fep033.FEP033", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "22d8834abebd06272bb9f6ecb05115d12a9f66c909c2891ff2cb2a1bd6c34873", "canonical_namespace": "FEP033", @@ -238305,7 +238305,7 @@ { "aggregate_namespace": "fep_fep034.FEP034", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "2e0ec525b1051ff0f60db9f6e47742ffbbb4eb01db58bca27dc2de0c190d5575", "canonical_namespace": "FEP034", @@ -238356,7 +238356,7 @@ { "aggregate_namespace": "fep_fep035.FEP035", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "d82e138b6a35d8c686c8a6a6cda7c32b22282c10977fee68820f21637893b5e7", "canonical_namespace": "FEP035", @@ -238414,7 +238414,7 @@ { "aggregate_namespace": "fep_fep036.FEP036", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 8, "canonical_body_sha256": "757cedd5596fd9ece529cbae72329ef49d23e3aa7b75c2580585b45a69cf4037", "canonical_namespace": "FEP036", @@ -238473,7 +238473,7 @@ { "aggregate_namespace": "fep_fep037.FEP037", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 5, "canonical_body_sha256": "0897ab9e69cc189affd862863f4e88308f2c8429825a02a019b621b42fdc6813", "canonical_namespace": "FEP037", @@ -238527,7 +238527,7 @@ { "aggregate_namespace": "fep_fep038.FEP038", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 8, "canonical_body_sha256": "011667f26dd6249c84ea21f41b135a652a453e2d77e9dc152015c6b64f0b1ff5", "canonical_namespace": "FEP038", @@ -238587,7 +238587,7 @@ { "aggregate_namespace": "fep_fep039.FEP039", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 5, "canonical_body_sha256": "b3f3e090e905d7897a29d04425b64c403a79d14edd337405422a2263af40e4a8", "canonical_namespace": "FEP039", @@ -238641,7 +238641,7 @@ { "aggregate_namespace": "fep_fep040.FEP040", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 7, "canonical_body_sha256": "7f207e3839ce385a29843570df449c3b593af5418c01e2f1f16732c97139d97b", "canonical_namespace": "FEP040", @@ -238698,7 +238698,7 @@ { "aggregate_namespace": "fep_fep041.FEP041", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "7d410c814f0a372bea01d601bf0a4c9204b87daae951230748109de8706fca8f", "canonical_namespace": "FEP041", @@ -238747,7 +238747,7 @@ { "aggregate_namespace": "fep_fep042.FEP042", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 2, "canonical_body_sha256": "63669d5063789c1b2dfe2f763cb08239bf57927f01cdca428e1d13d37692d0c1", "canonical_namespace": "FEP042", @@ -238794,7 +238794,7 @@ { "aggregate_namespace": "fep_fep043.FEP043", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 6, "canonical_body_sha256": "47589d8dfa79d34e3ce9c1113e02a9edd6c6fecbf9ae02ebe3b6deed32e9c3ac", "canonical_namespace": "FEP043", @@ -238850,7 +238850,7 @@ { "aggregate_namespace": "fep_fep044.FEP044", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "2ccd0ff00667bcc811c24cce39f19fd4ab916fb55cafe479b605be889d136e19", "canonical_namespace": "FEP044", @@ -238902,7 +238902,7 @@ { "aggregate_namespace": "fep_fep045.FEP045", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "a1a2a072db600b245fed50f6a05f657240788fd64c081a883daa96917ae7af6a", "canonical_namespace": "FEP045", @@ -238953,7 +238953,7 @@ { "aggregate_namespace": "fep_fep046.FEP046", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 3, "canonical_body_sha256": "4d114a8250d9d2a26110000b6e8bbabfb2cb899c03864f735afd0d5fa06836fd", "canonical_namespace": "FEP046", @@ -239002,7 +239002,7 @@ { "aggregate_namespace": "fep_fep047.FEP047", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 5, "canonical_body_sha256": "93711805d5fc510cd1636358cadfbb4415fd5deb75d58bb71819e893a04aa397", "canonical_namespace": "FEP047", @@ -239055,7 +239055,7 @@ { "aggregate_namespace": "fep_fep048.FEP048", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 8, "canonical_body_sha256": "cad7c99c83719b89c85b04f2944c3ef9c2530725ced1e966a42ad6f98fd91269", "canonical_namespace": "FEP048", @@ -239116,7 +239116,7 @@ { "aggregate_namespace": "fep_fep049.FEP049", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 5, "canonical_body_sha256": "2fd0eef749e0748d6d4ba966b812156208ee2ef065b45bd04ad094ee49e91b27", "canonical_namespace": "FEP049", @@ -239170,7 +239170,7 @@ { "aggregate_namespace": "fep_fep050.FEP050", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 8, "canonical_body_sha256": "36d02b8ec12a34ff9fd84f7b06483dd93124d85a0b54b37ed2303c16bbcfeb54", "canonical_namespace": "FEP050", @@ -239230,7 +239230,7 @@ { "aggregate_namespace": "fep_fep051.FEP051", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "69d3a3b9bfe3e2a2147c8834cb9ba01a5ff0a6e134e40633e5aea3b6e84b65b7", "canonical_namespace": "FEP051", @@ -239274,7 +239274,7 @@ { "aggregate_namespace": "fep_fep052.FEP052", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "7ec23a6ec39f54a70cf17249e4c8f29a4629d4da1cd5611039c23e2b3bede48b", "canonical_namespace": "FEP052", @@ -239318,7 +239318,7 @@ { "aggregate_namespace": "fep_fep053.FEP053", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "f633c7378054747edeaadd505a506e8d333b350bf50b582ff5248802ea30472e", "canonical_namespace": "FEP053", @@ -239362,7 +239362,7 @@ { "aggregate_namespace": "fep_fep054.FEP054", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "09b78485b8c2de5eaf4cf8b5d36778f699043c5f60a540a948d298a2654e2272", "canonical_namespace": "FEP054", @@ -239406,7 +239406,7 @@ { "aggregate_namespace": "fep_fep055.FEP055", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "29d74f89a6fad82937063ea46c61a42ff3f2e42a62188096a57139e600c757ad", "canonical_namespace": "FEP055", @@ -239451,7 +239451,7 @@ { "aggregate_namespace": "fep_fep056.FEP056", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "6a90db534b1a624825d6f7f6a259f9f11df03933576711e21387cfd6d45e32f0", "canonical_namespace": "FEP056", @@ -239495,7 +239495,7 @@ { "aggregate_namespace": "fep_fep057.FEP057", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "ea658b3f3ffb2b3828634b9aca03f8b170f40d74faa5b4d69f021dbb67c6ac14", "canonical_namespace": "FEP057", @@ -239539,7 +239539,7 @@ { "aggregate_namespace": "fep_fep058.FEP058", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 3, "canonical_body_sha256": "8eec4c60aed8f6e7ae5975beeb885b24a77fc35239dfafa7842048d2ac9bed5b", "canonical_namespace": "FEP058", @@ -239588,7 +239588,7 @@ { "aggregate_namespace": "fep_fep059.FEP059", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 3, "canonical_body_sha256": "4dd690815465e76752b3b69049a44f2476844dfa5f50e8d3a91da4da9e5c2425", "canonical_namespace": "FEP059", @@ -239638,7 +239638,7 @@ { "aggregate_namespace": "fep_fep060.FEP060", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 2, "canonical_body_sha256": "62bed4fd171c81e0330258e6f5afdec7ee1420a68883c6499d6242cb8810c959", "canonical_namespace": "FEP060", @@ -239685,7 +239685,7 @@ { "aggregate_namespace": "fep_fep061.FEP061", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 2, "canonical_body_sha256": "b404e1c8150d1419091e69edbc9d836c5354964015dc918650cf78a2535bfb94", "canonical_namespace": "FEP061", @@ -239732,7 +239732,7 @@ { "aggregate_namespace": "fep_fep062.FEP062", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 3, "canonical_body_sha256": "242ece14b9c6bdc6b4b49e7287261ce2c2979baeb55d33eaef3c96df1e32df20", "canonical_namespace": "FEP062", @@ -239782,7 +239782,7 @@ { "aggregate_namespace": "fep_fep063.FEP063", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 5, "canonical_body_sha256": "2360d671345a61fc4b2ec9745a48ed67c6b0367dd4e9407e3b16d3501b18123c", "canonical_namespace": "FEP063", @@ -239838,7 +239838,7 @@ { "aggregate_namespace": "fep_fep064.FEP064", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 9, "canonical_body_sha256": "1b7e1cdb1008511f4a8f33cb10e9b6f47f68de2c43640307cde988d44fdcf83d", "canonical_namespace": "FEP064", @@ -239902,7 +239902,7 @@ { "aggregate_namespace": "fep_fep065.FEP065", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 1, "canonical_body_sha256": "14d986ce3fc6f5ac7219381aa2af50c714055771b586081679ed0d3f33b8592d", "canonical_namespace": "FEP065", @@ -239944,7 +239944,7 @@ { "aggregate_namespace": "fep_fep066.FEP066", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "6963cc0827cb5b98ecd36458ecf2c9dd023f27ef037b4bf3586da8ec16df2c3c", "canonical_namespace": "FEP066", @@ -239994,7 +239994,7 @@ { "aggregate_namespace": "fep_fep067.FEP067", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 2, "canonical_body_sha256": "059e5e3a9af34633c57895921125bfc5592c408b8919571094af5ab528972134", "canonical_namespace": "FEP067", @@ -240041,7 +240041,7 @@ { "aggregate_namespace": "fep_fep068.FEP068", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 1, "canonical_body_sha256": "5e755435f08a876255f0e565319964db1f23bdb42fef8d59844845f73ca9e1a7", "canonical_namespace": "FEP068", @@ -240084,7 +240084,7 @@ { "aggregate_namespace": "fep_fep069.FEP069", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "9e2d36fb9f76dc8a232f6ad651fff63ff2358930d56f6ad5d200e133d2157d85", "canonical_namespace": "FEP069", @@ -240135,7 +240135,7 @@ { "aggregate_namespace": "fep_fep070.FEP070", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "41817001ec4cc01413cb840d65dfad778e4b98e4b767ebf0806715c36b4e06d0", "canonical_namespace": "FEP070", @@ -240186,7 +240186,7 @@ { "aggregate_namespace": "fep_fep071.FEP071", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "d2eee21437db05e9a1591954a29e0788c29689c4199ac6b00443e6a062ecf224", "canonical_namespace": "FEP071", @@ -240234,7 +240234,7 @@ { "aggregate_namespace": "fep_fep072.FEP072", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "9dc171b1f1ed3c5706b012a61677bbe893200065b8c8453e0e7cae6fc2567473", "canonical_namespace": "FEP072", @@ -240282,7 +240282,7 @@ { "aggregate_namespace": "fep_fep073.FEP073", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "c3bf75f1cc45c498a2e8a4241338b7db349745abdaca37872795980e8113ff1a", "canonical_namespace": "FEP073", @@ -240326,7 +240326,7 @@ { "aggregate_namespace": "fep_fep074.FEP074", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "a041a9b16c71a9f2137a19010cd342ffc1dc6c95f24897d72a3e391ca6602c6c", "canonical_namespace": "FEP074", @@ -240370,7 +240370,7 @@ { "aggregate_namespace": "fep_fep075.FEP075", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "1318c59e3a8433e3191d772f43ccaea2b4ccef34b346825838736fb2de316b39", "canonical_namespace": "FEP075", @@ -240418,7 +240418,7 @@ { "aggregate_namespace": "fep_fep076.FEP076", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "4aadcb088846b867ff9b70fcc3bd1680516fc773fec2bb5b99c97a326fbe9b2a", "canonical_namespace": "FEP076", @@ -240467,7 +240467,7 @@ { "aggregate_namespace": "fep_fep077.FEP077", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 1, "canonical_body_sha256": "4d0f361ba64f7afa8a55e5be20f398cffc8ee3706b4720fa8211da231b5a9743", "canonical_namespace": "FEP077", @@ -240507,7 +240507,7 @@ { "aggregate_namespace": "fep_fep078.FEP078", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "84c4d2c9cecdfdf8554a18137bd3e74ad9ef0322ad8cf049c4f28edbd62a7bc5", "canonical_namespace": "FEP078", @@ -240554,7 +240554,7 @@ { "aggregate_namespace": "fep_fep079.FEP079", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "d4cab6ebf78ca38987b75bad41a00a20d4ce8a5f5e201dd056bc24957b0dbbbc", "canonical_namespace": "FEP079", @@ -240600,7 +240600,7 @@ { "aggregate_namespace": "fep_fep080.FEP080", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "ea01e6504a75cac38b53c9d0c7df4d30e9bbd1dd9847e544971f7d5caa901006", "canonical_namespace": "FEP080", @@ -240645,7 +240645,7 @@ { "aggregate_namespace": "fep_fep081.FEP081", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "2b145cce117b01ffa47a461e61dc9eef1fea57bec98f1c25f51d5e36b03ce4c5", "canonical_namespace": "FEP081", @@ -240691,7 +240691,7 @@ { "aggregate_namespace": "fep_fep082.FEP082", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 3, "canonical_body_sha256": "cb51f81e10ff9ba0aa3e3fbe79d9f4cbde504dcca51a7fc8a0ea026b22a683df", "canonical_namespace": "FEP082", @@ -240740,7 +240740,7 @@ { "aggregate_namespace": "fep_fep083.FEP083", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "1fe7dda498e7396623a92ba7d5f0ee8a651567c3885e3e2861542bf9637982bb", "canonical_namespace": "FEP083", @@ -240785,7 +240785,7 @@ { "aggregate_namespace": "fep_fep084.FEP084", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "695dc1c5e662577dfbc2128badfb1e83165ca8a17a9ee1165892a3b8b186bb8d", "canonical_namespace": "FEP084", @@ -240830,7 +240830,7 @@ { "aggregate_namespace": "fep_fep085.FEP085", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 4, "canonical_body_sha256": "4a5dbac8f48fbcc8c98577aa0f5efb22129e8ce480bf8d6b7cabbb935b2ff9bd", "canonical_namespace": "FEP085", @@ -240882,7 +240882,7 @@ { "aggregate_namespace": "fep_fep086.FEP086", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "0b23e2affbc6962b69f77c4c408d8c65d59fc6194e9da1520925011e46d7826c", "canonical_namespace": "FEP086", @@ -240929,7 +240929,7 @@ { "aggregate_namespace": "fep_fep087.FEP087", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "1ea75a42a0b7b8d8b5e0fb2f52291c119fd0db979ad6807bd83967698eb2b630", "canonical_namespace": "FEP087", @@ -240976,7 +240976,7 @@ { "aggregate_namespace": "fep_fep088.FEP088", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "3119580a8e1de5fff3d1c1a042d07fc8c796b0bde9df7419d6b14ae5b86b2459", "canonical_namespace": "FEP088", @@ -241023,7 +241023,7 @@ { "aggregate_namespace": "fep_fep089.FEP089", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "15cc89956aa7b9518c16368621ea98e998b771cce93455ab29359a964f5864a0", "canonical_namespace": "FEP089", @@ -241072,7 +241072,7 @@ { "aggregate_namespace": "fep_fep090.FEP090", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 4, "canonical_body_sha256": "2386ba8cf67e112184b2a4a3b7a18d7ea7e24eaadeb5b07b8d8d98d89c9056f9", "canonical_namespace": "FEP090", @@ -241124,7 +241124,7 @@ { "aggregate_namespace": "fep_fep091.FEP091", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "bf6852e497ffe025aa59bad662bb71777760c8d8e918e828abb93b6f15e4e300", "canonical_namespace": "FEP091", @@ -241171,7 +241171,7 @@ { "aggregate_namespace": "fep_fep092.FEP092", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 4, "canonical_body_sha256": "9a68fbb6dc65ccae2de83661319d204e6d54ced9e71bb6e5ebe0ec5127f3fab9", "canonical_namespace": "FEP092", @@ -241220,7 +241220,7 @@ { "aggregate_namespace": "fep_fep093.FEP093", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "b548d065443ea48dea3b209905c3b04a2dc35c9059d70c1123421eb30588d08f", "canonical_namespace": "FEP093", @@ -241269,7 +241269,7 @@ { "aggregate_namespace": "fep_fep094.FEP094", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "1bc841201a47800e61451b394038ca7feccf9f8719a77caad41c74698abfdc3d", "canonical_namespace": "FEP094", @@ -241317,7 +241317,7 @@ { "aggregate_namespace": "fep_fep095.FEP095", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "e6f5748da3b24f4a676529860817adf6a537d3a01ac721e6f0f03e0308620f21", "canonical_namespace": "FEP095", @@ -241364,7 +241364,7 @@ { "aggregate_namespace": "fep_fep096.FEP096", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "d131f1f1349e311c2c9afe46d3fb99050722b0dad4e2f6973c72906f9308a02b", "canonical_namespace": "FEP096", @@ -241407,7 +241407,7 @@ { "aggregate_namespace": "fep_fep097.FEP097", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "049daa7481266c47ce6f8341c42e494466419da61cf5b93d0ac015561c5f85f4", "canonical_namespace": "FEP097", @@ -241450,7 +241450,7 @@ { "aggregate_namespace": "fep_fep098.FEP098", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "268a7a347d7f635eb31ccc607d423b924431eb8332f94fc9ec6bd9a388baddd6", "canonical_namespace": "FEP098", @@ -241497,7 +241497,7 @@ { "aggregate_namespace": "fep_fep099.FEP099", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "3df41a1d1403ef1db884407279c6aee1d70fbd7fd6dfa8d2ae2d48cd6a356331", "canonical_namespace": "FEP099", @@ -241548,7 +241548,7 @@ { "aggregate_namespace": "fep_fep100.FEP100", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 5, "canonical_body_sha256": "f2cf68dc1367c14b7993e10bd396876280979b6b07efe9e9d51a2ae98ebc880d", "canonical_namespace": "FEP100", @@ -241604,7 +241604,7 @@ { "aggregate_namespace": "fep_fep101.FEP101", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 2, "canonical_body_sha256": "579787b453128fd06ce83488609f6edc1ef6c8cf0e8169892092ba7670afadc4", "canonical_namespace": "FEP101", @@ -241652,7 +241652,7 @@ { "aggregate_namespace": "fep_fep102.FEP102", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 1, "canonical_body_sha256": "e5c47a3f7f253c1bf614de67fdff78703bbc802bf734842613f5d36314ef0759", "canonical_namespace": "FEP102", @@ -241696,7 +241696,7 @@ { "aggregate_namespace": "fep_fep103.FEP103", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 2, "canonical_body_sha256": "ef756e160ff8dc4b02f3813393b04b9e30ddf53fca1496ea738d09cd173b849c", "canonical_namespace": "FEP103", @@ -241744,7 +241744,7 @@ { "aggregate_namespace": "fep_fep104.FEP104", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 1, "canonical_body_sha256": "20c47da0b559cf308ad4ff6d69881c1f2669a0816c209df3d3bfbb98e2da4475", "canonical_namespace": "FEP104", @@ -241788,7 +241788,7 @@ { "aggregate_namespace": "fep_fep105.FEP105", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 2, "canonical_body_sha256": "1133e67cc54d0da143630427c0812ebf11891f6bb40ee64f8fcc3547895a15cb", "canonical_namespace": "FEP105", @@ -241836,7 +241836,7 @@ { "aggregate_namespace": "fep_fep106.FEP106", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 3, "canonical_body_sha256": "0806d5b5a5f8f996564a7fb69ffa8c4a635131c72c8fe0ddc03f784ae7b97e01", "canonical_namespace": "FEP106", @@ -241886,7 +241886,7 @@ { "aggregate_namespace": "fep_fep107.FEP107", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "401425197ca2143a209c4e8f05ca1eb5449328dbf94d0ce1bcc1cb75124d6638", "canonical_namespace": "FEP107", @@ -241933,7 +241933,7 @@ { "aggregate_namespace": "fep_fep108.FEP108", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "3683d02b54773dee28599d1024a128d86ed31b461ae8ff70a78ca07c066fdab1", "canonical_namespace": "FEP108", @@ -241980,7 +241980,7 @@ { "aggregate_namespace": "fep_fep109.FEP109", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "b7918e89df603060e113f9500906716e8ed9eac54bc6d97a7701b0fd1f056426", "canonical_namespace": "FEP109", @@ -242027,7 +242027,7 @@ { "aggregate_namespace": "fep_fep110.FEP110", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "80ede1c61d228190420034c53d147d2143a7568eb93cc0b8f513de4922f0fa4e", "canonical_namespace": "FEP110", @@ -242074,7 +242074,7 @@ { "aggregate_namespace": "fep_fep111.FEP111", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "05498c2f2f166e2a1844337f873d8728b969b4118932bfa790c393cd57c3b2a7", "canonical_namespace": "FEP111", @@ -242120,7 +242120,7 @@ { "aggregate_namespace": "fep_fep112.FEP112", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "c9f183bff8d047884d788ffb534d54e0ac22b0a3fb6ff36bb2607de020778685", "canonical_namespace": "FEP112", @@ -242171,7 +242171,7 @@ { "aggregate_namespace": "fep_fep113.FEP113", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "21f6de5347045c8bd74ba42c93901845db566e918b95f9b61823b8ecd2c025d3", "canonical_namespace": "FEP113", @@ -242218,7 +242218,7 @@ { "aggregate_namespace": "fep_fep114.FEP114", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "d6f4f5f6333633a35eaee37ebd970fa5109d2a3d8dbd6c560ced6a289ea8dd6e", "canonical_namespace": "FEP114", @@ -242264,7 +242264,7 @@ { "aggregate_namespace": "fep_fep115.FEP115", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "c667f763198826e08bdb0a7d6a61746d52f89848183b0629b192b39688485d18", "canonical_namespace": "FEP115", @@ -242311,7 +242311,7 @@ { "aggregate_namespace": "fep_fep116.FEP116", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "70c21c7e768ce805414691d35d589c68d862a589a65f9e52688dd39b1136987b", "canonical_namespace": "FEP116", @@ -242358,7 +242358,7 @@ { "aggregate_namespace": "fep_fep117.FEP117", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "16f9ca27e8c22b07bd22d2cf3fb3a78be322aa55a2dae70e73f392eae8f52577", "canonical_namespace": "FEP117", @@ -242404,7 +242404,7 @@ { "aggregate_namespace": "fep_fep118.FEP118", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "3bd15a508a3d5626d26403ee5d0383159f066374762e5ca47a1fea2690860e5b", "canonical_namespace": "FEP118", @@ -242451,7 +242451,7 @@ { "aggregate_namespace": "fep_fep119.FEP119", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "66355752016cc0d70e0d21660622b739916f4ca9ea38860774a2e8e7aa160e59", "canonical_namespace": "FEP119", @@ -242498,7 +242498,7 @@ { "aggregate_namespace": "fep_fep120.FEP120", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 3, "canonical_body_sha256": "59bd0fb1a44ad717b6a58caa39c92bcdba11f8d5a09091a461a547197d40e2d2", "canonical_namespace": "FEP120", @@ -242548,7 +242548,7 @@ { "aggregate_namespace": "fep_fep121.FEP121", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "9ce5ebb4ad0b81610d88ceb9cd2d0f283efed734bddb5956aac66c03dc875ce6", "canonical_namespace": "FEP121", @@ -242592,7 +242592,7 @@ { "aggregate_namespace": "fep_fep122.FEP122", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "6b9aae9852e27b1a49d75f8068739bedb49cbb62ab4c35d7653e229c8c978c99", "canonical_namespace": "FEP122", @@ -242636,7 +242636,7 @@ { "aggregate_namespace": "fep_fep123.FEP123", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "1cb497e6f09fec4c75d519f652506a6d698689caa5e3a1be4613b7cef011a4ee", "canonical_namespace": "FEP123", @@ -242680,7 +242680,7 @@ { "aggregate_namespace": "fep_fep124.FEP124", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "f8dc6e08acc24f9069692fc37d12a4cebce3bebc4b2b54737e16713be61f4b50", "canonical_namespace": "FEP124", @@ -242724,7 +242724,7 @@ { "aggregate_namespace": "fep_fep125.FEP125", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "6ac9c34ed78d61ddc071ee054034f8577e9df07ec4b9e3390397f471542b3a34", "canonical_namespace": "FEP125", @@ -242768,7 +242768,7 @@ { "aggregate_namespace": "fep_fep126.FEP126", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "3b98ae19d7db62023640fd2c4ac257355f85d6e1a5d82b8e9ffb19e43df3f836", "canonical_namespace": "FEP126", @@ -242812,7 +242812,7 @@ { "aggregate_namespace": "fep_fep127.FEP127", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "93863bc021a0520025ce1b77bc50889b26f18e1423c7d549ce092f89e8859fd6", "canonical_namespace": "FEP127", @@ -242856,7 +242856,7 @@ { "aggregate_namespace": "fep_fep128.FEP128", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "443ac7fd78dc4638df33daf08e5803607ac3458ed042351561d6b95142ec1789", "canonical_namespace": "FEP128", @@ -242902,7 +242902,7 @@ { "aggregate_namespace": "fep_fep129.FEP129", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "ca39e81f27a6bc4814a551ad5a047d53d521abcaa82cc20dac36595b728d6d1e", "canonical_namespace": "FEP129", @@ -242948,7 +242948,7 @@ { "aggregate_namespace": "fep_fep130.FEP130", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "b5b5a93bb570882c7e1f8c6c8a1da5d078692550980a3232c8ab8c5a37ac2121", "canonical_namespace": "FEP130", @@ -242994,7 +242994,7 @@ { "aggregate_namespace": "fep_fep131.FEP131", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "54261374ba94b0b3e875ce4ae9840dd29916f5c029ba039e38136ae76788bee8", "canonical_namespace": "FEP131", @@ -243040,7 +243040,7 @@ { "aggregate_namespace": "fep_fep132.FEP132", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "e4f421f6d341549632d9966b81e87d36160a8c61f5de848b7cade4f693e7d5cb", "canonical_namespace": "FEP132", @@ -243086,7 +243086,7 @@ { "aggregate_namespace": "fep_fep133.FEP133", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "9f1d294df477281f873ad5b84f7bc6b9e63c6d99780c3a9fd9e30e526396b01f", "canonical_namespace": "FEP133", @@ -243132,7 +243132,7 @@ { "aggregate_namespace": "fep_fep134.FEP134", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "1ee11c28263316c28024c8f0cbf210dd6619a9472431435fe6102fbbdedaf8f4", "canonical_namespace": "FEP134", @@ -243178,7 +243178,7 @@ { "aggregate_namespace": "fep_fep135.FEP135", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 2, "canonical_body_sha256": "dbb7bb949236264d31b0782af0e9912d2b9b8de66d4bcbabd129ec4d19c9c2c8", "canonical_namespace": "FEP135", @@ -243223,7 +243223,7 @@ { "aggregate_namespace": "fep_fep136.FEP136", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 2, "canonical_body_sha256": "2c91fe60104125349d74a20a55fecf7c8178e7e4fd626a5908a3007ca66d266d", "canonical_namespace": "FEP136", @@ -243268,7 +243268,7 @@ { "aggregate_namespace": "fep_fep137.FEP137", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "55f3f602a6acb373deeb26a8bd084a976804289e683eac4f3263d7b8ba2a1377", "canonical_namespace": "FEP137", @@ -243309,7 +243309,7 @@ { "aggregate_namespace": "fep_fep138.FEP138", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "db310fa47dd4edb73d69efb55ce6946337b1def9c7daaefa2d780119db94bf9d", "canonical_namespace": "FEP138", @@ -243350,7 +243350,7 @@ { "aggregate_namespace": "fep_fep139.FEP139", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 2, "canonical_body_sha256": "20abd300651bbef9ba59dc44b6a3dd8df80cfe9a7eaf13ad434fc4c793691c36", "canonical_namespace": "FEP139", @@ -243396,7 +243396,7 @@ { "aggregate_namespace": "fep_fep140.FEP140", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "14048b2c104a57bf5d4300beb116e89025aba34e4e10b992e0242243494c9c9f", "canonical_namespace": "FEP140", @@ -243437,7 +243437,7 @@ { "aggregate_namespace": "fep_fep141.FEP141", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "28bdc1d06b1f6ba2c097fece95c3dd06151b87ed8efbe94c55fb5603d8220e8c", "canonical_namespace": "FEP141", @@ -243479,7 +243479,7 @@ { "aggregate_namespace": "fep_fep142.FEP142", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "a77d0eb7dfb104fc2bf3cac53318532c9af4f8ae1e8d5315c2a1a3a50865b3d3", "canonical_namespace": "FEP142", @@ -243526,7 +243526,7 @@ { "aggregate_namespace": "fep_fep143.FEP143", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 1, "canonical_body_sha256": "cb82166922f058bd22491d30fbd3544c03f8744c4746221d3a258baacb898d2a", "canonical_namespace": "FEP143", @@ -243569,7 +243569,7 @@ { "aggregate_namespace": "fep_fep144.FEP144", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 1, "canonical_body_sha256": "a419d2362d11b1f4a6e7ed0a8faa60ebd0daee90698aea125b3123a7c43f91da", "canonical_namespace": "FEP144", @@ -243612,7 +243612,7 @@ { "aggregate_namespace": "fep_fep145.FEP145", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "d05a313346869e52d534b695b51a5819e4d7f24beda9077de2973543b79fb021", "canonical_namespace": "FEP145", @@ -243659,7 +243659,7 @@ { "aggregate_namespace": "fep_fep146.FEP146", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "7608490c97d2c1be72c5c211d86cbc3ac735f047445834914af0971b82495868", "canonical_namespace": "FEP146", @@ -243712,7 +243712,7 @@ { "aggregate_namespace": "fep_fep147.FEP147", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "fe6ccc94bce2a98484f4e2bac7da38c0503a0069a9f32ee7b8d90cba05d7f713", "canonical_namespace": "FEP147", @@ -243759,7 +243759,7 @@ { "aggregate_namespace": "fep_fep148.FEP148", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "11122c494c41f390d310b2eaf383c91c45fcd4890332a5ab0342660d87dd6318", "canonical_namespace": "FEP148", @@ -243806,7 +243806,7 @@ { "aggregate_namespace": "fep_fep149.FEP149", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "adf32afc3ea56e0b85cd3af1dd15b6ec6842ca67ea434a87df8db2e2b99ed63a", "canonical_namespace": "FEP149", @@ -243854,7 +243854,7 @@ { "aggregate_namespace": "fep_fep150.FEP150", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "60bc21df3a2c009e2eb6b63a6e749f77597b5559af8c0b77adbaf2b3cd593ec5", "canonical_namespace": "FEP150", @@ -243896,7 +243896,7 @@ { "aggregate_namespace": "fep_fep151.FEP151", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "b3f2bc69d9c46994a3d4868497e5c572ad953cbf54129fe5fcecc4e01910ba69", "canonical_namespace": "FEP151", @@ -243938,7 +243938,7 @@ { "aggregate_namespace": "fep_fep152.FEP152", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "f3dd536b4cc43bcaec1fa311f1364e65f55b64eede686c58c7717441ab28ab6a", "canonical_namespace": "FEP152", @@ -243981,7 +243981,7 @@ { "aggregate_namespace": "fep_fep153.FEP153", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "7f493ed3806ad7c993b0a8221583b40f3e5c3f0d5e8e8b7abc9292c16c96e2b4", "canonical_namespace": "FEP153", @@ -244027,7 +244027,7 @@ { "aggregate_namespace": "fep_fep154.FEP154", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "8722d3c3fa8eabcd1d5f97d7f68f6149fcc42e46eb66cf018ccaa6e41bda13d8", "canonical_namespace": "FEP154", @@ -244073,7 +244073,7 @@ { "aggregate_namespace": "fep_fep155.FEP155", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "1b7073996bdaed2a093c8f579ba210c4e1ee13d83eae24dd0c2c9703d371999e", "canonical_namespace": "FEP155", @@ -244121,7 +244121,7 @@ { "aggregate_namespace": "fep_fep156.FEP156", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 9, "canonical_body_sha256": "99527b5d9e0f1930f622a786ee2258a50f371fed6facbfc06e76cd31c6987e90", "canonical_namespace": "FEP156", @@ -244185,7 +244185,7 @@ { "aggregate_namespace": "fep_fep157.FEP157", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 13, "canonical_body_sha256": "aefbafc073adf0165e7ee7a5773bde98e8af7ea6659c194de5daac597d5c5307", "canonical_namespace": "FEP157", @@ -244257,7 +244257,7 @@ { "aggregate_namespace": "fep_fep158.FEP158", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 10, "canonical_body_sha256": "44393b67feb0b234e1efae4d21fc485049b950683c6d6a445e7dc58f37add32d", "canonical_namespace": "FEP158", @@ -244323,7 +244323,7 @@ { "aggregate_namespace": "fep_fep159.FEP159", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 11, "canonical_body_sha256": "1ad540198dead5e0acc7fd13f65d8020319490fc32b3eaf9de3bc231cbb2b7ba", "canonical_namespace": "FEP159", @@ -244391,7 +244391,7 @@ { "aggregate_namespace": "fep_fep160.FEP160", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 13, "canonical_body_sha256": "bda3a4b5f541dd90bb2312e75a217ca36a7662240fbe46445c44722b64576a35", "canonical_namespace": "FEP160", @@ -244463,7 +244463,7 @@ { "aggregate_namespace": "fep_fep161.FEP161", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 2, "canonical_body_sha256": "862299f15c8e8cab65cffbbe09f249a618c10f6e7cf635b2c26731258a187852", "canonical_namespace": "FEP161", @@ -244509,7 +244509,7 @@ { "aggregate_namespace": "fep_fep162.FEP162", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 3, "canonical_body_sha256": "ae3a24dc33ae40ce35b84c866a5b017ab7e5efc2ddba163a9984cc4f6e72fc6b", "canonical_namespace": "FEP162", @@ -244557,7 +244557,7 @@ { "aggregate_namespace": "fep_fep163.FEP163", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 5, "canonical_body_sha256": "85db749354c569cfa3501b2a17913c55031b7fcc4e6fd6712916ef56e48fb9f1", "canonical_namespace": "FEP163", @@ -244609,7 +244609,7 @@ { "aggregate_namespace": "fep_fep164.FEP164", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "da9b07d9cd8e5bf9818b2e16fa9855defd931c9623acc85fea43f65275083095", "canonical_namespace": "FEP164", @@ -244659,7 +244659,7 @@ { "aggregate_namespace": "fep_fep165.FEP165", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 5, "canonical_body_sha256": "e9e869324e2b63cb5feb3e5bd476980e366aa70e6bc3bab29cbfbdccb2a1590a", "canonical_namespace": "FEP165", @@ -244711,7 +244711,7 @@ { "aggregate_namespace": "fep_fep166.FEP166", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 7, "canonical_body_sha256": "d8d624e56974056f21ebb5ebc311bd11d9d57a007cf82dcbc019db92a5668108", "canonical_namespace": "FEP166", @@ -244770,7 +244770,7 @@ { "aggregate_namespace": "fep_fep167.FEP167", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "9b8423bb7d96d67de69ed5c93825ac59e37513d421693cf7c0518660607f8697", "canonical_namespace": "FEP167", @@ -244820,7 +244820,7 @@ { "aggregate_namespace": "fep_fep168.FEP168", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "7c1b83386845555ec06438b2b4e05241267cc69747617de316d3cea8246f157c", "canonical_namespace": "FEP168", diff --git a/docs/mathematical-positioning/positioning.md b/docs/mathematical-positioning/positioning.md index f3bf77e3..db5d2fed 100644 --- a/docs/mathematical-positioning/positioning.md +++ b/docs/mathematical-positioning/positioning.md @@ -1,6 +1,6 @@ # Mathematical positioning of FEP Formal -Generated by `fep_lean.methods` from validated owner bytes and authored positioning policy. +Generated by `fep_formal.methods` from validated owner bytes and authored positioning policy. Offline canonical source analysis and authored mathematical context. Declaration resolution is source-text validation, never native compilation. No Hermes, OpenGauss, upstream execution, live service, H3/Q7 gate, or scientific promotion occurs. Family context, numerical probes and distances are non-proof information. @@ -3423,7 +3423,7 @@ Each family is a binary vector in the ordered domain vocabulary. Similarity is s 1, 1 ], - "reading_anchor": "src/fep_lean/formal/geometric_optimization.lean", + "reading_anchor": "src/fep_formal/formal/geometric_optimization.lean", "redundant_logit_information": [ [ 0.2222222222222222, @@ -3499,7 +3499,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep001.FEP001.fep001_variationalUpperBound_eq_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP001`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP001`. 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. @@ -3601,7 +3601,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep002.FEP002.fep002_vfe_ge_surprisal`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP002`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP002`. Invariant: Variational free energy, defined as surprisal plus Mathlib KL divergence, upper-bounds surprisal and is exact at the posterior. @@ -3672,7 +3672,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep003.FEP003.fep003_pragmaticCost_succ`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP003`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP003`. 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. @@ -3755,7 +3755,7 @@ Family: `core-information-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP004`. +Body owner: `src/fep_formal/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP004`. Invariant: A finite diagonal Fisher metric is symmetric and positive semidefinite under nonnegative information weights, and becomes positive definite under strictly positive weights. @@ -3843,7 +3843,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep005.FEP005.fep005_existsUnique_block`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP005`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP005`. Invariant: A function-valued assignment partitions a 20-state finite space into four pairwise-disjoint blocks, and every state belongs to exactly one block. @@ -3911,7 +3911,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep006.FEP006.fep006_iterateFlow_add`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP006`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP006`. 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. @@ -3994,7 +3994,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep007.FEP007.fep007_normalizedMessage_sum_one`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP007`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP007`. 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. @@ -4119,7 +4119,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep008.FEP008.fep008_exists_minG`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP008`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP008`. Invariant: A real-valued objective attains a minimum on a finite nonempty policy set. @@ -4197,7 +4197,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep009.FEP009.fep009_condIndep_symm`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP009`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP009`. Invariant: Conditional independence of two σ-algebras given a third is symmetric under Mathlib's conditional-expectation-kernel definition. @@ -4300,7 +4300,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep010.FEP010.fep010_reversible_invariant`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP010`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP010`. Invariant: A Markov kernel satisfying measure-theoretic detailed balance leaves its reference measure invariant. @@ -4389,7 +4389,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep011.FEP011.fep011_surprise_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP011`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP011`. Invariant: Negative-log self-information is nonnegative on positive probabilities at most one, additive on positive products, strictly antitone, and zero exactly at certainty. @@ -4457,7 +4457,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP012`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP012`. 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. @@ -4548,7 +4548,7 @@ Family: `core-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy`. -Body owner: `src/fep_lean/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP013`. +Body owner: `src/fep_formal/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP013`. 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. @@ -4652,7 +4652,7 @@ Family: `core-information-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep014.FEP014.fep014_kl_chain_rule`. -Body owner: `src/fep_lean/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP014`. +Body owner: `src/fep_formal/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP014`. Invariant: Mathlib KL divergence is nonnegative, vanishes exactly on equal finite measures, and obeys the composition-product chain rule for Markov kernels. @@ -4763,7 +4763,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep015.FEP015.fep015_variationalIntegrand_measurable`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP015`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP015`. 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. @@ -4861,7 +4861,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep016.FEP016.fep016_laplaceKernel_integral`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP016`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP016`. Invariant: A positive-precision scalar quadratic exponential is integrable and has the exact Gaussian normalizing integral sqrt(π/(precision/2)). @@ -4932,7 +4932,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep017.FEP017.fep017_posterior_joint_reconstruction`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP017`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP017`. 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. @@ -5037,7 +5037,7 @@ Family: `core-information-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep018.FEP018.fep018_fisherRaoDistance_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP018`. +Body owner: `src/fep_formal/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP018`. Invariant: The Bernoulli Fisher--Rao coordinate distance is nonnegative, symmetric, separating on the probability interval, and satisfies the triangle inequality. @@ -5117,7 +5117,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep019.FEP019.fep019_priorPredictive_assoc`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP019`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP019`. Invariant: The native prior-predictive law preserves total mass for a Markov likelihood and sequential prediction equals measure composition by the composed kernels. @@ -5201,7 +5201,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep020.FEP020.fep020_tendsto_uniform`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP020`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP020`. 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. @@ -5292,7 +5292,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep021.FEP021.fep021_efe_epistemic_balance`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP021`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP021`. 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. @@ -5365,7 +5365,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep022.FEP022.fep022_brier_eq_optimum_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP022`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP022`. 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. @@ -5427,7 +5427,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep023.FEP023.fep023_reachable_normalized`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP023`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP023`. 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. @@ -5530,7 +5530,7 @@ Family: `core-information-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep024.FEP024.fep024_klRegularizedObjective_exact`. -Body owner: `src/fep_lean/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP024`. +Body owner: `src/fep_formal/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP024`. 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. @@ -5610,7 +5610,7 @@ Family: `core-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep025.FEP025.fep025_cycleCurrent_stationary`. -Body owner: `src/fep_lean/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP025`. +Body owner: `src/fep_formal/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP025`. 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. @@ -5668,7 +5668,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep026.FEP026.fep026_priorComplexity_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP026`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP026`. Invariant: Negative-log prior complexity is additive on positive product densities, strictly antitone, and zero exactly at unit density. @@ -5736,7 +5736,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep027.FEP027.fep027_hierarchical_assoc`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP027`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP027`. 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. @@ -5820,7 +5820,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep028.FEP028.fep028_softmax_sum_univ`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP028`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP028`. 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. @@ -5910,7 +5910,7 @@ Family: `core-information-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP029`. +Body owner: `src/fep_formal/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP029`. Invariant: The scalar Bregman divergence generated by φ(x)=x² equals (x-y)², is nonnegative, and vanishes exactly when x=y. @@ -5969,7 +5969,7 @@ Family: `core-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep030.FEP030.fep030_binaryEntropy_max`. -Body owner: `src/fep_lean/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP030`. +Body owner: `src/fep_formal/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP030`. Invariant: Binary Shannon entropy in nats is globally at most log 2, with equality exactly at probability one half. @@ -6027,7 +6027,7 @@ Family: `core-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep031.FEP031.fep031_gibbsProbability_sum_one`. -Body owner: `src/fep_lean/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP031`. +Body owner: `src/fep_formal/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP031`. Invariant: Positive exponential Gibbs weights normalize to a nonnegative mass function summing to one on any nonempty finite support. @@ -6126,7 +6126,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep032.FEP032.fep032_quadraticUpdate_tendsto`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP032`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP032`. 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). @@ -6221,7 +6221,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep033.FEP033.fep033_bellman`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP033`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP033`. 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. @@ -6346,7 +6346,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep034.FEP034.fep034_filter_joint_reconstruction`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP034`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP034`. 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. @@ -6471,7 +6471,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep035.FEP035.fep035_log_jensen_two_strict`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP035`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP035`. 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. @@ -6594,7 +6594,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP036`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP036`. 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. @@ -6677,7 +6677,7 @@ Family: `core-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep037.FEP037.fep037_response_eq`. -Body owner: `src/fep_lean/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP037`. +Body owner: `src/fep_formal/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP037`. 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. @@ -6749,7 +6749,7 @@ Family: `core-information-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep038.FEP038.fep038_fisherInformation_eq`. -Body owner: `src/fep_lean/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP038`. +Body owner: `src/fep_formal/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP038`. Invariant: The differentiated Bernoulli family has zero expected score and Fisher information 1/(p(1-p)); its inverse metric defines a dual natural gradient. The supplied coordinate-Jacobian expression squares to Fisher information and factorizes the metric. @@ -6827,7 +6827,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep039.FEP039.fep039_global_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP039`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP039`. Invariant: Four local free-energy contributions aggregate additively and monotonically; under local nonnegativity, their global sum vanishes exactly when every local term vanishes. @@ -6896,7 +6896,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP040`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP040`. 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. @@ -6976,7 +6976,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep041.FEP041.fep041_expectedInformationGain_zero`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP041`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP041`. 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. @@ -7079,7 +7079,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP042`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP042`. Invariant: The Bernoulli sequence likelihood factorizes exactly through success and failure counts, so samples with equal count statistics have identical likelihood for every parameter. @@ -7160,7 +7160,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep043.FEP043.fep043_quadratic_critical_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP043`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP043`. 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. @@ -7232,7 +7232,7 @@ Family: `core-information-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP044`. +Body owner: `src/fep_formal/catalogue/bodies/core_information_geometry.py`; canonical namespace `FEP044`. Invariant: The squared Hellinger divergence between Bernoulli laws is nonnegative, symmetric, invariant under success/failure relabeling, and separates parameters on [0,1]. @@ -7312,7 +7312,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep045.FEP045.fep045_bernoulli_posterior_closed`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP045`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP045`. Invariant: For nonzero evidence, likelihood-times-prior masses have the Bernoulli mass-vector form at the updated parameter. A probability-law interpretation additionally requires a prior in [0,1], nonnegative likelihoods and positive evidence. @@ -7397,7 +7397,7 @@ Family: `core-bayesian-mechanics`. Disposition: `formalized`. Primary theorem: `fep_fep046.FEP046.fep046_mass_conservation`. -Body owner: `src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP046`. +Body owner: `src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py`; canonical namespace `FEP046`. Invariant: For every finite stick-breaking sequence, allocated weights plus residual mass equal exactly one; unit-interval breaks keep the residual in [0,1]. @@ -7455,7 +7455,7 @@ Family: `core-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep047.FEP047.fep047_forward_compose`. -Body owner: `src/fep_lean/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP047`. +Body owner: `src/fep_formal/catalogue/bodies/core_active_inference.py`; canonical namespace `FEP047`. 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. @@ -7527,7 +7527,7 @@ Family: `core-free-energy`. Disposition: `formalized`. Primary theorem: `fep_fep048.FEP048.fep048_contraction_unique`. -Body owner: `src/fep_lean/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP048`. +Body owner: `src/fep_formal/catalogue/bodies/core_free_energy.py`; canonical namespace `FEP048`. Invariant: Any two fixed points of a global ContractingWith map on ℝ coincide; the concrete halving map has unique fixed point zero and its iterates converge to zero. @@ -7637,7 +7637,7 @@ Family: `core-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff`. -Body owner: `src/fep_lean/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP049`. +Body owner: `src/fep_formal/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP049`. 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. @@ -7728,7 +7728,7 @@ Family: `core-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep050.FEP050.fep050_landauer_work_bound`. -Body owner: `src/fep_lean/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP050`. +Body owner: `src/fep_formal/catalogue/bodies/core_thermodynamics.py`; canonical namespace `FEP050`. Invariant: A normalized finite path erasure model with forward-supported local detailed balance derives mean bath heat at least kB T times the prior's binary Shannon entropy when the final bit is reset. The fair-prior corner gives kB T log 2, and work dominating that mean heat obeys the same threshold. No second-law inequality is assumed by these path-model bounds. @@ -7882,7 +7882,7 @@ Family: `measure-bayesian-inversion`. Disposition: `formalized`. Primary theorem: `fep_fep051.FEP051.fep051_likelihoodRatio_reconstruction`. -Body owner: `src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP051`. +Body owner: `src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP051`. 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. @@ -7964,7 +7964,7 @@ Family: `measure-bayesian-inversion`. Disposition: `conditional_proxy`. Primary theorem: `fep_fep052.FEP052.fep052_posterior_density_tilt`. -Body owner: `src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP052`. +Body owner: `src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP052`. Invariant: A posterior kernel is a prior measure tilted by the likelihood-to-predictive Radon–Nikodym derivative for predictive-almost-every observation. @@ -8077,7 +8077,7 @@ Family: `measure-bayesian-inversion`. Disposition: `formalized`. Primary theorem: `fep_fep053.FEP053.fep053_kernelBayes_joint_reconstruction`. -Body owner: `src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP053`. +Body owner: `src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP053`. 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. @@ -8169,7 +8169,7 @@ Family: `measure-bayesian-inversion`. Disposition: `conditional_proxy`. Primary theorem: `fep_fep054.FEP054.fep054_bayes_involution`. -Body owner: `src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP054`. +Body owner: `src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP054`. 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. @@ -8285,7 +8285,7 @@ Family: `measure-bayesian-inversion`. Disposition: `conditional_proxy`. Primary theorem: `fep_fep055.FEP055.fep055_compositeKernel_bayesInversion`. -Body owner: `src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP055`. +Body owner: `src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP055`. 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. @@ -8430,7 +8430,7 @@ Family: `measure-bayesian-inversion`. Disposition: `formalized`. Primary theorem: `fep_fep056.FEP056.fep056_standardBorel_condKernel_reconstruction`. -Body owner: `src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP056`. +Body owner: `src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP056`. Invariant: Mathlib's canonical conditional kernel reconstructs a finite joint measure from its first marginal and is normalized at every conditioning value. @@ -8501,7 +8501,7 @@ Family: `measure-bayesian-inversion`. Disposition: `formalized`. Primary theorem: `fep_fep057.FEP057.fep057_conditionalExpectation_tower`. -Body owner: `src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP057`. +Body owner: `src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py`; canonical namespace `FEP057`. Invariant: Integrating a conditional expectation against the conditioning marginal equals the original joint expectation, with a parallel extended-nonnegative tower law. @@ -8600,7 +8600,7 @@ Family: `variational-duality-and-information-bounds`. Disposition: `formalized`. Primary theorem: `fep_fep058.FEP058.fep058_gibbsVariational_lower_bound`. -Body owner: `src/fep_lean/catalogue/bodies/variational_duality.py`; canonical namespace `FEP058`. +Body owner: `src/fep_formal/catalogue/bodies/variational_duality.py`; canonical namespace `FEP058`. Invariant: Finite Gibbs free energy is bounded below by minus the certified log partition, and the explicit normalized Gibbs law attains that bound. @@ -8673,7 +8673,7 @@ Family: `variational-duality-and-information-bounds`. Disposition: `formalized`. Primary theorem: `fep_fep059.FEP059.fep059_donskerVaradhan_equality_iff`. -Body owner: `src/fep_lean/catalogue/bodies/variational_duality.py`; canonical namespace `FEP059`. +Body owner: `src/fep_formal/catalogue/bodies/variational_duality.py`; canonical namespace `FEP059`. Invariant: The finite Donsker–Varadhan objective is bounded by the certified log partition, with equality exactly at the supplied full-support Gibbs optimizer. @@ -8746,7 +8746,7 @@ Family: `variational-duality-and-information-bounds`. Disposition: `formalized`. Primary theorem: `fep_fep060.FEP060.fep060_coordinateELBO_decomposition`. -Body owner: `src/fep_lean/catalogue/bodies/variational_duality.py`; canonical namespace `FEP060`. +Body owner: `src/fep_formal/catalogue/bodies/variational_duality.py`; canonical namespace `FEP060`. Invariant: A finite joint ELBO separates exactly into a prior-coordinate score minus an expected conditional KL remainder, and that remainder is nonnegative. @@ -8848,7 +8848,7 @@ Family: `variational-duality-and-information-bounds`. Disposition: `formalized`. Primary theorem: `fep_fep061.FEP061.fep061_meanFieldCoordinate_optimum_iff`. -Body owner: `src/fep_lean/catalogue/bodies/variational_duality.py`; canonical namespace `FEP061`. +Body owner: `src/fep_formal/catalogue/bodies/variational_duality.py`; canonical namespace `FEP061`. 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. @@ -8944,7 +8944,7 @@ Family: `variational-duality-and-information-bounds`. Disposition: `formalized`. Primary theorem: `fep_fep062.FEP062.fep062_iidProduct_importanceJensen`. -Body owner: `src/fep_lean/catalogue/bodies/variational_duality.py`; canonical namespace `FEP062`. +Body owner: `src/fep_formal/catalogue/bodies/variational_duality.py`; canonical namespace `FEP062`. 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. @@ -9050,7 +9050,7 @@ Family: `variational-duality-and-information-bounds`. Disposition: `conditional_ Primary theorem: `fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing_of_relativeSupport`. -Body owner: `src/fep_lean/catalogue/bodies/variational_duality.py`; canonical namespace `FEP063`. +Body owner: `src/fep_formal/catalogue/bodies/variational_duality.py`; canonical namespace `FEP063`. Invariant: Passing finite actual and reference laws through the same finite channel cannot increase finite KL when every atom carrying nonzero actual mass has strictly positive reference mass. Shared-zero atoms and zero channel entries are permitted. @@ -9164,7 +9164,7 @@ Family: `variational-duality-and-information-bounds`. Disposition: `structural_p Primary theorem: `fep_fep064.FEP064.fep064_rateDistortion_dual_lower_bound`. -Body owner: `src/fep_lean/catalogue/bodies/variational_duality.py`; canonical namespace `FEP064`. +Body owner: `src/fep_formal/catalogue/bodies/variational_duality.py`; canonical namespace `FEP064`. Invariant: The actual finite rate-distortion Lagrangian-infimum dual value is at most the mutual information of every joint law with the required source marginal and distortion budget, for nonnegative distortion and multiplier. The former component-bound Lagrangian inequality remains an unchanged supporting API. @@ -9289,7 +9289,7 @@ Family: `control-and-planning-as-inference`. Disposition: `formalized`. Primary theorem: `fep_fep065.FEP065.fep065_controlledKernel_normalization`. -Body owner: `src/fep_lean/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP065`. +Body owner: `src/fep_formal/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP065`. Invariant: Every action and source state in a finite controlled kernel selects a normalized next-state law. @@ -9371,7 +9371,7 @@ Family: `control-and-planning-as-inference`. Disposition: `formalized`. Primary theorem: `fep_fep066.FEP066.fep066_actionConditioned_bayes_reconstruction`. -Body owner: `src/fep_lean/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP066`. +Body owner: `src/fep_formal/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP066`. Invariant: A positive-evidence action-conditioned prediction and observation update is normalized and reconstructs its predicted state-observation joint mass. @@ -9501,7 +9501,7 @@ Family: `control-and-planning-as-inference`. Disposition: `structural_proxy`. Primary theorem: `fep_fep067.FEP067.fep067_reachableBelief_policyValue_equivalence`. -Body owner: `src/fep_lean/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP067`. +Body owner: `src/fep_formal/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP067`. Invariant: Expanding a finite reachable-belief index into its interpreted finite law preserves every fixed finite-horizon feedback-policy value. @@ -9608,7 +9608,7 @@ Family: `control-and-planning-as-inference`. Disposition: `formalized`. Primary theorem: `fep_fep068.FEP068.fep068_softBellman_recursion`. -Body owner: `src/fep_lean/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP068`. +Body owner: `src/fep_formal/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP068`. 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. @@ -9744,7 +9744,7 @@ Family: `control-and-planning-as-inference`. Disposition: `structural_proxy`. Primary theorem: `fep_fep069.FEP069.fep069_desirability_recursion`. -Body owner: `src/fep_lean/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP069`. +Body owner: `src/fep_formal/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP069`. Invariant: One finite desirability backup is an exponential state-cost tilt of a passive transition prediction and preserves nonnegativity. @@ -9831,7 +9831,7 @@ Family: `control-and-planning-as-inference`. Disposition: `structural_proxy`. Primary theorem: `fep_fep070.FEP070.fep070_controlPosterior_reconstruction`. -Body owner: `src/fep_lean/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP070`. +Body owner: `src/fep_formal/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP070`. Invariant: A prior-weighted exponential action score normalizes to a control posterior whose mass reconstructs the unnormalized score. @@ -9926,7 +9926,7 @@ Family: `control-and-planning-as-inference`. Disposition: `conditional_proxy`. Primary theorem: `fep_fep071.FEP071.fep071_sophisticatedEFE_backward_step`. -Body owner: `src/fep_lean/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP071`. +Body owner: `src/fep_formal/catalogue/bodies/controlled_markov.py`; canonical namespace `FEP071`. Invariant: Finite sophisticated expected-free-energy recursion reoptimizes after each observation-dependent update, and a two-stage witness separates feedback from every fixed open-loop second action. Separately, under the explicit BayesianBeliefModel filter-soundness and full-support premises, the generative-model specialization agrees with the reachable-belief POMDP optimum; this stronger statement does not make the generic primary Bayesian. @@ -10023,7 +10023,7 @@ Family: `temporal-and-hierarchical-inference`. Disposition: `formalized`. Primary theorem: `fep_fep072.FEP072.fep072_forward_filtering_recursion`. -Body owner: `src/fep_lean/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP072`. +Body owner: `src/fep_formal/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP072`. Invariant: One positive-evidence finite hidden-Markov filtering step reconstructs its predicted state-observation joint, with an exact asymmetric Boolean posterior witness. @@ -10142,7 +10142,7 @@ Family: `temporal-and-hierarchical-inference`. Disposition: `formalized`. Primary theorem: `fep_fep073.FEP073.fep073_backward_message_recursion`. -Body owner: `src/fep_lean/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP073`. +Body owner: `src/fep_formal/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP073`. Invariant: Finite backward information messages obey the exact future-observation recursion and preserve nonnegativity from one message to the preceding one. @@ -10250,7 +10250,7 @@ Family: `temporal-and-hierarchical-inference`. Disposition: `formalized`. Primary theorem: `fep_fep074.FEP074.fep074_forwardBackward_smoothing_factorization`. -Body owner: `src/fep_lean/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP074`. +Body owner: `src/fep_formal/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP074`. 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. @@ -10357,7 +10357,7 @@ Family: `temporal-and-hierarchical-inference`. Disposition: `formalized`. Primary theorem: `fep_fep075.FEP075.fep075_smoothing_marginal_normalization`. -Body owner: `src/fep_lean/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP075`. +Body owner: `src/fep_formal/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP075`. Invariant: A nonnegative forward–backward product with positive normalizer defines a normalized finite smoothing marginal. @@ -10452,7 +10452,7 @@ Family: `temporal-and-hierarchical-inference`. Disposition: `formalized`. Primary theorem: `fep_fep076.FEP076.fep076_variational_state_update_normalized`. -Body owner: `src/fep_lean/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP076`. +Body owner: `src/fep_formal/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP076`. Invariant: A finite prior-weighted exponential energy tilt is normalized and reconstructs its unnormalized weight, with zero energy acting as the identity update. @@ -10523,7 +10523,7 @@ Family: `temporal-and-hierarchical-inference`. Disposition: `formalized`. Primary theorem: `fep_fep077.FEP077.fep077_hierarchical_predictive_factorization`. -Body owner: `src/fep_lean/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP077`. +Body owner: `src/fep_formal/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP077`. Invariant: Two-level finite hierarchical prediction is exactly prediction through the chronological composition of its two normalized kernels. @@ -10608,7 +10608,7 @@ Family: `temporal-and-hierarchical-inference`. Disposition: `formalized`. Primary theorem: `fep_fep078.FEP078.fep078_modelAverage_predictive_law`. -Body owner: `src/fep_lean/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP078`. +Body owner: `src/fep_formal/catalogue/bodies/temporal_inference.py`; canonical namespace `FEP078`. Invariant: Bayesian model averaging is the prior-weighted finite mixture of model predictive laws and remains normalized. @@ -10692,7 +10692,7 @@ Family: `causal-blankets-and-interventions`. Disposition: `conditional_proxy`. Primary theorem: `fep_fep079.FEP079.fep079_blanketFactorization_iff_conditionalMutualInformation_zero`. -Body owner: `src/fep_lean/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP079`. +Body owner: `src/fep_formal/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP079`. Invariant: On a finite conditional-blanket carrier with full blanket support, vanishing conditional mutual information is equivalent to pointwise internal–external factorization. @@ -10766,7 +10766,7 @@ Family: `causal-blankets-and-interventions`. Disposition: `formalized`. Primary theorem: `fep_fep080.FEP080.fep080_sharedConditional_mixture_preservation`. -Body owner: `src/fep_lean/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP080`. +Body owner: `src/fep_formal/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP080`. Invariant: Convex mixing of two finite input laws commutes exactly with forming their joint laws when both components share the same conditional kernel. @@ -10874,7 +10874,7 @@ Family: `causal-blankets-and-interventions`. Disposition: `structural_proxy`. Primary theorem: `fep_fep081.FEP081.fep081_coupledSubsystem_blanketComposition`. -Body owner: `src/fep_lean/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP081`. +Body owner: `src/fep_formal/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP081`. Invariant: Two conditionally factorized subsystems retain zero paired-row mutual information under an arbitrarily coupled joint blanket law. @@ -10999,7 +10999,7 @@ Family: `causal-blankets-and-interventions`. Disposition: `formalized`. Primary theorem: `fep_fep082.FEP082.fep082_interventionKernel_normalization`. -Body owner: `src/fep_lean/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP082`. +Body owner: `src/fep_formal/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP082`. 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. @@ -11071,7 +11071,7 @@ Family: `causal-blankets-and-interventions`. Disposition: `conditional_proxy`. Primary theorem: `fep_fep083.FEP083.fep083_nonDescendant_intervention_invariance`. -Body owner: `src/fep_lean/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP083`. +Body owner: `src/fep_formal/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP083`. 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. @@ -11147,7 +11147,7 @@ Family: `causal-blankets-and-interventions`. Disposition: `formalized`. Primary theorem: `fep_fep084.FEP084.fep084_orderedFiniteCausal_factorization`. -Body owner: `src/fep_lean/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP084`. +Body owner: `src/fep_formal/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP084`. 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. @@ -11258,7 +11258,7 @@ Family: `causal-blankets-and-interventions`. Disposition: `conditional_proxy`. Primary theorem: `fep_fep085.FEP085.fep085_localMarkov_factorization_from_ordered`. -Body owner: `src/fep_lean/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP085`. +Body owner: `src/fep_formal/catalogue/bodies/causal_blankets_interventions.py`; canonical namespace `FEP085`. 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. @@ -11357,7 +11357,7 @@ Family: `predictive-coding-and-generalized-coordinates`. Disposition: `formalize Primary theorem: `fep_fep086.FEP086.fep086_precisionWeighted_zero_iff_exactPrediction`. -Body owner: `src/fep_lean/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP086`. +Body owner: `src/fep_formal/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP086`. Invariant: Nonnegative precision yields nonnegative scalar prediction-error energy, and under positive precision zero energy occurs exactly at exact prediction. @@ -11440,7 +11440,7 @@ Family: `predictive-coding-and-generalized-coordinates`. Disposition: `formalize Primary theorem: `fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_decomposition`. -Body owner: `src/fep_lean/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP087`. +Body owner: `src/fep_formal/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP087`. 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. @@ -11516,7 +11516,7 @@ Family: `predictive-coding-and-generalized-coordinates`. Disposition: `formalize Primary theorem: `fep_fep088.FEP088.fep088_predictionError_gradient_identity`. -Body owner: `src/fep_lean/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP088`. +Body owner: `src/fep_formal/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP088`. Invariant: Differentiating scalar precision-weighted prediction-error energy with respect to the estimate gives exactly minus precision times signed prediction error. @@ -11579,7 +11579,7 @@ Family: `predictive-coding-and-generalized-coordinates`. Disposition: `formalize Primary theorem: `fep_fep089.FEP089.fep089_finiteJet_shift_semigroup`. -Body owner: `src/fep_lean/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP089`. +Body owner: `src/fep_formal/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP089`. Invariant: Natural-number shifts on a finite generalized-coordinate jet compose associatively, with the highest retained coordinate shifting into an explicit zero truncation boundary. @@ -11659,7 +11659,7 @@ Family: `predictive-coding-and-generalized-coordinates`. Disposition: `formalize Primary theorem: `fep_fep090.FEP090.fep090_finiteJet_generalizedFiltering_correctionEquation`. -Body owner: `src/fep_lean/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP090`. +Body owner: `src/fep_formal/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP090`. Invariant: One finite-jet generalized-filtering Euler step equals the current coordinate plus a truncated shift minus the certified quadratic energy gradient. @@ -11768,7 +11768,7 @@ Family: `predictive-coding-and-generalized-coordinates`. Disposition: `formalize Primary theorem: `fep_fep091.FEP091.fep091_precisionModulation_energy_mono`. -Body owner: `src/fep_lean/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP091`. +Body owner: `src/fep_formal/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP091`. Invariant: Increasing nonnegative precision cannot decrease a fixed scalar prediction-error energy, and scaling precision scales its exact gradient by the same factor. @@ -11865,7 +11865,7 @@ Family: `predictive-coding-and-generalized-coordinates`. Disposition: `formalize Primary theorem: `fep_fep092.FEP092.fep092_quadraticPredictiveCoding_error_tendsto_zero`. -Body owner: `src/fep_lean/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP092`. +Body owner: `src/fep_formal/catalogue/bodies/predictive_coding_generalized.py`; canonical namespace `FEP092`. 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. @@ -11962,7 +11962,7 @@ Family: `path-space-stochastic-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep093.FEP093.fep093_forward_reverse_pathLaw_ratio`. -Body owner: `src/fep_lean/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP093`. +Body owner: `src/fep_formal/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP093`. 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. @@ -12046,7 +12046,7 @@ Family: `path-space-stochastic-thermodynamics`. Disposition: `structural_proxy`. Primary theorem: `fep_fep094.FEP094.fep094_entropyProduction_as_pathKL`. -Body owner: `src/fep_lean/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP094`. +Body owner: `src/fep_formal/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP094`. 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. @@ -12109,7 +12109,7 @@ Family: `path-space-stochastic-thermodynamics`. Disposition: `conditional_proxy` Primary theorem: `fep_fep095.FEP095.fep095_detailedFluctuation_symmetry`. -Body owner: `src/fep_lean/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP095`. +Body owner: `src/fep_formal/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP095`. Invariant: Under full path support, reverse-aligned mass times exponential pointwise entropy production reconstructs forward mass, and an exchanging reversal makes entropy production antisymmetric. @@ -12206,7 +12206,7 @@ Family: `path-space-stochastic-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep096.FEP096.fep096_integralFluctuation_theorem`. -Body owner: `src/fep_lean/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP096`. +Body owner: `src/fep_formal/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP096`. Invariant: The forward expectation of exponential negative pointwise entropy production equals one for normalized finite full-support forward and reverse path laws. @@ -12291,7 +12291,7 @@ Family: `path-space-stochastic-thermodynamics`. Disposition: `conditional_proxy` Primary theorem: `fep_fep097.FEP097.fep097_finiteJarzynski_equality`. -Body owner: `src/fep_lean/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP097`. +Body owner: `src/fep_formal/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP097`. Invariant: A normalized finite exponential-work protocol has work average equal to the exponential of negative inverse temperature times free-energy difference. @@ -12388,7 +12388,7 @@ Family: `path-space-stochastic-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep098.FEP098.fep098_localDetailedBalance_currentCancellation`. -Body owner: `src/fep_lean/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP098`. +Body owner: `src/fep_formal/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP098`. Invariant: Detailed balance cancels every oriented finite probability current, while a zero reverse rate is exposed as a totalized-log affinity boundary. @@ -12481,7 +12481,7 @@ Family: `path-space-stochastic-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep099.FEP099.fep099_reversibleChain_oneStep_KL_dissipation`. -Body owner: `src/fep_lean/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP099`. +Body owner: `src/fep_formal/catalogue/bodies/path_thermodynamics.py`; canonical namespace `FEP099`. 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. @@ -12609,7 +12609,7 @@ Family: `information-geometry-and-geometric-optimization`. Disposition: `conditi Primary theorem: `fep_fep100.FEP100.fep100_categoricalFisher_simplexTangent_positivity`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP100`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP100`. 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. @@ -12702,7 +12702,7 @@ Family: `information-geometry-and-geometric-optimization`. Disposition: `formali Primary theorem: `fep_fep101.FEP101.fep101_fisherPullback_reparameterization`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP101`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP101`. Invariant: Pulling the existing finite Fisher metric through a composite Jacobian equals successive pullback, and every such pullback is positive semidefinite. @@ -12800,7 +12800,7 @@ Family: `information-geometry-and-geometric-optimization`. Disposition: `formali Primary theorem: `fep_fep102.FEP102.fep102_unbiasedScalar_cramerRao`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP102`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP102`. Invariant: Finite unbiased scalar estimation under score regularity and positive Fisher information satisfies variance times Fisher information at least one. @@ -12893,7 +12893,7 @@ Family: `information-geometry-and-geometric-optimization`. Disposition: `formali Primary theorem: `fep_fep103.FEP103.fep103_naturalGradient_equivariance`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP103`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP103`. Invariant: Under invertible Fisher and chart matrices, the natural gradient transports equivariantly so lowering the chart-coordinate vector yields the pulled-back covector. @@ -12997,7 +12997,7 @@ Family: `information-geometry-and-geometric-optimization`. Disposition: `formali Primary theorem: `fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP104`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP104`. Invariant: The algebraic Bregman expression associated with supplied potential and gradient data obeys the exact three-point identity used by mirror descent. @@ -13094,7 +13094,7 @@ Family: `information-geometry-and-geometric-optimization`. Disposition: `conditi Primary theorem: `fep_fep105.FEP105.fep105_affineProjection_bregmanPythagorean`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP105`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP105`. 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. @@ -13217,7 +13217,7 @@ Family: `information-geometry-and-geometric-optimization`. Disposition: `conditi Primary theorem: `fep_fep106.FEP106.fep106_replicator_naturalGradient_equivalence`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP106`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_optimization.py`; canonical namespace `FEP106`. Invariant: On a certified categorical Fisher carrier, the replicator vector is the natural gradient of centered fitness and has zero total mass. @@ -13292,7 +13292,7 @@ Family: `collective-and-multiagent-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep107.FEP107.fep107_productAgent_generative_mass`. -Body owner: `src/fep_lean/catalogue/bodies/collective_inference.py`; canonical namespace `FEP107`. +Body owner: `src/fep_formal/catalogue/bodies/collective_inference.py`; canonical namespace `FEP107`. 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. @@ -13437,7 +13437,7 @@ Family: `collective-and-multiagent-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep108.FEP108.fep108_collectiveVFE_additive`. -Body owner: `src/fep_lean/catalogue/bodies/collective_inference.py`; canonical namespace `FEP108`. +Body owner: `src/fep_formal/catalogue/bodies/collective_inference.py`; canonical namespace `FEP108`. Invariant: Variational free energy of independent product laws with additive cost is exactly the sum of the two agent-level free energies. @@ -13564,7 +13564,7 @@ Family: `collective-and-multiagent-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep109.FEP109.fep109_independentEFE_additive`. -Body owner: `src/fep_lean/catalogue/bodies/collective_inference.py`; canonical namespace `FEP109`. +Body owner: `src/fep_formal/catalogue/bodies/collective_inference.py`; canonical namespace `FEP109`. Invariant: Expected free energy of product predictive and preference laws with additive ambiguity equals the sum of independent agent-level expected free energies. @@ -13693,7 +13693,7 @@ Family: `collective-and-multiagent-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_normalized`. -Body owner: `src/fep_lean/catalogue/bodies/collective_inference.py`; canonical namespace `FEP110`. +Body owner: `src/fep_formal/catalogue/bodies/collective_inference.py`; canonical namespace `FEP110`. 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. @@ -13771,7 +13771,7 @@ Family: `collective-and-multiagent-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep111.FEP111.fep111_consensus_pointwise_mass_conserved`. -Body owner: `src/fep_lean/catalogue/bodies/collective_inference.py`; canonical namespace `FEP111`. +Body owner: `src/fep_formal/catalogue/bodies/collective_inference.py`; canonical namespace `FEP111`. Invariant: The specified doubly stochastic two-agent consensus update conserves combined mass at every state and therefore preserves total combined mass two. @@ -13847,7 +13847,7 @@ Family: `collective-and-multiagent-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep112.FEP112.fep112_consensus_converges`. -Body owner: `src/fep_lean/catalogue/bodies/collective_inference.py`; canonical namespace `FEP112`. +Body owner: `src/fep_formal/catalogue/bodies/collective_inference.py`; canonical namespace `FEP112`. Invariant: Iterating the maintained strictly stochastic two-agent update halves each atomwise belief gap and drives pointwise disagreement to zero. @@ -13933,7 +13933,7 @@ Family: `collective-and-multiagent-active-inference`. Disposition: `formalized`. Primary theorem: `fep_fep113.FEP113.fep113_coupledPotential_strict_descent`. -Body owner: `src/fep_lean/catalogue/bodies/collective_inference.py`; canonical namespace `FEP113`. +Body owner: `src/fep_formal/catalogue/bodies/collective_inference.py`; canonical namespace `FEP113`. Invariant: The maintained consensus coupling quarters atomwise quadratic disagreement potential and decreases it strictly whenever the two input masses differ at that atom. @@ -14022,7 +14022,7 @@ Family: `learning-concentration-and-model-evidence`. Disposition: `formalized`. Primary theorem: `fep_fep114.FEP114.fep114_subGaussian_empiricalMean_tail`. -Body owner: `src/fep_lean/catalogue/bodies/learning_theory.py`; canonical namespace `FEP114`. +Body owner: `src/fep_formal/catalogue/bodies/learning_theory.py`; canonical namespace `FEP114`. 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. @@ -14186,7 +14186,7 @@ Family: `learning-concentration-and-model-evidence`. Disposition: `formalized`. Primary theorem: `fep_fep115.FEP115.fep115_simultaneous_frequency_bound`. -Body owner: `src/fep_lean/catalogue/bodies/learning_theory.py`; canonical namespace `FEP115`. +Body owner: `src/fep_formal/catalogue/bodies/learning_theory.py`; canonical namespace `FEP115`. 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. @@ -14362,7 +14362,7 @@ Family: `learning-concentration-and-model-evidence`. Disposition: `formalized`. Primary theorem: `fep_fep116.FEP116.fep116_finitePACBayes_with_confidence`. -Body owner: `src/fep_lean/catalogue/bodies/learning_theory.py`; canonical namespace `FEP116`. +Body owner: `src/fep_formal/catalogue/bodies/learning_theory.py`; canonical namespace `FEP116`. 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. @@ -14560,7 +14560,7 @@ Family: `learning-concentration-and-model-evidence`. Disposition: `formalized`. Primary theorem: `fep_fep117.FEP117.fep117_posteriorOdds_recursion`. -Body owner: `src/fep_lean/catalogue/bodies/learning_theory.py`; canonical namespace `FEP117`. +Body owner: `src/fep_formal/catalogue/bodies/learning_theory.py`; canonical namespace `FEP117`. Invariant: At positive evidence, posterior odds equal prior odds times the likelihood ratio, and a zero-prior hypothesis retains zero posterior mass. @@ -14720,7 +14720,7 @@ Family: `learning-concentration-and-model-evidence`. Disposition: `formalized`. Primary theorem: `fep_fep118.FEP118.fep118_posteriorGap_concentration`. -Body owner: `src/fep_lean/catalogue/bodies/learning_theory.py`; canonical namespace `FEP118`. +Body owner: `src/fep_formal/catalogue/bodies/learning_theory.py`; canonical namespace `FEP118`. Invariant: A nonnegative per-observation likelihood gap yields an explicit exponential finite-sample upper bound on inferior two-hypothesis posterior weight. @@ -14867,7 +14867,7 @@ Family: `learning-concentration-and-model-evidence`. Disposition: `formalized`. Primary theorem: `fep_fep119.FEP119.fep119_mixtureLogLoss_regret`. -Body owner: `src/fep_lean/catalogue/bodies/learning_theory.py`; canonical namespace `FEP119`. +Body owner: `src/fep_formal/catalogue/bodies/learning_theory.py`; canonical namespace `FEP119`. 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. @@ -14984,7 +14984,7 @@ Family: `learning-concentration-and-model-evidence`. Disposition: `formalized`. Primary theorem: `fep_fep120.FEP120.fep120_bayesFactor_multiplicative_update`. -Body owner: `src/fep_lean/catalogue/bodies/learning_theory.py`; canonical namespace `FEP120`. +Body owner: `src/fep_formal/catalogue/bodies/learning_theory.py`; canonical namespace `FEP120`. Invariant: Explicitly factorized evidence ratios multiply, and sequential model-odds updates equal one update using product evidence. @@ -15087,7 +15087,7 @@ Family: `finite-sample-risk-and-calibration`. Disposition: `formalized`. Primary theorem: `fep_fep121.FEP121.fep121_laplaceError_identity`. -Body owner: `src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP121`. +Body owner: `src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP121`. Invariant: For a positive finite sample, add-one smoothing decomposes forecast error into contracted empirical error plus an exact target-dependent offset. @@ -15194,7 +15194,7 @@ Family: `finite-sample-risk-and-calibration`. Disposition: `formalized`. Primary theorem: `fep_fep122.FEP122.fep122_laplaceBias_abs_le`. -Body owner: `src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP122`. +Body owner: `src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP122`. Invariant: The absolute target-dependent Laplace offset is at most one pseudo-count divided by the smoothed sample size. @@ -15275,7 +15275,7 @@ Family: `finite-sample-risk-and-calibration`. Disposition: `formalized`. Primary theorem: `fep_fep123.FEP123.fep123_laplaceAbsoluteError_le`. -Body owner: `src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP123`. +Body owner: `src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP123`. Invariant: An absolute empirical-error certificate transfers through add-one smoothing with the exact shrinkage coefficient and one-pseudo-count offset. @@ -15393,7 +15393,7 @@ Family: `finite-sample-risk-and-calibration`. Disposition: `formalized`. Primary theorem: `fep_fep124.FEP124.fep124_laplaceSquaredError_le`. -Body owner: `src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP124`. +Body owner: `src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP124`. 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. @@ -15502,7 +15502,7 @@ Family: `finite-sample-risk-and-calibration`. Disposition: `formalized`. Primary theorem: `fep_fep125.FEP125.fep125_brierExcess_eq_sqError`. -Body owner: `src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP125`. +Body owner: `src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP125`. Invariant: Bernoulli Brier excess risk relative to the true probability is exactly the squared forecast error. @@ -15563,7 +15563,7 @@ Family: `finite-sample-risk-and-calibration`. Disposition: `formalized`. Primary theorem: `fep_fep126.FEP126.fep126_laplaceBrierRisk_le`. -Body owner: `src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP126`. +Body owner: `src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP126`. Invariant: Finite-law expected Brier excess for the add-one forecast inherits the squared-error transfer bound. @@ -15714,7 +15714,7 @@ Family: `finite-sample-risk-and-calibration`. Disposition: `formalized`. Primary theorem: `fep_fep127.FEP127.fep127_laplaceBadEvent_subset`. -Body owner: `src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP127`. +Body owner: `src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py`; canonical namespace `FEP127`. 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. @@ -15848,7 +15848,7 @@ Family: `closed-loop-policy-trees-and-efe`. Disposition: `formalized`. Primary theorem: `fep_fep128.FEP128.fep128_policyTreeValue_node`. -Body owner: `src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP128`. +Body owner: `src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP128`. Invariant: A finite policy-tree node equals its stage cost plus the observation-law weighted values of observation-contingent continuation trees. @@ -15998,7 +15998,7 @@ Family: `closed-loop-policy-trees-and-efe`. Disposition: `formalized`. Primary theorem: `fep_fep129.FEP129.fep129_optimalTreeValue_eq_min`. -Body owner: `src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP129`. +Body owner: `src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP129`. Invariant: Backward induction exposes an exact finite-action Bellman minimum of stage cost plus observation-weighted optimal continuation. @@ -16138,7 +16138,7 @@ Family: `closed-loop-policy-trees-and-efe`. Disposition: `formalized`. Primary theorem: `fep_fep130.FEP130.fep130_exists_optimalPolicyTree`. -Body owner: `src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP130`. +Body owner: `src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP130`. Invariant: Every finite-depth, finite-carrier policy-tree problem with a nonempty action set has a concrete backward-inducted tree attaining the recursive optimum. @@ -16272,7 +16272,7 @@ Family: `closed-loop-policy-trees-and-efe`. Disposition: `formalized`. Primary theorem: `fep_fep131.FEP131.fep131_openLoopEmbedding_value`. -Body owner: `src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP131`. +Body owner: `src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP131`. Invariant: Reusing the same continuation after every observation embeds an open-loop action plan into the policy-tree carrier without changing its recursive value. @@ -16404,7 +16404,7 @@ Family: `closed-loop-policy-trees-and-efe`. Disposition: `formalized`. Primary theorem: `fep_fep132.FEP132.fep132_optimalTree_le_openLoop`. -Body owner: `src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP132`. +Body owner: `src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP132`. Invariant: The optimal observation-contingent finite policy tree is no worse than every open-loop plan embedded at the same depth. @@ -16540,7 +16540,7 @@ Family: `closed-loop-policy-trees-and-efe`. Disposition: `formalized`. Primary theorem: `fep_fep133.FEP133.fep133_policyTree_efe_eq_risk_add_ambiguity`. -Body owner: `src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP133`. +Body owner: `src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP133`. 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. @@ -16680,7 +16680,7 @@ Family: `closed-loop-policy-trees-and-efe`. Disposition: `formalized`. Primary theorem: `fep_fep134.FEP134.fep134_boolFeedback_strictlyBetter`. -Body owner: `src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP134`. +Body owner: `src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py`; canonical namespace `FEP134`. 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. @@ -16744,7 +16744,7 @@ Family: `finite-to-native-blanket-transfer`. Disposition: `formalized`. Primary theorem: `fep_fep135.FEP135.fep135_embeddedLaw_apply_singleton`. -Body owner: `src/fep_lean/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP135`. +Body owner: `src/fep_formal/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP135`. Invariant: A normalized finite law embeds as a weighted sum of Dirac measures that preserves every singleton mass and has native measure mass one. @@ -16816,7 +16816,7 @@ Family: `finite-to-native-blanket-transfer`. Disposition: `formalized`. Primary theorem: `fep_fep136.FEP136.fep136_embeddedLaw_injective`. -Body owner: `src/fep_lean/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP136`. +Body owner: `src/fep_formal/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP136`. 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. @@ -16868,7 +16868,7 @@ Family: `finite-to-native-blanket-transfer`. Disposition: `formalized`. Primary theorem: `fep_fep137.FEP137.fep137_embeddedPredictive_eq_comp`. -Body owner: `src/fep_lean/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP137`. +Body owner: `src/fep_formal/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP137`. Invariant: Embedding finite prediction equals native composition of the embedded finite kernel with the embedded prior measure. @@ -16945,7 +16945,7 @@ Family: `finite-to-native-blanket-transfer`. Disposition: `formalized`. Primary theorem: `fep_fep138.FEP138.fep138_staticJoint_rectangle_factorization`. -Body owner: `src/fep_lean/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP138`. +Body owner: `src/fep_formal/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP138`. 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. @@ -17055,7 +17055,7 @@ Family: `finite-to-native-blanket-transfer`. Disposition: `formalized`. Primary theorem: `fep_fep139.FEP139.fep139_staticJoint_condIndepFun`. -Body owner: `src/fep_lean/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP139`. +Body owner: `src/fep_formal/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP139`. Invariant: The embedded finite blanket factorization satisfies Mathlib's native CondIndepFun predicate for internal and external coordinates conditioned on the sensory-active blanket coordinate. @@ -17132,7 +17132,7 @@ Family: `finite-to-native-blanket-transfer`. Disposition: `formalized`. Primary theorem: `fep_fep140.FEP140.fep140_condIndepFun_measurableImages`. -Body owner: `src/fep_lean/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP140`. +Body owner: `src/fep_formal/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP140`. Invariant: Native blanket conditional independence is preserved under measurable images of both internal and external coordinates. @@ -17282,7 +17282,7 @@ Family: `finite-to-native-blanket-transfer`. Disposition: `formalized`. Primary theorem: `fep_fep141.FEP141.fep141_prediction_preserves_nativeBlanket`. -Body owner: `src/fep_lean/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP141`. +Body owner: `src/fep_formal/catalogue/bodies/native_blanket_independence.py`; canonical namespace `FEP141`. 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. @@ -17372,7 +17372,7 @@ Family: `finite-exponential-family-dual-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep142.FEP142.fep142_exponentialFamily_sum_one`. -Body owner: `src/fep_lean/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP142`. +Body owner: `src/fep_formal/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP142`. Invariant: Strictly positive base weights normalize the finite scalar exponential family to a full-support probability law at every natural parameter. @@ -17443,7 +17443,7 @@ Family: `finite-exponential-family-dual-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep143.FEP143.fep143_logDensityRatio_eq`. -Body owner: `src/fep_lean/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP143`. +Body owner: `src/fep_formal/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP143`. Invariant: The supported log-density ratio between two parameters is affine in the sufficient statistic with the exact log-partition difference. @@ -17532,7 +17532,7 @@ Family: `finite-exponential-family-dual-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep144.FEP144.fep144_logPartition_hasDerivAt`. -Body owner: `src/fep_lean/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP144`. +Body owner: `src/fep_formal/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP144`. Invariant: The derivative of the finite scalar log-partition function equals the mean sufficient statistic. @@ -17603,7 +17603,7 @@ Family: `finite-exponential-family-dual-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep145.FEP145.fep145_score_eq_statistic_sub_mean`. -Body owner: `src/fep_lean/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP145`. +Body owner: `src/fep_formal/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP145`. Invariant: The scalar score is the sufficient statistic centered by its family mean and therefore has exactly zero expectation. @@ -17687,7 +17687,7 @@ Family: `finite-exponential-family-dual-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep146.FEP146.fep146_logPartition_secondDeriv_eq_variance`. -Body owner: `src/fep_lean/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP146`. +Body owner: `src/fep_formal/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP146`. 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. @@ -17758,7 +17758,7 @@ Family: `finite-exponential-family-dual-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep147.FEP147.fep147_exponentialFamily_KL_eq_bregman`. -Body owner: `src/fep_lean/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP147`. +Body owner: `src/fep_formal/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP147`. Invariant: Finite KL between two members of the same supported scalar exponential family equals the oriented Bregman divergence of the log-partition potential. @@ -17832,7 +17832,7 @@ Family: `finite-exponential-family-dual-geometry`. Disposition: `formalized`. Primary theorem: `fep_fep148.FEP148.fep148_meanParameter_strictMono`. -Body owner: `src/fep_lean/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP148`. +Body owner: `src/fep_formal/catalogue/bodies/exponential_family_geometry.py`; canonical namespace `FEP148`. Invariant: Positive statistic variance throughout a closed interval makes the natural-to-mean coordinate map strictly monotone and injective there. @@ -17916,7 +17916,7 @@ Family: `two-state-continuous-time-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep149.FEP149.fep149_twoStateSemigroup_rowSum`. -Body owner: `src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP149`. +Body owner: `src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP149`. Invariant: Positive two-state rates define a nonnegative transition matrix with every row summing to one for nonnegative time. @@ -17995,7 +17995,7 @@ Family: `two-state-continuous-time-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep150.FEP150.fep150_twoStateSemigroup_zero`. -Body owner: `src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP150`. +Body owner: `src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP150`. Invariant: The exact two-state continuous-time transition matrix is the identity at time zero. @@ -18065,7 +18065,7 @@ Family: `two-state-continuous-time-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep151.FEP151.fep151_twoStateSemigroup_add`. -Body owner: `src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP151`. +Body owner: `src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP151`. Invariant: The exact two-state transition matrices satisfy the Chapman–Kolmogorov additive semigroup law entrywise. @@ -18152,7 +18152,7 @@ Family: `two-state-continuous-time-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep152.FEP152.fep152_twoStateSemigroup_hasDerivAt`. -Body owner: `src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP152`. +Body owner: `src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP152`. Invariant: Every transition entry is differentiable and its derivative equals both the generator-times-transition and transition-times-generator finite sums. @@ -18246,7 +18246,7 @@ Family: `two-state-continuous-time-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep153.FEP153.fep153_twoStateSemigroup_stationary`. -Body owner: `src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP153`. +Body owner: `src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP153`. Invariant: The explicit stationary law is invariant under every nonnegative-time transition and satisfies detailed balance entrywise. @@ -18329,7 +18329,7 @@ Family: `two-state-continuous-time-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep154.FEP154.fep154_twoStateRelaxation_exact`. -Body owner: `src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP154`. +Body owner: `src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP154`. Invariant: The true-state mass of any initial Boolean law relaxes toward stationarity by the exact factor exp(-(a+b)t). @@ -18410,7 +18410,7 @@ Family: `two-state-continuous-time-thermodynamics`. Disposition: `formalized`. Primary theorem: `fep_fep155.FEP155.fep155_twoStateLyapunov_exact`. -Body owner: `src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP155`. +Body owner: `src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py`; canonical namespace `FEP155`. 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. @@ -18493,7 +18493,7 @@ Family: `standalone-efe-formalizations`. Disposition: `formalized`. Primary theorem: `fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe`. -Body owner: `src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP156`. +Body owner: `src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP156`. 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. @@ -18615,7 +18615,7 @@ Family: `standalone-efe-formalizations`. Disposition: `formalized`. Primary theorem: `fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound`. -Body owner: `src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP157`. +Body owner: `src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP157`. Invariant: For one positive-evidence observation, outcome surprisal is bounded by perception VFE, whose exact gap is finite KL from the belief to its filtered posterior; the selected filtered-model policy has EFE equal to risk plus ambiguity under FullSupport. Supporting declarations give the finite observation-averaged posterior-KL chain bound, native predictive KL data processing, a Dobrushin total-variation bound under an explicit coefficient, Bayesian-filter/kernel reconstruction and selected-policy minimization. Flat policy EFE makes the policy posterior equal its prior. No realized-observation monotonicity, accumulated trajectory bound or dynamical fixed-point/convergence theorem is asserted. @@ -18753,7 +18753,7 @@ Family: `standalone-efe-formalizations`. Disposition: `formalized`. Primary theorem: `fep_fep158.FEP158.fep158_reduction_free_energy_monotone`. -Body owner: `src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP158`. +Body owner: `src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP158`. Invariant: Weights bounded above by one make positive unnormalized masked evidence no greater than full predictive evidence, so its negative-log evidence free energy is no smaller. For a nonnegative mask with positive prior normalizer, the normalized reduced-prior predictive equals maskedEvidence divided by that normalizer; no universal direction relative to full predictive evidence is claimed for this normalized quantity. Supported reduced posteriors obey exact weighted reconstruction and cross-multiplied odds identities. Separately, the Gibbs objective gap to its optimizer equals finite KL, and the fixed-variance Gaussian natural-chart log ratio is explicit. @@ -18868,7 +18868,7 @@ Family: `standalone-efe-formalizations`. Disposition: `formalized`. Primary theorem: `fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity`. -Body owner: `src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP159`. +Body owner: `src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP159`. Invariant: For a full-support two-state belief, its finite KL gap to the invariant law is at most productionRate/decayRate. A specific policy-independent perfect-observation model has EFE equal to the semigroup-evolved gap; that gap is bounded by the explicit squared exponential relaxation factor times the initial chi-square expression. At positive time the supported source-target slice production equals(1-rho)*productionRate/decayRate. Under inverse-epsilon rate scaling, the old attainable-scale theorem is preserved. The uniform theorem controls every sufficiently small positive epsilon, and the Tendsto theorem proves the genuine right-hand limit at zero for every fixed positive time and initial finite law. @@ -18949,7 +18949,7 @@ Family: `standalone-efe-formalizations`. Disposition: `formalized`. Primary theorem: `fep_fep160.FEP160.fep160_aoDecomposition`. -Body owner: `src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP160`. +Body owner: `src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP160`. 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. @@ -19041,7 +19041,7 @@ Family: `geometric-mechanics-notation`. Disposition: `formalized`. Primary theorem: `fep_fep161.FEP161.fep161_skewTrace_eq_zero`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP161`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP161`. 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. @@ -19130,7 +19130,7 @@ Family: `geometric-mechanics-notation`. Disposition: `formalized`. Primary theorem: `fep_fep162.FEP162.fep162_skewTrace_symmetrize_eq_zero`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP162`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP162`. 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. @@ -19209,7 +19209,7 @@ Family: `geometric-mechanics-notation`. Disposition: `formalized`. Primary theorem: `fep_fep163.FEP163.fep163_solenoidal_expansion`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP163`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP163`. 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. @@ -19303,7 +19303,7 @@ Family: `geometric-mechanics-notation`. Disposition: `formalized`. Primary theorem: `fep_fep164.FEP164.fep164_graphDecomposition`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP164`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP164`. 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. @@ -19402,7 +19402,7 @@ Family: `geometric-mechanics-notation`. Disposition: `formalized`. Primary theorem: `fep_fep165.FEP165.fep165_witness_drop_fails`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP165`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP165`. Invariant: For the exact two-node skew transport matrix[[0,1],[-1,0]] and gradient(1,0), the node vector Qg is(0,-1), graph node divergence of Q is(2,-2), and graph node divergence of currentOf(Q,g) is(1,-1), hence1 at node0. This refutes an unconditional zero graph-current-divergence claim. No H,DQ or dlogp data are supplied here; the separate fep-163 remainder witness addresses its derivative-data carrier. @@ -19448,7 +19448,7 @@ Family: `standalone-efe-formalizations`. Disposition: `formalized`. Primary theorem: `fep_fep166.FEP166.fep166_split_unique`. -Body owner: `src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP166`. +Body owner: `src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py`; canonical namespace `FEP166`. 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. @@ -19543,7 +19543,7 @@ Family: `geometric-mechanics-notation`. Disposition: `formalized`. Primary theorem: `fep_fep167.FEP167.fep167_frobenius_pythagoras`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP167`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP167`. 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. @@ -19625,7 +19625,7 @@ Family: `geometric-mechanics-notation`. Disposition: `formalized`. Primary theorem: `fep_fep168.FEP168.fep168_weightedDivergence_eq_remainderDot`. -Body owner: `src/fep_lean/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP168`. +Body owner: `src/fep_formal/catalogue/bodies/geometric_mechanics.py`; canonical namespace `FEP168`. 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 uncanceled remainder with its abs-product corollary, and equality is attained on aligned nonzero data with norm(g)^2 = 1. @@ -20054,7 +20054,7 @@ SHA-256 values bind the bytes read for this informational projection. They are n | Source | SHA-256 | | --- | --- | -| `__init__.py` | `f772577abbe7a0ccc5e1bbc2024949b8d2d85cbb3d82eab7870f74121e7b06bc` | +| `__init__.py` | `4aa1cea1c92376b961af0487052040a964de67f21531d956379157bfb556f793` | | `catalogue/bodies/causal_blankets_interventions.py` | `392a9cdc8fc401ca4b684f160049b1b48144dc59c986cbb2ad01760e9643bf99` | | `catalogue/bodies/closed_loop_policy_trees.py` | `66e4396290f1128c0f35b5b9211469a426ebaf4d0e13790467c431251c17780b` | | `catalogue/bodies/collective_inference.py` | `fa0b3a94bb49d43a310da37c324e5452f44141cc009c44d487b9ebef78690e80` | @@ -20077,12 +20077,12 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `catalogue/bodies/standalone_efe_formalizations.py` | `da17bf17e4cfa56271cb4e0948457a279fe66a42a412f25959c6b6a70d32365a` | | `catalogue/bodies/temporal_inference.py` | `820d493f82c2de309e51ca931b3c44807688e9d96cc9050b605bf99585d813a9` | | `catalogue/bodies/variational_duality.py` | `aa53d3a653b8102b0c6789e3c7102ff962c507d34e6b5f1ac1639044d4e629ce` | -| `catalogue/latex.py` | `aa976f48534bdaa5b78ed3f87ce7f7d1837e582bdd815873046999c22a6abab5` | -| `catalogue/registry.py` | `a758f1be3f4b4efbdbd80fb5854c71557f3e392fd90587b3c59656716fdfa268` | +| `catalogue/latex.py` | `848251fe98430f330818fc89e73318efd54f1155301022edce7c63ba79a0c499` | +| `catalogue/registry.py` | `d9b04f02e608309e687ca4555b6ba75f91fdc18eecad26f879d07104c273349d` | | `catalogue/relations.py` | `f848780337e03a4b19013a5f45a26a91c1b58d46f78964fcdab5aa54782e182b` | | `catalogue/schema.py` | `75c7c90e829eb7373c09bd3fa7e264937aeac1b8d880b513932975deae5677a0` | -| `catalogue/semantics.py` | `4a47ebebac7aab2120738b1e922790e3f0afb603cc18a8b06dec7307101f131b` | -| `catalogue/topics.py` | `97b5e0dd45673df52cd8399332dc1fcddebe0f6f8ad5a5434abec2ed599f564a` | +| `catalogue/semantics.py` | `6e16597ba9272c73df43575d3306a0d3cc993629e1edde019a76de3d5781506e` | +| `catalogue/topics.py` | `6013594ec5ff2a5a8b75e38ce9e340bc756e41c45b0e58049b35d8c8769593d9` | | `formal/active_inference.lean` | `260417ac91c6e0b31b29212ce85c8d643a1ecb10909d4acafa0b53f5504cbf07` | | `formal/bayesian_model_reduction.lean` | `721c1e39ffcfe5557c0138134cac5fb5c1b78669ac475cd99465401653fa441f` | | `formal/causal_dynamics.lean` | `a87844ec42f395cb8532fa96c7d5b6b956731e1b0f6069f748d512e43add686c` | @@ -20117,7 +20117,7 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `formal/continuous_time_markov.lean` | `1294732d3ddd6bd3711a00b6895e09fff45dd720cddb8d9db8e78ad458b10ea4` | | `formal/controlled_markov.lean` | `6cf6aa0a04704074d38dba03663349833544ef24fda92e7ad0c6ae6e77eb659a` | | `formal/decision_risk.lean` | `6dc1eed6ac2600ecc1c563bafba8526696ac41dcb44ad13dcd46c211a3fc32b2` | -| `formal/declarations.py` | `6921e78b81fe1dce9ba1ed5d7d0b69bf0991a15467560f80d31143357e840309` | +| `formal/declarations.py` | `f06d0f2d10edca4b4ef6eb8c96a924b0c6c1b8251055e1d40fa18fe278b774c6` | | `formal/efe_policy_selection.lean` | `ee28ad77d0114ed238518c2112e5d9a99a1b2bb96c5673ef24fbb8ca75550555` | | `formal/efe_time_scale_separation.lean` | `d0ff527a45a6d74cad08b128b9c480a76d6e7dcafbb1cffdf86d5dc854a33b1c` | | `formal/empirical_risk.lean` | `f64571536d09b14ba68d0b3bc344f08f14c87bd9c8aec50259a3f2cd35a28574` | @@ -20141,7 +20141,7 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `formal/law_weighted_split.lean` | `8f3337e433c93828fb1a5185c962b47e2d521b4cd3792e75f3a484e5ca14bc35` | | `formal/learning_theory.lean` | `f39bf2504d47de1f76399fce0471396c0b546ddc25872572e8efa853b2e75582` | | `formal/linear_gaussian_semigroup.lean` | `d4373ff6c120d2b55bf717338b2a4a210f34d89c44a73fd98562f0226098985d` | -| `formal/manifest.py` | `e99bc2bb55d88872d04a851430fae6ca9978bc9aea12de493e923c3d8b9f4157` | +| `formal/manifest.py` | `acb7ae9827ea76440a767114da8ff91ae544a324b9925cea0f1a8414a0dc2dc0` | | `formal/markov_blanket.lean` | `6e214ee37ba6525d1ca5b44130ceaf4b410e03a0bb18d9b3070c4f8b90280011` | | `formal/markov_semigroup.lean` | `03284d5d473fdb3b6a2af5ae43ca2970e6f46af1b3b8915f8d0c123c177f6c02` | | `formal/measure_bayes.lean` | `e2fa1b071381bbf684625e7317a02a357337df80596f95d9084d6e721a719c51` | @@ -20157,13 +20157,13 @@ SHA-256 values bind the bytes read for this informational projection. They are n | `formal/statistical_convergence.lean` | `6ff46d028d91e8fb7473bd2ef83bfa54dd51dd9a2e500a4ee63c8b782e3485cf` | | `formal/temporal_inference.lean` | `7b1260acd419ac368ea490d58b2e33c02b53d969e690ce1b805a177f2bb9e3b4` | | `formal/variational_duality.lean` | `05cad799baf805992412c82c09ad6d1c3354c24ccd6801114c3e23e546c43ba1` | -| `inputs/catalogue_metadata.yaml` | `f2659ffb8e72f5d2881154b55c3537a2743ce5a83689b19b63b1d685e698693c` | +| `inputs/catalogue_metadata.yaml` | `b0af8b16513084cffc6eff8176ba5b1a9a524591a51acbe652256489e698974d` | | `inputs/formalism_relations.yaml` | `7c3334ef66f8a2a94071dc7cc27471a0e6122ff49e19d90c926427daa331ba80` | | `inputs/positioning.yaml` | `d18b1e937babd732ac94414935f606e671ffb54a19f022de15b0dc45ed245e2d` | -| `inputs/theorem_maturity.yaml` | `35250c1fcb1bb77137ee6b3fdfbc93f3a0e6c031668b55a2fa574dca18df11a5` | +| `inputs/theorem_maturity.yaml` | `ee493bf4d954be5cb7067d6124231243e386e0d04b08e72212de8dcd125ecb3c` | | `lean_source.py` | `67790e70ab3ae3af48d9d2cd570e0d641f18fa03519c06b17c9a0b21acbc6781` | | `methods/__init__.py` | `3d9676464dc5a9c196e57bc502e42a7d69672f0add6bc535d31a31917da9ac99` | -| `methods/model.py` | `8b517cc056b4b8e577790d50333762febc4f0ff5ceae96a431cc2dc15bf321dc` | -| `methods/probes.py` | `30690d7b66923a2df06b59c93b95549b8dad5018cc2ae6a2ce1f256af64e326b` | -| `methods/projection.py` | `a1237cd5d2433ef2b40cba2ee9cd739ebc1a2de34e49ebba5d7b235da3f4e0b7` | -| `methods/visualization.py` | `3c12c0213ef98a4b1ad803836d637969efe4a3e28e02302d3ba63ed2f229719a` | +| `methods/model.py` | `b824d2dc92b17077925710ccc3e36adc51c71fc0c9a32e245e0d5bab2e73d4d6` | +| `methods/probes.py` | `4030265b3f3b04dc11f73164474daa2c3db343cc0a65f90a186903a334829e0a` | +| `methods/projection.py` | `fe13f02fcb239c5d6fb913ca4a430257ec2ef21c8ca2735ffd7166474b1dec0c` | +| `methods/visualization.py` | `b5b7f10277e9e89bf00b1fc93e91cbc9a8cff6faf95a6d3e26bab72e4d2bb1c2` | diff --git a/docs/mathematical-positioning/visual-model.json b/docs/mathematical-positioning/visual-model.json index 16aba29c..7d08aa88 100644 --- a/docs/mathematical-positioning/visual-model.json +++ b/docs/mathematical-positioning/visual-model.json @@ -11798,11 +11798,11 @@ "witness": "FEPComposed.fep168_remainderBound_extends_fep163_solenoidalExpansion" } ], - "renderer_sha256": "3c12c0213ef98a4b1ad803836d637969efe4a3e28e02302d3ba63ed2f229719a", + "renderer_sha256": "b5b7f10277e9e89bf00b1fc93e91cbc9a8cff6faf95a6d3e26bab72e4d2bb1c2", "schema_version": 1, "source_origin": "checkout", "source_sha256": { - "__init__.py": "f772577abbe7a0ccc5e1bbc2024949b8d2d85cbb3d82eab7870f74121e7b06bc", + "__init__.py": "4aa1cea1c92376b961af0487052040a964de67f21531d956379157bfb556f793", "catalogue/bodies/causal_blankets_interventions.py": "392a9cdc8fc401ca4b684f160049b1b48144dc59c986cbb2ad01760e9643bf99", "catalogue/bodies/closed_loop_policy_trees.py": "66e4396290f1128c0f35b5b9211469a426ebaf4d0e13790467c431251c17780b", "catalogue/bodies/collective_inference.py": "fa0b3a94bb49d43a310da37c324e5452f44141cc009c44d487b9ebef78690e80", @@ -11825,12 +11825,12 @@ "catalogue/bodies/standalone_efe_formalizations.py": "da17bf17e4cfa56271cb4e0948457a279fe66a42a412f25959c6b6a70d32365a", "catalogue/bodies/temporal_inference.py": "820d493f82c2de309e51ca931b3c44807688e9d96cc9050b605bf99585d813a9", "catalogue/bodies/variational_duality.py": "aa53d3a653b8102b0c6789e3c7102ff962c507d34e6b5f1ac1639044d4e629ce", - "catalogue/latex.py": "aa976f48534bdaa5b78ed3f87ce7f7d1837e582bdd815873046999c22a6abab5", - "catalogue/registry.py": "a758f1be3f4b4efbdbd80fb5854c71557f3e392fd90587b3c59656716fdfa268", + "catalogue/latex.py": "848251fe98430f330818fc89e73318efd54f1155301022edce7c63ba79a0c499", + "catalogue/registry.py": "d9b04f02e608309e687ca4555b6ba75f91fdc18eecad26f879d07104c273349d", "catalogue/relations.py": "f848780337e03a4b19013a5f45a26a91c1b58d46f78964fcdab5aa54782e182b", "catalogue/schema.py": "75c7c90e829eb7373c09bd3fa7e264937aeac1b8d880b513932975deae5677a0", - "catalogue/semantics.py": "4a47ebebac7aab2120738b1e922790e3f0afb603cc18a8b06dec7307101f131b", - "catalogue/topics.py": "97b5e0dd45673df52cd8399332dc1fcddebe0f6f8ad5a5434abec2ed599f564a", + "catalogue/semantics.py": "6e16597ba9272c73df43575d3306a0d3cc993629e1edde019a76de3d5781506e", + "catalogue/topics.py": "6013594ec5ff2a5a8b75e38ce9e340bc756e41c45b0e58049b35d8c8769593d9", "formal/active_inference.lean": "260417ac91c6e0b31b29212ce85c8d643a1ecb10909d4acafa0b53f5504cbf07", "formal/bayesian_model_reduction.lean": "721c1e39ffcfe5557c0138134cac5fb5c1b78669ac475cd99465401653fa441f", "formal/causal_dynamics.lean": "a87844ec42f395cb8532fa96c7d5b6b956731e1b0f6069f748d512e43add686c", @@ -11865,7 +11865,7 @@ "formal/continuous_time_markov.lean": "1294732d3ddd6bd3711a00b6895e09fff45dd720cddb8d9db8e78ad458b10ea4", "formal/controlled_markov.lean": "6cf6aa0a04704074d38dba03663349833544ef24fda92e7ad0c6ae6e77eb659a", "formal/decision_risk.lean": "6dc1eed6ac2600ecc1c563bafba8526696ac41dcb44ad13dcd46c211a3fc32b2", - "formal/declarations.py": "6921e78b81fe1dce9ba1ed5d7d0b69bf0991a15467560f80d31143357e840309", + "formal/declarations.py": "f06d0f2d10edca4b4ef6eb8c96a924b0c6c1b8251055e1d40fa18fe278b774c6", "formal/efe_policy_selection.lean": "ee28ad77d0114ed238518c2112e5d9a99a1b2bb96c5673ef24fbb8ca75550555", "formal/efe_time_scale_separation.lean": "d0ff527a45a6d74cad08b128b9c480a76d6e7dcafbb1cffdf86d5dc854a33b1c", "formal/empirical_risk.lean": "f64571536d09b14ba68d0b3bc344f08f14c87bd9c8aec50259a3f2cd35a28574", @@ -11889,7 +11889,7 @@ "formal/law_weighted_split.lean": "8f3337e433c93828fb1a5185c962b47e2d521b4cd3792e75f3a484e5ca14bc35", "formal/learning_theory.lean": "f39bf2504d47de1f76399fce0471396c0b546ddc25872572e8efa853b2e75582", "formal/linear_gaussian_semigroup.lean": "d4373ff6c120d2b55bf717338b2a4a210f34d89c44a73fd98562f0226098985d", - "formal/manifest.py": "e99bc2bb55d88872d04a851430fae6ca9978bc9aea12de493e923c3d8b9f4157", + "formal/manifest.py": "acb7ae9827ea76440a767114da8ff91ae544a324b9925cea0f1a8414a0dc2dc0", "formal/markov_blanket.lean": "6e214ee37ba6525d1ca5b44130ceaf4b410e03a0bb18d9b3070c4f8b90280011", "formal/markov_semigroup.lean": "03284d5d473fdb3b6a2af5ae43ca2970e6f46af1b3b8915f8d0c123c177f6c02", "formal/measure_bayes.lean": "e2fa1b071381bbf684625e7317a02a357337df80596f95d9084d6e721a719c51", @@ -11905,16 +11905,16 @@ "formal/statistical_convergence.lean": "6ff46d028d91e8fb7473bd2ef83bfa54dd51dd9a2e500a4ee63c8b782e3485cf", "formal/temporal_inference.lean": "7b1260acd419ac368ea490d58b2e33c02b53d969e690ce1b805a177f2bb9e3b4", "formal/variational_duality.lean": "05cad799baf805992412c82c09ad6d1c3354c24ccd6801114c3e23e546c43ba1", - "inputs/catalogue_metadata.yaml": "f2659ffb8e72f5d2881154b55c3537a2743ce5a83689b19b63b1d685e698693c", + "inputs/catalogue_metadata.yaml": "b0af8b16513084cffc6eff8176ba5b1a9a524591a51acbe652256489e698974d", "inputs/formalism_relations.yaml": "7c3334ef66f8a2a94071dc7cc27471a0e6122ff49e19d90c926427daa331ba80", "inputs/positioning.yaml": "d18b1e937babd732ac94414935f606e671ffb54a19f022de15b0dc45ed245e2d", - "inputs/theorem_maturity.yaml": "35250c1fcb1bb77137ee6b3fdfbc93f3a0e6c031668b55a2fa574dca18df11a5", + "inputs/theorem_maturity.yaml": "ee493bf4d954be5cb7067d6124231243e386e0d04b08e72212de8dcd125ecb3c", "lean_source.py": "67790e70ab3ae3af48d9d2cd570e0d641f18fa03519c06b17c9a0b21acbc6781", "methods/__init__.py": "3d9676464dc5a9c196e57bc502e42a7d69672f0add6bc535d31a31917da9ac99", - "methods/model.py": "8b517cc056b4b8e577790d50333762febc4f0ff5ceae96a431cc2dc15bf321dc", - "methods/probes.py": "30690d7b66923a2df06b59c93b95549b8dad5018cc2ae6a2ce1f256af64e326b", - "methods/projection.py": "a1237cd5d2433ef2b40cba2ee9cd739ebc1a2de34e49ebba5d7b235da3f4e0b7", - "methods/visualization.py": "3c12c0213ef98a4b1ad803836d637969efe4a3e28e02302d3ba63ed2f229719a" + "methods/model.py": "b824d2dc92b17077925710ccc3e36adc51c71fc0c9a32e245e0d5bab2e73d4d6", + "methods/probes.py": "4030265b3f3b04dc11f73164474daa2c3db343cc0a65f90a186903a334829e0a", + "methods/projection.py": "fe13f02fcb239c5d6fb913ca4a430257ec2ef21c8ca2735ffd7166474b1dec0c", + "methods/visualization.py": "b5b7f10277e9e89bf00b1fc93e91cbc9a8cff6faf95a6d3e26bab72e4d2bb1c2" }, "theorem_analysis": { "analysis_boundary": "Source-grounded semantic analysis: exact Lean source slices and lexical roles, joined to maintained review prose. This is neither a certified translation, Lean elaboration, a minimal kernel dependency graph, nor LLM execution. A proposition-looking binder is not classified as a proved hypothesis by this parser.", @@ -12042,7 +12042,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.actionLaw_mass", "source_line": 624, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem actionLaw_mass [Fintype Action] [DecidableEq Action]\n (policyToAction : Policy → Action) (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (action : Action) :\n actionLaw policyToAction precision model support action =\n ∑ policy, if policyToAction policy = action then\n policyPosterior precision model support policy else 0", "statement_sha256": "51007cf292885247f3489ee0e4522b41a8e04bb8ec949581983d18495962ac8b" }, @@ -12141,7 +12141,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.actionPredictedState_eq_predictedState", "source_line": 569, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem actionPredictedState_eq_predictedState\n [Fintype Action]\n (model : GenerativeModel Policy State Outcome)\n (interface : ActionInterface model Action) (policy : Policy) :\n (interface.actionTransition (interface.policyToAction policy)).predictive\n model.initialState =\n predictedState model policy", "statement_sha256": "99298d9535740d00891835edbf2cc1993c612016db30ffea57c09a4068191ffd" }, @@ -12233,7 +12233,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_append", "source_line": 399, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem cumulativeExpectedFreeEnergyFrom_append\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (headPlan tailPlan : List Policy) :\n cumulativeExpectedFreeEnergyFrom model current (headPlan ++ tailPlan) =\n cumulativeExpectedFreeEnergyFrom model current headPlan +\n cumulativeExpectedFreeEnergyFrom model\n (planStateFrom model current headPlan) tailPlan", "statement_sha256": "b026518f3c0018553205148701f8cc5965cee9cfa4a8da4e270ed9e5eccd6a4c" }, @@ -12341,7 +12341,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.cumulativeExpectedFreeEnergyFrom_nonneg", "source_line": 415, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem cumulativeExpectedFreeEnergyFrom_nonneg\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (plan : List Policy)\n (support : PlanFullSupportFrom model current plan) :\n 0 ≤ cumulativeExpectedFreeEnergyFrom model current plan", "statement_sha256": "469b5dd8c7bb8c59f7b997ab8f33535fdfea09390043b11062d00e90bb6d1d7d" }, @@ -12439,7 +12439,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.cumulativeExpectedFreeEnergy_nonneg", "source_line": 442, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem cumulativeExpectedFreeEnergy_nonneg\n (model : GenerativeModel Policy State Outcome) (plan : List Policy)\n (support : PlanFullSupport model plan) :\n 0 ≤ cumulativeExpectedFreeEnergy model plan", "statement_sha256": "1f3add8a3779645171c2a6b05605ceb15b9d3fb82d14059e8c57ec7447f1c7b1" }, @@ -12559,7 +12559,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.epistemicValue_eq_entropy_sub_ambiguity", "source_line": 273, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem epistemicValue_eq_entropy_sub_ambiguity\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n epistemicValue model policy =\n entropy (predictedOutcome model policy) - ambiguity model policy", "statement_sha256": "b02b7b9c43d89980d279c573ddee85ecfcb469c280a5bfefddc286527a66e52c" }, @@ -12649,7 +12649,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.epistemicValue_nonneg", "source_line": 156, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem epistemicValue_nonneg\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n 0 ≤ epistemicValue model policy", "statement_sha256": "3be7776d894b95cb76b69d02d1c117dea0f4c42974184a5a43c1f9e4d2e2ef46" }, @@ -12720,7 +12720,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.exists_expectedFreeEnergy_minimizer", "source_line": 540, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem exists_expectedFreeEnergy_minimizer\n (model : GenerativeModel Policy State Outcome) :\n ∃ policy : Policy, ∀ alternative : Policy,\n expectedFreeEnergy model policy ≤ expectedFreeEnergy model alternative", "statement_sha256": "d3034ded832e2b7822cdfc3fce033209d60458c50f82d97a57074625bf093948" }, @@ -12818,7 +12818,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.exists_policyMAP", "source_line": 524, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem exists_policyMAP (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) :\n ∃ policy : Policy, ∀ alternative : Policy,\n policyPosterior precision model support alternative ≤\n policyPosterior precision model support policy", "statement_sha256": "a69167499837f1835a18eb3db511f2cd39a8805730ffcddd3376ef6f1a06fa76" }, @@ -12906,7 +12906,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.expectedFreeEnergy_eq_negPragmaticValuePlusEpistemicValue", "source_line": 875, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem expectedFreeEnergy_eq_negPragmaticValuePlusEpistemicValue\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n expectedFreeEnergy model policy =\n -(pragmaticValue model policy + epistemicValue model policy)", "statement_sha256": "89ee25ab830fa3c08745a9aa19ed4c8152ef45e0ca95470cd394c222bdaf07ff" }, @@ -13010,7 +13010,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.expectedFreeEnergy_eq_risk_add_ambiguity", "source_line": 303, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem expectedFreeEnergy_eq_risk_add_ambiguity\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n expectedFreeEnergy model policy =\n risk model policy + ambiguity model policy", "statement_sha256": "71b83d3e40898f7cd2853ce539fd9aeae070597c421a92c0e6d387c75ccccadf" }, @@ -13124,7 +13124,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.expectedFreeEnergy_nonneg", "source_line": 316, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem expectedFreeEnergy_nonneg\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n 0 ≤ expectedFreeEnergy model policy", "statement_sha256": "94fb1fa3c6c91400cbf5caee64ac4bba34e2b10bc6f618ea2f094948cef04165" }, @@ -13254,7 +13254,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActActionMarginal_eq_actionLaw", "source_line": 687, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActActionMarginal_eq_actionLaw\n [Fintype Action] [DecidableEq Action]\n (precision : ℝ) (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model)\n (interface : ActionInterface model Action) :\n inferSelectActActionMarginal precision model support interface =\n actionLaw interface.policyToAction precision model support", "statement_sha256": "06a6a6058648d96373d6e7b848048a9c1707575bb9cc3adb9cefa665f1d52795" }, @@ -13408,7 +13408,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActJoint_factorization", "source_line": 660, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActJoint_factorization\n [Fintype Action] [DecidableEq Action]\n (precision : ℝ) (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model)\n (interface : ActionInterface model Action)\n (policy : Policy) (action : Action) (state : State) :\n inferSelectActJoint precision model support interface\n (policy, (action, state)) =\n policyPosterior precision model support policy *\n (if action = interface.policyToAction policy then\n predictedState model policy state else 0)", "statement_sha256": "e0ceb03f00072ee926099620ae3fc773dfd231f1897b667bd5634591b23194dc" }, @@ -13535,7 +13535,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActJoint_policyMarginal", "source_line": 647, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActJoint_policyMarginal\n [Fintype Action] [DecidableEq Action]\n (precision : ℝ) (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model)\n (interface : ActionInterface model Action) (policy : Policy) :\n (inferSelectActJoint precision model support interface).fstMarginal policy =\n policyPosterior precision model support policy", "statement_sha256": "929556682b7f68350c69689831f5d446a5b7d26c7cbe23686201f29ef024dead" }, @@ -13669,7 +13669,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.inferSelectActKernel_mass", "source_line": 603, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem inferSelectActKernel_mass\n [Fintype Action] [DecidableEq Action]\n (model : GenerativeModel Policy State Outcome)\n (interface : ActionInterface model Action)\n (policy : Policy) (action : Action) (state : State) :\n inferSelectActKernel model interface policy (action, state) =\n if action = interface.policyToAction policy then\n predictedState model policy state else 0", "statement_sha256": "9df24dcdeba922ef07335bfd82d38d91d03d9ee1827601159cdb6986e8dfdbf1" }, @@ -13787,7 +13787,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.negative_variationalFreeEnergy_le_logEvidence", "source_line": 254, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem negative_variationalFreeEnergy_le_logEvidence\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State) :\n -variationalFreeEnergy model policy outcome h recognition ≤\n Real.log (predictedOutcome model policy outcome)", "statement_sha256": "71ae527dd935fc293aa52b816d87a3a64359ed25000cd15e1f4122317fe82403" }, @@ -13878,7 +13878,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.not_fullSupport_of_preference_eq_zero", "source_line": 171, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem not_fullSupport_of_preference_eq_zero\n (model : GenerativeModel Policy State Outcome) (outcome : Outcome)\n (hzero : model.preferences outcome = 0) : ¬FullSupport model", "statement_sha256": "af8e8f69ef289956d54d00648b9231fd3454b32df4d93299c2694879ae7e8e63" }, @@ -13998,7 +13998,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.outcomeSurprisal_le_variationalFreeEnergy", "source_line": 220, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem outcomeSurprisal_le_variationalFreeEnergy\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State) :\n outcomeSurprisal model policy outcome ≤\n variationalFreeEnergy model policy outcome h recognition", "statement_sha256": "a522d14f38a4e09d180395eb33bfe652f926c9cf549c13dbb91520c4bf4876c5" }, @@ -14090,7 +14090,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.planStateFrom_append", "source_line": 387, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem planStateFrom_append\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (headPlan tailPlan : List Policy) :\n planStateFrom model current (headPlan ++ tailPlan) =\n planStateFrom model (planStateFrom model current headPlan) tailPlan", "statement_sha256": "d69d2c013a0f9207fd89a0ec4dbb70e4e6735fcb1567771a30efc2db157e3b09" }, @@ -14189,7 +14189,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.planStateFrom_eq_rolloutPredictive", "source_line": 373, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem planStateFrom_eq_rolloutPredictive [DecidableEq State]\n (model : GenerativeModel Policy State Outcome)\n (current : FiniteLaw State) (plan : List Policy) :\n planStateFrom model current plan =\n (rolloutKernel model plan).predictive current", "statement_sha256": "73325a9afef710a9bdaf7512aea1d7f8ba061fc1cae4e828e7a66fa8cbc56f08" }, @@ -14308,7 +14308,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.plannedPosteriorState_mul_evidence", "source_line": 114, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem plannedPosteriorState_mul_evidence [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (plan : List Policy)\n (outcome : Outcome) (h : 0 < plannedOutcome model plan outcome)\n (state : State) :\n plannedPosteriorState model plan outcome h state *\n plannedOutcome model plan outcome =\n plannedState model plan state * model.likelihood state outcome", "statement_sha256": "b655c64000cb6147cdcd80b2a7f08759e8a1528ac2bc25d37efff8a17d6cedf7" }, @@ -14405,7 +14405,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.plannedState_append", "source_line": 96, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem plannedState_append [DecidableEq State]\n (model : GenerativeModel Policy State Outcome)\n (headPlan tailPlan : List Policy) :\n plannedState model (headPlan ++ tailPlan) =\n (rolloutKernel model tailPlan).predictive\n (plannedState model headPlan)", "statement_sha256": "f6bf53db9f3670eb58eee23e584c2fddcd871b142c717ad70deaeaff7878de41" }, @@ -14484,7 +14484,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.plannedState_nil", "source_line": 89, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem plannedState_nil [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) :\n plannedState model [] = model.initialState", "statement_sha256": "e974f198f5d6733cb360d225325f50f6ba0f157b3555d8a3763b9c3504e35ca2" }, @@ -14565,7 +14565,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.policyPartition_pos", "source_line": 461, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem policyPartition_pos (precision : ℝ)\n (model : GenerativeModel Policy State Outcome) :\n 0 < policyPartition precision model", "statement_sha256": "1d13dfbe3424a30e4c87cb22dfe76b76f43d6f5dbe7164bf30cf998d76a45807" }, @@ -14704,7 +14704,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.policyPosterior_antitone_expectedFreeEnergy", "source_line": 500, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem policyPosterior_antitone_expectedFreeEnergy\n {precision : ℝ} (hprecision : 0 ≤ precision)\n (model : GenerativeModel Policy State Outcome) (support : FullSupport model)\n {policy₁ policy₂ : Policy}\n (hprior : model.policyPrior policy₁ = model.policyPrior policy₂)\n (hG : expectedFreeEnergy model policy₁ ≤\n expectedFreeEnergy model policy₂) :\n policyPosterior precision model support policy₂ ≤\n policyPosterior precision model support policy₁", "statement_sha256": "de0f9342a83bfd61734fb6326be0b0f28d5ae060de910dc6d471804c37200ab8" }, @@ -14812,7 +14812,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.policyPosterior_mul_partition", "source_line": 491, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem policyPosterior_mul_partition (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (policy : Policy) :\n policyPosterior precision model support policy *\n policyPartition precision model =\n policyWeight precision model policy", "statement_sha256": "e6a88f50eae293a5be2a6d16eaaee745a0144bd351439566418761abd835dd0d" }, @@ -14923,7 +14923,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.posteriorState_mul_evidence", "source_line": 194, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem posteriorState_mul_evidence\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (state : State) :\n posteriorState model policy outcome h state *\n predictedOutcome model policy outcome =\n predictedState model policy state * model.likelihood state outcome", "statement_sha256": "336427d0915efc5111aadbbe1fb837a65fc52e47bbd9f74d6e275d4a0ea60123" }, @@ -15004,7 +15004,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.pragmaticValue_eq_negPragmaticCost", "source_line": 865, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem pragmaticValue_eq_negPragmaticCost\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n pragmaticValue model policy = -pragmaticCost model policy", "statement_sha256": "16716019f3c5a313e6ddc9fe95f2510ad2d20de2555685cdbc799327b38a9e4a" }, @@ -15095,7 +15095,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.predictedJoint_fstMarginal_mass", "source_line": 180, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem predictedJoint_fstMarginal_mass\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (state : State) :\n (predictedJoint model policy).fstMarginal state =\n predictedState model policy state", "statement_sha256": "080c8c3a1f0a851247658a89cb4ee1fa097d5bf2898983eb11c9e012d69ba78e" }, @@ -15176,7 +15176,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.predictedJoint_sndMarginal", "source_line": 188, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem predictedJoint_sndMarginal\n (model : GenerativeModel Policy State Outcome) (policy : Policy) :\n (predictedJoint model policy).sndMarginal =\n predictedOutcome model policy", "statement_sha256": "45aea12152141da46061dc89de062a12706ac4e023e4a20fdb55df8d92e90d18" }, @@ -15276,7 +15276,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.risk_eq_crossEntropy_sub_entropy", "source_line": 265, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem risk_eq_crossEntropy_sub_entropy\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (support : FullSupport model) :\n risk model policy =\n pragmaticCost model policy - entropy (predictedOutcome model policy)", "statement_sha256": "6c29e9d7b23ce89772514f254b7c8fb688c80d0f5c701dadf85178964ad83fb0" }, @@ -15366,7 +15366,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.rolloutKernel_append", "source_line": 71, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem rolloutKernel_append [DecidableEq State]\n (model : GenerativeModel Policy State Outcome)\n (headPlan tailPlan : List Policy) :\n rolloutKernel model (headPlan ++ tailPlan) =\n FiniteKernel.comp (rolloutKernel model tailPlan)\n (rolloutKernel model headPlan)", "statement_sha256": "457d7ed70d3785f8d248b59f8e2259ae982e34c776c07dc7c7fb0c94ffd4ad11" }, @@ -15473,7 +15473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.staticState_cumulativeEFE_decomposition", "source_line": 889, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem staticState_cumulativeEFE_decomposition\n [DecidableEq State] [DecidableEq Policy]\n (model : GenerativeModel Policy State Outcome)\n (plan : List Policy)\n (hidentity : ∀ policy, model.transition policy = FiniteKernel.identity) :\n cumulativeExpectedFreeEnergy model plan =\n (plan.map (expectedFreeEnergy model)).sum", "statement_sha256": "1ffe4357c79ac65417c87df6aeb22ff0c0af3fa8e4e561c6206d41d7264c24eb" }, @@ -15561,7 +15561,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_ambiguity", "source_line": 799, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_ambiguity\n (prior : FiniteLaw Bool) (policy : Bool) :\n ambiguity (symmetricBoolModel prior) policy = entropy fairBoolLaw", "statement_sha256": "4310600a4400c404b1a8eaa7158f06b507ef5218a474a7de6acf8fdeeec31c17" }, @@ -15667,7 +15667,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_expectedFreeEnergy", "source_line": 810, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_expectedFreeEnergy\n (prior : FiniteLaw Bool) (policy : Bool) :\n expectedFreeEnergy (symmetricBoolModel prior) policy = entropy fairBoolLaw", "statement_sha256": "30da0fb4cc5bcb08b09a127c924cbd9d72f7b7039960fe95d7e15b136dad521f" }, @@ -15751,7 +15751,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_fullSupport", "source_line": 779, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_fullSupport (prior : FiniteLaw Bool) :\n FullSupport (symmetricBoolModel prior)", "statement_sha256": "46b7c7d95fe01b3c91a77e696925df1f83e267a2c88badaf41b6c3a9b749db58" }, @@ -15855,7 +15855,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_policyPosterior_eq_prior", "source_line": 819, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_policyPosterior_eq_prior\n (precision : ℝ) (prior : FiniteLaw Bool) (policy : Bool) :\n policyPosterior precision (symmetricBoolModel prior)\n (symmetricBoolModel_fullSupport prior) policy = prior policy", "statement_sha256": "34b6cf08aa8300c1fd14cc51bd51c3acd7382842d67b18ff8c7e4eaa72d3fbce" }, @@ -15939,7 +15939,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_policyPrior_changes_posterior", "source_line": 834, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_policyPrior_changes_posterior (precision : ℝ) :\n policyPosterior precision (symmetricBoolModel trueBiasedPolicyPrior)\n (symmetricBoolModel_fullSupport trueBiasedPolicyPrior) true = 3 / 4 ∧\n policyPosterior precision (symmetricBoolModel falseBiasedPolicyPrior)\n (symmetricBoolModel_fullSupport falseBiasedPolicyPrior) true = 1 / 4", "statement_sha256": "d1c5049667e8a44f6547226360118b34f4ce4e29ae4da12145d92efcca0e49ea" }, @@ -16020,7 +16020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_predictedOutcome", "source_line": 765, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_predictedOutcome\n (prior : FiniteLaw Bool) (policy : Bool) :\n predictedOutcome (symmetricBoolModel prior) policy = fairBoolLaw", "statement_sha256": "a8f0e6949ca30983c3e96c7107b961ed546e6bab4e433e96c62004bee5807fb0" }, @@ -16101,7 +16101,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_predictedState", "source_line": 755, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_predictedState\n (prior : FiniteLaw Bool) (policy : Bool) :\n predictedState (symmetricBoolModel prior) policy = fairBoolLaw", "statement_sha256": "1748dae6c192aa14262e156ba28cb7183b13a7ae197b9def8c58e31b821f810f" }, @@ -16197,7 +16197,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.symmetricBoolModel_risk_zero", "source_line": 792, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem symmetricBoolModel_risk_zero\n (prior : FiniteLaw Bool) (policy : Bool) :\n risk (symmetricBoolModel prior) policy = 0", "statement_sha256": "8679fd798468d38ccd65d36da5bbdad36e4f8e038f60237d6c935e20c71cdb0e" }, @@ -16317,7 +16317,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.variationalFreeEnergy_eq_surprisal_iff", "source_line": 241, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem variationalFreeEnergy_eq_surprisal_iff\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State) :\n variationalFreeEnergy model policy outcome h recognition =\n outcomeSurprisal model policy outcome ↔\n recognition = posteriorState model policy outcome h", "statement_sha256": "08293d4ecd6acc572f85e3db4b006fd7f75a6d289cf511de0a324ce7b4bc1e3a" }, @@ -16427,7 +16427,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ActiveInference.variationalFreeEnergy_posterior", "source_line": 231, - "source_owner": "src/fep_lean/formal/active_inference.lean", + "source_owner": "src/fep_formal/formal/active_inference.lean", "statement": "theorem variationalFreeEnergy_posterior\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome) (h : 0 < predictedOutcome model policy outcome) :\n variationalFreeEnergy model policy outcome h\n (posteriorState model policy outcome h) =\n outcomeSurprisal model policy outcome", "statement_sha256": "3b67fe8648f00a347ac9f09e169eca7b917ed45acdad713cefd3aaf8f048641a" }, @@ -16500,7 +16500,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.gaussianLogBayesFactor_eq", "source_line": 212, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem gaussianLogBayesFactor_eq (family : FixedVarianceGaussian)\n (natural x : ℝ) :\n Real.log\n (gaussianPDFReal (family.naturalToMean natural) family.variance x /\n gaussianPDFReal 0 family.variance x) =\n natural * x - family.naturalLogPartition natural", "statement_sha256": "e262723832afaf4c20df51806dad1f874a3df85355bd09bc7e116afe25efb17b" }, @@ -16572,7 +16572,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.gibbsFreeEnergy_eq_neg_dvObjective", "source_line": 178, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem gibbsFreeEnergy_eq_neg_dvObjective (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand = -dvObjective c cand", "statement_sha256": "620dfe9992d0095fe9c99020e9a13fd54ca90c969a97f7f015234e70f0c2ad39" }, @@ -16674,7 +16674,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.maskedEvidence_le_predictive", "source_line": 67, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem maskedEvidence_le_predictive (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1) :\n maskedEvidence prior weight kernel data ≤ kernel.predictive prior data", "statement_sha256": "4d3c445aacc2f1e966836bb61877600832b645f0c2f4590d53d4e89c485c4737" }, @@ -16786,7 +16786,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.maskedPrior_predictive_eq", "source_line": 89, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem maskedPrior_predictive_eq (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x) :\n kernel.predictive (maskedPrior prior weight hw hZ) data =\n maskedEvidence prior weight kernel data / ∑ y, weight y * prior y", "statement_sha256": "b22075909f86ff5c7d1cb257b283afae0dc3a7e373dd018cfcd09c13aaa72918" }, @@ -16945,7 +16945,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduced_posterior_reconstructs", "source_line": 140, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduced_posterior_reconstructs (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hP : 0 < kernel.predictive prior data)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x =\n FiniteKernel.posterior prior kernel data hP x * weight x *\n (kernel.predictive prior data /\n maskedEvidence prior weight kernel data)", "statement_sha256": "4cb43a3ed135ef58889835243675298037eefa732f5141dd091af488d79b97d8" }, @@ -17040,7 +17040,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_free_energy_change_eq_kl", "source_line": 186, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_free_energy_change_eq_kl (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand - gibbsFreeEnergy c c.optimizer =\n finiteKL cand c.optimizer", "statement_sha256": "dbf178c5a70b26968432dc0aca53f84ba69f82e6c97f8ed6ffc0108032033df3" }, @@ -17159,7 +17159,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_free_energy_monotone", "source_line": 164, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_free_energy_monotone (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1)\n (hE : 0 < maskedEvidence prior weight kernel data) :\n evidenceFreeEnergy (kernel.predictive prior data) ≤\n evidenceFreeEnergy (maskedEvidence prior weight kernel data)", "statement_sha256": "9449585ba8a3dab52fdd5d73cb69be9bd4b42f27f744626d393589b6a5e0a0f0" }, @@ -17246,7 +17246,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_free_energy_monotone_gibbs", "source_line": 198, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_free_energy_monotone_gibbs\n (c : GibbsCertificate Parameter) (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c c.optimizer ≤ gibbsFreeEnergy c cand", "statement_sha256": "3a66c7457f3ecdf5dc31221beac2274b53a9945bcbc62061ad9ac40f280a05ba" }, @@ -17386,7 +17386,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_posterior_odds", "source_line": 123, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_posterior_odds (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x y : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n (weight y * prior y * kernel y data) =\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy y *\n (weight x * prior x * kernel x data)", "statement_sha256": "044c2dee9f7ebb7a8ea4699432939611ceaa710fd9dc991c38915028643d7f2d" }, @@ -17525,7 +17525,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.BayesianModelReduction.reduction_posterior_reconstruction", "source_line": 104, - "source_owner": "src/fep_lean/formal/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/bayesian_model_reduction.lean", "statement": "theorem reduction_posterior_reconstruction (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n maskedEvidence prior weight kernel data =\n weight x * prior x * kernel x data", "statement_sha256": "e87d59227f4a776876bb983d07ff93f00b7cfad750d3d9ebf4167b0f82af5bcb" }, @@ -17584,7 +17584,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolFactorizedMixture_eq_correlatedBlanket", "source_line": 351, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolFactorizedMixture_eq_correlatedBlanket :\n mixLaw (1 / 2 : ℝ) (by norm_num) (by norm_num)\n ((FiniteLaw.pointMass false).product (FiniteLaw.pointMass false))\n ((FiniteLaw.pointMass true).product (FiniteLaw.pointMass true)) =\n correlatedBoolBlanket", "statement_sha256": "ab5262880b82cd85c8dcee60f9f5b89fd93b5dfb72673aae5e00d5b97e12cd8b" }, @@ -17656,7 +17656,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolFactorizedMixture_not_factorized", "source_line": 365, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolFactorizedMixture_not_factorized :\n let mixture :=\n mixLaw (1 / 2 : ℝ) (by norm_num) (by norm_num)\n ((FiniteLaw.pointMass false).product (FiniteLaw.pointMass false))\n ((FiniteLaw.pointMass true).product (FiniteLaw.pointMass true))\n mixture ≠ mixture.fstMarginal.product mixture.sndMarginal", "statement_sha256": "cad36254a4409dd556c097576996fbf0c6aa724ea1485591961333c229b62842" }, @@ -17715,7 +17715,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolHalfMixture_false", "source_line": 215, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolHalfMixture_false : boolHalfMixture false = 1 / 2", "statement_sha256": "c6e1cd4da2200d27ffa60a46ad2e00c3d61d24f491cc02aaeb0a5adfed31a5e0" }, @@ -17774,7 +17774,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolHalfMixture_true", "source_line": 218, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolHalfMixture_true : boolHalfMixture true = 1 / 2", "statement_sha256": "76e5b380bcc4ae4635d46ee5285d4f09f5b769aa88d3dab67e1069138ebab0a2" }, @@ -17879,7 +17879,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolIntervention_false_mediator_true_zero", "source_line": 567, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolIntervention_false_mediator_true_zero :\n mediatorMarginal (interventionalJoint boolOrderedModel false) true = 0", "statement_sha256": "c9b5b7546589e0d8b0c55bf382bf9dffbc45f5e5749478796370ea71c7ed0c8b" }, @@ -17991,7 +17991,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolIntervention_preserves_named_nonDescendant", "source_line": 584, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolIntervention_preserves_named_nonDescendant :\n nonDescendantMarginal (interventionalJoint boolOrderedModel false) =\n nonDescendantMarginal (interventionalJoint boolOrderedModel true)", "statement_sha256": "11c899e340aaa04ea21e9fe462ce5761c9f6bf05ad02446b77f100b0505fa570" }, @@ -18096,7 +18096,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolIntervention_true_mediator_true_one", "source_line": 576, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolIntervention_true_mediator_true_one :\n mediatorMarginal (interventionalJoint boolOrderedModel true) true = 1", "statement_sha256": "a812fa8797459b4a643622bd1ab4131d051eec810482fde2d42a19a97add88ac" }, @@ -18201,7 +18201,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.boolMediatorEvidence_true", "source_line": 678, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem boolMediatorEvidence_true :\n mediatorEvidence boolOrderedModel true = 1 / 2", "statement_sha256": "d6507a6dbae71edb68714d0d89c814299430cb221f7618171aa291fc656e616d" }, @@ -18298,7 +18298,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.conditionalMutualInformation_eq_zero_iff_factorizes", "source_line": 59, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem conditionalMutualInformation_eq_zero_iff_factorizes\n (model : ConditionalBlanketModel Blanket Internal External)\n (hBlanket : ∀ blanket, 0 < model.blanketLaw blanket) :\n conditionalMutualInformation model = 0 ↔ Factorizes model", "statement_sha256": "8154beb17f5675bf19399cb25930a8e691596befe4ac42e76dcb440d77d79fc6" }, @@ -18377,7 +18377,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.conditionalMutualInformation_nonneg", "source_line": 49, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem conditionalMutualInformation_nonneg\n (model : ConditionalBlanketModel Blanket Internal External) :\n 0 ≤ conditionalMutualInformation model", "statement_sha256": "9c849edda6566af49e8fd56730ee83b538d1e951c0322003643b51c54dc75365" }, @@ -18436,7 +18436,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_cross_zero", "source_line": 322, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_cross_zero :\n correlatedBoolBlanket (false, true) = 0 ∧\n correlatedBoolBlanket (true, false) = 0", "statement_sha256": "b0388a713b308ce85051952bad373b282310eb475d666382844223627f9dcc69" }, @@ -18495,7 +18495,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_diagonal", "source_line": 317, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_diagonal :\n correlatedBoolBlanket (false, false) = 1 / 2 ∧\n correlatedBoolBlanket (true, true) = 1 / 2", "statement_sha256": "f2ce67d2e5faedf27594ebb74e58936fc8267e94dd04db4daa0306481d397fdd" }, @@ -18577,7 +18577,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_mutualInformation_pos", "source_line": 340, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_mutualInformation_pos :\n 0 < mutualInformation correlatedBoolBlanket", "statement_sha256": "1a3f536af4c86b72ac0b152b772d037e15f8f99bbf80fc4bb6485f093574ec04" }, @@ -18636,7 +18636,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.correlatedBoolBlanket_not_factorized", "source_line": 329, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem correlatedBoolBlanket_not_factorized :\n correlatedBoolBlanket ≠\n correlatedBoolBlanket.fstMarginal.product\n correlatedBoolBlanket.sndMarginal", "statement_sha256": "124530b668778cc818da687062a7d47b079d7897c426e4b4a1230ddfd4c3e1a1" }, @@ -18828,7 +18828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.coupledBlanket_conditionalMutualInformation_zero", "source_line": 290, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem coupledBlanket_conditionalMutualInformation_zero\n {Blanket₁ Blanket₂ Internal₁ Internal₂ External₁ External₂ : Type*}\n [Fintype Blanket₁] [Fintype Blanket₂]\n [Fintype Internal₁] [Fintype Internal₂]\n [Fintype External₁] [Fintype External₂]\n (blanketLaw : FiniteLaw (Blanket₁ × Blanket₂))\n (internal₁ : FiniteKernel Blanket₁ Internal₁)\n (internal₂ : FiniteKernel Blanket₂ Internal₂)\n (external₁ : FiniteKernel Blanket₁ External₁)\n (external₂ : FiniteKernel Blanket₂ External₂) (blanket : Blanket₁ × Blanket₂) :\n mutualInformation\n (conditionalJoint\n (coupledBlanketModel blanketLaw internal₁ internal₂ external₁ external₂)\n blanket) = 0", "statement_sha256": "c550b41851f3ecc2a72f61658d4175636d02f560c63bc2fcb7b37b4c5498cdb2" }, @@ -18943,7 +18943,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionKernel_chosen", "source_line": 390, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionKernel_chosen\n {Context Value : Type*} [Fintype Context] [Fintype Value]\n [DecidableEq Value] (chosen : Value) (context : Context) :\n interventionKernel (Context := Context) chosen context chosen = 1", "statement_sha256": "4b26b0c691915013c0e0e5c3e16e52922b257283dfb9b88612f752a31e79ac25" }, @@ -19069,7 +19069,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionKernel_other", "source_line": 396, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionKernel_other\n {Context Value : Type*} [Fintype Context] [Fintype Value]\n [DecidableEq Value] (chosen other : Value) (hOther : other ≠ chosen)\n (context : Context) :\n interventionKernel (Context := Context) chosen context other = 0", "statement_sha256": "611a3f1dff85a5f56a9daf166cedff3f42ac9e1c6fa9f93639d1fec0e0e86050" }, @@ -19184,7 +19184,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionKernel_sum_one", "source_line": 384, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionKernel_sum_one\n {Context Value : Type*} [Fintype Context] [Fintype Value]\n [DecidableEq Value] (chosen : Value) (context : Context) :\n ∑ value, interventionKernel (Context := Context) chosen context value = 1", "statement_sha256": "c47341c06bd92f9fb44041516377a01bd4b5fae17cacb1dc1d488360441c2fcd" }, @@ -19328,7 +19328,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionalMediatorMarginal_mass", "source_line": 519, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionalMediatorMarginal_mass [DecidableEq Root]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (mediator : Mediator) :\n mediatorMarginal (interventionalJoint model root) mediator =\n model.mediatorGivenRoot root mediator", "statement_sha256": "82791452cc5bfba47c7d64662e07bd3b8ce09fbb8bcdd8316f5097b5065ebdc1" }, @@ -19480,7 +19480,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.interventionalMediator_eq_of_mediatorKernel_eq", "source_line": 544, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem interventionalMediator_eq_of_mediatorKernel_eq [DecidableEq Root]\n (left right : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (hMediator : left.mediatorGivenRoot = right.mediatorGivenRoot)\n (root : Root) :\n mediatorMarginal (interventionalJoint left root) =\n mediatorMarginal (interventionalJoint right root)", "statement_sha256": "507491def9784de8a46aab285a86d712ddfeea96bdf7895cf4a21d285371f3aa" }, @@ -19653,7 +19653,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkovConditional_reconstruction", "source_line": 635, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkovConditional_reconstruction\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator)\n (root : Root) (outcome : Outcome) :\n localMarkovConditional model nonDescendant mediator hEvidence (root, outcome) *\n (model.nonDescendantLaw nonDescendant * mediatorEvidence model mediator) =\n orderedJoint model (((root, nonDescendant), mediator), outcome)", "statement_sha256": "2b36639328f49da19b38679b61d1c38e750613e0426cbf7b8dbeebf50e929b13" }, @@ -19799,7 +19799,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkov_factorization_from_ordered", "source_line": 612, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkov_factorization_from_ordered\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n localMarkovConditional model nonDescendant mediator hEvidence =\n (model.mediatorGivenRoot.posterior model.rootLaw mediator hEvidence).product\n (model.outcomeGivenParents.row (nonDescendant, mediator))", "statement_sha256": "1bb86bcffe8133043a3833a365954ce6172eb41a69929d2971d600d89eba8dd7" }, @@ -19954,7 +19954,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkov_mutualInformation_zero", "source_line": 622, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkov_mutualInformation_zero\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n mutualInformation\n (localMarkovConditional model nonDescendant mediator hEvidence) = 0", "statement_sha256": "658718460a0cf9de3153aa36847da14fa3671f29568bc7937b36eaae44acb1ae" }, @@ -20090,7 +20090,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.localMarkov_zeroEvidence_boundary", "source_line": 669, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem localMarkov_zeroEvidence_boundary\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (mediator : Mediator) (hZero : mediatorEvidence model mediator = 0) :\n ¬0 < mediatorEvidence model mediator", "statement_sha256": "48423a5b0427008fbe775660051bf2ad2970bb57ca5a4e0a1506dc8449b4dc52" }, @@ -20266,7 +20266,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.mixture_factorizes_of_shared_right", "source_line": 193, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem mixture_factorizes_of_shared_right\n {Left Right : Type*} [Fintype Left] [Fintype Right]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (left right : FiniteLaw (Left × Right))\n (leftInternal rightInternal : FiniteLaw Left)\n (shared : FiniteLaw Right)\n (hLeft : left = leftInternal.product shared)\n (hRight : right = rightInternal.product shared) :\n let mixture := mixLaw weight hWeightNonneg hWeightLeOne left right\n mixture = mixture.fstMarginal.product mixture.sndMarginal", "statement_sha256": "893984c3e7cc8ca0a6cda216e2776fc2af77fc7fec070c79609cfee0ae4005e1" }, @@ -20404,7 +20404,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.mixture_product_shared_left", "source_line": 173, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem mixture_product_shared_left\n {Left Right : Type*} [Fintype Left] [Fintype Right]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (shared : FiniteLaw Left) (left right : FiniteLaw Right) :\n mixLaw weight hWeightNonneg hWeightLeOne\n (shared.product left) (shared.product right) =\n shared.product (mixLaw weight hWeightNonneg hWeightLeOne left right)", "statement_sha256": "5b566cb9e1df30163003eaa4a346d1dc1722bf68134eb6e419fd8b67e31506e6" }, @@ -20542,7 +20542,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.mixture_product_shared_right", "source_line": 155, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem mixture_product_shared_right\n {Left Right : Type*} [Fintype Left] [Fintype Right]\n (weight : ℝ) (hWeightNonneg : 0 ≤ weight)\n (hWeightLeOne : weight ≤ 1)\n (left right : FiniteLaw Left) (shared : FiniteLaw Right) :\n mixLaw weight hWeightNonneg hWeightLeOne\n (left.product shared) (right.product shared) =\n (mixLaw weight hWeightNonneg hWeightLeOne left right).product shared", "statement_sha256": "f0b2058e28ccbbace295637fae53bd5bad29665515fbb6fc18403e43bb6d0f45" }, @@ -20676,7 +20676,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.nonDescendant_intervention_invariant", "source_line": 488, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem nonDescendant_intervention_invariant [DecidableEq Root]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) :\n nonDescendantMarginal (interventionalJoint model root) =\n model.nonDescendantLaw", "statement_sha256": "66b144cfdfad977986cdc64df08eba8a47a0e5f33cea7fee577164ae0cf2c565" }, @@ -20782,7 +20782,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.ofStaticModel_conditionalMutualInformation_zero", "source_line": 107, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem ofStaticModel_conditionalMutualInformation_zero\n {Sensory Active : Type*} [Fintype Sensory] [Fintype Active]\n (model : StaticModel Internal Sensory Active External) :\n conditionalMutualInformation (ofStaticModel model) = 0", "statement_sha256": "f80e3cf0dc944d4593085b3ccf52afca6c61dff78d3111e9ff613f4a0b9fa076" }, @@ -20879,7 +20879,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.ofStaticModel_factorizes", "source_line": 91, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem ofStaticModel_factorizes\n {Sensory Active : Type*} [Fintype Sensory] [Fintype Active]\n (model : StaticModel Internal Sensory Active External) :\n Factorizes (ofStaticModel model)", "statement_sha256": "25bb9e96692568111ede4596b6cfb7cfd2425996817c99a204bc896784132ca1" }, @@ -21035,7 +21035,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.orderedJoint_factorization", "source_line": 456, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem orderedJoint_factorization\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nonDescendant : NonDescendant)\n (mediator : Mediator) (outcome : Outcome) :\n orderedJoint model (((root, nonDescendant), mediator), outcome) =\n ((model.rootLaw root * model.nonDescendantLaw nonDescendant) *\n model.mediatorGivenRoot root mediator) *\n model.outcomeGivenParents (nonDescendant, mediator) outcome", "statement_sha256": "06a29da92031b43b4833ac89acabcf710ea0bd71df3b54c2342b91134ce28021" }, @@ -21151,7 +21151,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.orderedJoint_sum_one", "source_line": 465, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem orderedJoint_sum_one\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome) :\n ∑ state, orderedJoint model state = 1", "statement_sha256": "8f76bb63a75d207c5401a76bfcfd584a07538e644f0d68884a53f4cb1616f84b" }, @@ -21296,7 +21296,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.pairedKernel_predictive_product", "source_line": 243, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "statement": "theorem pairedKernel_predictive_product\n {Input₁ Input₂ Output₁ Output₂ : Type*}\n [Fintype Input₁] [Fintype Input₂]\n [Fintype Output₁] [Fintype Output₂]\n (leftLaw : FiniteLaw Input₁) (rightLaw : FiniteLaw Input₂)\n (leftKernel : FiniteKernel Input₁ Output₁)\n (rightKernel : FiniteKernel Input₂ Output₂) :\n (pairedKernel leftKernel rightKernel).predictive\n (leftLaw.product rightLaw) =\n (leftKernel.predictive leftLaw).product\n (rightKernel.predictive rightLaw)", "statement_sha256": "0a1fd7584a3ab44c8348f39cb239b9dc257e912e682f380e8e8e0df2cfdf57cb" }, @@ -21434,7 +21434,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CausalDynamics.sharedConditional_mixture_preserves_joint", "source_line": 135, - "source_owner": "src/fep_lean/formal/causal_dynamics.lean", + "source_owner": "src/fep_formal/formal/causal_dynamics.lean", "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" }, @@ -21514,7 +21514,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_nonneg", "source_line": 756, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem asymMatrix3_nonneg (i j : Fin 3) : 0 ≤ asymMatrix3 i j", "statement_sha256": "5e0197009f318e76cb0beffdb3c0563e042fa4313bceba311ad3e551ec159b43" }, @@ -21593,7 +21593,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_row", "source_line": 759, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem asymMatrix3_row (i : Fin 3) : ∑ j, asymMatrix3 i j = 1", "statement_sha256": "526e3ba54cda036fa921fac98d26067e33ead655f3df426d1deb57a429927c2c" }, @@ -21661,7 +21661,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_scrambling", "source_line": 762, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem asymMatrix3_scrambling : (3 / 5 : ℝ) ≤ scramblingCoefficient asymMatrix3", "statement_sha256": "510a7fe91bfd4a891cf10966688d2bf4d58a8d781e1382f8ca02545b8c2f9c5d" }, @@ -21766,7 +21766,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.asymMatrix3_strict_contraction", "source_line": 771, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -21834,7 +21834,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.boolConsensus_nonzero_strict_witness", "source_line": 351, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -21972,7 +21972,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.collectiveVFE_additive", "source_line": 152, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22097,7 +22097,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusIterate_gap", "source_line": 313, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22205,7 +22205,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMass_conserved", "source_line": 268, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22285,7 +22285,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMatrix2_nonneg", "source_line": 713, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem consensusMatrix2_nonneg (i j : Fin 2) : 0 ≤ consensusMatrix2 i j", "statement_sha256": "9c2d1870da79f0d8f5ce644e8d02f43d18aa9b517ec563f1fbd420f92d2142a3" }, @@ -22364,7 +22364,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMatrix2_row", "source_line": 716, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem consensusMatrix2_row (i : Fin 2) : ∑ j, consensusMatrix2 i j = 1", "statement_sha256": "8561d451e85f991ed7ea0256ff3bcbbb92c7bcae7709942f77079538f77577ca" }, @@ -22432,7 +22432,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensusMatrix2_scrambling", "source_line": 720, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem consensusMatrix2_scrambling : (1 / 2 : ℝ) ≤ scramblingCoefficient consensusMatrix2", "statement_sha256": "09e59d2a58df422fc3de6854e267e8da2910ab9f8122e6cff44feeae6e2bc1b7" }, @@ -22540,7 +22540,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensus_gap_contracts", "source_line": 284, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22655,7 +22655,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensus_gap_tendsto_zero", "source_line": 328, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -22794,7 +22794,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.consensus_spread_le_half", "source_line": 742, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "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" }, @@ -22902,7 +22902,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.coupledPotential_contracts", "source_line": 377, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23027,7 +23027,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.coupledPotential_strict_descent", "source_line": 392, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23174,7 +23174,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.crossEntropy_linearPool_left", "source_line": 424, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23281,7 +23281,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.crossEntropy_self_eq_entropy", "source_line": 442, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem crossEntropy_self_eq_entropy (p : FiniteLaw α) :\n crossEntropy p p = entropy p", "statement_sha256": "f690f9bc5b7bae125cd5d149a7259a23f9f7c07c521a6b3aed1c931790a57753" }, @@ -23362,7 +23362,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.identityMixing2_no_contraction", "source_line": 799, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23442,7 +23442,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.identityMixing2_nonneg", "source_line": 791, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem identityMixing2_nonneg (i j : Fin 2) : 0 ≤ identityMixing2 i j", "statement_sha256": "abd0ea990013ca61a436c35b6e26b1c214719001fa35f6889ae1d8ebd9c168f3" }, @@ -23521,7 +23521,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.identityMixing2_row", "source_line": 794, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem identityMixing2_row (i : Fin 2) : ∑ j, identityMixing2 i j = 1", "statement_sha256": "e045cd205bdd67deaa713a27779709450631d0034548f54c71963115beabea3f" }, @@ -23659,7 +23659,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.independentEFE_additive", "source_line": 188, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -23847,7 +23847,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.linearPool_kl_decomposition", "source_line": 448, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -24029,7 +24029,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.linearPool_kl_minimal", "source_line": 473, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -24229,7 +24229,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.linearPool_kl_unique_minimiser", "source_line": 485, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -24355,7 +24355,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPoolNormalizer_pos", "source_line": 510, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem logPoolNormalizer_pos (w : ι → ℝ) (p : ι → FiniteLaw α) :\n 0 < logPoolNormalizer w p", "statement_sha256": "911eb89bdb09df86db5aa894c684aa52f6657f3c621bd00bc49425a8e84897f5" }, @@ -24532,7 +24532,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_kl_decomposition", "source_line": 536, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -24711,7 +24711,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_kl_minimal", "source_line": 573, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -24908,7 +24908,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_kl_unique_minimiser", "source_line": 582, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -25051,7 +25051,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.logPool_pos", "source_line": 522, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem logPool_pos (w : ι → ℝ) (p : ι → FiniteLaw α) (x : α) :\n 0 < logPool w p x", "statement_sha256": "4e5426c36fdc34f68adeed1584eb78816654493fd98a0e450f1c95e5865a9b44" }, @@ -25194,7 +25194,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.log_logPool", "source_line": 526, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -25302,7 +25302,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.mixStep_consensusMatrix2", "source_line": 729, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -25439,7 +25439,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.mixStep_diff_le", "source_line": 633, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -25588,7 +25588,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.productAgent_joint_mass", "source_line": 54, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -25697,7 +25697,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.productExpectedCost_additive", "source_line": 81, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -25796,7 +25796,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.productKernel_sum_one", "source_line": 45, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -25913,7 +25913,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.sub_le_valueSpread", "source_line": 625, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem sub_le_valueSpread (x : ι → ℝ) (i j : ι) : x i - x j ≤ valueSpread x", "statement_sha256": "66b7390fdd7e50866c9a213c55fc142404135c2100fc42a453a48c0d4a71aa71" }, @@ -26021,7 +26021,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.unitWeightProductOfExpertsPool_sum_one", "source_line": 231, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -26160,7 +26160,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_le", "source_line": 675, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -26313,7 +26313,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.valueSpread_mixStep_lt", "source_line": 698, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/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" }, @@ -26419,7 +26419,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.CollectiveInference.valueSpread_nonneg", "source_line": 618, - "source_owner": "src/fep_lean/formal/collective_inference.lean", + "source_owner": "src/fep_formal/formal/collective_inference.lean", "statement": "theorem valueSpread_nonneg (x : ι → ℝ) : 0 ≤ valueSpread x", "statement_sha256": "e139878bf783a3069fba9fd24cf64bc7c27c895787d95b09975d9f8b9dfe2c36" }, @@ -26551,7 +26551,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.selectedActionTransition_eq_sampledSemigroup", "source_line": 275, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -26703,7 +26703,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.ActionIndexedSemigroup.toGenerativeModel_transition", "source_line": 231, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -26799,7 +26799,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_add", "source_line": 127, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -26864,7 +26864,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.kernel_zero", "source_line": 119, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem kernel_zero (semigroup : FiniteMarkovSemigroup State) :\n semigroup.kernel 0 le_rfl = FiniteKernel.identity", "statement_sha256": "a13736d6b1cd4a086e6616e4bbb7f026d40448150f99d74fab5bd30d9dbb4529" }, @@ -26983,7 +26983,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction", "source_line": 138, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -27105,7 +27105,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.nativeKL_contraction_to_invariant", "source_line": 159, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -27423,7 +27423,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteMarkovSemigroup.transition_eq_of_generator_eq", "source_line": 2007, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem transition_eq_of_generator_eq {A B : FiniteMarkovSemigroup S}\n (hGen : A.generator = B.generator) (t : ℝ) (i j : S) :\n A.transition t i j = B.transition t i j", "statement_sha256": "adb0cf8bd905ccb7738b611112e46e04a5818ed9de1d61e49b9625ce64c55aea" }, @@ -27728,7 +27728,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.exp_eq_exp_uniformShift_mul", "source_line": 1923, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_eq_exp_uniformShift_mul (g : FiniteRateGenerator S) (t : ℝ) :\n NormedSpace.exp (t • g.matrix) =\n NormedSpace.exp (t • g.uniformShift) *\n (Real.exp (-(g.uniformRate * t)) • (1 : Matrix S S ℝ))", "statement_sha256": "080c35262175752fadd218c867407fa95dc43830be7547cf0520014bad0e3f93" }, @@ -28049,7 +28049,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.exp_nonneg", "source_line": 1939, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_nonneg (g : FiniteRateGenerator S) {t : ℝ} (ht : 0 ≤ t) :\n MatrixNonneg (NormedSpace.exp (t • g.matrix))", "statement_sha256": "8ee4b4c6026c7c96117fef74d65e0bd4a960b0aae6363a0f26a092bf591babc8" }, @@ -28364,7 +28364,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.exp_rowSum", "source_line": 1950, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_rowSum (g : FiniteRateGenerator S) (t : ℝ) (i : S) :\n ∑ j, NormedSpace.exp (t • g.matrix) i j = 1", "statement_sha256": "847e70dccb1c6661edf8473d702020e872306c6967a36991f2ae7f8e4b0b8bbd" }, @@ -28671,7 +28671,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.hasDerivAt_exp_entry_left", "source_line": 1966, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem hasDerivAt_exp_entry_left (M : Matrix S S ℝ) (t : ℝ) (i j : S) :\n HasDerivAt (fun u : ℝ => NormedSpace.exp (u • M) i j)\n (∑ k, M i k * NormedSpace.exp (t • M) k j) t", "statement_sha256": "054948f0ad1df7526c407dc1ac59af308db27268e022ad7fa48746f931ce2e9a" }, @@ -28978,7 +28978,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.hasDerivAt_exp_entry_right", "source_line": 1955, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem hasDerivAt_exp_entry_right (M : Matrix S S ℝ) (t : ℝ) (i j : S) :\n HasDerivAt (fun u : ℝ => NormedSpace.exp (u • M) i j)\n (∑ k, NormedSpace.exp (t • M) i k * M k j) t", "statement_sha256": "42ef004c7e38db6a451fdcf2ebb5a510e63703cb0df89e4e411ff76c48ad7dd1" }, @@ -29264,7 +29264,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.matrix_eq_uniformRate_smul", "source_line": 1915, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrix_eq_uniformRate_smul (g : FiniteRateGenerator S) :\n g.matrix = g.uniformRate • (g.uniformKernelMatrix - 1)", "statement_sha256": "afd16e7e3e68ed1671f0e895f4145aad6de118fc22e4a543c7cd1fdb22dfd86e" }, @@ -29560,7 +29560,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.neg_diag_le_uniformRate", "source_line": 1856, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem neg_diag_le_uniformRate (g : FiniteRateGenerator S) (i : S) :\n -g i i ≤ g.uniformRate", "statement_sha256": "67c1d5dbe0d6a8f4159b94bc6249805c547bf494f9334e2d97fcbfac93ace819" }, @@ -29648,7 +29648,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.probabilityCurrent_eq_zero_of_detailedBalanced", "source_line": 72, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -29944,7 +29944,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.rate_diag_nonpos", "source_line": 1843, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rate_diag_nonpos (g : FiniteRateGenerator S) (i : S) : g i i ≤ 0", "statement_sha256": "7008076d5f64861d4ab97abaf90d4c4c015bb6a0537a3d384bb98239191c0fa4" }, @@ -30251,7 +30251,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.semigroup_transition_eq_exponentialCandidate", "source_line": 1995, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem semigroup_transition_eq_exponentialCandidate (g : FiniteRateGenerator S)\n (t : ℝ) (i j : S) :\n g.semigroup.transition t i j = g.exponentialCandidate t i j", "statement_sha256": "c833869a253f842ed4d317be045014f70fb31c5ea3dd892ba7d4abd66f1a190e" }, @@ -30537,7 +30537,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformKernelMatrix_nonneg", "source_line": 1894, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformKernelMatrix_nonneg (g : FiniteRateGenerator S) :\n MatrixNonneg g.uniformKernelMatrix", "statement_sha256": "7e75f498b32576d0a2344b377a9d43b36e8d80044299ad60f59fe5ace9a5b1dd" }, @@ -30833,7 +30833,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformKernelMatrix_rowSum", "source_line": 1906, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformKernelMatrix_rowSum (g : FiniteRateGenerator S) (i : S) :\n ∑ j, g.uniformKernelMatrix i j = 1", "statement_sha256": "be787412c1bb314c610cb1e35bf4176d55e2b990e0a66a494c5805dbf30d1664" }, @@ -31119,7 +31119,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformRate_pos", "source_line": 1864, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformRate_pos (g : FiniteRateGenerator S) : 0 < g.uniformRate", "statement_sha256": "db35706934aa1033331f0744f30fee8a5bcd83d37a6e8530fbdfabdef01e2975" }, @@ -31405,7 +31405,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.FiniteRateGenerator.uniformShift_nonneg", "source_line": 1874, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformShift_nonneg (g : FiniteRateGenerator S) :\n MatrixNonneg g.uniformShift", "statement_sha256": "5499d7d80ce7a612f1dd9d07110ca34dc16f75a406120cc6ddbf973465a639ba" }, @@ -31643,7 +31643,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkInitial_nonstationary", "source_line": 1743, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem benchmarkInitial_nonstationary :\n benchmarkInitial true ≠ benchmarkRates.stationaryTrue", "statement_sha256": "6edb4a4865786203f9147da68c36f149f500a539cfed1fe6254d06d78019ed2c" }, @@ -31881,7 +31881,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkLyapunov_deriv_zero_neg", "source_line": 1748, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem benchmarkLyapunov_deriv_zero_neg :\n -2 * benchmarkRates.decayRate * benchmarkRates.lyapunov benchmarkInitial 0 < 0", "statement_sha256": "379a706bdeb1d1e9a858290b0428e86eecd617f5bf8371c6055be409b4539b21" }, @@ -32119,7 +32119,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.benchmarkRates_exact", "source_line": 1739, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem benchmarkRates_exact :\n benchmarkRates.forward = 0.7 ∧ benchmarkRates.backward = 0.3", "statement_sha256": "48bfa10290599c465dd64c6998719aeded066c6cfffafb253fbb56dbaa6434db" }, @@ -32368,7 +32368,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_detailedBalanced", "source_line": 1672, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem certifiedSemigroup_detailedBalanced (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsDetailedBalanced rates.stationaryLaw", "statement_sha256": "c69b598b5c04217332cf1bf4f07a1b7240ec1a7167eeec0bb85de67c5e43a89d" }, @@ -32637,7 +32637,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_kernel_eq_kernel", "source_line": 1652, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -32886,7 +32886,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.certifiedSemigroup_stationary", "source_line": 1659, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem certifiedSemigroup_stationary (rates : TwoStateRates) :\n rates.certifiedSemigroup.IsStationary rates.stationaryLaw", "statement_sha256": "a005724180ba826f4fe0860649ba2caa4ad7258186d4d038a574518ac0d76e55" }, @@ -33135,7 +33135,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.decayRate_pos", "source_line": 1368, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem decayRate_pos (rates : TwoStateRates) : 0 < rates.decayRate", "statement_sha256": "86526d6bd8dd0f315b3524a9618f3b93437c8f7a30f1b273470c151f8cf4b9fe" }, @@ -33415,7 +33415,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.exponentialCandidate_eq_transition", "source_line": 2077, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exponentialCandidate_eq_transition (rates : TwoStateRates)\n (time : ℝ) (source target : Bool) :\n rates.rateGenerator.exponentialCandidate time source target =\n rates.transition time source target", "statement_sha256": "dbcd3c5c8882e38556a78fe310e130345db558c44b7548f9a35c464d0035b9e8" }, @@ -33685,7 +33685,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.generator_mul_transition", "source_line": 1558, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -33954,7 +33954,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_exact", "source_line": 1706, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -34223,7 +34223,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.lyapunov_hasDerivAt", "source_line": 1714, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -34492,7 +34492,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.relaxation_exact", "source_line": 1685, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -34752,7 +34752,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_add", "source_line": 1427, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -35011,7 +35011,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_hasDerivAt", "source_line": 1513, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -35280,7 +35280,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_le_one", "source_line": 1417, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rho_le_one (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time) :\n rates.rho time ≤ 1", "statement_sha256": "dd6e5935e9503d37c529d2dcfc0cdd12c694517c759c2c5526f846cd95bc3b06" }, @@ -35539,7 +35539,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_pos", "source_line": 1414, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rho_pos (rates : TwoStateRates) (time : ℝ) : 0 < rates.rho time", "statement_sha256": "e5f6cd42b07398ea67800ad81f0ae399452c7fd665a7f72c32bfbb7e39493521" }, @@ -35788,7 +35788,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.rho_zero", "source_line": 1424, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem rho_zero (rates : TwoStateRates) : rates.rho 0 = 1", "statement_sha256": "fbeee211efd611dee89d1f646cb96f45b9988671b651582ac691c518b57a5ee1" }, @@ -36037,7 +36037,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_mul_decayRate", "source_line": 1396, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryFalse_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryFalse * rates.decayRate = rates.backward", "statement_sha256": "a04b2f39b752f608835b86f11e7cad46f2143089bf1bb8361a2b878915adb338" }, @@ -36286,7 +36286,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryFalse_pos", "source_line": 1377, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryFalse_pos (rates : TwoStateRates) :\n 0 < rates.stationaryFalse", "statement_sha256": "64d3b283272edfca45f72342fd19c3ef2bface483f4ef6b0798078f2d39c2b45" }, @@ -36535,7 +36535,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_mul_decayRate", "source_line": 1391, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryTrue_mul_decayRate (rates : TwoStateRates) :\n rates.stationaryTrue * rates.decayRate = rates.forward", "statement_sha256": "6874f27edadb61de648647d5586caed64736bca58c82900f3286986297a4cc8b" }, @@ -36784,7 +36784,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationaryTrue_pos", "source_line": 1381, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationaryTrue_pos (rates : TwoStateRates) :\n 0 < rates.stationaryTrue", "statement_sha256": "9c32db44caf1eda456b54b9ea03da912b58cfa5e907e8b726cf539f9c5ffea83" }, @@ -37033,7 +37033,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.stationary_sum_one", "source_line": 1385, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem stationary_sum_one (rates : TwoStateRates) :\n rates.stationaryFalse + rates.stationaryTrue = 1", "statement_sha256": "0b0dca5d0c9c9a6aec202781397067ae842eb93ca24e80d458ed1dcee14d3b32" }, @@ -37304,7 +37304,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_add", "source_line": 1483, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -37574,7 +37574,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_detailedBalance", "source_line": 1616, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -37844,7 +37844,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_hasDerivAt", "source_line": 1521, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -38114,7 +38114,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_masterEquation", "source_line": 1587, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -38384,7 +38384,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_mul_generator", "source_line": 1572, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -38664,7 +38664,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_nonneg", "source_line": 1457, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -38933,7 +38933,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_rowSum", "source_line": 1442, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -39202,7 +39202,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_stationary", "source_line": 1603, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -39462,7 +39462,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.transition_zero", "source_line": 1477, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -39741,7 +39741,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.uniformised_kernel_eq", "source_line": 2084, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformised_kernel_eq (rates : TwoStateRates) (time : ℝ)\n (hTime : 0 ≤ time) :\n rates.rateGenerator.semigroup.kernel time hTime = rates.kernel time hTime", "statement_sha256": "13922334d42f1dac1c89de457166cded10a2afe683ad841e4e1e19a7117ca98d" }, @@ -40021,7 +40021,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.TwoStateRates.uniformised_transition_eq", "source_line": 2067, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem uniformised_transition_eq (rates : TwoStateRates) (time : ℝ)\n (source target : Bool) :\n rates.rateGenerator.semigroup.transition time source target =\n rates.transition time source target", "statement_sha256": "c109793839fdba98d8343a36abb713469440a660457cde6d6b20223a8df66c1d" }, @@ -40270,7 +40270,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.blanketPointMass_ne_uniform", "source_line": 925, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -40547,7 +40547,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.blanketRefreshSemigroup_transition_pos", "source_line": 916, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -40792,7 +40792,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_false_kernel", "source_line": 1112, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionIndexedSemigroup_false_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel false =\n (FiniteKernel.identity : FiniteKernel BoolBlanketState BoolBlanketState)", "statement_sha256": "4dbf85e7471957be555df67a78a97e2fdd7d87d429b7b5b4e91d15f5d42144d0" }, @@ -41055,7 +41055,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_kernels_ne", "source_line": 1130, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionIndexedSemigroup_kernels_ne :\n boolBlanketActionIndexedSemigroup.sampledKernel false ≠\n boolBlanketActionIndexedSemigroup.sampledKernel true", "statement_sha256": "4f0cbc5b25a66f6fd128892dcfe1e86361747bdccaac7fe73a536f81d14220e0" }, @@ -41293,7 +41293,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionIndexedSemigroup_true_kernel", "source_line": 1122, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionIndexedSemigroup_true_kernel :\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel", "statement_sha256": "931507902df4e6634c1cf8649baf521fae523af09cfcf70e61c19b64c1dba684" }, @@ -41542,7 +41542,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketActionSampleTime_nonneg", "source_line": 1088, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketActionSampleTime_nonneg (action : Bool) :\n 0 ≤ boolBlanketActionSampleTime action", "statement_sha256": "7e7a28ee87d4cc90e36682c92e7ac68f70087b31aa740c4c538b148bfdcf8f47" }, @@ -41851,7 +41851,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_posteriorState", "source_line": 1205, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -42134,7 +42134,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_false_predictedOutcome", "source_line": 1187, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -42414,7 +42414,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketGenerativeModel_transition", "source_line": 1165, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -42659,7 +42659,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_ne_uniform", "source_line": 1065, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -42904,7 +42904,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketInitial_not_invariant", "source_line": 1327, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketInitial_not_invariant :\n ¬FEP.FiniteMarkovDynamics.IsInvariant\n boolBlanketInitialLaw boolBlanketRefreshKernel", "statement_sha256": "93c978b39afbd8030708e2546f8cd1b30b39f1b0405a7a1d78a57bfc93018878" }, @@ -43142,7 +43142,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketRefreshTime_pos", "source_line": 1080, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketRefreshTime_pos : 0 < boolBlanketRefreshTime", "statement_sha256": "c15ef94b1f33cd2ca3d7673b794275256f7e9bfa237a1a0b48bc8f9ae4fa6627" }, @@ -43380,7 +43380,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketState_card", "source_line": 947, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanketState_card :\n Fintype.card BoolBlanketState = 16", "statement_sha256": "16849fddcbcfdc25ac716796f3ce344894a4495b6d05f213dbbaa0bee5fb158f" }, @@ -43625,7 +43625,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanketStationaryLaw_isStationary", "source_line": 1246, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -43880,7 +43880,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_finiteKL_strict_decrease", "source_line": 1307, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem boolBlanket_finiteKL_strict_decrease :\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw", "statement_sha256": "7f47bddac2de0dd928d08818ce5452a5f169562d253f6a939f361c8b97be5330" }, @@ -44139,7 +44139,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.boolBlanket_nativeKL_strict_decrease", "source_line": 1339, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -44436,7 +44436,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.exp_hasSum_entry", "source_line": 1785, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_hasSum_entry (M : Matrix S S ℝ) (i j : S) :\n HasSum (fun n : ℕ => (((Nat.factorial n : ℕ) : ℝ)⁻¹ • M ^ n) i j)\n ((NormedSpace.exp M) i j)", "statement_sha256": "7650b3184b893747086971da0cf28aa43e38f0d46f64bb77755a09c24eb1c650" }, @@ -44722,7 +44722,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.exp_smul_one", "source_line": 1833, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_smul_one (c : ℝ) :\n NormedSpace.exp (c • (1 : Matrix S S ℝ)) = Real.exp c • (1 : Matrix S S ℝ)", "statement_sha256": "8bf6118c4ac6642ca921b7f529369a72e7f51bfe43784da0f3dc32b9505a8c77" }, @@ -45051,7 +45051,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.exp_smul_rowSum", "source_line": 1812, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem exp_smul_rowSum {M : Matrix S S ℝ} (hM : ∀ i, ∑ j, M i j = 0)\n (s : ℝ) (i : S) : ∑ j, NormedSpace.exp (s • M) i j = 1", "statement_sha256": "181ff019cdf2e877d408ced49ed37d4fe0b0795043360872c89b274252606482" }, @@ -45300,7 +45300,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_fstMarginal", "source_line": 959, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem liftInternalLaw_fstMarginal (internal : FiniteLaw Bool) :\n (liftInternalLaw internal).fstMarginal = internal", "statement_sha256": "ce0f9609e77db5d5a2d22b07ca6d72b0d6deddb6cde341add03fe7f5189d0b61" }, @@ -45559,7 +45559,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLaw_ne_uniform_of_ne_uniform", "source_line": 968, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -45869,7 +45869,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_posterior_liftInternalLaw", "source_line": 1030, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46146,7 +46146,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.liftInternalLikelihood_predictive_liftInternalLaw", "source_line": 995, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -46475,7 +46475,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_exp_smul", "source_line": 1793, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_exp_smul {M : Matrix S S ℝ} (hM : MatrixNonneg M)\n {s : ℝ} (hs : 0 ≤ s) : MatrixNonneg (NormedSpace.exp (s • M))", "statement_sha256": "39e8f74a36273b8d171764f757df32743306442698bb694a1907795103824bf5" }, @@ -46777,7 +46777,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_mul", "source_line": 1766, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_mul {M N : Matrix S S ℝ} (hM : MatrixNonneg M)\n (hN : MatrixNonneg N) : MatrixNonneg (M * N)", "statement_sha256": "1180590391c01ce8539ffd416a1f3f95dadc1e9ad40ec9e6e42eaf96d9ed89bf" }, @@ -47052,7 +47052,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_one", "source_line": 1773, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_one : MatrixNonneg (1 : Matrix S S ℝ)", "statement_sha256": "cf284c6bf755ccd5de47ea4971a0b010a7cd5e93c38194123144a16dca5e5679" }, @@ -47371,7 +47371,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.matrixNonneg_pow", "source_line": 1778, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem matrixNonneg_pow {M : Matrix S S ℝ} (hM : MatrixNonneg M) (n : ℕ) :\n MatrixNonneg (M ^ n)", "statement_sha256": "28b100e1bbb96254fa0c28c9b9a0fbfa33f9560ce0d90ebfbebd319df69c2ba2" }, @@ -47506,7 +47506,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshGenerator_mul_transition", "source_line": 560, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47717,7 +47717,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_finiteKL_strict_decrease_of_ne_uniform", "source_line": 764, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -47918,7 +47918,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_nativeKL_strict_decrease_of_ne_uniform", "source_line": 861, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48072,7 +48072,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_predictive_mass", "source_line": 654, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48185,7 +48185,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshSemigroup_uniform_stationary", "source_line": 719, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem refreshSemigroup_uniform_stationary :\n refreshSemigroup.IsStationary (FiniteLaw.uniform : FiniteLaw State)", "statement_sha256": "fd08a300d83b75b24f3268b2a0b88780c22e4cb4cd0614f7072597e5fe0025fc" }, @@ -48316,7 +48316,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_add", "source_line": 491, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48451,7 +48451,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_hasDerivAt", "source_line": 548, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48586,7 +48586,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_mul_generator", "source_line": 598, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48721,7 +48721,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_nonneg", "source_line": 447, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48856,7 +48856,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_pos", "source_line": 460, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -48980,7 +48980,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_sum_one", "source_line": 475, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem refreshTransition_sum_one (time : ℝ) (source : State) :\n ∑ target, refreshTransition time source target = 1", "statement_sha256": "febb83b782fc8823ec37c5487fbdb0a75b2ef23e06a80bffd7584e68fa82beaa" }, @@ -49100,7 +49100,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.refreshTransition_zero", "source_line": 485, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49416,7 +49416,7 @@ ], "qualified_name": "FEP.ContinuousTimeMarkov.sum_pow_succ_eq_zero", "source_line": 1803, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem sum_pow_succ_eq_zero {M : Matrix S S ℝ} (hM : ∀ i, ∑ j, M i j = 0)\n (n : ℕ) (i : S) : ∑ j, (M ^ (n + 1)) i j = 0", "statement_sha256": "50971622f9b0e8ec66c6e9faea299ce4d52bc87bb81445fbdd9ec374309fa99b" }, @@ -49441,7 +49441,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one", "source_line": 322, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49473,7 +49473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_current_zero_one_ne_zero", "source_line": 328, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49498,7 +49498,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_not_detailedBalanced", "source_line": 315, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem threeCycle_not_detailedBalanced :\n ¬threeCycleGenerator.IsDetailedBalanced threeCycleStationaryLaw", "statement_sha256": "d68ee5298d04dbc9d2507ce54751c41b74dcbbab3a9455afc74f798a0ade8079" }, @@ -49523,7 +49523,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ContinuousTimeMarkov.threeCycle_stationary", "source_line": 308, - "source_owner": "src/fep_lean/formal/continuous_time_markov.lean", + "source_owner": "src/fep_formal/formal/continuous_time_markov.lean", "statement": "theorem threeCycle_stationary :\n threeCycleGenerator.IsStationary threeCycleStationaryLaw", "statement_sha256": "7c32dcaaed73f4de9b4f453b9d1c065a53c7b3079d28305723d7885d565ff3e6" }, @@ -49662,7 +49662,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_reconstruction", "source_line": 68, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49791,7 +49791,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.actionBeliefUpdate_sum_one", "source_line": 81, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -49920,7 +49920,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.actionEvidence_zero_boundary", "source_line": 93, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -50009,7 +50009,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPartition_pos", "source_line": 211, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPartition_pos (prior : FiniteLaw Action)\n (energy : Action → ℝ) :\n 0 < boltzmannPartition prior energy", "statement_sha256": "dc197afe4714fbcc8ffd33f117a8144a46326cef7402aaed09abbaf267925961" }, @@ -50115,7 +50115,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_eq_zero_iff", "source_line": 246, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPosterior_eq_zero_iff (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n boltzmannPosterior prior energy action = 0 ↔ prior action = 0", "statement_sha256": "3b7a5964d94aa7efed3ba5926997903fec0028a91a9b7c4217623da554a7da84" }, @@ -50221,7 +50221,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_mul_partition", "source_line": 238, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -50327,7 +50327,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_pos_iff", "source_line": 256, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPosterior_pos_iff (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) :\n 0 < boltzmannPosterior prior energy action ↔ 0 < prior action", "statement_sha256": "cbd43ecef55c644a8f9dc39d9033a3f9cc99e1142055996ea84e8d4851c28faf" }, @@ -50406,7 +50406,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.boltzmannPosterior_zero_energy", "source_line": 279, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem boltzmannPosterior_zero_energy (prior : FiniteLaw Action) :\n boltzmannPosterior prior (fun _ => 0) = prior", "statement_sha256": "f1a170f6370e7d4dbc2d641310ba40b811200b66ac1584bdcb38469ee6b7b467" }, @@ -50503,7 +50503,7 @@ ], "qualified_name": "FEP.ControlledMarkov.boolReachablePOMDP_update_sound", "source_line": 619, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -50625,7 +50625,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_actionBeliefUpdate_eq", "source_line": 575, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -50719,7 +50719,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_actionEvidence_eq", "source_line": 553, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -50805,7 +50805,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_actionPrediction_eq", "source_line": 542, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -50909,7 +50909,7 @@ ], "qualified_name": "FEP.ControlledMarkov.bool_positiveEvidence_observation_eq_action", "source_line": 564, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -51008,7 +51008,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.controlPosterior_sum_one", "source_line": 292, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -51104,7 +51104,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.controlPosterior_zero_cost", "source_line": 298, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem controlPosterior_zero_cost (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", "statement_sha256": "85e81a42b7a9b06510458da4c6db5188805f198e081b1be5419a092b3007db26" }, @@ -51203,7 +51203,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.controlledKernel_sum_one", "source_line": 31, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -51319,7 +51319,7 @@ ], "qualified_name": "FEP.ControlledMarkov.desirabilityStep_nonneg", "source_line": 412, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -51414,7 +51414,7 @@ ], "qualified_name": "FEP.ControlledMarkov.desirabilityStep_zero_cost_one", "source_line": 423, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -51525,7 +51525,7 @@ ], "qualified_name": "FEP.ControlledMarkov.exists_finite_minimizer", "source_line": 432, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem exists_finite_minimizer {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) :\n ∃ minimizer, ∀ alternative, objective minimizer ≤ objective alternative", "statement_sha256": "15f6d60894af56c03b0d782710b64bca417bccd7b5b4094d94b0c1764875c3cb" }, @@ -51653,7 +51653,7 @@ ], "qualified_name": "FEP.ControlledMarkov.finiteArgmin_le", "source_line": 449, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem finiteArgmin_le {ι : Type*} [Fintype ι] [Nonempty ι]\n (objective : ι → ℝ) (alternative : ι) :\n objective (finiteArgmin objective) ≤ objective alternative", "statement_sha256": "5a5d8669c3d09d4e2b8ca33716a681ecd1fdff7638184b108b6c05def20121f8" }, @@ -51769,7 +51769,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.log_boltzmannPosterior", "source_line": 266, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem log_boltzmannPosterior (prior : FiniteLaw Action)\n (energy : Action → ℝ) (action : Action) (hprior : 0 < prior action) :\n Real.log (boltzmannPosterior prior energy action) =\n Real.log (prior action) - energy action -\n Real.log (boltzmannPartition prior energy)", "statement_sha256": "345fc0be0fbcb0c658f80f46628e16f287c534a33be5b47648c9da7f5e02ec4e" }, @@ -51896,7 +51896,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ControlledMarkov.reachableBelief_policyValue_eq", "source_line": 174, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -52019,7 +52019,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanPartition_pos", "source_line": 312, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -52179,7 +52179,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanValue_le_actionEnergy", "source_line": 373, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -52312,7 +52312,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanValue_partition_pos", "source_line": 358, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -52437,7 +52437,7 @@ ], "qualified_name": "FEP.ControlledMarkov.softBellmanValue_succ", "source_line": 345, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -52567,7 +52567,7 @@ ], "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEAction_le", "source_line": 501, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -52680,7 +52680,7 @@ ], "qualified_name": "FEP.ControlledMarkov.sophisticatedEFEValue_succ", "source_line": 486, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/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" }, @@ -52761,7 +52761,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedbackExpectedCost_zero", "source_line": 668, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedbackExpectedCost_zero :\n twoStageFeedbackExpectedCost = 0", "statement_sha256": "3cacca59e7d5f417f22ecf1f79153cea0037e5964c576f83a837aee958a852e2" }, @@ -52859,7 +52859,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_beats_openLoop", "source_line": 682, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedback_beats_openLoop (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", "statement_sha256": "ee5ff03790b8e6de8b267d703520a5a550bb31f848aa64ef72a23772615b8960" }, @@ -52940,7 +52940,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_changes_action", "source_line": 650, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", "statement_sha256": "88c9fb5cd85736a29fcf86e9f20b5593d3bbae6170faa8dd11ca52dd41217929" }, @@ -53032,7 +53032,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageFeedback_eq_observation", "source_line": 640, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageFeedback_eq_observation (observation : Bool) :\n twoStageFeedback observation = observation", "statement_sha256": "75f89290630a57d012e136cd01d1d94240a16367a659e62fb2bbd61234173b13" }, @@ -53117,7 +53117,7 @@ ], "qualified_name": "FEP.ControlledMarkov.twoStageOpenLoopExpectedCost_eq_half", "source_line": 674, - "source_owner": "src/fep_lean/formal/controlled_markov.lean", + "source_owner": "src/fep_formal/formal/controlled_markov.lean", "statement": "theorem twoStageOpenLoopExpectedCost_eq_half (action : Bool) :\n twoStageOpenLoopExpectedCost action = 1 / 2", "statement_sha256": "cba609e57d77d1c26d861358a99fd1290dd33469780229e9f63a86b39fc70b5b" }, @@ -53267,7 +53267,7 @@ ], "qualified_name": "FEP.DecisionRisk.bayesRisk_mono_under_observationGarbling", "source_line": 348, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -53349,7 +53349,7 @@ ], "qualified_name": "FEP.DecisionRisk.boolPointMass_klDiv_eq_top", "source_line": 77, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -53470,7 +53470,7 @@ ], "qualified_name": "FEP.DecisionRisk.boolPrior_zeroOneRisk", "source_line": 398, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem boolPrior_zeroOneRisk (report : Bool) :\n ∫⁻ truth, boolZeroOneLoss truth report ∂boolPrior = 1 / 2", "statement_sha256": "575505267a149f1a82bcbc2fba9e5dab5be18b79730e0b57ca6376f87d141e89" }, @@ -53571,7 +53571,7 @@ ], "qualified_name": "FEP.DecisionRisk.boolZeroOneLoss_measurable", "source_line": 377, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem boolZeroOneLoss_measurable :\n Measurable (Function.uncurry boolZeroOneLoss)", "statement_sha256": "7141d9e03e363c81a935632ac9e8c3c3fe2838108e07538b152e4478b1a2f677" }, @@ -53719,7 +53719,7 @@ ], "qualified_name": "FEP.DecisionRisk.channelJoint_fstMarginal", "source_line": 258, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem channelJoint_fstMarginal (prior : FiniteLaw α)\n (experiment : FiniteKernel α β) :\n (experiment.joint prior).fstMarginal = prior", "statement_sha256": "500c79fc96e7e21187458248fee53b1868883abf3c68c74ec6cbb38290450b67" }, @@ -53871,7 +53871,7 @@ ], "qualified_name": "FEP.DecisionRisk.embeddedJoint_klDiv_eq_mutualInformation", "source_line": 246, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -54018,7 +54018,7 @@ ], "qualified_name": "FEP.DecisionRisk.embeddedLaw_product", "source_line": 211, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -54108,7 +54108,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio", "source_line": 55, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -54198,7 +54198,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.embeddedLaw_withDensity_ratio_of_relativeSupport", "source_line": 36, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -54249,7 +54249,7 @@ ], "qualified_name": "FEP.DecisionRisk.finiteKL_asymmetric_bool", "source_line": 149, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem finiteKL_asymmetric_bool :\n finiteKL asymmetricBoolTruth asymmetricBoolReport ≠\n finiteKL asymmetricBoolReport asymmetricBoolTruth", "statement_sha256": "1eb597e2bf76d2dec840e4a11dcfdaf055099a017eb1bbb0a8f7c9666fb82e75" }, @@ -54442,7 +54442,7 @@ ], "qualified_name": "FEP.DecisionRisk.finiteKL_mono_under_channel_of_relativeSupport", "source_line": 311, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -54634,7 +54634,7 @@ ], "qualified_name": "FEP.DecisionRisk.finiteMutualInformation_mono_under_observationGarbling", "source_line": 327, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -54748,7 +54748,7 @@ ], "qualified_name": "FEP.DecisionRisk.garbledBool_bayesRisk_eq_half", "source_line": 434, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem garbledBool_bayesRisk_eq_half :\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior = 1 / 2", "statement_sha256": "f710912db85c5d1a0332caedfee89807846f09718bab0b21204f76bec834a82a" }, @@ -54881,7 +54881,7 @@ ], "qualified_name": "FEP.DecisionRisk.joint_relativeSupport_productMarginals", "source_line": 227, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -55011,7 +55011,7 @@ ], "qualified_name": "FEP.DecisionRisk.mutualInformation_mono_under_observationGarbling", "source_line": 190, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -55188,7 +55188,7 @@ ], "qualified_name": "FEP.DecisionRisk.nativeChannelMutualInformation_eq_finite", "source_line": 269, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -55352,7 +55352,7 @@ ], "qualified_name": "FEP.DecisionRisk.predictive_relativeSupport", "source_line": 284, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -55442,7 +55442,7 @@ ], "qualified_name": "FEP.DecisionRisk.properLogScore_excessRisk_eq_finiteKL_truth_report", "source_line": 112, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -55543,7 +55543,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBoolArgminEstimator", "source_line": 407, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBoolArgminEstimator :\n IsArgminEstimator boolZeroOneLoss revealingBoolExperiment boolPrior id", "statement_sha256": "b1d9b279351bf9c4c38d43895393dfc2ef4b5581e9afd25bc24dcc35a3add012" }, @@ -55651,7 +55651,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_eq_zero", "source_line": 425, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBool_bayesRisk_eq_zero :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior = 0", "statement_sha256": "3eafce0c453c11e575eee8486d47986f1b7e5ce3ce4d5524ae7b86055907ab3f" }, @@ -55765,7 +55765,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBool_bayesRisk_lt_garbled", "source_line": 444, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBool_bayesRisk_lt_garbled :\n bayesRisk boolZeroOneLoss revealingBoolExperiment boolPrior <\n bayesRisk boolZeroOneLoss garbledBoolExperiment boolPrior", "statement_sha256": "6b9f29c6033f3c1a352d654d8c14da635f414fa6046fae217c2eba76759177fa" }, @@ -55873,7 +55873,7 @@ ], "qualified_name": "FEP.DecisionRisk.revealingBool_isBayesEstimator", "source_line": 418, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/formal/decision_risk.lean", "statement": "theorem revealingBool_isBayesEstimator :\n IsBayesEstimator boolZeroOneLoss revealingBoolExperiment Kernel.id boolPrior", "statement_sha256": "19c1fc738f7d1ba211b166a00ff937df36c81281618513109caa1f83c22c7e65" }, @@ -55963,7 +55963,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_fullSupport", "source_line": 63, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -56053,7 +56053,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_finiteKL_of_relativeSupport", "source_line": 46, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -56142,7 +56142,7 @@ ], "qualified_name": "FEP.DecisionRisk.weightedDirac_klDiv_eq_top_of_not_absolutelyContinuous", "source_line": 71, - "source_owner": "src/fep_lean/formal/decision_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -56270,7 +56270,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.argminEFE_eq_risk_add_ambiguity", "source_line": 441, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -56440,7 +56440,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_maximizes_efe_of_negative_precision", "source_line": 218, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem boltzmann_control_posterior_maximizes_efe_of_negative_precision\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ < 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n efeControlObjective prior γ cost Q ≤\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ∧\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost) ↔\n Q = controlPosterior prior γ cost)", "statement_sha256": "8ed09a8d5401f37d3d717598c27417d05d811c286fcd5eb46f79ddb8937aa65b" }, @@ -56594,7 +56594,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimal_value", "source_line": 309, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -56750,7 +56750,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe", "source_line": 296, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -56920,7 +56920,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.boltzmann_control_posterior_minimizes_efe_of_relativeSupport", "source_line": 186, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem boltzmann_control_posterior_minimizes_efe_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : 0 < γ) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\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": "3055b1d26f1b80c979d3dee53162d2dc1bc8c9d8262b17731bd52db2c8b656b6" }, @@ -57048,7 +57048,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.controlPosterior_relativeSupport", "source_line": 87, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem controlPosterior_relativeSupport (prior : FiniteLaw Action)\n (γ : ℝ) (cost : Action → ℝ) :\n ∀ policy, controlPosterior prior γ cost policy ≠ 0 → 0 < prior policy", "statement_sha256": "cdc46b83d29cb7ad32daad2a9756a3498e863a29e42f60ea02ef4e9ec617aa6c" }, @@ -57197,7 +57197,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_gibbsFreeEnergy", "source_line": 250, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -57353,7 +57353,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition", "source_line": 271, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -57509,7 +57509,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_kl_sub_logPartition_of_relativeSupport", "source_line": 136, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_eq_kl_sub_logPartition_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n efeControlObjective prior γ cost Q =\n γ⁻¹ * (finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost))", "statement_sha256": "63f596d489c7717d4199107a8d3dde883b443d77fed45787c330d620786ad656" }, @@ -57673,7 +57673,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_eq_optimizer_iff_of_relativeSupport", "source_line": 173, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_eq_optimizer_iff_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n (efeControlObjective prior γ cost Q =\n efeControlObjective prior γ cost (controlPosterior prior γ cost)) ↔\n Q = controlPosterior prior γ cost", "statement_sha256": "cf624fd908e318bcf5329d52ca8ba72ff5dec12b9042106fb15d19778d7db6ba" }, @@ -57839,7 +57839,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_lt_optimizer_of_negative_precision", "source_line": 237, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_lt_optimizer_of_negative_precision\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ < 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy)\n (hne : Q ≠ controlPosterior prior γ cost) :\n efeControlObjective prior γ cost Q <\n efeControlObjective prior γ cost (controlPosterior prior γ cost)", "statement_sha256": "bdf5fb63227fdf5b93ae93a2a8f053bff6caf980f58ceb74887494f8dedc028b" }, @@ -58005,7 +58005,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_optimizer_lt_of_relativeSupport", "source_line": 205, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_optimizer_lt_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : 0 < γ) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy)\n (hne : Q ≠ controlPosterior prior γ cost) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) <\n efeControlObjective prior γ cost Q", "statement_sha256": "d79cb7f90fe372544ba2dc907c6780b52141543fb7abff17bf58fd0ac9ec0b59" }, @@ -58155,7 +58155,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_optimizer_value", "source_line": 149, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_optimizer_value (prior : FiniteLaw Action)\n (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ) :\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n -(γ⁻¹ * Real.log (efeControlPartition prior γ cost))", "statement_sha256": "d558bc073f408bd1c255020951a897af44bf734fa818f30610b5786d96bedac2" }, @@ -58311,7 +58311,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl", "source_line": 282, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -58473,7 +58473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControlObjective_sub_eq_kl_of_relativeSupport", "source_line": 160, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControlObjective_sub_eq_kl_of_relativeSupport\n (prior : FiniteLaw Action) (γ : ℝ) (hγ : γ ≠ 0) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n efeControlObjective prior γ cost Q -\n efeControlObjective prior γ cost (controlPosterior prior γ cost) =\n γ⁻¹ * finiteKL Q (controlPosterior prior γ cost)", "statement_sha256": "b06ad4a3ec74466adcec29f7c021076cd590c42821e2c1483f78ff4913b9518b" }, @@ -58637,7 +58637,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.efeControl_scaled_objective_eq_kl_sub_logPartition", "source_line": 97, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem efeControl_scaled_objective_eq_kl_sub_logPartition\n (prior : FiniteLaw Action) (γ : ℝ) (cost : Action → ℝ)\n (Q : FiniteLaw Action)\n (hsupport : ∀ policy, Q policy ≠ 0 → 0 < prior policy) :\n γ * expectation Q cost + finiteKL Q prior =\n finiteKL Q (controlPosterior prior γ cost) -\n Real.log (efeControlPartition prior γ cost)", "statement_sha256": "54adeb337fbb93c3ccb05f0f3469cfe5807bd1e4188d671cbf3fe7b56dd35069" }, @@ -58753,7 +58753,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.exists_EFE_minimizing_policy", "source_line": 475, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -58897,7 +58897,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.finiteArgminEFE_minimizes_risk_add_ambiguity", "source_line": 462, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -59049,7 +59049,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.policyTree_value_agreement", "source_line": 487, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/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" }, @@ -59173,7 +59173,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_negative_precision_strict_gap", "source_line": 374, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_negative_precision_strict_gap (γ : ℝ) (hγ : γ < 0) :\n efeControlObjective sparseGibbsPrior γ sparseGibbsCost\n (FiniteLaw.pointMass 0) <\n efeControlObjective sparseGibbsPrior γ sparseGibbsCost\n (controlPosterior sparseGibbsPrior γ sparseGibbsCost)", "statement_sha256": "fc63eeaf9a2fc4cf76eee64bb51f0f05710ddf42f64a76b180897ad6f3ee7333" }, @@ -59261,7 +59261,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_partition", "source_line": 334, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_partition :\n efeControlPartition sparseGibbsPrior 1 sparseGibbsCost = 2", "statement_sha256": "ea52d10e8aecb890dcbc4ed54922d169506bd7bc2d1a75eb20b1d13ce9c03517" }, @@ -59367,7 +59367,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_posterior_mass", "source_line": 341, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_posterior_mass (policy : Fin 3) :\n controlPosterior sparseGibbsPrior 1 sparseGibbsCost policy =\n ![1 / 4, 3 / 4, 0] policy", "statement_sha256": "cc5ac967f5f2499015c9132975bd98d573fe9eab84a96869b922da4e21f434ab" }, @@ -59468,7 +59468,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.sparseGibbs_supported_strict_gap", "source_line": 353, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem sparseGibbs_supported_strict_gap :\n efeControlObjective sparseGibbsPrior 1 sparseGibbsCost\n (controlPosterior sparseGibbsPrior 1 sparseGibbsCost) <\n efeControlObjective sparseGibbsPrior 1 sparseGibbsCost sparseGibbsPrior ∧\n controlPosterior sparseGibbsPrior 1 sparseGibbsCost 2 = 0", "statement_sha256": "146f3b58e95e88d0e32ca4fce392c72d381635383913bb553a54c89ae30b8b3f" }, @@ -59565,7 +59565,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.zeroPrecision_prior_not_minimizer", "source_line": 420, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem zeroPrecision_prior_not_minimizer :\n let prior : FiniteLaw Bool := FiniteLaw.uniform\n let cost : Bool → ℝ := fun policy => if policy then 1 else 0\n (∀ policy, 0 < prior policy) ∧ controlPosterior prior 0 cost = prior ∧\n efeControlObjective prior 0 cost (FiniteLaw.pointMass false) <\n efeControlObjective prior 0 cost (controlPosterior prior 0 cost)", "statement_sha256": "796b542f4bc4970439427adef26736c7db97aaa70727efc9929859c53200ca0e" }, @@ -59670,7 +59670,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EFEPolicy.zeroReference_unsupported_candidate_beats_posterior", "source_line": 397, - "source_owner": "src/fep_lean/formal/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/efe_policy_selection.lean", "statement": "theorem zeroReference_unsupported_candidate_beats_posterior :\n let prior : FiniteLaw Bool := FiniteLaw.pointMass false\n let candidate : FiniteLaw Bool := FiniteLaw.pointMass true\n let cost : Bool → ℝ := fun policy => if policy then -2 else 0\n (prior true = 0 ∧ candidate true = 1) ∧\n efeControlObjective prior 1 cost candidate <\n efeControlObjective prior 1 cost (controlPosterior prior 1 cost)", "statement_sha256": "7a977a14acc960890678048f30976c7c923b15d4cc49b357d31a93e05489d384" }, @@ -59762,7 +59762,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.distinct_posteriors", "source_line": 809, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem distinct_posteriors : ProbabilityTheory.betaMeasure 2 1 ≠ ProbabilityTheory.betaMeasure 1 2", "statement_sha256": "5d2d370a21f8bfaaf380c1db391931a7ccf9a32b4c9a06323548a1a5d9bb029d" }, @@ -59859,7 +59859,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.likelihood_measurable", "source_line": 682, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem likelihood_measurable (s f : ℕ) : Measurable (likelihood s f)", "statement_sha256": "bf4d4df9ecb8a586acac555a0dc27a50fe72b2cffecda7d94a5784411f329a2d" }, @@ -59957,7 +59957,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.noninteger_measure_recovery", "source_line": 771, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem noninteger_measure_recovery :\n (ProbabilityTheory.betaMeasure (1 / 2) (3 / 2)).withDensity (likelihood 0 0) =\n ProbabilityTheory.betaMeasure (1 / 2) (3 / 2)", "statement_sha256": "cb491a241af4c2f77be855adea1c23c42a9e7876d2bbb14dac33c14f9f55fa66" }, @@ -60049,7 +60049,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.noninteger_prior_recovery", "source_line": 768, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem noninteger_prior_recovery : normalizer (1 / 2) (3 / 2) 0 0 = 1", "statement_sha256": "fa1ea28d121193283c4ccac4ff490f15319c829b29c16e09aca0a5b495a14197" }, @@ -60134,7 +60134,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.nonpositive_shape_refused", "source_line": 833, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem nonpositive_shape_refused : ¬ (0 < (0 : ℝ)) ∧ ¬ (0 < (-1 : ℝ))", "statement_sha256": "0e8aaa0a79809acc23c0b462f28a4b3ed857caa2238299fd93dbfab2264efbdb" }, @@ -60281,7 +60281,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalized_posterior", "source_line": 750, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_posterior {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n (ENNReal.ofReal (normalizer a b s f))⁻¹ •\n (ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f) =\n ProbabilityTheory.betaMeasure (a + (s : ℝ)) (b + (f : ℝ))", "statement_sha256": "23b437fbbec1852b84aa6ddb2117472ff6b9c2cc0fd9893ec324556867e9865b" }, @@ -60416,7 +60416,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalized_probability", "source_line": 758, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_probability {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n IsProbabilityMeasure ((ENNReal.ofReal (normalizer a b s f))⁻¹ •\n (ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f))", "statement_sha256": "dd55d1d9ad92ab986cb0f47974ed719b8144787416c222e512e7cd00b564dbb8" }, @@ -60524,7 +60524,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalizer_finite", "source_line": 679, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalizer_finite (a b : ℝ) (s f : ℕ) :\n ENNReal.ofReal (normalizer a b s f) ≠ ⊤", "statement_sha256": "b0ce29c78fd005703e8139cc969eb9f0c3d3187efc3cc154684df5a150c55b80" }, @@ -60652,7 +60652,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.normalizer_pos", "source_line": 674, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalizer_pos {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n 0 < normalizer a b s f", "statement_sha256": "4198fe07f2a4d3a065f31b6a2ff71802c6057efa2b8ef71e05f30db9fec09023" }, @@ -60760,7 +60760,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.outside_pdf_zero", "source_line": 835, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem outside_pdf_zero (a b x : ℝ) (hx : x ≤ 0 ∨ 1 ≤ x) :\n ProbabilityTheory.betaPDF a b x = 0", "statement_sha256": "4f6721b853f8917e42d0e8538742bd2255b4af203d06ae12aa9a3ed54346e669" }, @@ -60911,7 +60911,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.pdf_product", "source_line": 702, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem pdf_product {a b : ℝ} (ha : 0 < a) (hb : 0 < b)\n (s f : ℕ) (x : ℝ) :\n ProbabilityTheory.betaPDF a b x * likelihood s f x =\n ENNReal.ofReal (normalizer a b s f) *\n ProbabilityTheory.betaPDF (a + (s : ℝ)) (b + (f : ℝ)) x", "statement_sha256": "c5d95d0566a8f359be44b2e0ee411b4bafafb95df6f1d6b6114017cd0c019097" }, @@ -61049,7 +61049,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.real_pdf_product", "source_line": 686, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem real_pdf_product {a b : ℝ} (ha : 0 < a) (hb : 0 < b)\n (s f : ℕ) (x : ℝ) :\n ProbabilityTheory.betaPDFReal a b x * (x ^ s * (1 - x) ^ f) =\n normalizer a b s f * ProbabilityTheory.betaPDFReal (a + (s : ℝ)) (b + (f : ℝ)) x", "statement_sha256": "99ad52b02c9a04df5d5465a5728bccf071ea73b036299625255c430a6099d7c2" }, @@ -61134,7 +61134,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_failure_normalizer", "source_line": 792, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_failure_normalizer : normalizer 1 1 0 1 = 1 / 2", "statement_sha256": "5bf6de53dae206a9d5d6660f9d3f9d52531ae311459535da2894f10bc4541188" }, @@ -61232,7 +61232,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_failure_posterior", "source_line": 802, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_failure_posterior :\n (ENNReal.ofReal (1 / 2 : ℝ))⁻¹ •\n (ProbabilityTheory.betaMeasure 1 1).withDensity (likelihood 0 1) =\n ProbabilityTheory.betaMeasure 1 2", "statement_sha256": "45f1305197953357cb09364ecaa9e30fafab4d89ae2c65fefa8a3557fb2914d1" }, @@ -61317,7 +61317,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_success_normalizer", "source_line": 789, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_success_normalizer : normalizer 1 1 1 0 = 1 / 2", "statement_sha256": "38f110e25d5215dfc1060eb79a911058d13d8fa387ad05e4d0595b1e99f949d0" }, @@ -61415,7 +61415,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.uniform_success_posterior", "source_line": 795, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem uniform_success_posterior :\n (ENNReal.ofReal (1 / 2 : ℝ))⁻¹ •\n (ProbabilityTheory.betaMeasure 1 1).withDensity (likelihood 1 0) =\n ProbabilityTheory.betaMeasure 2 1", "statement_sha256": "43b5256343e7e5d80e09be31ccbd2a8a5be0a6e5f2f4dfd67c4b83a76b4f3012" }, @@ -61550,7 +61550,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.weighted_mass", "source_line": 742, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_mass {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n ((ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f)) Set.univ =\n ENNReal.ofReal (normalizer a b s f)", "statement_sha256": "66e6946472ce1ef57febc78ada73e1e43306fc8153a0201d1d31590a86edae31" }, @@ -61691,7 +61691,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.weighted_measure", "source_line": 726, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_measure {a b : ℝ} (ha : 0 < a) (hb : 0 < b) (s f : ℕ) :\n (ProbabilityTheory.betaMeasure a b).withDensity (likelihood s f) =\n ENNReal.ofReal (normalizer a b s f) •\n ProbabilityTheory.betaMeasure (a + (s : ℝ)) (b + (f : ℝ))", "statement_sha256": "ec65dd1d6130c5b37ee8cf2c5ee9039676b7fb2661725800d170c2a30cd92b93" }, @@ -61783,7 +61783,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.wrong_inverse_ratio", "source_line": 818, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem wrong_inverse_ratio : ENNReal.ofReal (normalizer 1 1 1 0) ≠ ENNReal.ofReal (2 : ℝ)", "statement_sha256": "26452d2d2eb8a7a5cb5708ec201d5d47bdb22b0d42b34cb727b77934391d036b" }, @@ -61881,7 +61881,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.wrong_scaled_measure_refused", "source_line": 822, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem wrong_scaled_measure_refused :\n (ProbabilityTheory.betaMeasure 1 1).withDensity (likelihood 1 0) ≠\n ENNReal.ofReal (2 : ℝ) • ProbabilityTheory.betaMeasure 2 1", "statement_sha256": "2b31baa0989421c19dc968229be8ac4fe2cfb92d72408bfdf82ce190ebc44141" }, @@ -61998,7 +61998,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaDensity.zero_counts", "source_line": 764, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem zero_counts {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n normalizer a b 0 0 = 1", "statement_sha256": "e5009d1156b0540cec26986a87f21a94b7fcde4fa0167e83b7e84e1459eb9718" }, @@ -62106,7 +62106,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaProductPosterior.betaPiZ_empty", "source_line": 1314, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem betaPiZ_empty (a b : Fin 0 → ℝ) (s t : Fin 0 → ℕ) :\n betaPiZ 0 a b s t = 1", "statement_sha256": "7066b3926d8083473261209d455dd60b4838643439387d8ddaf1a4fdef4ecff1" }, @@ -62261,7 +62261,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaProductPosterior.betaPiZ_pos_finite", "source_line": 1266, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem betaPiZ_pos_finite (n : ℕ) (a b : Fin n → ℝ) (s t : Fin n → ℕ)\n (ha : ∀ i, 0 ProbabilityTheory.betaMeasure (a i) (b i))).withDensity\n (fun x => ∏ i, likelihood (s i) (t i) (x i)) =\n Measure.pi (fun i => ProbabilityTheory.betaMeasure (a i+(s i:ℝ)) (b i+(t i:ℝ)))", "statement_sha256": "6f5c0291aa3dbfd1c8cd588c9877bfecceb709b1183ab5ad510a29083503c65f" }, @@ -62591,7 +62591,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.BetaProductPosterior.weighted_beta_pi", "source_line": 1274, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_beta_pi (n : ℕ) (a b : Fin n → ℝ) (s t : Fin n → ℕ)\n (ha : ∀ i, 0 ProbabilityTheory.betaMeasure (a i) (b i))).withDensity\n (fun x => ∏ i, likelihood (s i) (t i) (x i)) =\n betaPiZ n a b s t • Measure.pi (fun i =>\n ProbabilityTheory.betaMeasure (a i+(s i:ℝ)) (b i+(t i:ℝ)))", "statement_sha256": "71510e8f66ca92b7b2b43acf58954b8aa8f577479b1e724ca34de3eb72a837f1" }, @@ -62752,7 +62752,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.incidence_factorization", "source_line": 1021, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem incidence_factorization {I J : Type*} [Fintype I] [Fintype J]\n (a : J → ℝ) (b : I → ℝ) (counts : J → ℕ) (uses : I → J → Prop)\n [∀ i j, Decidable (uses i j)] :\n (∏ j, (a j * ∏ i, if uses i j then b i else 1) ^ counts j) =\n (∏ j, a j ^ counts j) *\n ∏ i, b i ^ (∑ j, if uses i j then counts j else 0)", "statement_sha256": "5b2516732f69acda6b15bea050a387fdb3280f59613042d6083214bcdb6b99b7" }, @@ -62861,7 +62861,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.three_category_pullback", "source_line": 1039, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem three_category_pullback (u v : ℝ) (c0 c1 c2 : ℕ) :\n u ^ c0 * ((1-u)*v) ^ c1 * ((1-u)*(1-v)) ^ c2 =\n (u ^ c0 * (1-u) ^ (c1+c2)) * (v ^ c1 * (1-v) ^ c2)", "statement_sha256": "b3f654fb34a134d30d8bd6050f6d818e724fa530cb00d7b38312cf95551ce239" }, @@ -62958,7 +62958,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.three_category_zero_counts", "source_line": 1046, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem three_category_zero_counts (u v : ℝ) :\n u ^ (0:ℕ) * ((1-u)*v) ^ (0:ℕ) * ((1-u)*(1-v)) ^ (0:ℕ) = 1", "statement_sha256": "19d8d4bf468250bd38c222619a6f71eca2886441b8e10c9d15b2306b04d8b016" }, @@ -63043,7 +63043,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.CategoricalLikelihood.wrong_tail_count_refused", "source_line": 1050, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem wrong_tail_count_refused :\n ((1-(1/2:ℝ))*(1-(1/3:ℝ))) ^ (1:ℕ) ≠\n (1-(1/3:ℝ)) ^ (1:ℕ)", "statement_sha256": "8dff64ce30be760056cb528dd36f25db5305d4ad4ab8dae5b74f2b27fee1badc" }, @@ -63179,7 +63179,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.matrixZ_pos_finite", "source_line": 1482, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem matrixZ_pos_finite (m k : ℕ) (α : Fin m → Fin (k+1) → ℝ)\n (hα : ∀ r j, 0<α r j) (c : Fin m → Fin (k+1) → ℕ) :\n matrixZ m k α c ≠ 0 ∧ matrixZ m k α c ≠ ⊤", "statement_sha256": "57c0cb3349d665f2ff6cd963207dd8f691691a922f0b613f4187da2393b7c163" }, @@ -63319,7 +63319,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.normalized_rows", "source_line": 1489, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_rows (m k : ℕ) (α : Fin m → Fin (k+1) → ℝ)\n (hα : ∀ r j, 0<α r j) (c : Fin m → Fin (k+1) → ℕ) :\n (matrixZ m k α c)⁻¹ • (Measure.pi (fun r => family k (α r))).withDensity\n (fun A => ∏ r, categoricalLikelihood k (c r) (A r)) =\n Measure.pi (fun r => family k (fun j => α r j+(c r j:ℝ)))", "statement_sha256": "fb02433892cec37a762584f8e658b8354c1031d1411d094e15d26d1aa57485e0" }, @@ -63480,7 +63480,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.vector_pi_scale_factors", "source_line": 1443, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem vector_pi_scale_factors {K : Type*} [Fintype K] (μ : K → Measure E)\n (c : K → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite (c i • μ i)] :\n Measure.pi (fun i => c i • μ i) = (∏ i, c i) • Measure.pi μ", "statement_sha256": "b5dcef0ec9f4732c66f869f74813574355b12630a5b7304ed698890060f6a1d1" }, @@ -63652,7 +63652,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.vector_pi_withDensity", "source_line": 1400, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem vector_pi_withDensity (n : ℕ) (μ : Fin n → Measure E)\n (f : Fin n → E → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite ((μ i).withDensity (f i))] (hf : ∀ i, Measurable (f i)) :\n (Measure.pi μ).withDensity (fun x => ∏ i, f i (x i)) =\n Measure.pi (fun i => (μ i).withDensity (f i))", "statement_sha256": "c19cccb486ee5c95896641dcf838d379f0257a5a099ac9f1be5b5792e7e91b97" }, @@ -63824,7 +63824,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.ConditioningRowProductProposal.weighted_rows", "source_line": 1464, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_rows (m k : ℕ) (α : Fin m → Fin (k+1) → ℝ)\n (hα : ∀ r j, 0<α r j) (c : Fin m → Fin (k+1) → ℕ) :\n (Measure.pi (fun r => family k (α r))).withDensity\n (fun A => ∏ r, categoricalLikelihood k (c r) (A r)) =\n matrixZ m k α c • Measure.pi (fun r => family k (fun j => α r j+(c r j:ℝ)))", "statement_sha256": "bec6e73691ff496c0ee01400ca18fc61e28cab268d6f5c1c235d998bb36e19d6" }, @@ -63975,7 +63975,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.FinitePiWeighting.fin_pi_withDensity", "source_line": 1195, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem fin_pi_withDensity (n : ℕ) (μ : Fin n → Measure ℝ)\n (f : Fin n → ℝ → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite ((μ i).withDensity (f i))] (hf : ∀ i, Measurable (f i)) :\n (Measure.pi μ).withDensity (fun x => ∏ i, f i (x i)) =\n Measure.pi (fun i => (μ i).withDensity (f i))", "statement_sha256": "c1a5e3e6e3082572db786e5567c703df0600cd04cb8605fe034d773529d7c5c4" }, @@ -64115,7 +64115,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.FinitePiWeighting.pi_scale_factors", "source_line": 1238, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem pi_scale_factors {K : Type*} [Fintype K] (μ : K → Measure ℝ)\n (c : K → ENNReal) [∀ i, SigmaFinite (μ i)]\n [∀ i, SigmaFinite (c i • μ i)] :\n Measure.pi (fun i => c i • μ i) = (∏ i, c i) • Measure.pi μ", "statement_sha256": "aae2c6c37f612200265457c2f41ea52d19857183249fbd0c181edf4f312e4c4d" }, @@ -64281,7 +64281,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.MeasureTransport.map_likelihood_weight", "source_line": 857, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem map_likelihood_weight (μ : Measure X) (T : X → Y)\n (L : Y → ENNReal) (hT : Measurable T) (hL : Measurable L) :\n (μ.withDensity (fun x => L (T x))).map T =\n (μ.map T).withDensity L", "statement_sha256": "52dcc8118dc304ea5810ba8bd3ca1d8b3515589c4616587b21d41c1b55c33f43" }, @@ -64473,7 +64473,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.MeasureTransport.product_likelihood_weight", "source_line": 867, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem product_likelihood_weight (μ : Measure X) (ν : Measure Y)\n [SFinite μ] [SFinite ν] (f : X → ENNReal) (g : Y → ENNReal)\n (hf : Measurable f) (hg : Measurable g) :\n (μ.prod ν).withDensity (fun z => f z.1 * g z.2) =\n (μ.withDensity f).prod (ν.withDensity g)", "statement_sha256": "2acda92df3d747f15dfec936dc8d68ec5f049e58afa61222cdc875168c38d1f2" }, @@ -64570,7 +64570,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.beta_ae_Ioo", "source_line": 973, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem beta_ae_Ioo (a b : ℝ) :\n ∀ᵐ x ∂ProbabilityTheory.betaMeasure a b, 0 < x ∧ x < 1", "statement_sha256": "22f01f72c9e550a1c08fe754680b0940305b0b91d3d4d41c7d1750083a4c1812" }, @@ -64711,7 +64711,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.family_ae_simplex", "source_line": 998, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem family_ae_simplex (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) :\n ∀ᵐ p ∂family n α, (∀ i, 0 ≤ p i) ∧ ∑ i, p i = 1", "statement_sha256": "56f0fc1d1ded9a30f496075307220b49912c80312607c6c4ec63923beb93850d" }, @@ -64840,7 +64840,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.family_probability", "source_line": 922, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem family_probability (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) : IsProbabilityMeasure (family n α)", "statement_sha256": "669b9c86aa22ca599f5cdd0735bfc433b7c8bc42adbfc1aaea8d0b51740c45b4" }, @@ -64959,7 +64959,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.family_zero", "source_line": 942, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem family_zero (α : Fin 1 → ℝ) (hα : ∀ i, 0 < α i) :\n family 0 α = Measure.dirac (fun _ : Fin 1 => (1 : ℝ))", "statement_sha256": "b2964111a9ab6e7a1b9d1abf0a19b28a44869057b85113e6b36bec3ce5c0a168" }, @@ -65055,7 +65055,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.measurable_stickMap", "source_line": 902, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem measurable_stickMap (n : ℕ) : Measurable (stickMap n)", "statement_sha256": "86929c2adb2536e49cd5de3c3b8dcbcf2d86f199f71f2d584a8773732af2e34d" }, @@ -65184,7 +65184,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickLaw_ae_unit", "source_line": 984, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickLaw_ae_unit (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) :\n ∀ᵐ v ∂stickLaw n α, ∀ i, 0 ≤ v i ∧ v i ≤ 1", "statement_sha256": "dbac2b11a8013eaf09e05615fa717864894fa5e02ea266e41371362062086dce" }, @@ -65307,7 +65307,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickLaw_probability", "source_line": 914, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickLaw_probability (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) : IsProbabilityMeasure (stickLaw n α)", "statement_sha256": "c6b343921cedeb385b1b0d80c4de138290597b18f4f3a6c56b6731efdfdf3082" }, @@ -65433,7 +65433,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickMap_nonneg", "source_line": 930, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_nonneg (n : ℕ) (v : Fin n → ℝ)\n (hv : ∀ j, 0 ≤ v j ∧ v j ≤ 1) (i : Fin (n + 1)) : 0 ≤ stickMap n v i", "statement_sha256": "b8e40724a09e6f9a7c29cffb262d1875906cba67232f744ee51f2761706275c8" }, @@ -65539,7 +65539,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickMap_sum_one", "source_line": 953, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_sum_one (n : ℕ) (v : Fin n → ℝ) :\n ∑ i : Fin (n + 1), stickMap n v i = 1", "statement_sha256": "cd69b1354af87d108e5873383482f8e8b9646ea8188d593825d75ba83796fdf0" }, @@ -65635,7 +65635,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.stickMap_zero", "source_line": 938, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_zero (v : Fin 0 → ℝ) : stickMap 0 v = fun _ => 1", "statement_sha256": "9206a4f0994a59748201ee6ac137a500709125d6b32abe2d2a3049c1082df42d" }, @@ -65761,7 +65761,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamily.tailShape_pos", "source_line": 891, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem tailShape_pos (n : ℕ) (α : Fin (n + 1) → ℝ)\n (hα : ∀ i, 0 < α i) (i : Fin n) : 0 < tailShape n α i", "statement_sha256": "6660266e968f5789ed50f2e1e080ab41830e87d78f1bab764b5cb44c5305ebd8" }, @@ -65900,7 +65900,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.normalized_family", "source_line": 1377, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem normalized_family (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n (stickZ n α c)⁻¹ • (family n α).withDensity (categoricalLikelihood n c) =\n family n (fun j => α j+(c j:ℝ))", "statement_sha256": "6c8b32ef69982ac034d11108ce325317cc021fd1821cd723fa7b8662edad533a" }, @@ -66043,7 +66043,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.stickZ_pos_finite", "source_line": 1339, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickZ_pos_finite (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n stickZ n α c ≠ 0 ∧ stickZ n α c ≠ ⊤", "statement_sha256": "d4948edef6f98715abad9f1de23d7b229a27a84824ab177f423956837afdd67e" }, @@ -66200,7 +66200,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.weighted_family", "source_line": 1358, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_family (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n (family n α).withDensity (categoricalLikelihood n c) =\n stickZ n α c • family n (fun j => α j+(c j:ℝ))", "statement_sha256": "37c1d1a0fe78241e953c43db75fd198cc42ecc7f404e194dfccad9ebe2a08fbf" }, @@ -66341,7 +66341,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.weighted_family_mass", "source_line": 1369, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_family_mass (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n ((family n α).withDensity (categoricalLikelihood n c)) Set.univ = stickZ n α c", "statement_sha256": "13ee5f143da488ce7c8c3b3f1faf5e06894aa6fc688b3074aaf00d7c548d83ef" }, @@ -66492,7 +66492,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickFamilyPosterior.weighted_stickLaw", "source_line": 1344, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem weighted_stickLaw (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0<α j) (c : Fin (n+1) → ℕ) :\n (stickLaw n α).withDensity (stickLikelihood n c) =\n stickZ n α c • stickLaw n (fun j => α j+(c j:ℝ))", "statement_sha256": "250d9a695420eca7b8793174dfd30f62f2df8baa9d7770c167d55725236126e4" }, @@ -66608,7 +66608,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.headFactor_likelihood", "source_line": 1096, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem headFactor_likelihood (n : ℕ) (v : Fin n → ℝ) (c : Fin (n+1) → ℕ) :\n (∏ j, headFactor n v j ^ c j) = ∏ i : Fin n, v i ^ c i.castSucc", "statement_sha256": "0c86a865ba063551f608af664605ff1ad2b0a0c5743be8db09459df1573f9d68" }, @@ -66724,7 +66724,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.stickMap_incidence", "source_line": 1075, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_incidence (n : ℕ) (v : Fin n → ℝ) (j : Fin (n+1)) :\n stickMap n v j = headFactor n v j *\n ∏ i : Fin n, if i.val < j.val then (1-v i) else 1", "statement_sha256": "28ca267303dfddf72ebab30365cce5a54ec179b238f390dfa256531d325d2b86" }, @@ -66855,7 +66855,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.stickMap_likelihood_incidence", "source_line": 1086, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem stickMap_likelihood_incidence (n : ℕ) (v : Fin n → ℝ)\n (c : Fin (n+1) → ℕ) :\n (∏ j, stickMap n v j ^ c j) =\n (∏ j, headFactor n v j ^ c j) *\n ∏ i : Fin n, (1-v i) ^ (∑ j : Fin (n+1), if i.val < j.val then c j else 0)", "statement_sha256": "3e24ac543798df21b6b044ec0dfdf2ae8a593e8785473bb09af1a3aad06ea517" }, @@ -66981,7 +66981,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.tailShape_update", "source_line": 1102, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem tailShape_update (n : ℕ) (α : Fin (n+1) → ℝ)\n (c : Fin (n+1) → ℕ) (i : Fin n) :\n tailShape n (fun j => α j + (c j : ℝ)) i =\n tailShape n α i + (tailCount n c i : ℝ)", "statement_sha256": "fce598fddfd3712fdd029031d841ed35f1bacab209d32d51aea6a8fe3dba6b8f" }, @@ -67096,7 +67096,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.StickMapLikelihood.zero_stick_likelihood", "source_line": 1112, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem zero_stick_likelihood (v : Fin 0 → ℝ) (c : Fin 1 → ℕ) :\n (∏ j, stickMap 0 v j ^ c j) = 1", "statement_sha256": "d85340aa2e6aa4533704ca98939d5c3cffce9a7229881d40e19e34537dc39b99" }, @@ -67237,7 +67237,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.ae_likelihood_pullback", "source_line": 1171, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem ae_likelihood_pullback (n : ℕ) (α : Fin (n+1) → ℝ)\n (hα : ∀ j, 0 < α j) (c : Fin (n+1) → ℕ) :\n ∀ᵐ v ∂stickLaw n α, categoricalLikelihood n c (stickMap n v) = stickLikelihood n c v", "statement_sha256": "6ffe99fe6ddb3489cf2da36ff351913245282b33903f55496a90710493867b7d" }, @@ -67384,7 +67384,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.ennreal_likelihood_pullback", "source_line": 1153, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem ennreal_likelihood_pullback (n : ℕ) (v : Fin n → ℝ) (c : Fin (n+1) → ℕ)\n (hv : ∀ i, 0 ≤ v i ∧ v i ≤ 1) :\n categoricalLikelihood n c (stickMap n v) = stickLikelihood n c v", "statement_sha256": "ed5a4c764f5628f1f76639083e0e58e98cdcd7a1f47e3254ffa97ad9bf3557f3" }, @@ -67508,7 +67508,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.ofReal_product", "source_line": 1143, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem ofReal_product {K : Type*} [Fintype K] (f : K → ℝ) (hf : ∀ k, 0 ≤ f k) :\n ENNReal.ofReal (∏ k, f k) = ∏ k, ENNReal.ofReal (f k)", "statement_sha256": "6e5ba8a9e3cce9dcef83d7053279c064c6360cb5adb63078c020355fd984eb6c" }, @@ -67647,7 +67647,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.real_likelihood_pullback", "source_line": 1136, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem real_likelihood_pullback (n : ℕ) (v : Fin n → ℝ) (c : Fin (n+1) → ℕ) :\n (∏ j, stickMap n v j ^ c j) =\n ∏ i : Fin n, (v i ^ c i.castSucc * (1-v i) ^ tailCount n c i)", "statement_sha256": "f624b35a574964e6b5d97f4d1dffe6aa830bcb59bb642def749183e4556bb49e" }, @@ -67763,7 +67763,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.TailCountTransfer.tail_exponent_eq", "source_line": 1131, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem tail_exponent_eq (n : ℕ) (c : Fin (n+1) → ℕ) (i : Fin n) :\n (∑ j : Fin (n+1), if i.val < j.val then c j else 0) = tailCount n c i", "statement_sha256": "acf38c67f72798dd7abcf4a3c3b9d6733a88d2e5330e66f90e735661d8d289ef" }, @@ -67825,7 +67825,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.brierExcess_eq_sqError", "source_line": 240, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -67965,7 +67965,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletBinary_bernoulliBayes_bridge", "source_line": 560, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletBinary_bernoulliBayes_bridge (success failure : ℝ)\n (successPositive : 0 < success) (failurePositive : 0 < failure) :\n let α := binaryPseudoCounts success failure\n let p := polyaPredictive α (fun _ => 0) true\n let l₁ := polyaPredictive α (Pi.single true 1 : Bool → ℕ) true\n let l₀ := polyaPredictive α (Pi.single false 1 : Bool → ℕ) true\n p * l₁ / (p * l₁ + (1 - p) * l₀) =\n polyaPredictive α (Pi.single true 1 : Bool → ℕ) true", "statement_sha256": "bb5a0c6c8c03a1902ca85818deab1e24f0d27b99bafe8b7a54fed358485cac30" }, @@ -68074,7 +68074,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletPosterior_total", "source_line": 395, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletPosterior_total (α : K → ℝ) (n : K → ℕ) :\n ∑ k, dirichletPosterior α n k = dirichletTotal α n", "statement_sha256": "58bb1ccc55f8a23a0242b34fc2ecb188b5ea087b8c5818a52b79e2599ec8ae6f" }, @@ -68216,7 +68216,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletSequenceProbability_eq_countProbability", "source_line": 522, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletSequenceProbability_eq_countProbability (α : K → ℝ)\n (xs : List K) :\n dirichletSequenceProbability α xs =\n polyaCountProbability α (fun k => xs.count k)", "statement_sha256": "fe5a07e0a4336f2cbb73efc967c761308eecbaf28c416417493ed9c8a29dfbed" }, @@ -68348,7 +68348,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletSequenceProbability_eq_counts", "source_line": 481, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletSequenceProbability_eq_counts (xs : List K) :\n ∀ α : K → ℝ, dirichletSequenceProbability α xs =\n (∏ k, risingFactorial (α k) (xs.count k)) /\n risingFactorial (∑ k, α k) xs.length", "statement_sha256": "f5efdc8b3027bc9747ed07fc61bf27e8d27fce64ecf88bc0155bb47b57829a11" }, @@ -68495,7 +68495,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.dirichletSequenceProbability_exchangeable", "source_line": 531, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem dirichletSequenceProbability_exchangeable (α : K → ℝ)\n {xs ys : List K} (permutation : xs.Perm ys) :\n dirichletSequenceProbability α xs = dirichletSequenceProbability α ys", "statement_sha256": "cc5c26012e5c8ebaa6bddf65cbff7ccc4f19f68e1daaa496e33453fb964d4ef1" }, @@ -68567,7 +68567,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_add", "source_line": 168, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -68638,7 +68638,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_const", "source_line": 186, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem expectation_const (sampling : FiniteLaw Ω) (constant : ℝ) :\n VariationalDuality.expectation sampling (fun _ => constant) = constant", "statement_sha256": "8ba5a17071f1d9a3283ced20904197fac138298e288bdfd2dae7fa8700fd1b50" }, @@ -68719,7 +68719,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_const_mul", "source_line": 175, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -68801,7 +68801,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.expectation_mono", "source_line": 160, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -68883,7 +68883,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.finiteEventProbability_mono", "source_line": 278, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69005,7 +69005,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceAbsoluteError_le", "source_line": 90, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69157,7 +69157,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_probability_le", "source_line": 328, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69282,7 +69282,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.laplaceBadEvent_subset", "source_line": 309, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69363,7 +69363,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceBias_abs_le", "source_line": 78, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69419,7 +69419,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.laplaceBias_nonzero_witness", "source_line": 345, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem laplaceBias_nonzero_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", "statement_sha256": "310c7ae1b9948ec17d31121fffea1317871ec35215c8600d13224c9d20049b46" }, @@ -69553,7 +69553,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceBrierRisk_le", "source_line": 254, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69635,7 +69635,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceError_identity", "source_line": 63, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69740,7 +69740,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredError_le", "source_line": 118, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -69892,7 +69892,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.laplaceSquaredRisk_le", "source_line": 193, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/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" }, @@ -70078,7 +70078,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedKernel_nonneg", "source_line": 607, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedKernel_nonneg {R : Type*} (α : R → K → ℝ) (n : R → K → ℕ)\n (alphaNonneg : ∀ r k, 0 ≤ α r k) (r : R) (k : K) :\n 0 ≤ learnedKernel α n r k", "statement_sha256": "dc4b0d45fee0478e837125cbc4b822a76e05b2776bba8b7888d2d7eb264082ce" }, @@ -70259,7 +70259,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedKernel_row_sum_one", "source_line": 613, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedKernel_row_sum_one {R : Type*} (α : R → K → ℝ) (n : R → K → ℕ)\n (rowPositive : ∀ r, 0 < ∑ k, α r k + ∑ k, (n r k : ℝ)) (r : R) :\n ∑ k, learnedKernel α n r k = 1", "statement_sha256": "c07d87648f495f6c6a4719ccf8b086a32b2914a89fafca6167f608d5601903fc" }, @@ -70459,7 +70459,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedLikelihood_normalised", "source_line": 630, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedLikelihood_normalised {S : Type*} (α : S → K → ℝ)\n (n : S → K → ℕ) (alphaPositive : ∀ s k, 0 < α s k) [Nonempty K] (s : S) :\n (∀ o, 0 ≤ learnedLikelihood α n s o) ∧\n ∑ o, learnedLikelihood α n s o = 1", "statement_sha256": "e2cd7a6a90f7700b2832a3d20dbf92c6e7d08e2953e2e6aee444b853f0b08b09" }, @@ -70675,7 +70675,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.learnedTransition_normalised", "source_line": 641, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem learnedTransition_normalised {S U : Type*} (α : S × U → K → ℝ)\n (n : S × U → K → ℕ) (alphaPositive : ∀ r k, 0 < α r k) [Nonempty K]\n (s : S) (u : U) :\n (∀ s', 0 ≤ learnedTransition α n s u s') ∧\n ∑ s', learnedTransition α n s u s' = 1", "statement_sha256": "cf39c5af5311a318b58da227d802adfa35bbf040bd1c57f222d7689660ff0373" }, @@ -70794,7 +70794,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.listCountSum", "source_line": 514, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem listCountSum (xs : List K) : ∑ k, xs.count k = xs.length", "statement_sha256": "4fc359e0d67234acc080609b118ac3d7669efc364ab2693fd226242d68e0145f" }, @@ -70940,7 +70940,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaCountProbability_succ", "source_line": 442, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaCountProbability_succ (α : K → ℝ) (n : K → ℕ) (x : K) :\n polyaCountProbability α (n + (Pi.single x 1 : K → ℕ)) =\n polyaPredictive α n x * polyaCountProbability α n", "statement_sha256": "e8dbd10499542f8db6067f5f5972ee6f515dd234736795ecbf41d18c4da0f24e" }, @@ -71070,7 +71070,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_binary", "source_line": 549, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_binary (success failure : ℝ) (n : Bool → ℕ) :\n polyaPredictive (binaryPseudoCounts success failure) n true =\n (success + (n true : ℝ)) /\n (success + failure + ((n true : ℝ) + (n false : ℝ)))", "statement_sha256": "54f1bf3cab5ec77b2abb4225a71beb10d5abbf2cac753361f8379601cd93cc7e" }, @@ -71196,7 +71196,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_binary_laplace", "source_line": 583, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_binary_laplace (n : Bool → ℕ) :\n polyaPredictive (binaryPseudoCounts 1 1) n true =\n laplaceEstimate (n true) (n true + n false)", "statement_sha256": "9ec1348a697e8bbc9b21cd94431d41fdd4d462e5af7f15009af74638e52ce940" }, @@ -71327,7 +71327,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_eq_posterior_normalised", "source_line": 401, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_eq_posterior_normalised (α : K → ℝ) (n : K → ℕ) (k : K) :\n polyaPredictive α n k =\n dirichletPosterior α n k / ∑ j, dirichletPosterior α n j", "statement_sha256": "1ad85aae7ed9633fe75cededcb3250e185fc7d85430d9cfeaf5b1df02abf0ae2" }, @@ -71466,7 +71466,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_nonneg", "source_line": 408, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_nonneg (α : K → ℝ) (n : K → ℕ)\n (alphaNonneg : ∀ k, 0 ≤ α k) (k : K) :\n 0 ≤ polyaPredictive α n k", "statement_sha256": "b7bffc3c7044d2e627c6006c3edf729ed94195febadcf199dee62f8211d90d76" }, @@ -71600,7 +71600,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_ones", "source_line": 593, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_ones (n : K → ℕ) (k : K) :\n polyaPredictive (fun _ => (1 : ℝ)) n k =\n ((n k : ℝ) + 1) / ((∑ j, (n j : ℝ)) + Fintype.card K)", "statement_sha256": "fa243e52384550e6330d3100b48e1ee8350b77e16d4e0cb0f880f58f8b19269b" }, @@ -71757,7 +71757,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_pos", "source_line": 426, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_pos (α : K → ℝ) (n : K → ℕ)\n (alphaPositive : ∀ k, 0 < α k) [Nonempty K] (k : K) :\n 0 < polyaPredictive α n k", "statement_sha256": "6c263ba17bd878ff136d99616b0f68058022429e7e492cacf3184a91499cced7" }, @@ -71891,7 +71891,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.polyaPredictive_sum_one", "source_line": 418, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem polyaPredictive_sum_one (α : K → ℝ) (n : K → ℕ)\n (totalPositive : 0 < ∑ j, α j + ∑ j, (n j : ℝ)) :\n ∑ k, polyaPredictive α n k = 1", "statement_sha256": "8d28b81898df235bbb82a328662ceb84665bfbff6dfa9920a8a664a778d2c789" }, @@ -71995,7 +71995,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.risingFactorial_succ_left", "source_line": 366, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem risingFactorial_succ_left (a : ℝ) (m : ℕ) :\n risingFactorial a (m + 1) = a * risingFactorial (a + 1) m", "statement_sha256": "79cdd2d1b7965e6df5a533765622f76a39d6798c1143b40735704c2997b0c257" }, @@ -72099,7 +72099,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.risingFactorial_succ_right", "source_line": 377, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem risingFactorial_succ_right (a : ℝ) (m : ℕ) :\n risingFactorial a (m + 1) = risingFactorial a m * (a + m)", "statement_sha256": "2eb70411adaa126d2a872a7bee2d93387e782d4da34385ed55e6aee412dbb1ef" }, @@ -72193,7 +72193,7 @@ ], "qualified_name": "FEP.EmpiricalRisk.risingFactorial_zero", "source_line": 363, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem risingFactorial_zero (a : ℝ) : risingFactorial a 0 = 1", "statement_sha256": "40ffad503ce92de35ef7891201f4c8ed86983fb9bcfa24a7339cc9863681ae44" }, @@ -72254,7 +72254,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.shrinkage_le_one", "source_line": 56, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem shrinkage_le_one (sampleCount : ℕ) :\n shrinkage sampleCount ≤ 1", "statement_sha256": "7e70ad651f8bae5b6c07932cc2ff4a41b56cdaeb3ccae460a9a1ffd3b3dbb4ec" }, @@ -72315,7 +72315,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.EmpiricalRisk.shrinkage_nonneg", "source_line": 51, - "source_owner": "src/fep_lean/formal/empirical_risk.lean", + "source_owner": "src/fep_formal/formal/empirical_risk.lean", "statement": "theorem shrinkage_nonneg (sampleCount : ℕ) :\n 0 ≤ shrinkage sampleCount", "statement_sha256": "8f9e79225727e85761036de9ea627c03ab4b9ccca72f5a75e4c04b6e03906edf" }, @@ -72424,7 +72424,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.constantStatistic_variance_zero", "source_line": 424, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -72516,7 +72516,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logPartitionBregman", "source_line": 370, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -72617,7 +72617,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.finiteKL_eq_logRatioKL", "source_line": 355, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -72698,7 +72698,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.fisher_eq_variance", "source_line": 154, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem fisher_eq_variance (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", "statement_sha256": "5f0beee45d89505e104149eb141d77488481feb87c0d52d42b6b1d989c321654" }, @@ -72799,7 +72799,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_hasDerivAt", "source_line": 265, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -72885,7 +72885,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.law_pos", "source_line": 75, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem law_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.law parameter outcome", "statement_sha256": "ad000d133af492936126ba9c88be8c5ebdcde5ada5762ff26f3d99d954334844" }, @@ -72987,7 +72987,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logDensityRatio_eq", "source_line": 304, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73078,7 +73078,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logPartition_hasDerivAt", "source_line": 238, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", "statement_sha256": "039fa2048638e77176f74b6d74d99498829bf218e9caacff99b0c8be0829cdbc" }, @@ -73170,7 +73170,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.logRatioKL_eq_logPartitionBregman", "source_line": 327, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73271,7 +73271,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.log_law_eq", "source_line": 289, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73373,7 +73373,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_injectiveOn", "source_line": 393, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73475,7 +73475,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.meanParameter_strictMono", "source_line": 379, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73551,7 +73551,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_eq_expectation", "source_line": 86, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73642,7 +73642,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_hasDerivAt", "source_line": 248, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem mean_hasDerivAt (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", "statement_sha256": "5ee292fe68385aeb74729108ec2831f1e461af5ca69518426e46cceced961557" }, @@ -73723,7 +73723,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.mean_score_zero", "source_line": 132, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73814,7 +73814,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_hasDerivAt", "source_line": 229, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -73890,7 +73890,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.partition_pos", "source_line": 57, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem partition_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) : 0 < family.partition parameter", "statement_sha256": "f10ef8bc4173e8f7a7a994a622d01e08a7bf9b3e9cb1181196267423b0949a6d" }, @@ -73981,7 +73981,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.score_eq_statistic_sub_mean", "source_line": 125, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -74051,7 +74051,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero", "source_line": 409, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem threeState_variance_zero : threeStateFamily.variance 0 = 2 / 3", "statement_sha256": "da20e31971b78ba048982b21e612c3474ff35cbacd59ec366182566a9145c117" }, @@ -74128,7 +74128,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.threeState_variance_zero_pos", "source_line": 413, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem threeState_variance_zero_pos : 0 < threeStateFamily.variance 0", "statement_sha256": "95dda5d86e5125880d663a04fc18fcd43dacd62bb8be6d1eff827a0da5d53850" }, @@ -74209,7 +74209,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.variance_eq_rawMoment", "source_line": 159, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -74295,7 +74295,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weight_pos", "source_line": 52, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/formal/exponential_family.lean", "statement": "theorem weight_pos (family : ScalarExponentialFamily Outcome)\n (parameter : ℝ) (outcome : Outcome) :\n 0 < family.weight parameter outcome", "statement_sha256": "3c673d17c383f6352097f8d57e4ef69f7deaf78798b7efe357a024c35761cac7" }, @@ -74391,7 +74391,7 @@ ], "qualified_name": "FEP.ExponentialFamily.ScalarExponentialFamily.weightedMoment_hasDerivAt", "source_line": 212, - "source_owner": "src/fep_lean/formal/exponential_family.lean", + "source_owner": "src/fep_formal/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" }, @@ -74412,7 +74412,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_external", "source_line": 183, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_four_external :\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal", "statement_sha256": "ba427b973cade1f06772407c7a742efe4492255985255d1bd4f6c645d28e01ce" }, @@ -74433,7 +74433,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_four_sensory", "source_line": 191, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_four_sensory :\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory", "statement_sha256": "761955f54384734da1bd0c0fbfd12921a6e114fc188b50785b8253779a37e43a" }, @@ -74454,7 +74454,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_six", "source_line": 199, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_six :\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix", "statement_sha256": "3384deba99aea33d14d2048451d120e50052b22e3661bb2bef925c6108cde5f1" }, @@ -74475,7 +74475,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_eigenmode_two", "source_line": 176, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_eigenmode_two :\n K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo", "statement_sha256": "c94f709b74e3e9ffbbf07462e7442b81504f668ef41b5c6a5088d7a1ab67d676" }, @@ -74496,7 +74496,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_external_internal", "source_line": 317, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_external_internal : K external internal = 0", "statement_sha256": "45eadcc0db17724670582f586751896725d84b7707c8889799224ac38d7fee37" }, @@ -74524,7 +74524,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_isHermitian", "source_line": 117, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_isHermitian : K.IsHermitian", "statement_sha256": "2ffb540b7a753993aa6ffa5baf359b18ea68113f99a6be9b2d558641dc823a54" }, @@ -74545,7 +74545,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_isSymm", "source_line": 112, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_isSymm : K.IsSymm", "statement_sha256": "bd0de063d4e98370d0c13a659938be4c1105e0e7d7e2f6fda21e04ea817129bc" }, @@ -74566,7 +74566,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_mul_Sigma", "source_line": 251, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_mul_Sigma : K * Sigma = 1", "statement_sha256": "d1d6fa0b7f5681d8cdeb8a9e13529efac07a710d0eb6e446fd2e18487a7554c4" }, @@ -74587,7 +74587,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_normalizedAllOnes", "source_line": 539, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_normalizedAllOnes :\n K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes", "statement_sha256": "79e146510beb22dc96e9ae564d6f5568cc89547a1b7efde94d809585254ecea7" }, @@ -74615,7 +74615,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.K_posDef", "source_line": 122, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem K_posDef : K.PosDef", "statement_sha256": "b56ebb7bd5959ff344195d377d1aa856138c2d532ce73ba453fe610ab406e651" }, @@ -74636,7 +74636,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_eq_entries", "source_line": 261, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_eq_entries :\n Sigma = fun\n | external, external => 7 / 24\n | external, sensory => 1 / 12\n | external, active => 1 / 12\n | external, internal => 1 / 24\n | sensory, external => 1 / 12\n | sensory, sensory => 7 / 24\n | sensory, active => 1 / 24\n | sensory, internal => 1 / 12\n | active, external => 1 / 12\n | active, sensory => 1 / 24\n | active, active => 7 / 24\n | active, internal => 1 / 12\n | internal, external => 1 / 24\n | internal, sensory => 1 / 12\n | internal, active => 1 / 12\n | internal, internal => 7 / 24", "statement_sha256": "ac0df693d6123d537a49101c30424ae9fd458aedc8214c4f6fd814f2a00bcb1c" }, @@ -74664,7 +74664,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_external_internal", "source_line": 321, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_external_internal : Sigma external internal = 1 / 24", "statement_sha256": "dabdf6634c5da24054d7ce064e6d07a15800698e4fee5517c26c884a2dd1a44b" }, @@ -74692,7 +74692,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_external_internal_ne_zero", "source_line": 325, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_external_internal_ne_zero : Sigma external internal ≠ 0", "statement_sha256": "38c3531119466c065e092b06477587fa6f39c3a989ec1506c803401fe9cbb0bf" }, @@ -74720,7 +74720,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_isSymm", "source_line": 306, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_isSymm : Sigma.IsSymm", "statement_sha256": "b6302bbba8f9d142cbc9b287b11097327daf0eb29d516f63a48c4f030980b2fd" }, @@ -74741,7 +74741,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_mul_K", "source_line": 256, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_mul_K : Sigma * K = 1", "statement_sha256": "98e83144ec3427c97728ad3fdb46d6c14c41510e8bad9e07246e9e15f230d916" }, @@ -74769,7 +74769,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_normalizedAllOnes", "source_line": 547, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_normalizedAllOnes :\n Sigma *ᵥ normalizedAllOnes = (1 / 2 : ℝ) • normalizedAllOnes", "statement_sha256": "d02700429a07ef1adce18675dd108ab4728d7567e2cda356cbc13ee9ab09e231" }, @@ -74790,7 +74790,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.Sigma_posDef", "source_line": 312, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem Sigma_posDef : Sigma.PosDef", "statement_sha256": "2b86e4e33f19149729517780e3fb366db0b7f31bdb05722afb7a74c2f0a659a1" }, @@ -74829,7 +74829,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.allOnesProjection_embedding", "source_line": 527, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem allOnesProjection_embedding (value : ℝ) :\n allOnesProjection (allOnesEmbedding value) = value", "statement_sha256": "d14f91ef9d80b57c08af3ef986bb11577e6e7db0bb62e656ba9b5569155ff40f" }, @@ -74857,7 +74857,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.allOnes_projection_nontrivial", "source_line": 534, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem allOnes_projection_nontrivial :\n allOnesProjection normalizedAllOnes = 1", "statement_sha256": "0ce2ad6d2a1bb19f05c14c0082ce0addea91e2d963db632ceadb6276138a9c72" }, @@ -74878,7 +74878,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.axisFin_order", "source_line": 58, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem axisFin_order :\n axisFin external = 0 ∧\n axisFin sensory = 1 ∧\n axisFin active = 2 ∧\n axisFin internal = 3", "statement_sha256": "571ef2af4be60fb298dd29f0b28aa49272325a8594adb94e28d2350cd9db1134" }, @@ -74899,7 +74899,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.axis_cardinality", "source_line": 66, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem axis_cardinality : Fintype.card Axis = 4", "statement_sha256": "489a5f3951777e31503b4d65f4fbcb92d4f4cc4f4b456f1b0b7bc2dcbd63046d" }, @@ -74920,7 +74920,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.axis_pairwise_ne", "source_line": 72, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem axis_pairwise_ne :\n external ≠ sensory ∧ external ≠ active ∧ external ≠ internal ∧\n sensory ≠ active ∧ sensory ≠ internal ∧ active ≠ internal", "statement_sha256": "c6a6db9004f7789d4c4fdb897c2e8395402ad521202ce5cbc360639b829aab2e" }, @@ -74965,7 +74965,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.eigenmodes_independent", "source_line": 230, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem eigenmodes_independent\n (two fourExternal fourSensory six : ℝ)\n (h : ∀ axis,\n two * eigenmodeTwo axis +\n fourExternal * eigenmodeFourExternal axis +\n fourSensory * eigenmodeFourSensory axis +\n six * eigenmodeSix axis = 0) :\n two = 0 ∧ fourExternal = 0 ∧ fourSensory = 0 ∧ six = 0", "statement_sha256": "a2df629ed5be753229545a7c1f45eb2e1f9b3f58bba8b474a2d99c7d5d80ee49" }, @@ -74986,7 +74986,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.eigenmodes_nonzero", "source_line": 206, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem eigenmodes_nonzero :\n eigenmodeTwo ≠ 0 ∧\n eigenmodeFourExternal ≠ 0 ∧\n eigenmodeFourSensory ≠ 0 ∧\n eigenmodeSix ≠ 0", "statement_sha256": "12a2796000efe563597c51d5ec5089307a068b898c987406192e0c0c11d42af1" }, @@ -75018,7 +75018,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.evolution_normalizedAllOnes", "source_line": 655, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem evolution_normalizedAllOnes (time : ℝ≥0) :\n NormedSpace.exp ((-(time : ℝ)) • K) *ᵥ normalizedAllOnes =\n Real.exp (-2 * (time : ℝ)) • normalizedAllOnes", "statement_sha256": "00a21c95036e45835e905487fb1a6dfd5bf6a0ec50669f8b64dd7df85d8fc454" }, @@ -75226,7 +75226,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.exactFin4Carrier", "source_line": 867, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem exactFin4Carrier :\n Fintype.card Axis = 4 ∧\n (axisFin external = 0 ∧ axisFin sensory = 1 ∧\n axisFin active = 2 ∧ axisFin internal = 3) ∧\n (external ≠ sensory ∧ external ≠ active ∧ external ≠ internal ∧\n sensory ≠ active ∧ sensory ≠ internal ∧ active ≠ internal) ∧\n K.IsSymm ∧ K.PosDef ∧\n K * Sigma = 1 ∧ Sigma * K = 1 ∧ Sigma.IsSymm ∧ Sigma.PosDef ∧\n (Sigma = fun\n | external, external => 7 / 24\n | external, sensory => 1 / 12\n | external, active => 1 / 12\n | external, internal => 1 / 24\n | sensory, external => 1 / 12\n | sensory, sensory => 7 / 24\n | sensory, active => 1 / 24\n | sensory, internal => 1 / 12\n | active, external => 1 / 12\n | active, sensory => 1 / 24\n | active, active => 7 / 24\n | active, internal => 1 / 12\n | internal, external => 1 / 24\n | internal, sensory => 1 / 12\n | internal, active => 1 / 12\n | internal, internal => 7 / 24) ∧\n K *ᵥ eigenmodeTwo = 2 • eigenmodeTwo ∧\n K *ᵥ eigenmodeFourExternal = 4 • eigenmodeFourExternal ∧\n K *ᵥ eigenmodeFourSensory = 4 • eigenmodeFourSensory ∧\n K *ᵥ eigenmodeSix = 6 • eigenmodeSix ∧\n (eigenmodeTwo ≠ 0 ∧ eigenmodeFourExternal ≠ 0 ∧\n eigenmodeFourSensory ≠ 0 ∧ eigenmodeSix ≠ 0) ∧\n (∀ two fourExternal fourSensory six : ℝ,\n (∀ axis,\n two * eigenmodeTwo axis +\n fourExternal * eigenmodeFourExternal axis +\n fourSensory * eigenmodeFourSensory axis +\n six * eigenmodeSix axis = 0) →\n two = 0 ∧ fourExternal = 0 ∧ fourSensory = 0 ∧ six = 0) ∧\n K external internal = 0 ∧\n Sigma external internal = 1 / 24 ∧ Sigma external internal ≠ 0 ∧\n (∀ (time : ℝ≥0),\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosSemidef) ∧\n (∀ (time : ℝ≥0), 0 < time →\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosDef) ∧\n (∀ center time state,\n transition center time state =\n multivariateGaussian\n (center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K)) (state - center))\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ)) ∧\n (∀ center left right,\n transition center (left + right) =\n transition center right ∘ₖ transition center left) ∧\n (∀ center,\n stationaryLaw center = multivariateGaussian center Sigma) ∧\n (∀ center,\n FEP.MarkovSemigroup.InvariantLaw\n (nativeSemigroup center) (stationaryLaw center)) ∧\n (∀ center state,\n Tendsto (fun time : ℝ≥0 => transitionProbability center time state)\n atTop (nhds (stationaryProbability center))) ∧\n ⟪normalizedAllOnes, normalizedAllOnes⟫ = 1 ∧\n K *ᵥ normalizedAllOnes = 2 • normalizedAllOnes ∧\n Sigma *ᵥ normalizedAllOnes = (1 / 2 : ℝ) • normalizedAllOnes ∧\n (∀ center, (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2) ∧\n (∀ center time,\n projectedTransition center time =\n (scalarParameters center).ouTransition time)", "statement_sha256": "5ee1f0a7d302c08435bc0e3d739d4bdc52d990e79dd011b1705902e73d10de0b" }, @@ -75269,7 +75269,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.integral_transition_tendsto_invariant", "source_line": 490, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem integral_transition_tendsto_invariant\n (center state : StandardizedState)\n (f : StandardizedState →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂\n (transitionProbability center time state : Measure StandardizedState))\n atTop\n (nhds (∫ next, f next ∂\n (stationaryProbability center : Measure StandardizedState)))", "statement_sha256": "e1f141f9aabc4c689f27d86d5893233da9f305ca35c05f304cb96158304d65f6" }, @@ -75290,7 +75290,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.normalizedAllOnes_unit", "source_line": 519, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem normalizedAllOnes_unit :\n ⟪normalizedAllOnes, normalizedAllOnes⟫ = 1", "statement_sha256": "9d34455967af35133a72fd638a4b0e2341ac226130d341c32b9c59977920cab8" }, @@ -75322,7 +75322,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.parameters_covariance", "source_line": 341, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem parameters_covariance (center : StandardizedState) :\n (parameters center).covariance = Sigma", "statement_sha256": "6f81f75e533770f8531ef561fe90a13f584d460b4f22bd4e7fc7358e726ac12a" }, @@ -75371,7 +75371,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.projectedTransition_eq_scalarOU", "source_line": 842, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem projectedTransition_eq_scalarOU (center : ℝ) (time : ℝ≥0) :\n projectedTransition center time =\n (scalarParameters center).ouTransition time", "statement_sha256": "2fbf64da912730b74746258bf548dc95c1280331d92e516e4392dbb329927ee6" }, @@ -75403,7 +75403,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.scalarParameters_exact", "source_line": 684, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem scalarParameters_exact (center : ℝ) :\n (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2", "statement_sha256": "93eccf2dc8b0099761091e7ec5b515cea01471a9b8f1471c293472943ef851fd" }, @@ -75435,7 +75435,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.stationaryLaw_eq_gaussian", "source_line": 431, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_eq_gaussian (center : StandardizedState) :\n stationaryLaw center = multivariateGaussian center Sigma", "statement_sha256": "849c78e3f2f85e609a41d72fc31e316d2763357060d99c56b2fd8a0d273e1628" }, @@ -75467,7 +75467,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.stationaryLaw_invariant", "source_line": 436, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_invariant (center : StandardizedState) :\n FEP.MarkovSemigroup.InvariantLaw\n (nativeSemigroup center) (stationaryLaw center)", "statement_sha256": "6761da990e6210f7368d515df58f5de9467963cd931b962a1ab569b33779939a" }, @@ -75519,7 +75519,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transitionCovariance_posDef", "source_line": 368, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_posDef (center : StandardizedState)\n (time : ℝ≥0) (hTime : 0 < time) :\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosDef", "statement_sha256": "510e474970bb676522b2fa66c3d71943e0d6fec5b48c7e2bb8feeb4a82677a97" }, @@ -75561,7 +75561,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transitionCovariance_posSemidef", "source_line": 358, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_posSemidef (center : StandardizedState)\n (time : ℝ≥0) :\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ).PosSemidef", "statement_sha256": "c2288a375ab5438745c2a4102b1d0edb03f4ff6647dd4014b8de5365df74f83d" }, @@ -75594,7 +75594,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transitionProbability_tendsto_invariant", "source_line": 482, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transitionProbability_tendsto_invariant\n (center state : StandardizedState) :\n Tendsto (fun time : ℝ≥0 => transitionProbability center time state)\n atTop (nhds (stationaryProbability center))", "statement_sha256": "3f52518abefcdb6131edd1043c5f02491920385d0e71d235697f8cc140998475" }, @@ -75637,7 +75637,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_add", "source_line": 407, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_add (center : StandardizedState) (left right : ℝ≥0) :\n transition center (left + right) =\n transition center right ∘ₖ transition center left", "statement_sha256": "ae6fafa337c2c942e3b56a05ea3642722784526914e67d701e16920a779ee495" }, @@ -75689,7 +75689,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_apply", "source_line": 378, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_apply (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) :\n transition center time state =\n multivariateGaussian\n (center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K)) (state - center))\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ)", "statement_sha256": "39e1ecb4d253c0bcde14e63439868275d33308bcc4049e19b261abb0f7340244" }, @@ -75752,7 +75752,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_covariance", "source_line": 456, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_covariance (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) (left right : Axis) :\n cov[fun next => next left, fun next => next right;\n transition center time state] =\n (Sigma -\n NormedSpace.exp ((-(time : ℝ)) • K) * Sigma *\n (NormedSpace.exp ((-(time : ℝ)) • K))ᵀ) left right", "statement_sha256": "4138b297b17ced27014a966d4a151773fd47e60c332bd05c93fd28b02093e27a" }, @@ -75804,7 +75804,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_mean", "source_line": 444, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_mean (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) :\n (∫ next, next ∂transition center time state) =\n center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K)) (state - center)", "statement_sha256": "3cc5a9d29809af487f85c4f13d95c2b11f16ed74b89a18e7d50baea1328dbcf6" }, @@ -75856,7 +75856,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_univ", "source_line": 395, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_univ (center : StandardizedState) (time : ℝ≥0)\n (state : StandardizedState) :\n transition center time state Set.univ = 1", "statement_sha256": "244c4ffc79abf2c173eb420886f081036aed21d1e300e45b69f7f77903d1b87d" }, @@ -75888,7 +75888,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.Fin4GaussianSemigroup.transition_zero", "source_line": 401, - "source_owner": "src/fep_lean/formal/fin4_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/fin4_gaussian_semigroup.lean", "statement": "theorem transition_zero (center : StandardizedState) :\n transition center 0 = Kernel.id", "statement_sha256": "d9e947b68ba44d2be3b232ad21806d5816d484c4d0b59a8424ad597b3b6d8af1" }, @@ -75947,7 +75947,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.boolBiased_entropy_lt_log_two", "source_line": 601, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem boolBiased_entropy_lt_log_two :\n entropy boolBiased < Real.log 2", "statement_sha256": "3d3ed81e7694760d3223c7eb4acad12d5afbcc74c427bbfdb390c7c6a1c2b127" }, @@ -76027,7 +76027,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalEntropy_nonneg", "source_line": 261, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalEntropy_nonneg\n (prior : FiniteLaw α) (kernel : FiniteKernel α β) :\n 0 ≤ conditionalEntropy prior kernel", "statement_sha256": "fca76ad5b938028e42b94a2486e3448d59ae871cac2222dd714d23c85d85a049" }, @@ -76118,7 +76118,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalKL_eq_crossEntropy_sub_entropy", "source_line": 345, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalKL_eq_crossEntropy_sub_entropy\n (prior : FiniteLaw α) (actual reference : FiniteKernel α β)\n (hreference : ∀ x y, 0 < reference x y) :\n conditionalKL prior actual reference =\n conditionalCrossEntropy prior actual reference -\n conditionalEntropy prior actual", "statement_sha256": "9b0c45979775d8d94af8e3b26edd08d625cc4bd9476a86f6482680b9f0205748" }, @@ -76221,7 +76221,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalKL_eq_zero_iff", "source_line": 277, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalKL_eq_zero_iff\n (prior : FiniteLaw α) (actual reference : FiniteKernel α β)\n (hprior : ∀ x, 0 < prior x) :\n conditionalKL prior actual reference = 0 ↔ actual = reference", "statement_sha256": "2227898980a38579520165372f675ebf1f88a136f34b42edc1cbcae9bd59d17d" }, @@ -76302,7 +76302,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.conditionalKL_nonneg", "source_line": 268, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem conditionalKL_nonneg\n (prior : FiniteLaw α) (actual reference : FiniteKernel α β) :\n 0 ≤ conditionalKL prior actual reference", "statement_sha256": "9746cc3fdd65116340bc02c6b58e16441db55d2ed6859548621a622e6069a20e" }, @@ -76354,7 +76354,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_disjoint_pointMass_totalized", "source_line": 149, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem crossEntropy_disjoint_pointMass_totalized :\n crossEntropy (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 0", "statement_sha256": "f74ea1881802bf10ffc1978b51333f8fa69ebd93218509de661dfe10b3f7d003" }, @@ -76449,7 +76449,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_joint", "source_line": 317, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem crossEntropy_joint\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n crossEntropy (actualKernel.joint actualPrior)\n (referenceKernel.joint referencePrior) =\n crossEntropy actualPrior referencePrior +\n conditionalCrossEntropy actualPrior actualKernel referenceKernel", "statement_sha256": "e0a9f5491904443e1ef0bff7572b76e5d6bfef18fa4c6b35981cc5e1fc3f98db" }, @@ -76532,7 +76532,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_product_marginals", "source_line": 469, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "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" }, @@ -76603,7 +76603,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.crossEntropy_uniform", "source_line": 559, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem crossEntropy_uniform [Nonempty α] (p : FiniteLaw α) :\n crossEntropy p FiniteLaw.uniform = Real.log (Fintype.card α)", "statement_sha256": "89826f4b0ca900c322e6be3704c8e3ad8136f86e93486c0d714029f211533e3f" }, @@ -76699,7 +76699,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_eq_log_card_iff", "source_line": 579, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -76772,7 +76772,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_joint_eq_add_conditional", "source_line": 302, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -76868,7 +76868,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_le_log_card", "source_line": 571, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem entropy_le_log_card [Nonempty α] (p : FiniteLaw α) :\n entropy p ≤ Real.log (Fintype.card α)", "statement_sha256": "07a88f13ae67e89ea1d525cc3201b9d5d5402dbef07e3050294a084bb1f03c62" }, @@ -76962,7 +76962,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_lt_log_card_of_ne_uniform", "source_line": 588, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -77025,7 +77025,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_nonneg", "source_line": 126, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem entropy_nonneg (p : FiniteLaw α) : 0 ≤ entropy p", "statement_sha256": "eb76c2347a2b3a4bbfa8eb67a54c2f1cd92139215fe077b7c6655d93b1f37b7d" }, @@ -77098,7 +77098,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.entropy_product", "source_line": 397, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem entropy_product (p : FiniteLaw α) (q : FiniteLaw β) :\n entropy (p.product q) = entropy p + entropy q", "statement_sha256": "b307234b93b5624b1b8f4e5239b7b3b42771dc4b3bd363393bc39e09cf627ee6" }, @@ -77150,7 +77150,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_disjoint_pointMass_totalized", "source_line": 158, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_disjoint_pointMass_totalized :\n finiteKL (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) = 1", "statement_sha256": "dfda67abead3160fe4ac8de606584c98755782c609f3b7ca032d4191c16f4c3c" }, @@ -77231,7 +77231,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_eq_crossEntropy_sub_entropy", "source_line": 235, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/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" }, @@ -77302,7 +77302,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_eq_zero_iff", "source_line": 167, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_eq_zero_iff (p q : FiniteLaw α) :\n finiteKL p q = 0 ↔ p = q", "statement_sha256": "8453cb83f1fdff0ec74e971d76e6247fed5b97efc07a2f7c8e0fb1f791a03dc5" }, @@ -77422,7 +77422,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_joint_chain_rule", "source_line": 362, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_joint_chain_rule\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n finiteKL (actualKernel.joint actualPrior)\n (referenceKernel.joint referencePrior) =\n finiteKL actualPrior referencePrior +\n conditionalKL actualPrior actualKernel referenceKernel", "statement_sha256": "240aa136bbabda705d916bc0ee63672c1167c039608b60ca234c6670f8cfa4ac" }, @@ -77486,7 +77486,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_nonneg", "source_line": 132, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_nonneg (p q : FiniteLaw α) : 0 ≤ finiteKL p q", "statement_sha256": "78381e09fd3a1a8f1134f0484cb358e721bf0a7b1fe4532c6704251ac9a17ef2" }, @@ -77594,7 +77594,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_prior_le_joint", "source_line": 383, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_prior_le_joint\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n finiteKL actualPrior referencePrior ≤\n finiteKL (actualKernel.joint actualPrior)\n (referenceKernel.joint referencePrior)", "statement_sha256": "074ae9fe0b6528bbe8c6bc0f63c9b8a120ae92f362461315729e38e3871267a8" }, @@ -77696,7 +77696,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_product", "source_line": 414, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_product\n (p q : FiniteLaw α) (r s : FiniteLaw β)\n (hq : ∀ x, 0 < q x) (hs : ∀ y, 0 < s y) :\n finiteKL (p.product r) (q.product s) =\n finiteKL p q + finiteKL r s", "statement_sha256": "c17998cf4e03334343389eac6bb035545219af87cdbcb967fb1202ae086b09d2" }, @@ -77759,7 +77759,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteKL_self", "source_line": 138, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteKL_self (p : FiniteLaw α) : finiteKL p p = 0", "statement_sha256": "dbe49945a6abd0a9fac5cda377ce9190b6d3b50c2e26beeb2623a24c9d506571" }, @@ -77838,7 +77838,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteWeightMeasure_probability", "source_line": 97, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteWeightMeasure_probability {α : Type*} [Fintype α]\n [MeasurableSpace α] (p : α → ℝ) (hp : ∀ x, 0 ≤ p x)\n (hnormalized : ∑ x, p x = 1) : IsProbabilityMeasure (finiteWeightMeasure p)", "statement_sha256": "25e73f38e31b0c354f46a0ea5edd9348acd2a253f14cc700fc81805eded61e31" }, @@ -77915,7 +77915,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteWeightMeasure_singleton", "source_line": 41, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteWeightMeasure_singleton {α : Type*} [Fintype α]\n [MeasurableSpace α] [DiscreteMeasurableSpace α] (p : α → ℝ) (x : α) :\n finiteWeightMeasure p {x} = ENNReal.ofReal (p x)", "statement_sha256": "e2239d0d38a782e6d0822f5e376dabf417ce9881c431f4542bb14f33a440d068" }, @@ -78020,7 +78020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.finiteWeightMeasure_withDensity_ratio", "source_line": 47, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem finiteWeightMeasure_withDensity_ratio {α : Type*} [Fintype α]\n [MeasurableSpace α] [DiscreteMeasurableSpace α] (p q : α → ℝ)\n (hp : ∀ x, 0 ≤ p x) (hq : ∀ x, 0 ≤ q x)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n (finiteWeightMeasure q).withDensity (fun x => ENNReal.ofReal (p x / q x)) =\n finiteWeightMeasure p", "statement_sha256": "ca429e9ac60f1b8b826c7112dc0179f09a96ded85b45dfed248ca80d5f295184" }, @@ -78131,7 +78131,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.klDiv_finiteWeightMeasure", "source_line": 66, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem klDiv_finiteWeightMeasure {α : Type*} [Fintype α]\n [MeasurableSpace α] [DiscreteMeasurableSpace α] (p q : α → ℝ)\n (hp : ∀ x, 0 ≤ p x) (hq : ∀ x, 0 ≤ q x)\n (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n InformationTheory.klDiv (finiteWeightMeasure p) (finiteWeightMeasure q) =\n ENNReal.ofReal (∑ x, q x * InformationTheory.klFun (p x / q x))", "statement_sha256": "5c8504b478e8b261b33e439b80cbd069160e2ab452677b8536052915e926f843" }, @@ -78227,7 +78227,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_eq_entropy_marginals", "source_line": 492, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_eq_entropy_marginals (joint : FiniteLaw (α × β))\n (hfst : ∀ x, 0 < joint.fstMarginal x)\n (hsnd : ∀ y, 0 < joint.sndMarginal y) :\n mutualInformation joint =\n entropy joint.fstMarginal + entropy joint.sndMarginal - entropy joint", "statement_sha256": "6379ceff5536b6d242c347a0f6dd6f1dbe4e65d194d885241c4489e3228abbfe" }, @@ -78333,7 +78333,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_eq_predictive_entropy_sub_conditional", "source_line": 512, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_eq_predictive_entropy_sub_conditional\n (prior : FiniteLaw α) (kernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < prior x)\n (hpredictive : ∀ y, 0 < kernel.predictive prior y) :\n mutualInformation (kernel.joint prior) =\n entropy (kernel.predictive prior) - conditionalEntropy prior kernel", "statement_sha256": "7fbab147beafdf493a455641618b75cc07c71cdd95f7cde374c9191d57f0fb5e" }, @@ -78403,7 +78403,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_eq_zero_iff", "source_line": 504, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_eq_zero_iff (joint : FiniteLaw (α × β)) :\n mutualInformation joint = 0 ↔\n joint = joint.fstMarginal.product joint.sndMarginal", "statement_sha256": "57de0e7ea300c78091891c380509ae659e81e4cb7688fb10e08e38e6dfe917d6" }, @@ -78509,7 +78509,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_le_predictive_entropy", "source_line": 540, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_le_predictive_entropy\n (prior : FiniteLaw α) (kernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < prior x)\n (hpredictive : ∀ y, 0 < kernel.predictive prior y) :\n mutualInformation (kernel.joint prior) ≤\n entropy (kernel.predictive prior)", "statement_sha256": "88959fa3823d8ddbe0f36eabff59f26a315d1ed3ea4df5ea2a5e69a1b1cf3acf" }, @@ -78579,7 +78579,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_nonneg", "source_line": 456, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_nonneg (joint : FiniteLaw (α × β)) :\n 0 ≤ mutualInformation joint", "statement_sha256": "2be6944073af35150fbd40182877f017ba9d567d88d90026d894c8cddbe42a54" }, @@ -78659,7 +78659,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.mutualInformation_product_eq_zero", "source_line": 461, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem mutualInformation_product_eq_zero (p : FiniteLaw α) (q : FiniteLaw β) :\n mutualInformation (p.product q) = 0", "statement_sha256": "570713996a8afee0b08819ae181309caab83ea3e3dcca798e61fa677e1ecba54" }, @@ -78730,7 +78730,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.uniform_mass_pos", "source_line": 553, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem uniform_mass_pos [Nonempty α] (x : α) :\n 0 < (FiniteLaw.uniform : FiniteLaw α) x", "statement_sha256": "8c17c0049626223565d8f2e7bd07c4a7c3949120f8be812915fd73a7e18d6a36" }, @@ -78804,7 +78804,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteInformation.weighted_klFun_eq_log_score", "source_line": 225, - "source_owner": "src/fep_lean/formal/finite_information.lean", + "source_owner": "src/fep_formal/formal/finite_information.lean", "statement": "theorem weighted_klFun_eq_log_score {a b : ℝ} (hb : 0 < b) :\n b * klFun (a / b) =\n (-a * Real.log b - Real.negMulLog a) + (b - a)", "statement_sha256": "c63a505cb3da7906d6251c7fe9bd7b4e584dccb04103870ec56da8324c1e5481" }, @@ -78927,7 +78927,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.comp_assoc", "source_line": 200, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem comp_assoc {δ : Type*} [Fintype δ]\n (latest : FiniteKernel γ δ) (middle : FiniteKernel β γ)\n (earliest : FiniteKernel α β) :\n comp latest (comp middle earliest) =\n comp (comp latest middle) earliest", "statement_sha256": "cca78e96f27c0345c80e86d3db2f9ea2bf971b96e00971be6be3e5ec1d7cc4c9" }, @@ -79020,7 +79020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.comp_identity_left", "source_line": 219, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem comp_identity_left [DecidableEq β] (kernel : FiniteKernel α β) :\n comp identity kernel = kernel", "statement_sha256": "0dc60d4ddbdafa58de93cfbe6b0d2590b7acbc73bffa083a3f502a95f8ed1860" }, @@ -79113,7 +79113,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.comp_identity_right", "source_line": 212, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem comp_identity_right [DecidableEq α] (kernel : FiniteKernel α β) :\n comp kernel identity = kernel", "statement_sha256": "5016774ef43ba105a60c16c82bd9f6bcc8447333b59f70332a8f9c0025a21e61" }, @@ -79202,7 +79202,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.ext_mass", "source_line": 167, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem ext_mass {kernel₁ kernel₂ : FiniteKernel α β}\n (h : kernel₁.mass = kernel₂.mass) : kernel₁ = kernel₂", "statement_sha256": "74f71c931b23eb17a6d1fe2131a893de9087afec0fbef5594233c2b6f95820f9" }, @@ -79300,7 +79300,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.joint_fstMarginal_mass", "source_line": 284, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem joint_fstMarginal_mass (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (x : α) :\n (joint prior kernel).fstMarginal x = prior x", "statement_sha256": "72dd5b01485ab65fa223e933add38cee6fae416e534420eae73be0fd688cca50" }, @@ -79418,7 +79418,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.posterior_mul_predictive", "source_line": 273, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem posterior_mul_predictive (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < predictive prior kernel y) (x : α) :\n posterior prior kernel y hy x * predictive prior kernel y =\n prior x * kernel x y", "statement_sha256": "f120ab8f6a409744241c2855030c995f293d856f5b098faf71be4c6c5b78e064" }, @@ -79523,7 +79523,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.predictive_comp", "source_line": 246, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem predictive_comp (prior : FiniteLaw α)\n (later : FiniteKernel β γ) (earlier : FiniteKernel α β) :\n (comp later earlier).predictive prior =\n later.predictive (earlier.predictive prior)", "statement_sha256": "3ef3f7883b1d73534100a26aba55026e0ffa9e34f9e984ce51508020291fa600" }, @@ -79616,7 +79616,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.predictive_identity", "source_line": 257, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem predictive_identity [DecidableEq α] (prior : FiniteLaw α) :\n identity.predictive prior = prior", "statement_sha256": "b6200c4b9de1e436a64e7cb3b151076a2591eaaf49f2b40b3bc5d5dc538bddb9" }, @@ -79714,7 +79714,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteKernel.predictive_mass", "source_line": 241, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem predictive_mass (prior : FiniteLaw α) (kernel : FiniteKernel α β)\n (y : β) :\n predictive prior kernel y = ∑ x : α, prior x * kernel x y", "statement_sha256": "e4e5541fbe8e292d0f22a8811859df52ef4763f057e24bf40485addf6862726e" }, @@ -79802,7 +79802,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.coe_mass", "source_line": 41, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem coe_mass (p : FiniteLaw α) (x : α) : p x = p.mass x", "statement_sha256": "03b1193300f3ddb7ed5b7e814d7de7b229280f91b88171d9b8cf471945a3503f" }, @@ -79891,7 +79891,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.ext_mass", "source_line": 45, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem ext_mass {p q : FiniteLaw α} (h : p.mass = q.mass) : p = q", "statement_sha256": "ca74f5a1471cba978764a33c80b0a4987d64048148e8c40cea31471d210afc80" }, @@ -79987,7 +79987,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.map_id_mass", "source_line": 144, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem map_id_mass [DecidableEq α] (p : FiniteLaw α) (x : α) :\n p.map id x = p x", "statement_sha256": "93f6e866d6e1e11e1a0037da704620e818c7c96af592b01ab75dd46c2aa571f2" }, @@ -80093,7 +80093,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.map_mass", "source_line": 140, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem map_mass [DecidableEq β] (f : α → β) (p : FiniteLaw α) (y : β) :\n p.map f y = ∑ x : α, if f x = y then p x else 0", "statement_sha256": "7cf6fe57571eeef32d0c1f516628f3418ace71b66ecebfaa60eb1cb03085cc4c" }, @@ -80181,7 +80181,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.mass_le_one", "source_line": 52, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem mass_le_one (p : FiniteLaw α) (x : α) : p x ≤ 1", "statement_sha256": "e7f27f95ebeceb1fe4f94334ba30fc3f3a9bc643269b9e6443ea418c316f155e" }, @@ -80269,7 +80269,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.mass_mem_Icc", "source_line": 60, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem mass_mem_Icc (p : FiniteLaw α) (x : α) : p x ∈ Set.Icc (0 : ℝ) 1", "statement_sha256": "0a42d65fde7a7f6692bd74d63c9cee51234642c21d5351279b574652480c2634" }, @@ -80370,7 +80370,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_fstMarginal", "source_line": 114, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_fstMarginal (p : FiniteLaw α) (q : FiniteLaw β) :\n (p.product q).fstMarginal = p", "statement_sha256": "b7fe9d74afeb07827b72b570fbef8413a46e4efa20ed7ad8d870af17bc6b5b63" }, @@ -80468,7 +80468,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_fstMarginal_mass", "source_line": 102, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_fstMarginal_mass (p : FiniteLaw α) (q : FiniteLaw β)\n (x : α) :\n (p.product q).fstMarginal x = p x", "statement_sha256": "b5fb8d3ccc65c06349ffda2571be865541e7c5d49adbc96458fa4144197abfc2" }, @@ -80569,7 +80569,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_sndMarginal", "source_line": 121, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_sndMarginal (p : FiniteLaw α) (q : FiniteLaw β) :\n (p.product q).sndMarginal = q", "statement_sha256": "b0eb272dcea919c1235985c8e8aaa0f6c7ebd2ad3acd1f22accb1753bd945dce" }, @@ -80667,7 +80667,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteLaw.product_sndMarginal_mass", "source_line": 108, - "source_owner": "src/fep_lean/formal/finite_probability.lean", + "source_owner": "src/fep_formal/formal/finite_probability.lean", "statement": "theorem product_sndMarginal_mass (p : FiniteLaw α) (q : FiniteLaw β)\n (y : β) :\n (p.product q).sndMarginal y = q y", "statement_sha256": "ebc0b0d04c426ac4128193316aa3b079eefd2ebc968865bf9d1824dcd76449b2" }, @@ -80752,7 +80752,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.hasDobrushinBound_comp", "source_line": 207, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem hasDobrushinBound_comp\n (later earlier : FiniteKernel State State)\n {laterCoefficient earlierCoefficient : ℝ}\n (hLater : HasDobrushinBound later laterCoefficient)\n (hEarlier : HasDobrushinBound earlier earlierCoefficient) :\n HasDobrushinBound (FiniteKernel.comp later earlier)\n (laterCoefficient * earlierCoefficient)", "statement_sha256": "aaba9f325d4a165d30f352723a46be931d915738019ff9d1f2f4411be62e80fb" }, @@ -80803,7 +80803,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.hasDobrushinBound_identity", "source_line": 238, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem hasDobrushinBound_identity [DecidableEq State] :\n HasDobrushinBound\n (FiniteKernel.identity : FiniteKernel State State) 1", "statement_sha256": "370edcac1c1c279d7b5720b35fdcb5b191367b2acbc86d286642012ec3dc06c5" }, @@ -80907,7 +80907,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.hasDobrushinBound_kernelPower", "source_line": 248, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem hasDobrushinBound_kernelPower [DecidableEq State]\n (kernel : FiniteKernel State State) {coefficient : ℝ}\n (hBound : HasDobrushinBound kernel coefficient) (n : ℕ) :\n HasDobrushinBound (kernelPower kernel n) (coefficient ^ n)", "statement_sha256": "799bb9fa8c70bae9709990088cfc5ec8324db2cf5c9bcff1fed3464d46feb269" }, @@ -80991,7 +80991,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isInvariant_comp", "source_line": 90, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isInvariant_comp\n (law : FiniteLaw State)\n (later earlier : FiniteKernel State State)\n (hEarlier : IsInvariant law earlier)\n (hLater : IsInvariant law later) :\n IsInvariant law (FiniteKernel.comp later earlier)", "statement_sha256": "c0c8114a08ab4d2baccaf7097ead87dfce0e2ed2536626fbaa533096dddce65b" }, @@ -81089,7 +81089,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isInvariant_kernelPower", "source_line": 100, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isInvariant_kernelPower [DecidableEq State]\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hInvariant : IsInvariant law kernel) (n : ℕ) :\n IsInvariant law (kernelPower kernel n)", "statement_sha256": "9b973958d5dbcdeecf1845c8ac5bb9948e29f9e9ca4dd25e6165f2a1471eeb3b" }, @@ -81183,7 +81183,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isReversible_comp_of_commute", "source_line": 129, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isReversible_comp_of_commute\n (law : FiniteLaw State)\n (later earlier : FiniteKernel State State)\n (hEarlier : IsReversible law earlier)\n (hLater : IsReversible law later)\n (hCommute : FiniteKernel.comp later earlier =\n FiniteKernel.comp earlier later) :\n IsReversible law (FiniteKernel.comp later earlier)", "statement_sha256": "daf2ebde359c800cf2d0711296a0b3440795ecee788548468f1bcfbe77438e5e" }, @@ -81244,7 +81244,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isReversible_identity", "source_line": 118, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isReversible_identity [DecidableEq State]\n (law : FiniteLaw State) :\n IsReversible law (FiniteKernel.identity : FiniteKernel State State)", "statement_sha256": "cd46d9ef2cef1f68768aec4eac43c812bfa0406cfec382c05392ad1367968e5d" }, @@ -81354,7 +81354,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.isReversible_kernelPower", "source_line": 169, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem isReversible_kernelPower [DecidableEq State]\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (n : ℕ) :\n IsReversible law (kernelPower kernel n)", "statement_sha256": "c2939a1ea1d4f106e25a4fc85d4ad0af72703f67d7868a7f5991d189e2697647" }, @@ -81433,7 +81433,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernelPower_add", "source_line": 70, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernelPower_add [DecidableEq State]\n (kernel : FiniteKernel State State) (m n : ℕ) :\n kernelPower kernel (m + n) =\n FiniteKernel.comp (kernelPower kernel m) (kernelPower kernel n)", "statement_sha256": "577e4de1e6f4e036c5fa1354ffa059e95f25557b4c7ac748395438bcd41c832b" }, @@ -81504,7 +81504,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernelPower_succ", "source_line": 43, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernelPower_succ [DecidableEq State]\n (kernel : FiniteKernel State State) (n : ℕ) :\n kernelPower kernel (n + 1) =\n FiniteKernel.comp kernel (kernelPower kernel n)", "statement_sha256": "ee0d05a5a0633f5c54b41a3a17502994b37f6f7f412ce165eac8ebdb20dafd5f" }, @@ -81565,7 +81565,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernelPower_zero", "source_line": 38, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernelPower_zero [DecidableEq State]\n (kernel : FiniteKernel State State) :\n kernelPower kernel 0 = FiniteKernel.identity", "statement_sha256": "ca439f608a7204e9c8f1dca956c67f68a617e5c5944f454c74b5a5cc2c35f772" }, @@ -81643,7 +81643,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.kernel_comp_power_comm", "source_line": 49, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem kernel_comp_power_comm [DecidableEq State]\n (kernel : FiniteKernel State State) (n : ℕ) :\n FiniteKernel.comp (kernelPower kernel n) kernel =\n FiniteKernel.comp kernel (kernelPower kernel n)", "statement_sha256": "0cc1377af6ecaa322512b6c79383ed2aa6f7d8cbf7214d9bf426503dbcac9460" }, @@ -81716,7 +81716,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.masterIncrement_add_current", "source_line": 288, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem masterIncrement_add_current\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (state : State) :\n masterIncrement law kernel state + law state =\n kernel.predictive law state", "statement_sha256": "c07da3a9430373811a460429571582b0801b556a4367910647851528a2b19054" }, @@ -81779,7 +81779,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.masterIncrement_sum_zero", "source_line": 279, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem masterIncrement_sum_zero\n (law : FiniteLaw State) (kernel : FiniteKernel State State) :\n ∑ state, masterIncrement law kernel state = 0", "statement_sha256": "a6b5dcfc5c2942aa05ecdee6899fd76955c94a8eea0341d1c6ed249419c57155" }, @@ -81888,7 +81888,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.totalVariation_kernelPower_le", "source_line": 261, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem totalVariation_kernelPower_le [DecidableEq State]\n (kernel : FiniteKernel State State) {coefficient : ℝ}\n (hBound : HasDobrushinBound kernel coefficient)\n (left right : FiniteLaw State) (n : ℕ) :\n totalVariation\n ((kernelPower kernel n).predictive left)\n ((kernelPower kernel n).predictive right) ≤\n coefficient ^ n * totalVariation left right", "statement_sha256": "e1c2a5c1c9fcb587d1fd6795f08207f4b09d1d1d01c24625d17920ba56a4374f" }, @@ -81942,7 +81942,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.totalVariation_nonneg", "source_line": 186, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem totalVariation_nonneg (left right : FiniteLaw State) :\n 0 ≤ totalVariation left right", "statement_sha256": "f67c872f9d548844805d03aeca542938cc67ed2acdee726db4a412ff24052844" }, @@ -81995,7 +81995,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FiniteMarkovDynamics.totalVariation_self", "source_line": 193, - "source_owner": "src/fep_lean/formal/finite_markov_dynamics.lean", + "source_owner": "src/fep_formal/formal/finite_markov_dynamics.lean", "statement": "theorem totalVariation_self (law : FiniteLaw State) :\n totalVariation law law = 0", "statement_sha256": "64cf1e2e0ead04d00b659f5b911b5bc5a9a2bc93bd8d51fab595585778f61c1e" }, @@ -82019,7 +82019,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.centeredLogLikelihoodRatio_hasSubgaussianMGF", "source_line": 169, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem centeredLogLikelihoodRatio_hasSubgaussianMGF :\n HasSubgaussianMGF centeredLogLikelihoodRatio\n logLikelihoodRatioProxy truthObservationMeasure", "statement_sha256": "95da793ce6cd659b3e15e41bc25e5fe90fcf1753c53356f802407dd370ade580" }, @@ -82050,7 +82050,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.empiricalLogLikelihoodRatio_strongLaw", "source_line": 692, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem empiricalLogLikelihoodRatio_strongLaw :\n ∀ᵐ path ∂trajectoryLaw,\n Tendsto\n (fun sampleCount =>\n FEP.StatisticalConvergence.empiricalExpectation\n trajectoryObservation logLikelihoodRatio sampleCount path)\n atTop (nhds (-identificationGap))", "statement_sha256": "9b765834f202e7de7cd02b45727ab68e64f2e60f9608eaf5d59e7fb4e0cff862" }, @@ -82122,7 +82122,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.finiteSampleBadGap_probability_le", "source_line": 233, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem finiteSampleBadGap_probability_le\n (sampleCount : ℕ) (deviation : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (deviationPositive : 0 < deviation) :\n trajectoryLaw.real (finiteSampleBadGap sampleCount deviation) ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ _index : Fin sampleCount, logLikelihoodRatioProxy))", "statement_sha256": "366db57c8a28537cc031064079a220519e85d6393768362c872ba68303a58fd3" }, @@ -82167,7 +82167,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.nonidentifiablePosteriorAfter_eq_prior", "source_line": 564, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem nonidentifiablePosteriorAfter_eq_prior\n (prior : FiniteLaw Hypothesis) (path : Trajectory) :\n ∀ sampleCount,\n nonidentifiablePosteriorAfter prior path sampleCount = prior", "statement_sha256": "6c63cef6068a76c2649edb075ce4e912979fc2857f0f4c4415cdce69d7b0bdd1" }, @@ -82212,7 +82212,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.nonidentifiablePredictive_pos", "source_line": 528, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem nonidentifiablePredictive_pos (prior : FiniteLaw Hypothesis)\n (observation : Observation) :\n 0 < nonidentifiableLikelihood.predictive prior observation", "statement_sha256": "25a0e8f52ffe4c5f984f5bfec03e0af107408c7f8afb89859672695c581e579b" }, @@ -82236,7 +82236,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorAfter_two_true_witness", "source_line": 476, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorAfter_two_true_witness :\n posteriorAfter selectedPrior (fun _ => true) 2 false = 1 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 true = 9 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 ≠ selectedPrior", "statement_sha256": "6862f8cf1497068a17807632bb654e2169c40c9b42af76cab77a7b8dc12a06f6" }, @@ -82314,7 +82314,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorAfter_zeroPrior", "source_line": 497, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorAfter_zeroPrior (prior : FiniteLaw Hypothesis)\n (path : Trajectory) (hypothesis : Hypothesis)\n (priorZero : prior hypothesis = 0) :\n ∀ sampleCount, posteriorAfter prior path sampleCount hypothesis = 0", "statement_sha256": "919313c7ff222149181ee1d034dab2b99cc8d2811f538bb444acdf37e417760a" }, @@ -82429,7 +82429,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorBadMass_contraction_of_not_badGap", "source_line": 380, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorBadMass_contraction_of_not_badGap\n (prior : FiniteLaw Hypothesis) (path : Trajectory)\n (sampleCount : ℕ) (deviation : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (deviationPositive : 0 < deviation)\n (deviationBelowGap : deviation < identificationGap)\n (truthPriorPositive : 0 < prior truthHypothesis)\n (notBadGap : path ∉ finiteSampleBadGap sampleCount deviation) :\n 0 < (sampleCount : ℝ) * (identificationGap - deviation) ∧\n posteriorAfter prior path sampleCount false ≤\n priorBadOdds prior *\n Real.exp\n (-((sampleCount : ℝ) * (identificationGap - deviation)))", "statement_sha256": "8d87bc9a9515bf813e8caadf4668ea8b89b6d37a6f66e7afcb5865bb02e568d3" }, @@ -82517,7 +82517,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorBadMass_eventually_contracts", "source_line": 744, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorBadMass_eventually_contracts\n (prior : FiniteLaw Hypothesis)\n (truthPriorPositive : 0 < prior truthHypothesis)\n (margin : ℝ) (marginPositive : 0 < margin)\n (marginBelowGap : margin < identificationGap) :\n ∀ᵐ path ∂trajectoryLaw,\n ∀ᶠ sampleCount in atTop,\n posteriorAfter prior path sampleCount false ≤\n priorBadOdds prior *\n Real.exp\n (-((sampleCount : ℝ) * (identificationGap - margin)))", "statement_sha256": "47a258687ad4da0f2f6ad8ef7b9718f72d53c914e762c8396831d7d7e4769fb6" }, @@ -82625,7 +82625,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.posteriorBadMass_failure_probability_le", "source_line": 444, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem posteriorBadMass_failure_probability_le\n (prior : FiniteLaw Hypothesis) (sampleCount : ℕ) (deviation : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (deviationPositive : 0 < deviation)\n (deviationBelowGap : deviation < identificationGap)\n (truthPriorPositive : 0 < prior truthHypothesis) :\n trajectoryLaw.real\n (posteriorBadMassFailure prior sampleCount deviation) ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ _index : Fin sampleCount, logLikelihoodRatioProxy))", "statement_sha256": "a596a5fb7768482c2fb2fc8e1979366fa1257643111e6493a10cf2cbf3843faf" }, @@ -82670,7 +82670,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.selectedLikelihood_pos", "source_line": 272, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem selectedLikelihood_pos (hypothesis : Hypothesis)\n (observation : Observation) :\n 0 < selectedLikelihood hypothesis observation", "statement_sha256": "ffe5b599b581409b7f1e4040b83a402904b83f823e5f03d75887967ea5b18dff" }, @@ -82715,7 +82715,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.selectedPredictive_pos", "source_line": 280, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem selectedPredictive_pos (prior : FiniteLaw Hypothesis)\n (observation : Observation) :\n 0 < selectedLikelihood.predictive prior observation", "statement_sha256": "7630fcc9f0036aa4f44455dba696d476c2f460da32e2ce1632c48ea679cdc13b" }, @@ -82750,7 +82750,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.trajectoryCoordinate_map", "source_line": 88, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem trajectoryCoordinate_map (index : ℕ) :\n trajectoryLaw.map (fun path : Trajectory => path index) =\n truthObservationMeasure", "statement_sha256": "f3d6e9c69ce2ace803f6060064b7b4b58f999f6504921afee41a4ec1f5d5b999" }, @@ -82774,7 +82774,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.FinitePosteriorLearning.trajectoryCoordinates_iIndep", "source_line": 79, - "source_owner": "src/fep_lean/formal/finite_posterior_learning.lean", + "source_owner": "src/fep_formal/formal/finite_posterior_learning.lean", "statement": "theorem trajectoryCoordinates_iIndep :\n iIndepFun (fun index : ℕ => fun path : Trajectory => path index)\n trajectoryLaw", "statement_sha256": "7bf3fa3e163aa21c7b878f9ae544e67f42691c116f33dec05980bb4b8c33961f" }, @@ -82817,7 +82817,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.density_lintegral_eq_one", "source_line": 58, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem density_lintegral_eq_one (family : FixedVarianceGaussian) (mean : ℝ) :\n ∫⁻ x, family.density mean x = 1", "statement_sha256": "3524f32a209658c011b815627e0f9f607e76dcc5c510dc9aaf5c3afae4571ada" }, @@ -82860,7 +82860,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.density_support", "source_line": 48, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem density_support (family : FixedVarianceGaussian) (mean : ℝ) :\n Function.support (family.density mean) = Set.univ", "statement_sha256": "89d26206161779d5613fdd4689a59d999c15ab3f378a7caf3dd608d62530c8a7" }, @@ -82904,7 +82904,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_eq_meanSquare", "source_line": 173, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_eq_meanSquare\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ) :\n InformationTheory.klDiv\n (family.law sourceMean)\n (family.law referenceMean) =\n ENNReal.ofReal\n ((sourceMean - referenceMean) ^ 2 /\n (2 * (family.variance : ℝ)))", "statement_sha256": "412098f1d3eb90014aa074f392bdb0ae39311c5d9dbd7668b3730f4d66c7d6c2" }, @@ -82948,7 +82948,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_eq_naturalBregman", "source_line": 570, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_eq_naturalBregman\n (family : FixedVarianceGaussian) (sourceNatural referenceNatural : ℝ) :\n InformationTheory.klDiv\n (family.law (family.naturalToMean sourceNatural))\n (family.law (family.naturalToMean referenceNatural)) =\n ENNReal.ofReal\n (family.naturalBregman sourceNatural referenceNatural)", "statement_sha256": "f0ab337c9251dcc70d8465886376481b42f55abfd44aa75edc7f8f2ccc0a64a4" }, @@ -83002,7 +83002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_pos_of_ne", "source_line": 238, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_pos_of_ne\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ)\n (hMeans : sourceMean ≠ referenceMean) :\n 0 < InformationTheory.klDiv\n (family.law sourceMean) (family.law referenceMean)", "statement_sha256": "76b8cf862d61a70f518cb61f97e0a420157377cb01918b1673ae69498909b3cc" }, @@ -83045,7 +83045,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.klDiv_law_self", "source_line": 233, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem klDiv_law_self (family : FixedVarianceGaussian) (mean : ℝ) :\n InformationTheory.klDiv (family.law mean) (family.law mean) = 0", "statement_sha256": "64ee2ea014d9664fda0f9d42f83bb5ce193b3c3ae54fb2117c08f4f566d88697" }, @@ -83088,7 +83088,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_eq_gaussianReal", "source_line": 44, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_eq_gaussianReal (family : FixedVarianceGaussian) (mean : ℝ) :\n family.law mean = gaussianReal mean family.variance", "statement_sha256": "7eff7963c3fea7ef62023a163e81af76d03b7c504d49d99834859e299863da3d" }, @@ -83131,7 +83131,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_eq_withDensity", "source_line": 53, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_eq_withDensity (family : FixedVarianceGaussian) (mean : ℝ) :\n family.law mean = volume.withDensity (family.density mean)", "statement_sha256": "747f6b5d4a1e033c256969179f5cef6dbf1032759bae09b7f248b9cce744e9c1" }, @@ -83164,7 +83164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_injective", "source_line": 588, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_injective\n (family : FixedVarianceGaussian) : Function.Injective family.law", "statement_sha256": "7a1beff03e945b067ffe5b505865cec05695ede19b16176d8573d30a94495973" }, @@ -83208,7 +83208,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_mutuallyAbsolutelyContinuous", "source_line": 74, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_mutuallyAbsolutelyContinuous\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ) :\n family.law sourceMean ≪ family.law referenceMean ∧\n family.law referenceMean ≪ family.law sourceMean", "statement_sha256": "9fad55ee055d5bb98fbeb6ffcfa80bc25c1098468316284b8752498967a8d1e2" }, @@ -83251,7 +83251,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_rnDeriv_volume", "source_line": 68, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_rnDeriv_volume (family : FixedVarianceGaussian) (mean : ℝ) :\n (family.law mean).rnDeriv volume =ᵐ[volume] family.density mean", "statement_sha256": "795e41a8c298a846da48f206f7fce39f1df6a6c2b142d0465207f22f116e074a" }, @@ -83294,7 +83294,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_univ", "source_line": 63, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_univ (family : FixedVarianceGaussian) (mean : ℝ) :\n family.law mean Set.univ = 1", "statement_sha256": "a13daf04b6bd5bc7d8c6aa4c2c3e9a262f780c1bd6bf3a6612250b3a4c5c4b44" }, @@ -83337,7 +83337,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.law_variance_eq_fixed", "source_line": 495, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem law_variance_eq_fixed\n (family : FixedVarianceGaussian) (mean : ℝ) :\n Var[(fun x : ℝ => x); family.law mean] = (family.variance : ℝ)", "statement_sha256": "414ab66f9add8f8d83c18adccc2178f585a26c45ed227b5488b9e7443f136f53" }, @@ -83380,7 +83380,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanFisher_eq_inv_variance", "source_line": 524, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanFisher_eq_inv_variance\n (family : FixedVarianceGaussian) (mean : ℝ) :\n family.meanFisher mean = ((family.variance : ℝ)⁻¹)", "statement_sha256": "b83d3f73f650c2821dbcae21a8ccb925b133cfc8c4e1ff828107a862bc070f55" }, @@ -83423,7 +83423,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanFisher_eq_naturalFisher_pullback", "source_line": 547, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanFisher_eq_naturalFisher_pullback\n (family : FixedVarianceGaussian) (mean : ℝ) :\n family.meanFisher mean =\n family.naturalFisher (family.meanToNatural mean) *\n ((family.variance : ℝ)⁻¹) ^ 2", "statement_sha256": "5cad92e590c443c9bc42b92c7fb86039ffac4854792c772587c9ab0e600b4db5" }, @@ -83467,7 +83467,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanLogDensityRatio_eq", "source_line": 405, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanLogDensityRatio_eq\n (family : FixedVarianceGaussian) (mean x : ℝ) :\n Real.log\n (gaussianPDFReal mean family.variance x /\n gaussianPDFReal 0 family.variance x) =\n mean / (family.variance : ℝ) * x -\n mean ^ 2 / (2 * (family.variance : ℝ))", "statement_sha256": "1279f17bb98008a178aadfcb1be2b1a51992db93edfcf168f519aca67f07cf45" }, @@ -83510,7 +83510,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanScore_centered", "source_line": 478, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanScore_centered\n (family : FixedVarianceGaussian) (mean : ℝ) :\n ∫ x, family.meanScore mean x ∂family.law mean = 0", "statement_sha256": "b4c1d1ae7a0dd24f42f44e85aa8ea089692f5d2fb943d5a692a845a7ada8ba33" }, @@ -83554,7 +83554,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanScore_is_logDensityRatio_derivative", "source_line": 417, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanScore_is_logDensityRatio_derivative\n (family : FixedVarianceGaussian) (mean x : ℝ) :\n HasDerivAt\n (fun candidate =>\n Real.log\n (gaussianPDFReal candidate family.variance x /\n gaussianPDFReal 0 family.variance x))\n (family.meanScore mean x) mean", "statement_sha256": "e7bb77d5419d51978baeefea6bc0cc407c44f136bf23e7eeaad976eccda1cb6a" }, @@ -83597,7 +83597,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanToNatural_hasDerivAt", "source_line": 315, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanToNatural_hasDerivAt\n (family : FixedVarianceGaussian) (mean : ℝ) :\n HasDerivAt family.meanToNatural ((family.variance : ℝ)⁻¹) mean", "statement_sha256": "113ffbce400239e38c014ab2f39d43fc6db9fe49d76651b29987dc2cfcec6a42" }, @@ -83640,7 +83640,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.meanToNatural_naturalToMean", "source_line": 301, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem meanToNatural_naturalToMean\n (family : FixedVarianceGaussian) (mean : ℝ) :\n family.naturalToMean (family.meanToNatural mean) = mean", "statement_sha256": "89e4e9c6420cb0a7000a7bb5cc0e5bc8c414544c4a690a3fdcce3086f4de095c" }, @@ -83684,7 +83684,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalBregman_eq_meanSquare", "source_line": 558, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalBregman_eq_meanSquare\n (family : FixedVarianceGaussian) (sourceNatural referenceNatural : ℝ) :\n family.naturalBregman sourceNatural referenceNatural =\n (family.naturalToMean sourceNatural -\n family.naturalToMean referenceNatural) ^ 2 /\n (2 * (family.variance : ℝ))", "statement_sha256": "d2d2a6c1833316adb99606f63a32dc3bb3c73fadaaf65b6fd59fa9c3c1d91301" }, @@ -83727,7 +83727,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalFisher_eq_covariance", "source_line": 514, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalFisher_eq_covariance\n (family : FixedVarianceGaussian) (natural : ℝ) :\n family.naturalFisher natural =\n cov[(fun x : ℝ => x), (fun x : ℝ => x);\n family.law (family.naturalToMean natural)]", "statement_sha256": "e43c62cf6957a2d92fe32544bfcbcece5ef15fa2956f34e974aa66c336df7357" }, @@ -83770,7 +83770,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalFisher_eq_variance", "source_line": 502, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalFisher_eq_variance\n (family : FixedVarianceGaussian) (natural : ℝ) :\n family.naturalFisher natural = (family.variance : ℝ)", "statement_sha256": "2f4280fe08838e0e6b22c38b10d3b2020131ee569983a5e58d7b2956a5283ce9" }, @@ -83814,7 +83814,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalLogDensityRatio_eq", "source_line": 359, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalLogDensityRatio_eq\n (family : FixedVarianceGaussian) (natural x : ℝ) :\n Real.log\n (gaussianPDFReal (family.naturalToMean natural) family.variance x /\n gaussianPDFReal 0 family.variance x) =\n natural * x - family.naturalLogPartition natural", "statement_sha256": "c83c0d8d71df60b83aca5235d977063ecf61eee9288a7ee7e8fc3f38a60b72e0" }, @@ -83857,7 +83857,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalLogPartitionGradient_hasDerivAt", "source_line": 348, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalLogPartitionGradient_hasDerivAt\n (family : FixedVarianceGaussian) (natural : ℝ) :\n HasDerivAt family.naturalToMean (family.variance : ℝ) natural", "statement_sha256": "59231eb49916a0b067e08e2d7d078f2cd4a48bab2ba99903bbe67a6025b6bcdf" }, @@ -83900,7 +83900,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalLogPartition_hasDerivAt", "source_line": 325, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalLogPartition_hasDerivAt\n (family : FixedVarianceGaussian) (natural : ℝ) :\n HasDerivAt family.naturalLogPartition\n (family.naturalToMean natural) natural", "statement_sha256": "3f914f085983fab2535fc07a5d0043daf591d4095f6acdd5c7f513a8bd3c952b" }, @@ -83943,7 +83943,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalScore_centered", "source_line": 458, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalScore_centered\n (family : FixedVarianceGaussian) (natural : ℝ) :\n ∫ x, family.naturalScore natural x ∂family.law (family.naturalToMean natural) = 0", "statement_sha256": "0e6c53febe195170974f8fa19b2ecbc860470f1a7798fc081c73fcbc634ae1f1" }, @@ -83987,7 +83987,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalScore_is_logDensityRatio_derivative", "source_line": 373, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalScore_is_logDensityRatio_derivative\n (family : FixedVarianceGaussian) (natural x : ℝ) :\n HasDerivAt\n (fun candidate =>\n Real.log\n (gaussianPDFReal (family.naturalToMean candidate) family.variance x /\n gaussianPDFReal 0 family.variance x))\n (family.naturalScore natural x) natural", "statement_sha256": "1a20c6aeef757514d6fb2bdbad8cf619aca353d3b5c732c876b846eadf1bf134" }, @@ -84020,7 +84020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalToMean_injective", "source_line": 581, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalToMean_injective\n (family : FixedVarianceGaussian) : Function.Injective family.naturalToMean", "statement_sha256": "699b3a17dd0cb237e7b8463fb75de499e6a0599bb5826d68fb31be9d9855ae46" }, @@ -84063,7 +84063,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.naturalToMean_meanToNatural", "source_line": 308, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem naturalToMean_meanToNatural\n (family : FixedVarianceGaussian) (natural : ℝ) :\n family.meanToNatural (family.naturalToMean natural) = natural", "statement_sha256": "c3d13d4f3e47705fd7219df3b6f739d14601a3dcd402267077503928e9bd50a9" }, @@ -84085,7 +84085,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianInformationGeometry.FixedVarianceGaussian.zero_variance_excluded", "source_line": 249, - "source_owner": "src/fep_lean/formal/gaussian_information_geometry.lean", + "source_owner": "src/fep_formal/formal/gaussian_information_geometry.lean", "statement": "theorem zero_variance_excluded :\n ¬ ∃ family : FixedVarianceGaussian, family.variance = 0", "statement_sha256": "6f8465d1768298e13bc84ce4070f1ff911261050477956d5db5a983aae0f6996" }, @@ -84333,7 +84333,7 @@ ], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.actual_residual_covariance_zero", "source_line": 1149, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem actual_residual_covariance_zero\n (X : Axis (E := E) (I := I) (B := B) → Ω → ℝ)\n (hX : ∀ a, MemLp (X a) 2 μ)\n (K : Matrix (Axis (E := E) (I := I) (B := B))\n (Axis (E := E) (I := I) (B := B)) ℝ)\n [Invertible (ee K)] (hinv : K * coordinateCovariance (μ := μ) X = 1)\n (hEI : ∀ e i, K (Sum.inl e) (Sum.inr (Sum.inl i)) = 0)\n (R : Matrix I B ℝ) (e : E) (i : I) :\n cov[fun ω ↦ X (Sum.inl e) ω +\n ∑ b, ((ee K)⁻¹ * eb K) e b * X (Sum.inr (Sum.inr b)) ω,\n fun ω ↦ X (Sum.inr (Sum.inl i)) ω + ∑ b, R i b * X (Sum.inr (Sum.inr b)) ω; μ] = 0", "statement_sha256": "77198c465a080ed332e591bfddc3a41fd8f19e53a83ec2858015691d68fee3ab" }, @@ -84551,7 +84551,7 @@ ], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.covariance_residual_block", "source_line": 1099, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem covariance_residual_block\n (X : Axis (E := E) (I := I) (B := B) → Ω → ℝ)\n (hX : ∀ a, MemLp (X a) 2 μ) (L : Matrix E B ℝ) (R : Matrix I B ℝ)\n (e : E) (i : I) :\n cov[fun ω ↦ X (Sum.inl e) ω + ∑ b, L e b * X (Sum.inr (Sum.inr b)) ω,\n fun ω ↦ X (Sum.inr (Sum.inl i)) ω + ∑ b, R i b * X (Sum.inr (Sum.inr b)) ω; μ] =\n ((ei (coordinateCovariance (μ := μ) X) + L * bi (coordinateCovariance (μ := μ) X)) +\n (eb (coordinateCovariance (μ := μ) X) + L * bb (coordinateCovariance (μ := μ) X)) * R.transpose) e i", "statement_sha256": "e888440b9fc6c1f8ca9d924fe3ba41e3ba7ffe237f408732e6288dfeb26dc8d9" }, @@ -84699,7 +84699,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.covariance_weighted_add_left", "source_line": 1071, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem covariance_weighted_add_left (U V : Ω → ℝ) (Y : B → Ω → ℝ) (L : B → ℝ)\n (hU : MemLp U 2 μ) (hV : MemLp V 2 μ) (hY : ∀ b, MemLp (Y b) 2 μ) :\n cov[fun ω ↦ U ω + ∑ b, L b * Y b ω, V; μ] =\n cov[U, V; μ] + ∑ b, L b * cov[Y b, V; μ]", "statement_sha256": "f4e9456cdeb0b2d6b088ea084f0aff75a94d672b37ce19e53b68fdf87bc76b4c" }, @@ -84854,7 +84854,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FiniteCovariance.covariance_weighted_add_right", "source_line": 1082, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem covariance_weighted_add_right (U V : Ω → ℝ) (Y : B → Ω → ℝ) (R : B → ℝ)\n (hU : MemLp U 2 μ) (hV : MemLp V 2 μ) (hY : ∀ b, MemLp (Y b) 2 μ) :\n cov[U, fun ω ↦ V ω + ∑ b, R b * Y b ω; μ] =\n cov[U, V; μ] + ∑ b, R b * cov[U, Y b; μ]", "statement_sha256": "bf5bef38dd3121b5abb3e88897425705512fc63b4dde3f044fe5746b492d8cb6" }, @@ -84977,7 +84977,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FinitePrecision.inverse_rows", "source_line": 1026, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem inverse_rows\n (K S : Matrix (Axis (E := E) (I := I) (B := B))\n (Axis (E := E) (I := I) (B := B)) ℝ)\n (hinv : K * S = 1) (hEI : ∀ e i, K (Sum.inl e) (Sum.inr (Sum.inl i)) = 0) :\n ee K * ei S + eb K * bi S = 0 ∧\n ee K * eb S + eb K * bb S = 0", "statement_sha256": "9400ca9afbe9f4f23d09d322ba48da6c971441954d382a5b46513a9ece5b433d" }, @@ -85125,7 +85125,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.FinitePrecision.residual_cross_block", "source_line": 1043, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem residual_cross_block\n (K S : Matrix (Axis (E := E) (I := I) (B := B))\n (Axis (E := E) (I := I) (B := B)) ℝ)\n [Invertible (ee K)]\n (hinv : K * S = 1) (hEI : ∀ e i, K (Sum.inl e) (Sum.inr (Sum.inl i)) = 0)\n (R : Matrix I B ℝ) :\n (ei S + (ee K)⁻¹ * eb K * bi S) +\n (eb S + (ee K)⁻¹ * eb K * bb S) * R.transpose = 0", "statement_sha256": "6c4fc285ae3e2b263fa2de656b7fe47319baf12182c85f48eb8c10d099a995db" }, @@ -85183,7 +85183,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.endpointCondDistrib_ae_eq_product", "source_line": 808, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem endpointCondDistrib_ae_eq_product (center : StandardizedState) :\n condDistrib endpointCoordinates blanketCoordinates (stationaryLaw center)\n =ᵐ[blanketLaw center] endpointConditionalKernel center", "statement_sha256": "01c1d49bd8aac5d73dd37ca7b6bd4f96c20f3ba076b21e6d94f80386a4326121" }, @@ -85245,7 +85245,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.endpointConditionalKernel_apply", "source_line": 209, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem endpointConditionalKernel_apply\n (center : StandardizedState) (blanket : Blanket) :\n endpointConditionalKernel center blanket =\n (gaussianReal (externalConditionalMean center blanket) (1 / 4)).prod\n (gaussianReal (internalConditionalMean center blanket) (1 / 4))", "statement_sha256": "f34af84980b955750b4278967024a8e4a5d7d03e269fd05f816474b20f4a8ab0" }, @@ -85291,7 +85291,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalCondDistrib_ae_eq", "source_line": 817, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalCondDistrib_ae_eq (center : StandardizedState) :\n condDistrib (fun state : StandardizedState => state external)\n blanketCoordinates (stationaryLaw center) =ᵐ[blanketLaw center]\n externalConditionalKernel center", "statement_sha256": "81a129c27f5b9157dacfefef40ed336e8dff1fe6db036e328c9c9a8445ce67b5" }, @@ -85340,7 +85340,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalConditionalKernel_apply", "source_line": 197, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalConditionalKernel_apply\n (center : StandardizedState) (blanket : Blanket) :\n externalConditionalKernel center blanket =\n gaussianReal (externalConditionalMean center blanket) (1 / 4)", "statement_sha256": "522fd6db4eda33d743568eb6a3f88333f4f8db318371933b4598af0969bfbf7e" }, @@ -85396,7 +85396,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalConditionalKernel_mean", "source_line": 217, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalConditionalKernel_mean\n (center : StandardizedState) (blanket : Blanket) :\n ∫ value, value ∂externalConditionalKernel center blanket =\n externalConditionalMean center blanket", "statement_sha256": "8a87459182dbaab5fc6b0298ec931364db56e2e95143dc983b632b4d1835fe68" }, @@ -85452,7 +85452,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.externalConditionalKernel_variance", "source_line": 223, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem externalConditionalKernel_variance\n (center : StandardizedState) (blanket : Blanket) :\n Var[id; externalConditionalKernel center blanket] = 1 / 4", "statement_sha256": "a723ec1dc2ad12e52d00dedebaee5f0f03cb9e24eb537afc4fc0aa7ca8b37c45" }, @@ -85522,7 +85522,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.external_condIndep_internal_given_blanket", "source_line": 879, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem external_condIndep_internal_given_blanket\n (center : StandardizedState) :\n (fun state : StandardizedState => state external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates; stationaryLaw center]\n (fun state => state internal)", "statement_sha256": "3fac47f2de5fc5e02250843c34baa9a2203a30100ce2b1753689ef072b296884" }, @@ -85568,7 +85568,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalCondDistrib_ae_eq", "source_line": 848, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalCondDistrib_ae_eq (center : StandardizedState) :\n condDistrib (fun state : StandardizedState => state internal)\n blanketCoordinates (stationaryLaw center) =ᵐ[blanketLaw center]\n internalConditionalKernel center", "statement_sha256": "a7d138e0e5f6e7235221484c530221cc57f68bc913cdd54bc7b6a500d291b702" }, @@ -85617,7 +85617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalConditionalKernel_apply", "source_line": 203, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalConditionalKernel_apply\n (center : StandardizedState) (blanket : Blanket) :\n internalConditionalKernel center blanket =\n gaussianReal (internalConditionalMean center blanket) (1 / 4)", "statement_sha256": "dfe6c659447f074445072d220cacea5628386d399635489bc7ab3e5a39ffc441" }, @@ -85673,7 +85673,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalConditionalKernel_mean", "source_line": 229, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalConditionalKernel_mean\n (center : StandardizedState) (blanket : Blanket) :\n ∫ value, value ∂internalConditionalKernel center blanket =\n internalConditionalMean center blanket", "statement_sha256": "92ad94991717ec1d03774a9de45cd30ca3a8f4554d3c26d85d2e7c8c15224947" }, @@ -85729,7 +85729,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.internalConditionalKernel_variance", "source_line": 235, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem internalConditionalKernel_variance\n (center : StandardizedState) (blanket : Blanket) :\n Var[id; internalConditionalKernel center blanket] = 1 / 4", "statement_sha256": "588474f9b98156d7226d2739a446d4cbe9060917ac7e12fee0d86af9555f3a34" }, @@ -85757,7 +85757,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.measurable_blanketCoordinates", "source_line": 185, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem measurable_blanketCoordinates : Measurable blanketCoordinates", "statement_sha256": "ad39d083ebdaad2876683d131ea0fb4a0b29f347e7de052c1d2e18d81db35ff2" }, @@ -85785,7 +85785,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.measurable_endpointCoordinates", "source_line": 189, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem measurable_endpointCoordinates : Measurable endpointCoordinates", "statement_sha256": "78407080cb6d317b7bd6a73da0e56b7fd2a5d3f962e97d8d26fd2bcc897fb237" }, @@ -85820,7 +85820,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.measurable_partitionCoordinates", "source_line": 193, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem measurable_partitionCoordinates : Measurable partitionCoordinates", "statement_sha256": "26b607c0427ff651b4a4e218542ee7bf92dc78eb9a3ae8ababeb8fd992def581" }, @@ -85848,7 +85848,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointCovariance_eq_entries", "source_line": 943, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointCovariance_eq_entries :\n perturbedEndpointCovariance = !![4 / 15, -1 / 15; -1 / 15, 4 / 15]", "statement_sha256": "b6262e7a7f65f3c75473fee719b84410bac1e5e19c6487b2e5f29b67f4e3137c" }, @@ -85883,7 +85883,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointCovariance_external_internal", "source_line": 964, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointCovariance_external_internal :\n perturbedEndpointCovariance 0 1 = -1 / 15", "statement_sha256": "89d8e43293046048a053edd33e269b22874019a9d9103944c3f9c98ac45b8d27" }, @@ -85911,7 +85911,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointCovariance_posDef", "source_line": 956, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointCovariance_posDef :\n perturbedEndpointCovariance.PosDef", "statement_sha256": "4759f0388f1077e22858aba0ffcf28b34dc92215dbab22f489921c7ac86b6c64" }, @@ -85939,7 +85939,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointPrecision_external_internal", "source_line": 960, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointPrecision_external_internal :\n perturbedEndpointPrecision 0 1 = 1", "statement_sha256": "43b3ddfb85b4fa0a948d4422f821ea7d3f38313ee070e8941f76d8f798cbce70" }, @@ -85967,7 +85967,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpointPrecision_posDef", "source_line": 939, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpointPrecision_posDef :\n perturbedEndpointPrecision.PosDef", "statement_sha256": "cb126abcca1ec9104791247164a99f11aeb748c95402f7b56a9d2badec9fd9ae" }, @@ -86002,7 +86002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpoint_external_internal_covariance", "source_line": 969, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpoint_external_internal_covariance :\n cov[perturbedExternal, perturbedInternal; perturbedEndpointLaw] =\n -1 / 15", "statement_sha256": "ca8e36a3f0c55faec68a7dc76c46e393d65bc4bfb3af7dad3d904ecc45128022" }, @@ -86037,7 +86037,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.perturbedEndpoint_external_not_indep_internal", "source_line": 995, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem perturbedEndpoint_external_not_indep_internal :\n ¬ IndepFun perturbedExternal perturbedInternal perturbedEndpointLaw", "statement_sha256": "5128552577cd5bd700df13d4d7ed623dcc34a7c3d66a41d32a3d350b18fcefe2" }, @@ -86109,7 +86109,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.precisionZero_covarianceNonzero_condIndep", "source_line": 925, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem precisionZero_covarianceNonzero_condIndep\n (center : StandardizedState) :\n K external internal = 0 ∧\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] = 1 / 24 ∧\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] ≠ 0 ∧\n ((fun state : StandardizedState => state external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates; stationaryLaw center]\n (fun state => state internal))", "statement_sha256": "3d6ce2667fffddf9948797f5de6f037883cfccedc3fc5e00532befca54b6a957" }, @@ -86148,7 +86148,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.stationaryPartition_eq_compProd", "source_line": 777, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem stationaryPartition_eq_compProd (center : StandardizedState) :\n (stationaryLaw center).map partitionCoordinates =\n blanketLaw center ⊗ₘ endpointConditionalKernel center", "statement_sha256": "08f28dd2b08bdd5e1e819f56f1f823c313b639a45260f169f25b5b621968d80a" }, @@ -86196,7 +86196,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.stationary_external_internal_covariance", "source_line": 912, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem stationary_external_internal_covariance (center : StandardizedState) :\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] = 1 / 24", "statement_sha256": "db425238438a92428276316e802b168a4dbec375937afa5cc397831b50b34637" }, @@ -86242,7 +86242,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GaussianPrecisionConditioning.stationary_external_internal_covariance_ne_zero", "source_line": 918, - "source_owner": "src/fep_lean/formal/gaussian_precision_conditioning.lean", + "source_owner": "src/fep_formal/formal/gaussian_precision_conditioning.lean", "statement": "theorem stationary_external_internal_covariance_ne_zero\n (center : StandardizedState) :\n cov[fun state : StandardizedState => state external,\n fun state => state internal; stationaryLaw center] ≠ 0", "statement_sha256": "8b6b706d4966bf5e9d882d9b4639cd7d6d2ec7d60650a7751d97f81683e84db5" }, @@ -86294,7 +86294,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.dot_sq_le_sq_mul_sq", "source_line": 658, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem dot_sq_le_sq_mul_sq (r g : Fin n → ℝ) :\n (dot r g) ^ 2 ≤ dot r r * dot g g", "statement_sha256": "23e7de9e9a2d4ead852d84af0133af97ac0e51728b9411ef56e13b12e7ae1e5c" }, @@ -86334,7 +86334,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.expansion_remainder_witness", "source_line": 332, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem expansion_remainder_witness : dot (divQ remainderDQ) remainderG = 1", "statement_sha256": "a34e619849d8c7878489f61b80e7d80e496702dcbe68646eee5d3d9dd6386813" }, @@ -86427,7 +86427,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_frobenius_pythagoras", "source_line": 567, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_frobenius_pythagoras (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S) :\n frobeniusSq (H - S)\n = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)", "statement_sha256": "167a12db181356515ff2c20882f258fc5e5f862a68f581a2c308796660727601" }, @@ -86512,7 +86512,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_projection_unique", "source_line": 602, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_projection_unique (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S)\n (hmin : ∀ T : Fin n → Fin n → ℝ, SymmetricOf T →\n frobeniusSq (H - S) ≤ frobeniusSq (H - T)) :\n S = symmetrize H", "statement_sha256": "22ca83690546b036a76f8440b490b9a6518a02589202be7ad415cca498a37b58" }, @@ -86552,7 +86552,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_residual_example", "source_line": 622, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_residual_example :\n frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) = 1 / 2\n ∧ frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) ≠ 0", "statement_sha256": "665290b728f4e7c76b0ef6d0818f9b56790663129ed8de6d6fb62915c225f150" }, @@ -86627,7 +86627,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep167_symmetrize_minimizes", "source_line": 583, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep167_symmetrize_minimizes (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S) :\n frobeniusSq (H - symmetrize H) ≤ frobeniusSq (H - S)\n ∧ (frobeniusSq (H - symmetrize H) = frobeniusSq (H - S) ↔ S = symmetrize H)", "statement_sha256": "83c137e1be4530b200b2ad62daa380698a167135b42050359f81e860403c40e2" }, @@ -86667,7 +86667,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168AlignedH_symmetric", "source_line": 723, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168AlignedH_symmetric : SymmetricOf fep168AlignedH", "statement_sha256": "5e2cbc4bdbef0bf2dd059a56fea81dd6ad12c28152870d747a3a452e94545a7f" }, @@ -86768,7 +86768,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_absolute_budget", "source_line": 700, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_absolute_budget (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n abs (weightedDivergence Q H DQ g dlogp) * abs (weightedDivergence Q H DQ g dlogp)\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "62a1dbd1be4b82e35741f8ba57d7de16c3628360a4afa41b15a9d139678c2333" }, @@ -86827,7 +86827,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_equality_attained", "source_line": 736, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_equality_attained :\n (weightedDivergence witnessQ fep168AlignedH remainderDQ fep168AlignedG\n (fun i => -fep168AlignedG i)) ^ 2\n = dot (divQ remainderDQ) (divQ remainderDQ) * dot fep168AlignedG fep168AlignedG\n ∧ dot fep168AlignedG fep168AlignedG ≠ 0", "statement_sha256": "ca3efc39495b2a44d1fd3b0d77f1f5ee5964e78db900d02ee2e4fbac06bc797f" }, @@ -86934,7 +86934,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_remainder_sq_budget", "source_line": 689, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_remainder_sq_budget (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n (weightedDivergence Q H DQ g dlogp) ^ 2\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "36303831eb3e4f95aec5ce289c7f773b15e122f8283da12364fbcd02b9cd1acf" }, @@ -87047,7 +87047,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fep168_weightedDivergence_eq_remainderDot", "source_line": 675, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fep168_weightedDivergence_eq_remainderDot (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp = dot (divQ DQ) g", "statement_sha256": "3bb4df3bd3690e79bda17541b5417f6b9abb473ec15d31e7710853ec94e7e34c" }, @@ -87110,7 +87110,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.fluxDivergence_eq", "source_line": 251, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem fluxDivergence_eq (Q H DQ : Fin n → Fin n → ℝ) (g : Fin n → ℝ) :\n fluxDivergence Q H DQ g = traceOf (mulOf Q H) + dot (divQ DQ) g", "statement_sha256": "347f55b9d46414356dc7d44eed8b1a50320471ca84a061b7e1a38611f4aeb3ee" }, @@ -87195,7 +87195,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.frobeniusInner_skew_symmetric", "source_line": 511, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem frobeniusInner_skew_symmetric (A B : Fin n → Fin n → ℝ)\n (hA : SkewSymmetric A) (hB : SymmetricOf B) : frobeniusInner A B = 0", "statement_sha256": "390316594342f0715d56cbb70a17d8176e1bd66a93f7996bdb2dad58e40abaf5" }, @@ -87247,7 +87247,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.frobeniusSq_add", "source_line": 542, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem frobeniusSq_add (A B : Fin n → Fin n → ℝ) :\n frobeniusSq (A + B) = frobeniusSq A + frobeniusSq B + 2 * frobeniusInner A B", "statement_sha256": "bdafdc9280e1fcac722d32188393a0b2f1e2d3d3a37e547ec0add9a26869e231" }, @@ -87308,7 +87308,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.frobeniusSq_eq_zero", "source_line": 552, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem frobeniusSq_eq_zero {X : Fin n → Fin n → ℝ} (h : frobeniusSq X = 0) : X = 0", "statement_sha256": "c5373c14473c17358c782b9d019b05ffa84590c94a99895479339b4b4dd02c5c" }, @@ -87389,7 +87389,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.graphDecomposition", "source_line": 380, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem graphDecomposition (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (i : Fin n) :\n nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i", "statement_sha256": "c725312aab65db847d234f170182fe44549d06ccca50eed6e7d323db18fb2de9" }, @@ -87460,7 +87460,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.nodeDiv_skew", "source_line": 366, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem nodeDiv_skew {Q : Fin n → Fin n → ℝ} (hQ : SkewSymmetric Q)\n (i : Fin n) : nodeDiv Q i = 2 * rowSum Q i", "statement_sha256": "98b7805a41ff79a3013bdc97fc8417e94beb266cf19d48dfe8319fd24cb3f4ad" }, @@ -87544,7 +87544,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.skewQuadratic_eq_zero", "source_line": 167, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.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" }, @@ -87629,7 +87629,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.skewTrace_eq_zero", "source_line": 149, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.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" }, @@ -87704,7 +87704,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.skewTrace_symmetrize_eq_zero", "source_line": 207, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem skewTrace_symmetrize_eq_zero (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) :\n traceOf (mulOf Q (symmetrize H)) = 0", "statement_sha256": "d60c40e46b264b43252324441b96ef8c148f761ff08109389a99930663fe8c74" }, @@ -87815,7 +87815,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.solenoidal_drop_of_constantQ", "source_line": 309, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem solenoidal_drop_of_constantQ (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (hconst : ∀ k l, DQ k l = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "a6f349eccdfada46c2220b95b11cba5c8739b89434f8c02c344b09904b2b7edd" }, @@ -87938,7 +87938,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.solenoidal_drop_of_orthogonal", "source_line": 297, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem solenoidal_drop_of_orthogonal (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (horth : dot (divQ DQ) g = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "a348f58f13ca7259d82e698923e9b02d270822047ba919a7806d62e8ec626e94" }, @@ -88019,7 +88019,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.solenoidal_expansion", "source_line": 279, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem solenoidal_expansion (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) - dot g (mulVec Q g) + dot (divQ DQ) g", "statement_sha256": "5d58fc853dd8517c5b6532af9c5baa0da3401cf5a3588fbdbfc78e2107b4e22d" }, @@ -88091,7 +88091,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sub_symmetric", "source_line": 534, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sub_symmetric {A B : Fin n → Fin n → ℝ}\n (hA : SymmetricOf A) (hB : SymmetricOf B) : SymmetricOf (A - B)", "statement_sha256": "f4d4a491090150a0913402edfa9ecfdc551c05c1ce6b79bcd7252222109f9f16" }, @@ -88142,7 +88142,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sub_symmetrize_skew", "source_line": 527, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sub_symmetrize_skew (H : Fin n → Fin n → ℝ) : SkewSymmetric (H - symmetrize H)", "statement_sha256": "4e1f65d4ae29cae9eeea65fe0fe5913d0ab1332562b8a9efb784def373d0307b" }, @@ -88193,7 +88193,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sum_negPairs", "source_line": 140, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sum_negPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, -f i j = -∑ i, ∑ j, f i j", "statement_sha256": "b56e2b71eac3b36e291b332d76055dc4f7a7081eaedef1dc853bb001d8354439" }, @@ -88244,7 +88244,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.sum_swapPairs", "source_line": 135, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem sum_swapPairs {f : Fin n → Fin n → ℝ} :\n ∑ i, ∑ j, f i j = ∑ i, ∑ j, f j i", "statement_sha256": "5e968d456d832db3e9ad11b9c7cc42efaa677e8e379b46be3b934a3e36feabce" }, @@ -88305,7 +88305,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.symmetrize_of_symmetric", "source_line": 215, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem symmetrize_of_symmetric (H : Fin n → Fin n → ℝ) (hH : SymmetricOf H) :\n symmetrize H = H", "statement_sha256": "fc56622c6da9a916736dd66cb63517bb5983755ec4375a36a88ecb1fc7f023e5" }, @@ -88356,7 +88356,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.symmetrize_symmetric", "source_line": 197, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem symmetrize_symmetric (H : Fin n → Fin n → ℝ) :\n SymmetricOf (symmetrize H)", "statement_sha256": "ae7bfab797932b892a66f249198c3d61f674cc094cc3cee78031f3c76255f059" }, @@ -88470,7 +88470,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.weightedCurrent_div_eq", "source_line": 417, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem weightedCurrent_div_eq (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ)\n {p : Fin n → ℝ}\n (hQ : SkewSymmetric Q) (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p (currentOf Q g) i\n = mulVec Q g i + g i * rowSum Q i\n + g i * ∑ j, (1 - p j / p i) * Q j i", "statement_sha256": "f1d115fde7ee07b2c39e54c6a0c156327c5469298f24812e7cdc2da7c1e2dd04" }, @@ -88541,7 +88541,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.weightedDivergence_eq", "source_line": 265, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem weightedDivergence_eq (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) + dot (divQ DQ) g + dot (mulVec Q g) dlogp", "statement_sha256": "0dc9f4623fc6fb14151b475ca024c3009698b228ef69c5fe2deaa70b2127e713" }, @@ -88622,7 +88622,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.weightedNodeDiv_eq", "source_line": 401, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem weightedNodeDiv_eq (W : Fin n → Fin n → ℝ) {p : Fin n → ℝ}\n (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p W i = nodeDiv W i + ∑ j, (1 - p j / p i) * W j i", "statement_sha256": "26dc4289049eba5351196ce558e7998c0473f7a0430018295c64e2aa6d198a1c" }, @@ -88649,7 +88649,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witnessQ_skew", "source_line": 445, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witnessQ_skew : SkewSymmetric witnessQ", "statement_sha256": "8c9d7462ac0918b977d4dae7ad55197115c5c3d904136c18b356f57c19dc2998" }, @@ -88676,7 +88676,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_current", "source_line": 451, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_current :\n mulVec witnessQ witnessG = fun i => if i = 0 then 0 else -1", "statement_sha256": "83cbc51043f9b1ee8314829615b8b97bd336275d92095a9c35cc4ac988e0744d" }, @@ -88703,7 +88703,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_divQ", "source_line": 460, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_divQ :\n nodeDiv witnessQ = fun i => if i = 0 then 2 else -2", "statement_sha256": "f0339062f0f6939551b6badd17057e7d2d777f9160035607299df21286c36d2f" }, @@ -88730,7 +88730,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_divergence", "source_line": 468, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_divergence :\n nodeDiv (currentOf witnessQ witnessG) = fun i => if i = 0 then 1 else -1", "statement_sha256": "1c5afa3596830bf11f20af1daa552157862fb8c4dfc4dde20cddd7e66a2c7182" }, @@ -88764,7 +88764,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricMechanics.witness_drop_fails", "source_line": 482, - "source_owner": "src/fep_lean/formal/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/geometric_mechanics.lean", "statement": "theorem witness_drop_fails : nodeDiv (currentOf witnessQ witnessG) 0 = 1", "statement_sha256": "617975c31cae2f5ea1ad568e08a2da1fa83b867908524dcaea9acdc87bcb73a8" }, @@ -88887,7 +88887,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.affineProjection_bregmanPythagorean", "source_line": 423, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem affineProjection_bregmanPythagorean\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet) :\n bregmanDivergence potential gradient candidate base =\n bregmanDivergence potential gradient candidate projection +\n bregmanDivergence potential gradient projection base", "statement_sha256": "55745c72f2ba5506308fb5dff8aaaaa09abd2f231a7a4cfd1ec1380d4e69973c" }, @@ -89020,7 +89020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.affineProjection_minimizes", "source_line": 441, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem affineProjection_minimizes\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet)\n (hNonnegative :\n 0 ≤ bregmanDivergence potential gradient candidate projection) :\n bregmanDivergence potential gradient projection base ≤\n bregmanDivergence potential gradient candidate base", "statement_sha256": "088946c20d36a03adda41c261d83cd7ff6b6d494d5bc130e3f7194b28d538e03" }, @@ -89114,7 +89114,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.categoricalFisher_pos", "source_line": 50, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem categoricalFisher_pos\n (carrier : CategoricalFisherCarrier d)\n (tangent : Fin d → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric carrier.model tangent tangent", "statement_sha256": "49eb0e9f5928b6d6bfcc6593ad52fb9de78c6d7c859a769da4b046536ae7ee50" }, @@ -89184,7 +89184,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.duplicatedScore_nullDirection_example", "source_line": 187, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem duplicatedScore_nullDirection_example :\n duplicatedScoreNullTangent ≠ 0 ∧\n fisherMetric duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent duplicatedScoreNullTangent = 0", "statement_sha256": "50cd7b9673bf71089450f4f3ee166d3702fe25de5e0e655111416f0bcc36bcea" }, @@ -89246,7 +89246,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.fairBernoulli_fullRank_example", "source_line": 178, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem fairBernoulli_fullRank_example :\n 0 < fisherMetric fairBernoulliScoreModel (fun _ ↦ 1) (fun _ ↦ 1)", "statement_sha256": "a8bd0f3fea9030a2711e604b9697fa18db86b2b80a28e698a7a5b751441d86c7" }, @@ -89350,7 +89350,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.fisherPullback_comp", "source_line": 198, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem fisherPullback_comp\n (model : ScoreModel Outcome d)\n (outer : Matrix (Fin d) (Fin k) ℝ)\n (inner : Matrix (Fin k) (Fin d) ℝ)\n (left right : Fin d → ℝ) :\n pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)", "statement_sha256": "9c83a105a53cbb6e7750e43cf39b37d2b54284d76922ab243870e4bfba6e906e" }, @@ -89436,7 +89436,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.mirrorDescent_threePoint_identity", "source_line": 367, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem mirrorDescent_threePoint_identity\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (left middle right : Fin d → ℝ) :\n bregmanDivergence potential gradient left right -\n bregmanDivergence potential gradient left middle -\n bregmanDivergence potential gradient middle right =\n coordinatePairing\n (fun coordinate ↦\n gradient middle coordinate - gradient right coordinate)\n (fun coordinate ↦ left coordinate - middle coordinate)", "statement_sha256": "6dce4244aee71d862ceffd42ec8eedbfa5e828f9fe1e1de6184cb961f21d4ba5" }, @@ -89539,7 +89539,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.naturalGradient_chart_transport", "source_line": 227, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem naturalGradient_chart_transport\n (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin d) ℝ) [Invertible jacobian]\n (covector tangent : Fin d → ℝ)\n (hNatural : IsNaturalGradient model covector tangent) :\n chartPullbackLower model jacobian\n (chartCoordinates jacobian tangent) =\n chartCovector jacobian covector", "statement_sha256": "bf02475201e2ab544bc45c740a63a69be56286a26d469f7f717e6c8d5d9d11ad" }, @@ -89654,7 +89654,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.naturalGradient_equivariant", "source_line": 242, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem naturalGradient_equivariant\n (model : ScoreModel Outcome d) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin d) (Fin d) ℝ) [Invertible jacobian]\n (covector : Fin d → ℝ) :\n chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector", "statement_sha256": "59050ed7a1b4f7cc4a38e14422c18b1524d59a1b58cad91c1f611b70aaebd43a" }, @@ -89728,7 +89728,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.replicatorVector_isSimplexTangent", "source_line": 470, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem replicatorVector_isSimplexTangent\n (law : FiniteLaw (Fin d)) (fitness : Fin d → ℝ) :\n IsSimplexTangent (replicatorVector law fitness)", "statement_sha256": "7cdeb7bf185110aef95f21f54725df27267a297a969ed92e028c71c0be03f004" }, @@ -89809,7 +89809,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.replicator_naturalGradient_equivalence", "source_line": 479, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem replicator_naturalGradient_equivalence\n (carrier : CategoricalFisherCarrier d) (fitness : Fin d → ℝ) :\n IsNaturalGradient carrier.model\n (fun coordinate ↦ fitness coordinate - meanFitness carrier.law fitness)\n (replicatorVector carrier.law fitness)", "statement_sha256": "6f1b7df5663ba270df61a9f37be4dec21d108a9a77958bf0a42961a4ef2fe9f8" }, @@ -89910,7 +89910,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.scalarCramerRao", "source_line": 338, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem scalarCramerRao\n (model : ScoreModel Outcome 1) (estimator : Outcome → ℝ)\n (target : ℝ)\n (certificate : ScalarCramerRaoCertificate model estimator target) :\n 1 ≤ estimatorVariance model.law estimator target * scalarFisher model", "statement_sha256": "6e27c0135903235f6666a7525055a84bb932ce477d2027bd8684551a887ce753" }, @@ -89974,7 +89974,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.scalarFisher_eq_fisherMetric", "source_line": 272, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem scalarFisher_eq_fisherMetric (model : ScoreModel Outcome 1) :\n scalarFisher model =\n fisherMetric model (fun _ ↦ 1) (fun _ ↦ 1)", "statement_sha256": "77c787599c051284e1129c3a90d7c70ef283132ad9489827b440e70b44351e94" }, @@ -90027,7 +90027,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategoricalTangent_isSimplexTangent", "source_line": 133, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategoricalTangent_isSimplexTangent :\n IsSimplexTangent twoCategoricalTangent", "statement_sha256": "8d2b048126c7194bef755cb714961e1c797cf51d9f62241cd860c36a6c8a2ff0" }, @@ -90080,7 +90080,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategoricalTangent_ne_zero", "source_line": 138, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategoricalTangent_ne_zero : twoCategoricalTangent ≠ 0", "statement_sha256": "d5a4964abd251e0caa46678945dac763f429c232091bf38aa3015f83917f3b39" }, @@ -90154,7 +90154,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategoricalTangent_spans", "source_line": 145, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategoricalTangent_spans\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n tangent = fun coordinate ↦ tangent 0 * twoCategoricalTangent coordinate", "statement_sha256": "6ff499cdb2c309d22c8a4d5f2461dcf7d37f6fe83b647287164997a8b90ffa87" }, @@ -90228,7 +90228,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_lower_on_tangent", "source_line": 106, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_lower_on_tangent\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n lowerTangent twoCategoricalScoreModel tangent =\n fun coordinate ↦ tangent coordinate / twoCategoricalLaw coordinate", "statement_sha256": "8477ad2e0344b026a996d3c62a444ddbbd91abcca8e54326758247caba8290b7" }, @@ -90281,7 +90281,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_meanFitness_zero", "source_line": 498, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_meanFitness_zero :\n meanFitness twoCategoricalLaw twoCategoricalFitness = 0", "statement_sha256": "fa6f1cd2ec1dc30487cc039f7f354cb9f6a6a6da339920bbbdae92eae1a57896" }, @@ -90355,7 +90355,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_metric_on_tangent", "source_line": 94, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_metric_on_tangent\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n fisherMetric twoCategoricalScoreModel tangent tangent =\n ∑ coordinate, tangent coordinate ^ 2 / twoCategoricalLaw coordinate", "statement_sha256": "165e7061451975bdd8217cb2588c339cdf47646fa692f1843b6260d440bfe5b8" }, @@ -90421,7 +90421,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_nonzeroTangent_metric", "source_line": 165, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_nonzeroTangent_metric :\n IsSimplexTangent twoCategoricalTangent ∧\n twoCategoricalTangent ≠ 0 ∧\n fisherMetric twoCategoricalFisherCarrier.model\n twoCategoricalTangent twoCategoricalTangent = 4", "statement_sha256": "88aa5f0c67f7f73fe9903f2806ae9861e36d8932deb22046c72ed48ff5d21aca" }, @@ -90481,7 +90481,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_replicator_ne_zero", "source_line": 514, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_replicator_ne_zero :\n replicatorVector twoCategoricalLaw twoCategoricalFitness ≠ 0", "statement_sha256": "fba2b91ed3c1ba97d84c293bd53998a2e0476addff9b25821122c0c74eab0109" }, @@ -90547,7 +90547,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_replicator_nonzero_witness", "source_line": 523, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_replicator_nonzero_witness :\n twoCategoricalFitness 0 ≠ twoCategoricalFitness 1 ∧\n replicatorVector twoCategoricalLaw twoCategoricalFitness ≠ 0 ∧\n IsNaturalGradient twoCategoricalFisherCarrier.model\n (fun coordinate ↦\n twoCategoricalFitness coordinate -\n meanFitness twoCategoricalLaw twoCategoricalFitness)\n (replicatorVector twoCategoricalLaw twoCategoricalFitness)", "statement_sha256": "27b56c8c5cc8582712c1cb2b8ca89c9fd943dd54524a608fa55ea943c145ce4e" }, @@ -90607,7 +90607,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_replicator_values", "source_line": 505, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_replicator_values :\n replicatorVector twoCategoricalLaw twoCategoricalFitness 0 = 1 / 2 ∧\n replicatorVector twoCategoricalLaw twoCategoricalFitness 1 = -(1 / 2)", "statement_sha256": "1f61fc08eea96540d2f7e765a8e1e4a9598a3e74ed3350ed6ac594aca9c3e896" }, @@ -90698,7 +90698,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.twoCategorical_simplexMetric_fullRank", "source_line": 158, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem twoCategorical_simplexMetric_fullRank\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric twoCategoricalFisherCarrier.model tangent tangent", "statement_sha256": "2ee23ce2b5496f4ae89d5d4524aa1be086c04d8acb8519a5810edbd7fa3289fd" }, @@ -90783,7 +90783,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GeometricOptimization.weightedCauchySchwarz_of_right_pos", "source_line": 283, - "source_owner": "src/fep_lean/formal/geometric_optimization.lean", + "source_owner": "src/fep_formal/formal/geometric_optimization.lean", "statement": "theorem weightedCauchySchwarz_of_right_pos\n (law : FiniteLaw Outcome) (left right : Outcome → ℝ)\n (hRight : 0 < ∑ outcome, law outcome * right outcome ^ 2) :\n (∑ outcome, law outcome * left outcome * right outcome) ^ 2 ≤\n (∑ outcome, law outcome * left outcome ^ 2) *\n ∑ outcome, law outcome * right outcome ^ 2", "statement_sha256": "00b897c94101a1f23eaeca494ffedc183a1e14e642e146067665391fe72aa2e3" }, @@ -90854,7 +90854,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.diagonal_inv", "source_line": 164, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem diagonal_inv {n : Type*} [Fintype n] [DecidableEq n] (d : n → ℝ)\n (hd : ∀ i, d i ≠ 0) :\n (Matrix.diagonal d)⁻¹ = Matrix.diagonal fun i => (d i)⁻¹", "statement_sha256": "e2b7b15a1e900baf53fc4c8b3208d16bfd6eea6f723035e2cf316e4e4bf32038" }, @@ -90936,7 +90936,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.linearGaussianParameters_ext", "source_line": 152, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem linearGaussianParameters_ext {Axis : Type*} [Fintype Axis] [DecidableEq Axis]\n (m n : LinearGaussianParameters Axis)\n (h1 : m.precision = n.precision) (h2 : m.center = n.center) : m = n", "statement_sha256": "fa7bee0856549f8652598c1522b3d48a46f7da761e22c08c7767ee884eaffd4e" }, @@ -90967,7 +90967,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdConforms", "source_line": 261, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdConforms : ContinuousConforms sdDoc sdPayload", "statement_sha256": "c6f058e288663d177d30eb0b5b97dd8d3aeb5878e96d2ed5b93cc1ebf7da8552" }, @@ -90998,7 +90998,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_covariance", "source_line": 318, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_covariance :\n (denoteContinuous sdDoc sdPayload sdConforms).covariance = sdPayload.priorCov", "statement_sha256": "8d4f4a347b92a2d513bd7f6ab4a62c76d46d9500f6c5d78420a85b1ace3dccab" }, @@ -91035,7 +91035,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_covariance_posDef", "source_line": 327, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_covariance_posDef :\n (denoteContinuous sdDoc sdPayload sdConforms).covariance.PosDef", "statement_sha256": "9a2a13bfb564d78c80d25a013dd27826021653d998fdbbc15f89c2bce4541e77" }, @@ -91078,7 +91078,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_denotation", "source_line": 301, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_denotation :\n denoteContinuous sdDoc sdPayload sdConforms = stochasticDynamicsParameters", "statement_sha256": "08658b0f64af90e886d7a00ac61a8642cfc06f7360d39ab9b71178e1a63148f9" }, @@ -91115,7 +91115,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_transitionCovariance_zero", "source_line": 341, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_transitionCovariance_zero :\n (denoteContinuous sdDoc sdPayload sdConforms).transitionCovariance 0 = 0", "statement_sha256": "32b827593283ce0adafae683a1aa5234406e96081b39ad2c553db356b8c9f1ef" }, @@ -91163,7 +91163,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_transitionMean_zero", "source_line": 334, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_transitionMean_zero (state : State (Fin 2)) :\n (denoteContinuous sdDoc sdPayload sdConforms).transitionMean 0 state = state", "statement_sha256": "96b76ac3298cda34478abedab5c0a6fd4c4d259b50932901d9f63cd30db2cabf" }, @@ -91187,7 +91187,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnContinuous.sdDoc_wellFormed", "source_line": 259, - "source_owner": "src/fep_lean/formal/gnn_denotation_continuous.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation_continuous.lean", "statement": "theorem sdDoc_wellFormed : WellFormed sdDoc", "statement_sha256": "8788ef2b83240c898b4781292c4c76b82f6a9b6804b21662919b3a3362a257d2" }, @@ -91308,7 +91308,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.generativeModel_ext", "source_line": 301, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem generativeModel_ext {State Outcome Policy : Type*}\n [Fintype State] [Fintype Outcome] [Fintype Policy]\n (m n : GenerativeModel Policy State Outcome)\n (h1 : m.initialState = n.initialState)\n (h2 : m.transition = n.transition)\n (h3 : m.likelihood = n.likelihood)\n (h4 : m.preferences = n.preferences)\n (h5 : m.policyPrior = n.policyPrior) : m = n", "statement_sha256": "e308a5d6537c15b72af746d10cfd3d1f29e18c6c08288b211286a6bd3e6277b4" }, @@ -91338,7 +91338,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolConforms", "source_line": 268, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolConforms : DiscreteConforms symBoolDoc symBoolPayload", "statement_sha256": "5dda517a6541bb9d940e4ce85db7f343b6cfddd3ed19886188ef3bb9acab8127" }, @@ -91374,7 +91374,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_denotation", "source_line": 319, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_denotation :\n denoteDiscrete symBoolDoc symBoolPayload symBoolConforms =\n symmetricBoolModel trueBiasedPolicyPrior", "statement_sha256": "d7fe87b04206659074379c4c3231bfe0341628a3761c868fc8835d098a77c655" }, @@ -91418,7 +91418,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_fullSupport", "source_line": 358, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_fullSupport :\n FullSupport (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)", "statement_sha256": "822183cbac7c1d80c6724b4acee975473278ecbc47b726fa23d35b3350b39484" }, @@ -91473,7 +91473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_predictedOutcome", "source_line": 351, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_predictedOutcome (policy : Bool) :\n predictedOutcome (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)\n policy = fairBoolLaw", "statement_sha256": "80a73f017fcc35fdf28b0c888786f11d6f869be5144044008aec97e66eb66c9d" }, @@ -91528,7 +91528,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_predictedState", "source_line": 343, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_predictedState (policy : Bool) :\n predictedState (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)\n policy = fairBoolLaw", "statement_sha256": "2e1fcc13ae845b9cab7818a818e5ea49dde5f0cace65199054f8cbb77fb20e71" }, @@ -91551,7 +91551,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnDenotation.symBoolDoc_wellFormed", "source_line": 266, - "source_owner": "src/fep_lean/formal/gnn_denotation.lean", + "source_owner": "src/fep_formal/formal/gnn_denotation.lean", "statement": "theorem symBoolDoc_wellFormed : WellFormed symBoolDoc", "statement_sha256": "d10a44738321998dd18b64cd814159c34764f4a3e44f82fb9c3c34b062c14130" }, @@ -91653,7 +91653,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.discreteExecutionSemantics_holds", "source_line": 247, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem discreteExecutionSemantics_holds [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy)\n (sim : ℕ → FiniteLaw State) :\n DiscreteExecutionSemantics m policy sim", "statement_sha256": "75e798729dead70dbec1c30ac5332d86c903bdbe040cdfb8ba042e2b45715ace" }, @@ -91771,7 +91771,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.policyRollout_add", "source_line": 198, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem policyRollout_add [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (k n : ℕ) :\n policyRollout m policy (k + n) =\n (kernelPower (m.transition policy) k).predictive\n (policyRollout m policy n)", "statement_sha256": "e2a86bec2b306525e53edeaacec1efa0f504f8c10b483d010fe765c66ce427b3" }, @@ -91886,7 +91886,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.policyRollout_eq_plannedState", "source_line": 226, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem policyRollout_eq_plannedState [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (n : ℕ) :\n policyRollout m policy n =\n plannedState m (List.replicate n policy)", "statement_sha256": "53fbd30b9105c9c9dfeaa8de41b70a0b232d7a63f5eb9d31d590930f9c118c33" }, @@ -91997,7 +91997,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.policyRollout_kernelPower", "source_line": 184, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem policyRollout_kernelPower [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (n : ℕ) :\n policyRollout m policy n =\n (kernelPower (m.transition policy) n).predictive m.initialState", "statement_sha256": "e49967ec0e827972956e87b373966babc914f262057867d67338a620608095bc" }, @@ -92116,7 +92116,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.rolloutKernel_replicate", "source_line": 213, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem rolloutKernel_replicate [DecidableEq State]\n (m : GenerativeModel Policy State Outcome) (policy : Policy) (n : ℕ) :\n rolloutKernel m (List.replicate n policy) =\n kernelPower (m.transition policy) n", "statement_sha256": "269aad1c21287d2b57cca88424358c92252df16363243dcca655831f2bb6625e" }, @@ -92217,7 +92217,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.statement5DiscreteMatrices_holds", "source_line": 115, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem statement5DiscreteMatrices_holds {State Outcome Policy : Type*}\n [Fintype State] [Fintype Outcome] [Fintype Policy]\n (doc : GnnDocument) (nums : DiscretePayload State Outcome Policy)\n (h : DiscreteConforms doc nums)\n (tables : DiscreteTargetTables State Outcome Policy) :\n Statement5DiscreteMatrices doc nums h tables", "statement_sha256": "9192dcfadd8847a4cc596f98e3b0858681496812639c1a729a2645a4b72b7347" }, @@ -92324,7 +92324,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.GnnRenderStatements.symBoolDoc_policyRollout_kernelPower", "source_line": 262, - "source_owner": "src/fep_lean/formal/gnn_render_statements.lean", + "source_owner": "src/fep_formal/formal/gnn_render_statements.lean", "statement": "theorem symBoolDoc_policyRollout_kernelPower (policy : Bool) (n : ℕ) :\n policyRollout (denoteDiscrete symBoolDoc symBoolPayload symBoolConforms)\n policy n =\n (kernelPower\n ((symmetricBoolModel trueBiasedPolicyPrior).transition policy) n).predictive\n (symmetricBoolModel trueBiasedPolicyPrior).initialState", "statement_sha256": "4f7a9fa3bb591bee00e312d1e1f85b3db67c1cc80f07281f71fc0964e7736286" }, @@ -92345,7 +92345,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_eq_carrier", "source_line": 178, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_eq_carrier : K = FEP.Fin4GaussianSemigroup.K", "statement_sha256": "27b3362ee81ba200eebe24b6b00d06624eb7d5bdb302adc87ced756afc00620e" }, @@ -92379,7 +92379,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_isSymm", "source_line": 189, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_isSymm : K.IsSymm", "statement_sha256": "bd0de063d4e98370d0c13a659938be4c1105e0e7d7e2f6fda21e04ea817129bc" }, @@ -92419,7 +92419,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_mul_Sigma", "source_line": 197, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_mul_Sigma : K * Sigma = 1", "statement_sha256": "d1d6fa0b7f5681d8cdeb8a9e13529efac07a710d0eb6e446fd2e18487a7554c4" }, @@ -92453,7 +92453,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.K_posDef", "source_line": 193, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem K_posDef : K.PosDef", "statement_sha256": "b56ebb7bd5959ff344195d377d1aa856138c2d532ce73ba453fe610ab406e651" }, @@ -92481,7 +92481,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_eq_carrier", "source_line": 185, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_eq_carrier : Sigma = FEP.Fin4GaussianSemigroup.Sigma", "statement_sha256": "85e698f2e1f18ff80f394392cbebe5e0f83bfbc04ac1cdb4b974fa967875c687" }, @@ -92515,7 +92515,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_isSymm", "source_line": 205, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_isSymm : Sigma.IsSymm", "statement_sha256": "b6302bbba8f9d142cbc9b287b11097327daf0eb29d516f63a48c4f030980b2fd" }, @@ -92555,7 +92555,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_mul_K", "source_line": 201, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_mul_K : Sigma * K = 1", "statement_sha256": "98e83144ec3427c97728ad3fdb46d6c14c41510e8bad9e07246e9e15f230d916" }, @@ -92589,7 +92589,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.Sigma_posDef", "source_line": 209, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem Sigma_posDef : Sigma.PosDef", "statement_sha256": "2b86e4e33f19149729517780e3fb366db0b7f31bdb05722afb7a74c2f0a659a1" }, @@ -92617,7 +92617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.axisFin_order", "source_line": 47, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem axisFin_order :\n axisFin external = 0 ∧ axisFin sensory = 1 ∧\n axisFin active = 2 ∧ axisFin internal = 3", "statement_sha256": "28cf58e658be5be3baca330a785e4184b07773d2e50580e6695c600380cc89ec" }, @@ -92645,7 +92645,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.axis_cardinality", "source_line": 52, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem axis_cardinality : Fintype.card Axis = 4", "statement_sha256": "489a5f3951777e31503b4d65f4fbcb92d4f4cc4f4b456f1b0b7bc2dcbd63046d" }, @@ -92666,7 +92666,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.continuous_fromNativeState", "source_line": 86, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem continuous_fromNativeState : Continuous fromNativeState", "statement_sha256": "ba4fb619e139c64ddd7d613c18559e3e590a9156860867434b523a3b4e09bfb1" }, @@ -92687,7 +92687,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.continuous_toNativeState", "source_line": 83, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem continuous_toNativeState : Continuous toNativeState", "statement_sha256": "f3d02dc8be5c864c085bef9f340dffbdd9abf32b3d607b49237b15bf7b729013" }, @@ -92733,7 +92733,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.covarianceRat_eq_native", "source_line": 552, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem covarianceRat_eq_native (row column : Fin 4) :\n (covarianceRat row column : ℝ) = Sigma (axisFin.symm row) (axisFin.symm column)", "statement_sha256": "bb034caa173ee88804e370c76402e8df7dd693320cea0544a3cd60abc6e1c02d" }, @@ -92775,7 +92775,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.destandardize_standardize", "source_line": 133, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem destandardize_standardize (calibration : PositiveCalibration)\n (raw : RawState) :\n destandardize calibration (standardize calibration raw) = raw", "statement_sha256": "fa75483e32e9d091263b4698a84f9613d2ee41684c4478588330b7212cd628fc" }, @@ -92814,7 +92814,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.diffusionVarianceRateRat_eq_native", "source_line": 580, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem diffusionVarianceRateRat_eq_native (center : ℝ) :\n (diffusionVarianceRateRat : ℝ) = (scalarParameters center).diffusionVarianceRate", "statement_sha256": "fc217cfc58644fc4ed24e4db463a433278204013544b89d35764952d315e49af" }, @@ -92842,7 +92842,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.fromNativeKernel_toNativeKernel", "source_line": 239, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem fromNativeKernel_toNativeKernel :\n fromNativeKernel ∘ₖ toNativeKernel = Kernel.id", "statement_sha256": "3a254f1a0a4016d3ee688feb8878472ef26f63a1203a8c052aa167ab03cb9fe9" }, @@ -92884,7 +92884,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.fromNativeState_apply", "source_line": 80, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem fromNativeState_apply (state : NativeState) (axis : Axis) :\n fromNativeState state axis = state axis", "statement_sha256": "d51c638144f4aff70f58a4d4246e850f00954d7d79677fc84a996b2bfcc7fecf" }, @@ -92916,7 +92916,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.fromNative_toNative", "source_line": 71, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem fromNative_toNative (state : StandardState) :\n fromNativeState (toNativeState state) = state", "statement_sha256": "63f4e04e9d3758aac40ba75c005c82258bfc5ac941e491d97f06e57db07359ca" }, @@ -92937,7 +92937,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.measurable_fromNativeState", "source_line": 92, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem measurable_fromNativeState : Measurable fromNativeState", "statement_sha256": "394cdb82c561b6b307454a1a943cbd380a196ee735a106a9d90892210478c125" }, @@ -92958,7 +92958,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.measurable_toNativeState", "source_line": 89, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem measurable_toNativeState : Measurable toNativeState", "statement_sha256": "e8155c2244273a62d492c2f3384362c07cfd46f18e6a9c7c0d86b17f9b3747f9" }, @@ -92991,7 +92991,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeRat_eq_native", "source_line": 486, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeRat_eq_native (row column : Fin 4) :\n (modeRat row column : ℝ) = modeVector column (axisFin.symm row)", "statement_sha256": "eea09f65bccb88a7317cc8a822a5615b96f26f4b9e1c7932fa417e93900901f3" }, @@ -93054,7 +93054,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeRateRat_eigenpair", "source_line": 497, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeRateRat_eigenpair (mode : Fin 4) :\n K *ᵥ modeVector mode = (modeRateRat mode : ℝ) • modeVector mode", "statement_sha256": "71b4dbbac5cdea6aa06c9f506e2548babc6cbb1c3286b070303a836241257b49" }, @@ -93094,7 +93094,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeVector_gram", "source_line": 533, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeVector_gram (left right : Fin 4) :\n modeVector left ⬝ᵥ modeVector right =\n if left = right then (modeSquaredNormRat left : ℝ) else 0", "statement_sha256": "ad4f2df8b60904974a4304c472ed4e5c1b77c27c73f692597965c3b36335c3a5" }, @@ -93133,7 +93133,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.modeVector_nonzero", "source_line": 514, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem modeVector_nonzero (mode : Fin 4) : modeVector mode ≠ 0", "statement_sha256": "d7b1d12a1ab535302473b5418138b15154dfc9d417457f9b8136b07098176ae7" }, @@ -93175,7 +93175,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.nonpositive_scale_excluded", "source_line": 169, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem nonpositive_scale_excluded (calibration : PositiveCalibration) (axis : Axis) :\n ¬ calibration.scale axis ≤ 0", "statement_sha256": "23057aa1af830afd3499adfa156dd0a7304d11c65c61383b51c3c5a5c07af1b0" }, @@ -93207,7 +93207,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.offsetRat_eq_native", "source_line": 568, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem offsetRat_eq_native (axis : Fin 4) :\n (offsetRat axis : ℝ) = frozenCalibration.offset (axisFin.symm axis)", "statement_sha256": "7dbc90e681d68617aea0a24d10a32e6b829ea2680a52beaf5fc022b2ce3625c7" }, @@ -93247,7 +93247,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.precisionRat_eq_native", "source_line": 543, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem precisionRat_eq_native (row column : Fin 4) :\n (precisionRat row column : ℝ) = K (axisFin.symm row) (axisFin.symm column)", "statement_sha256": "c6d84d3b1705475275be93bb31e97c4000b88e2472928abc0602086f899836e3" }, @@ -93289,7 +93289,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.rawValue_strictMono", "source_line": 142, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem rawValue_strictMono (calibration : PositiveCalibration) (axis : Axis) :\n StrictMono (rawValue calibration axis)", "statement_sha256": "e3859dd5e60cb37444d33a6293eb0182eeff511cf21435d97fcfaec54ab162d1" }, @@ -93329,7 +93329,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.recognitionMean_eq", "source_line": 387, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem recognitionMean_eq (center state : StandardState) :\n recognitionMean center state = center external +\n ((state sensory - center sensory) + (state active - center active)) / 4", "statement_sha256": "835eca20ed808f557e13c332ca3d6309667d9f79a0e9bbdddaff9b8512e407fe" }, @@ -93357,7 +93357,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.recognitionRat_eq_precision", "source_line": 585, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem recognitionRat_eq_precision :\n (recognitionCoefficientRat : ℝ) = recognitionCoefficient sensory ∧\n (recognitionCoefficientRat : ℝ) = recognitionCoefficient active ∧\n (recognitionVarianceRat : ℝ) = recognitionVariance", "statement_sha256": "cedfad6e2513894e1fb346349d8c43d5d8e271e516222c6c51ad9dd37ee23cd5" }, @@ -93385,7 +93385,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.recognition_precision_blocks", "source_line": 381, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem recognition_precision_blocks :\n recognitionCoefficient sensory = 1 / 4 ∧\n recognitionCoefficient active = 1 / 4 ∧ recognitionVariance = 1 / 4", "statement_sha256": "e72ea69a5334d83c8e7c64074de64427541303ef6955e3676e75701bfd651fee" }, @@ -93424,7 +93424,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.scalarParameters_exact", "source_line": 367, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem scalarParameters_exact (center : ℝ) :\n (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2", "statement_sha256": "93eccf2dc8b0099761091e7ec5b515cea01471a9b8f1471c293472943ef851fd" }, @@ -93463,7 +93463,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.scalarRateRat_eq_native", "source_line": 575, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem scalarRateRat_eq_native (center : ℝ) :\n (scalarRateRat : ℝ) = (scalarParameters center).rate", "statement_sha256": "bd9495b87f133303cd4b9e6686b860b2d2a6ad0bcb4ec24fdbe19f00b7194a32" }, @@ -93495,7 +93495,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.scaleRat_eq_native", "source_line": 561, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem scaleRat_eq_native (axis : Fin 4) :\n (scaleRat axis : ℝ) = frozenCalibration.scale (axisFin.symm axis)", "statement_sha256": "65f6e8c940b2d0ed09e1fc0994705295cd8be7b8413d3cc4934b872d760ece35" }, @@ -93527,7 +93527,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.settingRat_eq_native", "source_line": 451, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem settingRat_eq_native (setting : Setting) :\n (∀ axis, (centerRat setting : ℝ) / 2 = (referenceSetting setting).center axis) ∧\n (∀ axis, (centerRat setting : ℝ) / 2 = (referenceSetting setting).initialMean axis) ∧\n (observationNoiseRat setting : ℝ) =\n ((referenceSetting setting).observationNoiseVariance : ℝ) ∧\n (sampleDurationRat setting : ℝ) = ((referenceSetting setting).sampleDuration : ℝ)", "statement_sha256": "39ffd28e2e3f3bec1c7b496eba96a49fa9c4734fd64537546bccf38e2f4ee46b" }, @@ -93569,7 +93569,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.standardize_destandardize", "source_line": 127, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem standardize_destandardize (calibration : PositiveCalibration)\n (state : StandardState) :\n standardize calibration (destandardize calibration state) = state", "statement_sha256": "f14dfa78703bd970bf436d3643fe10e34cce6fbb2df864ac6d9204dab7a7262f" }, @@ -93611,7 +93611,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.standardize_value_strictMono", "source_line": 149, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem standardize_value_strictMono (calibration : PositiveCalibration) (axis : Axis) :\n StrictMono (fun value : ℝ =>\n (value - calibration.offset axis) / calibration.scale axis)", "statement_sha256": "e760eff3720a6f4987338b0da88d8b3d184520d98d5580e297fe356b60c9aad9" }, @@ -93656,7 +93656,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.stationaryLaw_eq_gaussian_map", "source_line": 303, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem stationaryLaw_eq_gaussian_map (center : StandardState) :\n stationaryLaw center =\n (multivariateGaussian (toNativeState center) Sigma).map fromNativeState", "statement_sha256": "2c1b5f4f3d4522f1efbe6b828a8e6a3f6eec00d136058894ffc588055c279496" }, @@ -93701,7 +93701,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.stationaryLaw_invariant", "source_line": 309, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem stationaryLaw_invariant (center : StandardState) :\n FEP.MarkovSemigroup.InvariantLaw (nativeSemigroup center) (stationaryLaw center)", "statement_sha256": "94735721dfefd38257bcd7a3dcbc8514b084b8d54758f96543767aa73cb9eff8" }, @@ -93733,7 +93733,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.stationaryProbability_eq", "source_line": 333, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem stationaryProbability_eq (center : StandardState) :\n (stationaryProbability center : Measure StandardState) = stationaryLaw center", "statement_sha256": "11ff4098bdae1b1086278b472e465164aa70eaa0ba0c429a6b4fe4321818b99f" }, @@ -93761,7 +93761,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNativeKernel_fromNativeKernel", "source_line": 233, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNativeKernel_fromNativeKernel :\n toNativeKernel ∘ₖ fromNativeKernel = Kernel.id", "statement_sha256": "a3e667ab1f6cd57db5aac2bd80189ada831699364c22fc1bbaa26154755c7eca" }, @@ -93803,7 +93803,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNativeState_apply", "source_line": 77, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNativeState_apply (state : StandardState) (axis : Axis) :\n toNativeState state axis = state axis", "statement_sha256": "19648e21f5670bb0732b25ec8d6949c05101136c84edd576834ad2e0555f91e1" }, @@ -93835,7 +93835,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNative_actionCenter", "source_line": 349, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNative_actionCenter (action : Bool) :\n toNativeState (actionCenter action) =\n FEP.Fin4GaussianSemigroup.allOnesEmbedding (if action then 1 else -1)", "statement_sha256": "0bd15608ea0cb846a738cd680f1f69b8070e0f4cdad898d803ae1a8078fe2bbf" }, @@ -93867,7 +93867,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.toNative_fromNative", "source_line": 74, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem toNative_fromNative (state : NativeState) :\n toNativeState (fromNativeState state) = state", "statement_sha256": "4e5d730e332b4ce5c1eb8cdf98528d31898d4bbc49c9c65247980bc45cf88766" }, @@ -93928,7 +93928,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionCovariance_posDef", "source_line": 222, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionCovariance_posDef (time : ℝ≥0) (hTime : 0 < time) :\n (transitionCovariance time).PosDef", "statement_sha256": "68f4f836075c18660e550eaed3ecc7d27b2a776fd98fd8b748c721c5bf0917bd" }, @@ -93979,7 +93979,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionCovariance_posSemidef", "source_line": 217, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionCovariance_posSemidef (time : ℝ≥0) :\n (transitionCovariance time).PosSemidef", "statement_sha256": "22e6428e5b99ae029af7af3d60c3a52577b15f9c492f8d830e35aa3e63b79f98" }, @@ -94029,7 +94029,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionProbability_eq", "source_line": 327, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionProbability_eq (center state : StandardState) (time : ℝ≥0) :\n (transitionProbability center state time : Measure StandardState) =\n transition center time state", "statement_sha256": "dac540a82417dfe04ccade5a4e0b8df7509c567de785301e128fcd9f4bf76da2" }, @@ -94075,7 +94075,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transitionProbability_tendsto_invariant", "source_line": 338, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transitionProbability_tendsto_invariant (center state : StandardState) :\n Tendsto (transitionProbability center state) atTop\n (nhds (stationaryProbability center))", "statement_sha256": "6a410bb23ff53afe379a1aa5e4614dc06f29107986cc8d8750050ca48e1cb0e2" }, @@ -94131,7 +94131,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_add", "source_line": 282, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_add (center : StandardState) (left right : ℝ≥0) :\n transition center (left + right) = transition center right ∘ₖ transition center left", "statement_sha256": "cd7afd03fc321c70bc0888d43a23bcf1c393917399d73c59e85696c61642430c" }, @@ -94181,7 +94181,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_apply", "source_line": 257, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_apply (center state : StandardState) (time : ℝ≥0) :\n transition center time state =\n (FEP.Fin4GaussianSemigroup.transition (toNativeState center) time\n (toNativeState state)).map fromNativeState", "statement_sha256": "dbe428202a87f30860e5111f1c106b1bdaf3312bdef795a75962a67f1df6f7f1" }, @@ -94249,7 +94249,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_eq_gaussian_map", "source_line": 265, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_eq_gaussian_map (center state : StandardState) (time : ℝ≥0) :\n transition center time state =\n (multivariateGaussian\n (toNativeState center + Matrix.toEuclideanCLM (𝕜 := ℝ)\n (NormedSpace.exp ((-(time : ℝ)) • K))\n (toNativeState state - toNativeState center))\n (transitionCovariance time)).map fromNativeState", "statement_sha256": "c501ffb6565b745b6a532e154f4e15f6e40de2f753ba1548fcac514cf6dc518d" }, @@ -94301,7 +94301,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_univ", "source_line": 275, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_univ (center : StandardState) (time : ℝ≥0) (state : StandardState) :\n transition center time state Set.univ = 1", "statement_sha256": "d0f6863367d0226c279351838c9107f0597cd159adc5bd288288d893034c33d5" }, @@ -94346,7 +94346,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.H3ReferenceModel.transition_zero", "source_line": 278, - "source_owner": "src/fep_lean/formal/h3_reference_model.lean", + "source_owner": "src/fep_formal/formal/h3_reference_model.lean", "statement": "theorem transition_zero (center : StandardState) : transition center 0 = Kernel.id", "statement_sha256": "b38499fdbd4b21d4dd161149daa873f4b01bb40d96219d377563348e6d46e0ca" }, @@ -94442,7 +94442,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.aoDecomposition", "source_line": 137, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94521,7 +94521,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationNum_skew", "source_line": 113, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94623,7 +94623,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulationPart_skew", "source_line": 147, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94734,7 +94734,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.circulation_divergence_zero", "source_line": 258, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94823,7 +94823,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.current_eq_twice_circulation", "source_line": 167, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94870,7 +94870,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_ao_ness", "source_line": 323, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94903,7 +94903,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_ne_zero", "source_line": 315, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94929,7 +94929,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_one_zero", "source_line": 290, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -94955,7 +94955,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_circulationPart_zero_one", "source_line": 283, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95007,7 +95007,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_current_divergence_zero", "source_line": 307, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95046,7 +95046,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_decomposition_zero_one", "source_line": 297, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95083,7 +95083,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_support", "source_line": 274, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/formal/helmholtz_ao_ness.lean", "statement": "theorem cycle_support (i : Fin 3) : 0 < threeCycleStationaryLaw i", "statement_sha256": "6fd6041526d915a66d760d586739b5f150b00484c51609cdbf49c38c055da7cb" }, @@ -95109,7 +95109,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.cycle_symmetricPart_zero_one", "source_line": 277, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95187,7 +95187,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.detailedBalanced_iff_circulation_eq_zero", "source_line": 199, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95296,7 +95296,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.forceSplit", "source_line": 220, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95384,7 +95384,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.mass_div_two", "source_line": 127, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95480,7 +95480,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.probabilityCurrent_eq_twice_circulation", "source_line": 188, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95568,7 +95568,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.stationaryCurrent_divergence_zero", "source_line": 249, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95647,7 +95647,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_add_circulationNum", "source_line": 105, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95726,7 +95726,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricNum_comm", "source_line": 120, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95828,7 +95828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_current_eq_zero", "source_line": 178, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -95930,7 +95930,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.HelmholtzAoNess.symmetricPart_reversible", "source_line": 157, - "source_owner": "src/fep_lean/formal/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/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" }, @@ -96029,7 +96029,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulliScoreModel_fullSupport", "source_line": 332, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulliScoreModel_fullSupport (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n (outcome : Bool) :\n 0 < (bernoulliScoreModel p hp0 hp1).law outcome", "statement_sha256": "0f1658ed37fdc2c170c2f7bd12b119802f6c5a59c6f69b5b004bd447ac926f3e" }, @@ -96118,7 +96118,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulliScoreModel_identifiable", "source_line": 339, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulliScoreModel_identifiable (p : ℝ) (hp0 : 0 < p)\n (hp1 : p < 1) :\n Identifiable (bernoulliScoreModel p hp0 hp1)", "statement_sha256": "40ac09c0c24f02fdebb92d597767ac6c6d2e6ca0909381755bcff085dfc4f7b4" }, @@ -96207,7 +96207,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMatrix_entry", "source_line": 352, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMatrix_entry (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1) :\n fisherMatrix (bernoulliScoreModel p hp0 hp1) 0 0 =\n 1 / (p * (1 - p))", "statement_sha256": "97c0f989d509834bb58b389c4476b270cc0f8bb564feb73ad4cd970e9cffa68f" }, @@ -96303,7 +96303,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMatrix_isUnit", "source_line": 390, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMatrix_isUnit (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1) :\n IsUnit (fisherMatrix (bernoulliScoreModel p hp0 hp1))", "statement_sha256": "02f85214789845510ab9f5ce4c68543f217174a9db1fc9877689836c02314a66" }, @@ -96416,7 +96416,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMetric_eq", "source_line": 372, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMetric_eq (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n (left right : Fin 1 → ℝ) :\n fisherMetric (bernoulliScoreModel p hp0 hp1) left right =\n (1 / (p * (1 - p))) * left 0 * right 0", "statement_sha256": "0503467953605e8d45f48faf1824a4fa1b9da081ae2c8ed5222f25f37ffff005" }, @@ -96544,7 +96544,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_fisherMetric_pos", "source_line": 382, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_fisherMetric_pos (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n {tangent : Fin 1 → ℝ} (htangent : tangent ≠ 0) :\n 0 < fisherMetric (bernoulliScoreModel p hp0 hp1) tangent tangent", "statement_sha256": "3fa03864571957f3098736867a4b4ec4b73e8950a3bd81de356c84e389bd9886" }, @@ -96656,7 +96656,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.bernoulli_naturalGradient_eq", "source_line": 406, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem bernoulli_naturalGradient_eq (p : ℝ) (hp0 : 0 < p) (hp1 : p < 1)\n (covector : Fin 1 → ℝ) :\n letI := bernoulliFisherInvertible p hp0 hp1\n naturalGradient (bernoulliScoreModel p hp0 hp1) covector =\n fun _ => p * (1 - p) * covector 0", "statement_sha256": "e48fe30ed7aadd5efa661feac108f26cb5e28a3178e9e6d02c039143c227a9e8" }, @@ -96726,7 +96726,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedFairBernoulli_fisherMatrix_entry", "source_line": 444, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedFairBernoulli_fisherMatrix_entry (i j : Fin 2) :\n fisherMatrix duplicatedFairBernoulliScoreModel i j = 4", "statement_sha256": "d6fb1b48241db3c168406f87a01907cffe11e74c7beb571d75516cebd89980f0" }, @@ -96797,7 +96797,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedFairBernoulli_not_identifiable", "source_line": 476, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedFairBernoulli_not_identifiable :\n ¬Identifiable duplicatedFairBernoulliScoreModel", "statement_sha256": "98318bbdad29e91ee28c450d8c2b6a06b14f346be8385a649a6fcb5fd2135930" }, @@ -96855,7 +96855,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedScoreNullTangent_ne_zero", "source_line": 450, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedScoreNullTangent_ne_zero :\n duplicatedScoreNullTangent ≠ 0", "statement_sha256": "0ea88b7fe8e46528d069c6d68032d3f9b2ef66c8a774a918985374929f1ca4ea" }, @@ -96924,7 +96924,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedScoreNullTangent_pairing_zero", "source_line": 458, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedScoreNullTangent_pairing_zero (outcome : Bool) :\n scorePairing duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent outcome = 0", "statement_sha256": "ada3e77cfe5aa75bf48c4f4f2989d50da72d97759d5f6d5d34188a36620d7a51" }, @@ -97001,7 +97001,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.duplicatedScore_fisherMetric_eq_zero", "source_line": 466, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem duplicatedScore_fisherMetric_eq_zero :\n fisherMetric duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent duplicatedScoreNullTangent = 0", "statement_sha256": "2f4dd77e3190bdd3670400c5790eaa9f4e6a416cdfa6fcf24498a30044a9995d" }, @@ -97080,7 +97080,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.expectedScore_zero", "source_line": 50, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem expectedScore_zero (model : ScoreModel Outcome d) (coordinate : Fin d) :\n ∑ outcome, model.law outcome * model.score outcome coordinate = 0", "statement_sha256": "2e822814ddd799a90e8ed5dcd7d55cdcf4c3da9ff666c4f12cae56ed0ff8aa26" }, @@ -97138,7 +97138,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fairBernoulliScoreModel_scores", "source_line": 326, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fairBernoulliScoreModel_scores :\n fairBernoulliScoreModel.score false 0 = -2 ∧\n fairBernoulliScoreModel.score true 0 = 2", "statement_sha256": "e0d1e3ce534260d898ac0901bdbf525bcaf268f4fb033e5b443e64ad13260588" }, @@ -97203,7 +97203,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fairBernoulli_fisherMatrix_entry", "source_line": 363, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fairBernoulli_fisherMatrix_entry :\n fisherMatrix fairBernoulliScoreModel 0 0 = 4", "statement_sha256": "8b9cafeb83a489e6c78bcd6777ceb836ec67c381c7e7e6ea81234494b56a0e41" }, @@ -97272,7 +97272,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMatrix_symm", "source_line": 55, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMatrix_symm (model : ScoreModel Outcome d) :\n (fisherMatrix model).IsSymm", "statement_sha256": "87a7479c9d94c8c0a2e5d6552a9075d66a0e0f9de43588762c88c3b1e7e3d23e" }, @@ -97360,7 +97360,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_add_left", "source_line": 198, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_add_left (model : ScoreModel Outcome d)\n (left extra right : Fin d → ℝ) :\n fisherMetric model (fun coordinate => left coordinate + extra coordinate)\n right =\n fisherMetric model left right + fisherMetric model extra right", "statement_sha256": "7a2a5cedfc91e5fe51ab61110f517523071423f9167e708bd75370baa5afbd5d" }, @@ -97454,7 +97454,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_add_right", "source_line": 220, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_add_right (model : ScoreModel Outcome d)\n (left right extra : Fin d → ℝ) :\n fisherMetric model left\n (fun coordinate => right coordinate + extra coordinate) =\n fisherMetric model left right + fisherMetric model left extra", "statement_sha256": "6320fe9da92d05c00f0e42e9b8cae64b4240baf64941bb72febf7fbcd659acbe" }, @@ -97541,7 +97541,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_eq_dot_lowerTangent", "source_line": 178, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_eq_dot_lowerTangent (model : ScoreModel Outcome d)\n (left right : Fin d → ℝ) :\n fisherMetric model left right =\n ∑ coordinate, left coordinate * lowerTangent model right coordinate", "statement_sha256": "f650b30719870b2c9b9c595279561215bb58b85faa6fdb82d520f72b4c3946f6" }, @@ -97630,7 +97630,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_eq_zero_iff", "source_line": 82, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_eq_zero_iff (model : ScoreModel Outcome d)\n (hsupport : ∀ outcome, 0 < model.law outcome)\n (tangent : Fin d → ℝ) :\n fisherMetric model tangent tangent = 0 ↔\n ∀ outcome, scorePairing model tangent outcome = 0", "statement_sha256": "856363c2fe86876420a8b9ef174c1de45d212518bf6bc6e40e22c537cdc478c2" }, @@ -97709,7 +97709,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_nonneg", "source_line": 72, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_nonneg (model : ScoreModel Outcome d)\n (tangent : Fin d → ℝ) :\n 0 ≤ fisherMetric model tangent tangent", "statement_sha256": "0b08cfc4eff89702945a5dda152b6fbf3222cdc6993ae8c4c1cdd27bfdfbcd8e" }, @@ -97831,7 +97831,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_pos", "source_line": 120, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_pos (model : ScoreModel Outcome d)\n (hsupport : ∀ outcome, 0 < model.law outcome)\n (hidentifiable : Identifiable model) {tangent : Fin d → ℝ}\n (htangent : tangent ≠ 0) :\n 0 < fisherMetric model tangent tangent", "statement_sha256": "069fe90c7cc2203e6b89df8932ffa132081da9cc37f722612b3b22f5f7107e33" }, @@ -97928,7 +97928,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_smul_left", "source_line": 209, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_smul_left (model : ScoreModel Outcome d)\n (scale : ℝ) (left right : Fin d → ℝ) :\n fisherMetric model (fun coordinate => scale * left coordinate) right =\n scale * fisherMetric model left right", "statement_sha256": "4bbacd47afe5ebec9bee709a9793b37786af3dc867d8c7413feeedbdbc7d8bb7" }, @@ -98031,7 +98031,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_smul_right", "source_line": 231, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_smul_right (model : ScoreModel Outcome d)\n (scale : ℝ) (left right : Fin d → ℝ) :\n fisherMetric model left (fun coordinate => scale * right coordinate) =\n scale * fisherMetric model left right", "statement_sha256": "3c7644c0cf6e635202a06657b49f439dd6f08609fdd5d5ec8cfb2ca8a996f870" }, @@ -98111,7 +98111,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.fisherMetric_symm", "source_line": 64, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem fisherMetric_symm (model : ScoreModel Outcome d)\n (left right : Fin d → ℝ) :\n fisherMetric model left right = fisherMetric model right left", "statement_sha256": "3561ee544df20b7a0f9d59d79fb657e6120e5314b67fe5f078c2a9a0aba0514a" }, @@ -98201,7 +98201,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_duality", "source_line": 246, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_duality (model : ScoreModel Outcome d)\n (covector tangent : Fin d → ℝ)\n (h : IsNaturalGradient model covector tangent) :\n lowerTangent model tangent = covector", "statement_sha256": "38e869b715751892303c6ebdc2aab5d178a343fdcddd692be07c7be0d34047bc" }, @@ -98295,7 +98295,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_energy_identity", "source_line": 276, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_energy_identity (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)] (covector : Fin d → ℝ) :\n fisherMetric model (naturalGradient model covector)\n (naturalGradient model covector) =\n ∑ coordinate, naturalGradient model covector coordinate *\n covector coordinate", "statement_sha256": "96720f65b4986b6f1af988a2b6172b384c45857d15cf7bd5a802d847e478bfb7" }, @@ -98382,7 +98382,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_isNaturalGradient", "source_line": 258, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_isNaturalGradient (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)] (covector : Fin d → ℝ) :\n IsNaturalGradient model covector (naturalGradient model covector)", "statement_sha256": "7701db5a81c9c7872e3bceb83ae30478899f17e2f94fc4903ca16308acf23691" }, @@ -98483,7 +98483,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_metric_duality", "source_line": 266, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_metric_duality (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)]\n (covector tangent : Fin d → ℝ) :\n fisherMetric model tangent (naturalGradient model covector) =\n ∑ coordinate, tangent coordinate * covector coordinate", "statement_sha256": "b0311c86a77e7d91bd9207acbede3664482ea3a300a6f115121c3145a1cbc82f" }, @@ -98581,7 +98581,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.naturalGradient_unique", "source_line": 287, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem naturalGradient_unique (model : ScoreModel Outcome d)\n [Invertible (fisherMatrix model)] (covector candidate : Fin d → ℝ)\n (h : IsNaturalGradient model covector candidate) :\n candidate = naturalGradient model covector", "statement_sha256": "19aa63708fbcb92b2cde84417ea0181f6c8bc6052a428ca4a7a874402af47d5b" }, @@ -98681,7 +98681,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.pullbackMetric_comp", "source_line": 142, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem pullbackMetric_comp (model : ScoreModel Outcome d)\n (outer : Matrix (Fin d) (Fin k) ℝ)\n (inner : Matrix (Fin k) (Fin m) ℝ)\n (left right : Fin m → ℝ) :\n pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)", "statement_sha256": "8f7b4ba6e5280bcffcce21d4489078eab06dd71046547f65ac823642124299ef" }, @@ -98777,7 +98777,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.pullbackMetric_nonneg", "source_line": 151, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem pullbackMetric_nonneg (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin k) ℝ) (tangent : Fin k → ℝ) :\n 0 ≤ pullbackMetric model jacobian tangent tangent", "statement_sha256": "295355d1cce9e55e1305d08d602332b2d44f96109a832d92733188c7b9863471" }, @@ -98913,7 +98913,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.InformationGeometry.pullbackMetric_pos", "source_line": 158, - "source_owner": "src/fep_lean/formal/information_geometry.lean", + "source_owner": "src/fep_formal/formal/information_geometry.lean", "statement": "theorem pullbackMetric_pos (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin k) ℝ)\n (hsupport : ∀ outcome, 0 < model.law outcome)\n (hidentifiable : Identifiable model)\n (hinjective : ∀ tangent : Fin k → ℝ,\n jacobian.mulVec tangent = 0 → tangent = 0)\n {tangent : Fin k → ℝ} (htangent : tangent ≠ 0) :\n 0 < pullbackMetric model jacobian tangent tangent", "statement_sha256": "c8a834597221f54164c96bbf35097177d6906fea86d2bf0820e5dde9033c000e" }, @@ -99020,7 +99020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_reversible_split_unique", "source_line": 85, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_reversible_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hRev : ∀ i j, law i * rate i j = law j * rate j i) :\n rate = symmetricPart rate law ∧ (∀ i j, circulationPart rate law i j = 0)", "statement_sha256": "bd869503b42c518a6caee9ca156220d44fc778750ed39cf53c6cf6b04004b006" }, @@ -99130,7 +99130,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_split_unique", "source_line": 62, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hS : ∀ i j, law i * S i j = law j * S j i)\n (hA : ∀ i j, law i * A i j = -(law j * A j i))\n (hSum : ∀ i j, rate i j = S i j + A i j) :\n S = symmetricPart rate law ∧ A = circulationPart rate law", "statement_sha256": "384b4d16d47da2ea364315da5e73e0f800de1831dd266cc9838b58e8733fdd69" }, @@ -99156,7 +99156,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_circulation_negative", "source_line": 163, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_circulation_negative :\n circulationPart twoByTwoW twoByTwoLaw (1 : Fin 2) (0 : Fin 2) = -1 / 4", "statement_sha256": "fb5a68d1af0f50f44b3ee545bf24468b33892d5df3f698b6115a66b0a79c0aed" }, @@ -99182,7 +99182,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_circulation_nonzero", "source_line": 156, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_circulation_nonzero :\n circulationPart twoByTwoW twoByTwoLaw (0 : Fin 2) (1 : Fin 2) = 1 / 2", "statement_sha256": "61e1a1ac08c14a9977fcdd5d6907712c101d9b6bee77103513414370e62c7bfd" }, @@ -99208,7 +99208,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_predicates", "source_line": 133, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_predicates :\n (∀ i j : Fin 2, twoByTwoLaw i * twoByTwoS i j = twoByTwoLaw j * twoByTwoS j i) ∧\n (∀ i j : Fin 2,\n twoByTwoLaw i * twoByTwoA i j = -(twoByTwoLaw j * twoByTwoA j i)) ∧\n (∀ i j : Fin 2, twoByTwoW i j = twoByTwoS i j + twoByTwoA i j)", "statement_sha256": "9a58e18759e5e2286d87e0d555507bf38eace98d2af7d775262fdb45b29c8583" }, @@ -99253,7 +99253,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_split_canonical", "source_line": 145, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_split_canonical :\n twoByTwoS = symmetricPart twoByTwoW twoByTwoLaw ∧\n twoByTwoA = circulationPart twoByTwoW twoByTwoLaw", "statement_sha256": "b258b36eb7fdb83ccb452d2d867a667383ed1310e6ae9fa30573c2532ad24c85" }, @@ -99290,7 +99290,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LawWeightedSplit.fep166_twoByTwo_support", "source_line": 128, - "source_owner": "src/fep_lean/formal/law_weighted_split.lean", + "source_owner": "src/fep_formal/formal/law_weighted_split.lean", "statement": "theorem fep166_twoByTwo_support (i : Fin 2) : 0 < twoByTwoLaw i", "statement_sha256": "bbc5b3ac54d5ec3902349868ca9ccb7458bf7645449a22c2805b3b48888462e8" }, @@ -99346,7 +99346,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.bayesFactor_multiplicative", "source_line": 369, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem bayesFactor_multiplicative\n (priorOdds firstFavored firstReference secondFavored secondReference : ℝ)\n (firstReferenceNonzero : firstReference ≠ 0)\n (secondReferenceNonzero : secondReference ≠ 0) :\n bayesFactor (firstFavored * secondFavored)\n (firstReference * secondReference) =\n bayesFactor firstFavored firstReference *\n bayesFactor secondFavored secondReference ∧\n updatedModelOdds priorOdds (firstFavored * secondFavored)\n (firstReference * secondReference) =\n updatedModelOdds\n (updatedModelOdds priorOdds firstFavored firstReference)\n secondFavored secondReference", "statement_sha256": "548aa15040a96f0d3b2e77e16a5677fc1056c307174b62cb7e73488a4e965f3b" }, @@ -99367,7 +99367,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.bayesFactor_twoHypothesis_witness", "source_line": 390, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem bayesFactor_twoHypothesis_witness :\n bayesFactor (3 / 4) (1 / 4) = 3 ∧\n updatedModelOdds 1 (3 / 4) (1 / 4) = 3", "statement_sha256": "dd9e8a132e1fe27efbca471516216577add6e7787e6fb6ce691cbaf6f5f122bb" }, @@ -99399,7 +99399,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.bayesFactor_zero_denominator_boundary", "source_line": 398, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem bayesFactor_zero_denominator_boundary (favored : ℝ) :\n bayesFactor favored 0 = 0", "statement_sha256": "ad91b10ccc4c50b0706cf510d12cc741ca1a019955c49f8e86e57b88eb97030f" }, @@ -99551,7 +99551,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.finitePACBayes_changeOfMeasure_with_confidence", "source_line": 107, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem finitePACBayes_changeOfMeasure_with_confidence\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior posterior : FiniteLaw Hypothesis)\n (certificate : GibbsCertificate Hypothesis)\n (referenceIsPrior : certificate.reference = prior)\n (empiricalLoss populationLoss : Hypothesis → ℝ)\n (inverseTemperature : ℝ)\n (inverseTemperaturePositive : 0 < inverseTemperature)\n (potentialIsLossGap : ∀ hypothesis,\n certificate.potential hypothesis = inverseTemperature *\n (populationLoss hypothesis - empiricalLoss hypothesis))\n (confidence : ℝ)\n (confidencePositive : 0 < confidence)\n (confidenceBelowOne : confidence < 1)\n (logMGFBound : certificate.logPartition ≤ Real.log confidence⁻¹) :\n VariationalDuality.expectation posterior populationLoss ≤\n VariationalDuality.expectation posterior empiricalLoss +\n (FiniteInformation.finiteKL posterior prior + Real.log confidence⁻¹) /\n inverseTemperature ∧\n confidence ∈ Set.Ioo 0 1", "statement_sha256": "92cfa691ed320496d1b140c17cd832bd679185c021f6e6a606e08a75e0b69d1f" }, @@ -99631,7 +99631,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.mixtureEvidence_lower_bound", "source_line": 325, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem mixtureEvidence_lower_bound\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis) :\n prior selected * likelihood selected ≤ mixtureEvidence prior likelihood", "statement_sha256": "8a12a455ed6cd312e2ddd500f41026e62bfa5dd6f104dd3a552a357a6f325c40" }, @@ -99738,7 +99738,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.mixtureLogLoss_regret", "source_line": 340, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem mixtureLogLoss_regret\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis)\n (priorPositive : 0 < prior selected)\n (likelihoodPositive : 0 < likelihood selected) :\n -Real.log (mixtureEvidence prior likelihood) ≤\n -Real.log (likelihood selected) - Real.log (prior selected)", "statement_sha256": "6ca0fd1fafea771486f83fc4af8561adeeccc15306908bfd8cd77ae4db179bf4" }, @@ -99844,7 +99844,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.posteriorGap_concentration", "source_line": 226, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem posteriorGap_concentration\n (priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)\n (sampleCount : ℕ)\n (priorGoodPositive : 0 < priorGood)\n (priorBadNonnegative : 0 ≤ priorBad)\n (likelihoodGoodPositive : 0 < likelihoodGood)\n (likelihoodBadNonnegative : 0 ≤ likelihoodBad)\n (likelihoodGapNonnegative : 0 ≤ likelihoodGap)\n (gapBound :\n likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood) :\n twoHypothesisPosteriorBad priorGood priorBad likelihoodGood likelihoodBad\n sampleCount ≤\n (priorBad / priorGood) *\n Real.exp (-((sampleCount : ℝ) * likelihoodGap))", "statement_sha256": "6e3c5a6c794410a8519e7ddff0b0b65d004a7d6bf334a55efb9b6ce0488074db" }, @@ -99964,7 +99964,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.posteriorOdds_recursion", "source_line": 187, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem posteriorOdds_recursion\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence) (evidencePositive : 0 < likelihood.predictive prior evidence)\n (favored reference : Hypothesis)\n (referencePriorPositive : 0 < prior reference)\n (referenceLikelihoodPositive : 0 < likelihood reference evidence) :\n posteriorOdds prior likelihood evidence evidencePositive favored reference =\n (prior favored / prior reference) *\n (likelihood favored evidence / likelihood reference evidence)", "statement_sha256": "e9128c1b4f41889c089d8790fa32bb5ad44c34b047200a2667e85edbfee2dfb4" }, @@ -100073,7 +100073,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.posterior_zero_of_prior_zero", "source_line": 204, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/formal/learning_theory.lean", "statement": "theorem posterior_zero_of_prior_zero\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence) (evidencePositive : 0 < likelihood.predictive prior evidence)\n (hypothesis : Hypothesis) (priorZero : prior hypothesis = 0) :\n likelihood.posterior prior evidence evidencePositive hypothesis = 0", "statement_sha256": "29ff5d8a1686254b7327b03e2e15f8bd98f9cada8115f8ee413a6d66cac00e9a" }, @@ -100207,7 +100207,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.simultaneous_frequency_bound", "source_line": 76, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/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" }, @@ -100327,7 +100327,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.subGaussian_empiricalMean_tail", "source_line": 33, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/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" }, @@ -100348,7 +100348,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LearningTheory.twoHypothesis_posterior_witness", "source_line": 308, - "source_owner": "src/fep_lean/formal/learning_theory.lean", + "source_owner": "src/fep_formal/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" }, @@ -100421,7 +100421,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_mul_precision", "source_line": 89, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem covariance_mul_precision (model : LinearGaussianParameters Axis) :\n model.covariance * model.precision = 1", "statement_sha256": "9aab55a13c793e678b263140c05f0f67976d9f7ae87cbe7e6a8125cc24f5c2d3" }, @@ -100494,7 +100494,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.covariance_posDef", "source_line": 97, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem covariance_posDef (model : LinearGaussianParameters Axis) :\n model.covariance.PosDef", "statement_sha256": "f03d0d8aa66c5801895fe1d1bd23b09f937179b0733b1ecf962043942ec44c5d" }, @@ -100578,7 +100578,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_add", "source_line": 404, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -100661,7 +100661,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_transpose", "source_line": 418, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -100734,7 +100734,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.evolution_zero", "source_line": 398, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem evolution_zero (model : LinearGaussianParameters Axis) :\n model.evolution 0 = 1", "statement_sha256": "e4ddba99ce105184b3629eca2506764032e6fc18d7a39067371646c65777bd94" }, @@ -100802,7 +100802,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneState_measurable", "source_line": 1174, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem finOneState_measurable : Measurable finOneState", "statement_sha256": "e37b19310bc6202b3b451a965b986a73b2d969ce21bf41543b1ebd2b43ca2eac" }, @@ -100936,7 +100936,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOneTransition_eq_scalarOU", "source_line": 1278, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101045,7 +101045,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionCovariance", "source_line": 1257, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101164,7 +101164,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.finOne_transitionMean", "source_line": 1240, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101263,7 +101263,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.integral_transition_tendsto_invariant", "source_line": 1156, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101336,7 +101336,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.precision_mul_covariance", "source_line": 82, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem precision_mul_covariance (model : LinearGaussianParameters Axis) :\n model.precision * model.covariance = 1", "statement_sha256": "ac31d0459fa820d33a00bc2ade437cf905b4dde4d97234e69a873e6c8722fac2" }, @@ -101409,7 +101409,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.stationaryLaw_invariant", "source_line": 900, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_invariant (model : LinearGaussianParameters Axis) :\n FEP.MarkovSemigroup.InvariantLaw\n model.nativeSemigroup model.stationaryLaw", "statement_sha256": "3e70f909cfe44f9d4ae15f6f2b0ffe26dd174b46c5ea85a26e7f0c1034a387b3" }, @@ -101493,7 +101493,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_add", "source_line": 563, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101586,7 +101586,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posDef", "source_line": 511, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101669,7 +101669,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_posSemidef", "source_line": 460, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_posSemidef\n (model : LinearGaussianParameters Axis) (time : ℝ≥0) :\n (model.transitionCovariance time).PosSemidef", "statement_sha256": "b4ecf704927cf579285c2ee93bf55793e3beb0d343318e812102f61411a8d777" }, @@ -101742,7 +101742,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionCovariance_zero", "source_line": 455, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem transitionCovariance_zero (model : LinearGaussianParameters Axis) :\n model.transitionCovariance 0 = 0", "statement_sha256": "9e161ff4cf160f0a1cb6cb5f8ee651e382b3eb409e088e8f7119a25f2c5011f6" }, @@ -101836,7 +101836,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_add", "source_line": 446, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -101919,7 +101919,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionMean_zero", "source_line": 428, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102008,7 +102008,7 @@ ], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transitionProbability_tendsto_invariant", "source_line": 1126, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102092,7 +102092,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_add", "source_line": 857, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102185,7 +102185,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_apply", "source_line": 611, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102298,7 +102298,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_comp_multivariateGaussian", "source_line": 813, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102402,7 +102402,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_covariance", "source_line": 921, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102495,7 +102495,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_mean", "source_line": 912, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102588,7 +102588,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_univ", "source_line": 633, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -102661,7 +102661,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.LinearGaussianSemigroup.LinearGaussianParameters.transition_zero", "source_line": 640, - "source_owner": "src/fep_lean/formal/linear_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/linear_gaussian_semigroup.lean", "statement": "theorem transition_zero (model : LinearGaussianParameters Axis) :\n model.transition 0 = Kernel.id", "statement_sha256": "c68ce184d77cac35b0d329f8f759874999be9e299309c1827abbe0b7dacd559b" }, @@ -102729,7 +102729,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.boolDynamics_nontrivial", "source_line": 257, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/formal/markov_blanket.lean", "statement": "theorem boolDynamics_nontrivial :\n let current : DynamicState Bool Bool Bool Bool :=\n (false, (true, (false, true)))\n let next : DynamicState Bool Bool Bool Bool :=\n (false, (true, (true, false)))\n next ≠ current ∧ nextLaw boolDynamics current next = 1", "statement_sha256": "b39e9c126d56aa86daf1698060eea2721a25773b08ede2fd99b4bb74bed8fd30" }, @@ -102828,7 +102828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.conditionalJoint_fstMarginal", "source_line": 96, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -102954,7 +102954,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.conditional_internal_external_factorization", "source_line": 78, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -103052,7 +103052,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.conditional_mutualInformation_zero", "source_line": 69, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -103161,7 +103161,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.staticJoint_factorization", "source_line": 52, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -103251,7 +103251,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_eq_staticJoint_nextStaticModel", "source_line": 192, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -103341,7 +103341,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_factorization", "source_line": 177, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -103454,7 +103454,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_factorization", "source_line": 219, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -103560,7 +103560,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovBlanket.transition_row_conditional_mutualInformation_zero", "source_line": 238, - "source_owner": "src/fep_lean/formal/markov_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -103642,7 +103642,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_false_kernel", "source_line": 241, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -103730,7 +103730,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_kernels_ne", "source_line": 278, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/formal/markov_semigroup.lean", "statement": "theorem boolBlanketNativeActionIndexedSemigroup_kernels_ne :\n sampledKernel boolBlanketNativeActionIndexedSemigroup false ≠\n sampledKernel boolBlanketNativeActionIndexedSemigroup true", "statement_sha256": "931a5da60bcdff5edb69667f013943659624a97de40e4b23b37afbba489f08f8" }, @@ -103806,7 +103806,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.boolBlanketNativeActionIndexedSemigroup_true_kernel", "source_line": 261, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/formal/markov_semigroup.lean", "statement": "theorem boolBlanketNativeActionIndexedSemigroup_true_kernel :\n sampledKernel boolBlanketNativeActionIndexedSemigroup true =\n FEP.NativeBlanket.embeddedKernel\n FEP.ContinuousTimeMarkov.boolBlanketRefreshKernel", "statement_sha256": "4557c2b23f7b628f701de8075b9ad65ae895e534361027934956bdda9c5c0fbf" }, @@ -103932,7 +103932,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_kernel", "source_line": 199, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -104048,7 +104048,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampleTime", "source_line": 211, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -104164,7 +104164,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeActionIndexedKernelSemigroup.liftActionIndexedSemigroup_sampledKernel", "source_line": 221, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -104271,7 +104271,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.liftFiniteMarkovSemigroup_kernel", "source_line": 135, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -104382,7 +104382,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_nonincrease", "source_line": 96, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -104510,7 +104510,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.nativeKL_to_invariant_nonincrease", "source_line": 112, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -104603,7 +104603,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MarkovSemigroup.NativeKernelSemigroup.reversibleLaw_invariantLaw", "source_line": 87, - "source_owner": "src/fep_lean/formal/markov_semigroup.lean", + "source_owner": "src/fep_formal/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" }, @@ -104799,7 +104799,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.conditionalExpectation_tower", "source_line": 106, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -104975,7 +104975,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.conditionalKernel_reconstruction", "source_line": 99, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/formal/measure_bayes.lean", "statement": "theorem conditionalKernel_reconstruction\n (joint : Measure (Observation × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", "statement_sha256": "912e9622c0a14c5e5dd6e736ef895dd316ad066925522d9c65b423f62863aca0" }, @@ -105201,7 +105201,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.finite_posterior_normalized", "source_line": 134, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -105437,7 +105437,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.finite_posterior_reconstruction", "source_line": 121, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -105663,7 +105663,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.finite_zero_evidence_boundary", "source_line": 144, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -105760,7 +105760,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction", "source_line": 31, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -105847,7 +105847,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.likelihoodRatio_reconstruction_iff", "source_line": 39, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -106002,7 +106002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_composite", "source_line": 85, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -106141,7 +106141,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_density_as_likelihood_tilt", "source_line": 53, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -106286,7 +106286,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_involution", "source_line": 77, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/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" }, @@ -106406,7 +106406,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_joint_reconstruction", "source_line": 65, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/formal/measure_bayes.lean", "statement": "theorem posterior_joint_reconstruction :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", "statement_sha256": "092d4dc9512fe694ab87aed7e5c096a32cdf3e6589bf246b4d18b268d171b725" }, @@ -106535,7 +106535,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.MeasureBayes.posterior_reconstructs_prior", "source_line": 71, - "source_owner": "src/fep_lean/formal/measure_bayes.lean", + "source_owner": "src/fep_formal/formal/measure_bayes.lean", "statement": "theorem posterior_reconstructs_prior [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", "statement_sha256": "ebeff6ea880ffcddf73263dd3f8d12226415ee3d8bfa1cfb4b683b8c96c7ce20" }, @@ -106676,7 +106676,7 @@ ], "qualified_name": "FEP.NativeBlanket.blanketCoordinate_measurable", "source_line": 241, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem blanketCoordinate_measurable :\n Measurable\n (blanketCoordinate :\n StaticState Internal Sensory Active External → Blanket Sensory Active)", "statement_sha256": "7a2477c26a3e5ed32a6f4241ffcfe179b2ec3e188216a64c51cd78e8c2b34af5" }, @@ -106817,7 +106817,7 @@ ], "qualified_name": "FEP.NativeBlanket.blanketTripleCoordinate_measurable", "source_line": 259, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107069,7 +107069,7 @@ ], "qualified_name": "FEP.NativeBlanket.condIndepFun_measurableImages", "source_line": 573, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107123,7 +107123,7 @@ ], "qualified_name": "FEP.NativeBlanket.correlatedBlanket_nonvacuous", "source_line": 624, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool := ⊤\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint correlatedBlanketModel)) ∧\n staticJoint correlatedBlanketModel (((false, false), false), false) = 1 / 2 ∧\n staticJoint correlatedBlanketModel (((true, true), true), true) = 1 / 2 ∧\n staticJoint correlatedBlanketModel (((false, true), false), false) ≠ 1 / 2", "statement_sha256": "a97404344146986da6193a58c89774e84c71fda26c59ceef19db38a16c104b17" }, @@ -107282,7 +107282,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedConditionalPairKernel_eq_prod", "source_line": 282, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107394,7 +107394,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply", "source_line": 116, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedKernel_apply (kernel : FiniteKernel α β) (state : α) :\n embeddedKernel kernel state = embeddedLaw (kernel.row state)", "statement_sha256": "e23bc2940c661635638d172e8d8764c3f61a229b50d56bb5648759a6fdaf6540" }, @@ -107529,7 +107529,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_apply_singleton", "source_line": 120, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107688,7 +107688,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_comp", "source_line": 187, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -107795,7 +107795,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedKernel_identity", "source_line": 133, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedKernel_identity [DecidableEq α] :\n embeddedKernel (FiniteKernel.identity : FiniteKernel α α) = Kernel.id", "statement_sha256": "fd5ac223e982b9bcfd5ee38d33ee4344e3747eaed8bb590e9ee11790168e6914" }, @@ -107901,7 +107901,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_singleton", "source_line": 42, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_apply_singleton (law : FiniteLaw α) (state : α) :\n embeddedLaw law {state} = ENNReal.ofReal (law state)", "statement_sha256": "66e9981fa09b7d0d545d9ac3758823d79b37eafb5ae377ff8abd9a74aea43662" }, @@ -107997,7 +107997,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_apply_univ", "source_line": 50, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_apply_univ (law : FiniteLaw α) :\n embeddedLaw law Set.univ = 1", "statement_sha256": "248e44206c481c6b1fd87c5c1cf015641f6192fc7073180ef1477322661c1d55" }, @@ -108082,7 +108082,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_injective", "source_line": 71, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_injective :\n Function.Injective (embeddedLaw : FiniteLaw α → Measure α)", "statement_sha256": "fda99e3ad733943d914c049175e153113063755809c00dd27dfb34c81dbed41c" }, @@ -108195,7 +108195,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_integral_eq_sum", "source_line": 81, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -108314,7 +108314,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedLaw_joint_eq_compProd", "source_line": 150, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -108435,7 +108435,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_map", "source_line": 90, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -108548,7 +108548,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NativeBlanket.embeddedLaw_real_singleton", "source_line": 65, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem embeddedLaw_real_singleton (law : FiniteLaw α) (state : α) :\n (embeddedLaw law).real {state} = law state", "statement_sha256": "a0a1b352dac09b3e4d0b2c5ea8be2d3e83ae71ef72837e7a37dfc1695e90c568" }, @@ -108667,7 +108667,7 @@ ], "qualified_name": "FEP.NativeBlanket.embeddedPredictive_eq_comp", "source_line": 166, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -108808,7 +108808,7 @@ ], "qualified_name": "FEP.NativeBlanket.externalCoordinate_measurable", "source_line": 253, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem externalCoordinate_measurable :\n Measurable\n (externalCoordinate :\n StaticState Internal Sensory Active External → External)", "statement_sha256": "dd55d082d3200007838b57444a93840a9e25e108f17a726c8722df282d48133a" }, @@ -108949,7 +108949,7 @@ ], "qualified_name": "FEP.NativeBlanket.internalCoordinate_measurable", "source_line": 247, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/formal/native_blanket.lean", "statement": "theorem internalCoordinate_measurable :\n Measurable\n (internalCoordinate :\n StaticState Internal Sensory Active External → Internal)", "statement_sha256": "13bb07003599a3855ecc0d7abf7ccf8739f6e254ad03d6d8a4016ea4fa4c2519" }, @@ -109144,7 +109144,7 @@ ], "qualified_name": "FEP.NativeBlanket.prediction_preserves_nativeBlanket", "source_line": 594, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -109347,7 +109347,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_condIndepFun", "source_line": 524, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -109509,7 +109509,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket", "source_line": 390, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -109690,7 +109690,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_external", "source_line": 417, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -109859,7 +109859,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_blanket_internal", "source_line": 407, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -110046,7 +110046,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_map_triple_factorization", "source_line": 443, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -110253,7 +110253,7 @@ ], "qualified_name": "FEP.NativeBlanket.staticJoint_rectangle_factorization", "source_line": 474, - "source_owner": "src/fep_lean/formal/native_blanket.lean", + "source_owner": "src/fep_formal/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" }, @@ -110367,7 +110367,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.actualCarrier_eq_negative_divergence", "source_line": 483, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem actualCarrier_eq_negative_divergence (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) :\n actualCarrier F Q x = -divergence (probCurrent F Γ Q) x / density F x", "statement_sha256": "20c0cb6f883bec7d9d3c06c53256bd341ea9f8a3010fd7efab03a033056967a7" }, @@ -110445,7 +110445,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.forwardDiv_tendsto", "source_line": 433, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem forwardDiv_tendsto (V : (Fin n → ℝ) → Fin n → ℝ)\n (x : Fin n → ℝ)\n (hV : ∀ i, DifferentiableAt ℝ (fun y => V y i) x) :\n Tendsto (forwardDiv V x) (𝓝[≠] (0 : ℝ)) (𝓝 (divergence V x))", "statement_sha256": "f2caabae26ab043dad2019068ecd86ed8284a74386761e29563ef47321068c8d" }, @@ -110553,7 +110553,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.negative_forwardDiv_tendsto_carrier", "source_line": 503, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem negative_forwardDiv_tendsto_carrier (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) :\n Tendsto (fun h => -forwardDiv (probCurrent F Γ Q) x h / density F x)\n (𝓝[≠] (0 : ℝ)) (𝓝 (actualCarrier F Q x))", "statement_sha256": "0fefec1b9f335188a8b6d901f6b66aac161e3aaaee6ea7f6d712c0c8e9e14e08" }, @@ -110617,7 +110617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.nonSkew_gaussian_carrier_one", "source_line": 512, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem nonSkew_gaussian_carrier_one :\n actualCarrier gaussF qNonSkew (fun _ => 0) = 1", "statement_sha256": "5b3cef84760d8afd19772a8b8764aa9614dd3476667e6bd72dfaa69e9bd535b8" }, @@ -110731,7 +110731,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.skew_actualCarrier_zero", "source_line": 518, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem skew_actualCarrier_zero (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (x : Fin n → ℝ) : actualCarrier F Q x = 0", "statement_sha256": "34b72c992d40a3a3fbc77fdf2a93208fa3b2cd9ec9548d8432a9ccdeaf33fbe6" }, @@ -110847,7 +110847,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.stationary_current_differentiable", "source_line": 450, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem stationary_current_differentiable (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ)\n (x : Fin n → ℝ) (i : Fin n) :\n DifferentiableAt ℝ (fun y => probCurrent F Γ Q y i) x", "statement_sha256": "e05a36ead76234901bc650111f5a7943024bf53a6f6bdf841742854eaa54058c" }, @@ -110967,7 +110967,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ForwardDifference.stationary_forwardDiv_tendsto_zero", "source_line": 469, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem stationary_forwardDiv_tendsto_zero (F : (Fin n → ℝ) → ℝ)\n (hF : ContDiff ℝ 2 F) (Γ Q : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (x : Fin n → ℝ) :\n Tendsto (forwardDiv (probCurrent F Γ Q) x) (𝓝[≠] (0 : ℝ)) (𝓝 0)", "statement_sha256": "f94d0cf67813b54830c47c5978d1c3028fa339eb3e29064c7d87c49a6532a412" }, @@ -111032,7 +111032,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.detailed_balance_iff", "source_line": 109, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/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" }, @@ -111134,7 +111134,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.divergence_probCurrent_eq", "source_line": 321, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem divergence_probCurrent_eq (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Γ Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) :\n divergence (probCurrent F Γ Q) x\n = density F x * GeometricMechanics.dot (gradF F x) (GeometricMechanics.mulVec Q (gradF F x))\n - density F x * ∑ i, ∑ k, Q i k * hessF F x i k", "statement_sha256": "5ea4ed1a61f8b9f6e4980ab1349bd61ecb8b439f80358b494218f2dc90d0e20a" }, @@ -111252,7 +111252,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.divergence_probCurrent_eq_zero", "source_line": 341, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem divergence_probCurrent_eq_zero (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Γ Q : Fin n → Fin n → ℝ) (hQ : GeometricMechanics.SkewSymmetric Q)\n (x : Fin n → ℝ) : divergence (probCurrent F Γ Q) x = 0", "statement_sha256": "75e3b704721ee5a4167596c1b18c28389e1ac70881ff2dff15dd7bae3c5d3e56" }, @@ -111319,7 +111319,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.entropyProduction_eq_zero_iff", "source_line": 143, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem entropyProduction_eq_zero_iff (precision ω γ : ℝ)\n (hp : 0 < precision) (hg : 0 < γ) : entropyProduction precision ω γ = 0 ↔ ω = 0", "statement_sha256": "c496ae321867396c84ba79c532378a1d8aab9e36b5c249064222e9a3a186518f" }, @@ -111386,7 +111386,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.entropyProduction_nonneg", "source_line": 135, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem entropyProduction_nonneg (precision ω γ : ℝ)\n (hp : 0 ≤ precision) (hg : 0 ≤ γ) : 0 ≤ entropyProduction precision ω γ", "statement_sha256": "d95b89433ca338dd7a73db9344b37ea64b02f662a4ee15053a0ad64110e5446b" }, @@ -111491,7 +111491,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.fderiv_qCurrent", "source_line": 300, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem fderiv_qCurrent (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Q : Fin n → Fin n → ℝ) (x : Fin n → ℝ) (i : Fin n) :\n fderiv ℝ (fun y => qCurrent F Q y i) x (Pi.single i 1)\n = -(density F x * gradF F x i * GeometricMechanics.mulVec Q (gradF F x) i)\n + density F x * ∑ k, Q i k * hessF F x i k", "statement_sha256": "b8c1bd7e7f3300590ded4d1bef7d191e4c6978d6f924b320b13ae14204cd08ce" }, @@ -111547,7 +111547,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.flow_work_eq_dissipation", "source_line": 94, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem flow_work_eq_dissipation (γ ω : ℝ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g = -γ * normSq g", "statement_sha256": "a4e911e860ba95acd91517f17b356b8e55e4b8cdd8054311d24815fd29e9696b" }, @@ -111653,7 +111653,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.fpRate_eq_zero", "source_line": 350, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem fpRate_eq_zero (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (Γ Q : Fin n → Fin n → ℝ) (hQ : GeometricMechanics.SkewSymmetric Q)\n (x : Fin n → ℝ) : fpRate F Γ Q x = 0", "statement_sha256": "34379dd119592fbffbae4f7dd86637afcbfd2e1a554dcd9bd941a2d65944b915" }, @@ -111731,7 +111731,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.freeEnergy_non_increasing", "source_line": 100, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem freeEnergy_non_increasing (γ : ℝ) (hγ : 0 ≤ γ) (g : Fin 2 → ℝ) :\n dot (flow γ ω g) g ≤ 0", "statement_sha256": "c5cc44b7f1ce5214642b92b6a7141a6ba776ab423f5c5b257a95e408e6cbaa38" }, @@ -111778,7 +111778,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.gaussF_contDiff", "source_line": 370, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem gaussF_contDiff : ContDiff ℝ 2 gaussF", "statement_sha256": "3cd453379b43a9fca89c9cd6053808eae47a589fa5c05e6c16dc4b87fad31f9f" }, @@ -111856,7 +111856,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.gradF_density", "source_line": 230, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem gradF_density (F : (Fin n → ℝ) → ℝ) (x : Fin n → ℝ)\n (hF : DifferentiableAt ℝ F x) :\n gradF (density F) x = fun i => -(density F x) * gradF F x i", "statement_sha256": "834bbd0826465f091d48a4deb47a80f123bb142ff23e62a0b2f9e2befbbd9bd8" }, @@ -111914,7 +111914,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.gradF_gaussF", "source_line": 373, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem gradF_gaussF (y : Fin 2 → ℝ) : gradF gaussF y = y", "statement_sha256": "9d27f6e4bc9f6f61750a2146c185b8082b37d39e5ff767ef0ff93a80ec8319ae" }, @@ -112002,7 +112002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hasFDerivAt_gradF", "source_line": 261, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hasFDerivAt_gradF (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (x : Fin n → ℝ) (k : Fin n) :\n HasFDerivAt (fun y => gradF F y k)\n ((fderiv ℝ (fderiv ℝ F) x).flip (Pi.single k 1)) x", "statement_sha256": "e46c7c5eef2181ed45a2d39fda7f4af4044eb94079d37217ffa893de0280eb95" }, @@ -112098,7 +112098,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hessF_eq_fderiv_gradF", "source_line": 271, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hessF_eq_fderiv_gradF (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (x : Fin n → ℝ) (i k : Fin n) :\n hessF F x i k = fderiv ℝ (fun y => gradF F y k) x (Pi.single i 1)", "statement_sha256": "f32ec7fd142f5f6a530715ac4ad272d5ac04fde7ebdfc5642bb770acc7ee3399" }, @@ -112186,7 +112186,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hessF_gaussF", "source_line": 391, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hessF_gaussF (x : Fin 2 → ℝ) (i k : Fin 2) :\n hessF gaussF x i k = if i = k then 1 else 0", "statement_sha256": "3f9c74018f03f25238073d9c228a690475c45fe8e8e66ce8613f27ffdf6cd9ac" }, @@ -112264,7 +112264,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.hessF_symmetric", "source_line": 278, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem hessF_symmetric (F : (Fin n → ℝ) → ℝ) (hF : ContDiff ℝ 2 F)\n (x : Fin n → ℝ) : GeometricMechanics.SymmetricOf (hessF F x)", "statement_sha256": "551f98d5299634775b8315255c2c33354b580bfb143c64d8ccaa7e099b86f18d" }, @@ -112336,7 +112336,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.ness_signature", "source_line": 171, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/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" }, @@ -112408,7 +112408,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.nonSkew_divergence_ne_zero", "source_line": 401, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem nonSkew_divergence_ne_zero :\n divergence (probCurrent gaussF gammaId qNonSkew) (fun _ => 0) ≠ 0", "statement_sha256": "a521a7560b24889116306912a9513e759bb7b9c32d7d30cd53127be49cbe697b" }, @@ -112453,7 +112453,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.normSq_nonneg", "source_line": 59, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem normSq_nonneg (v : Fin 2 → ℝ) : 0 ≤ normSq v", "statement_sha256": "fafd19ff3801f506a4b0844cee2d0e8a314bbde6d55fde8a73fb682016bf6b96" }, @@ -112549,7 +112549,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.probCurrent_eq", "source_line": 240, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem probCurrent_eq (F : (Fin n → ℝ) → ℝ) (Γ Q : Fin n → Fin n → ℝ)\n (x : Fin n → ℝ) (hF : DifferentiableAt ℝ F x) :\n probCurrent F Γ Q x\n = fun i => -(density F x) * GeometricMechanics.mulVec Q (gradF F x) i", "statement_sha256": "05656eb126d008f12703f0e75e399398ff3d669b038925f79b15d99961e4e6c9" }, @@ -112637,7 +112637,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.qGradient_orthogonal", "source_line": 254, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem qGradient_orthogonal (F : (Fin n → ℝ) → ℝ) (Q : Fin n → Fin n → ℝ)\n (hQ : GeometricMechanics.SkewSymmetric Q) (x : Fin n → ℝ) :\n GeometricMechanics.dot (GeometricMechanics.mulVec Q (gradF F x)) (gradF F x) = 0", "statement_sha256": "a51fa51484c54cd17e562c2744c26df3985d8343f558bb73e92acfba7eef02c6" }, @@ -112709,7 +112709,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.rotation_current_ne_zero_divergence_zero", "source_line": 409, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem rotation_current_ne_zero_divergence_zero :\n probCurrent gaussF gammaId qRot ![0, 1] ≠ 0 ∧\n divergence (probCurrent gaussF gammaId qRot) ![0, 1] = 0", "statement_sha256": "c8dd924a165d497806de6fd793b316171f573b1d2acf88b9b929ae7c79507af7" }, @@ -112788,7 +112788,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.skew_contract_symm", "source_line": 285, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem skew_contract_symm (Q H : Fin n → Fin n → ℝ)\n (hQ : GeometricMechanics.SkewSymmetric Q) (hH : GeometricMechanics.SymmetricOf H) :\n ∑ i, ∑ k, Q i k * H i k = 0", "statement_sha256": "e76de07ed3562bfb4453565b00b6d8bbe4f791b15d479684e8ce04388593b170" }, @@ -112844,7 +112844,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.solenoidal_antisymm", "source_line": 71, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem solenoidal_antisymm (ω : ℝ) (v w : Fin 2 → ℝ) :\n dot (solenoidal ω v) w = -dot (solenoidal ω w) v", "statement_sha256": "8c4c8034aa5c0b300f1c02973ac72b8023aafdf206661f3bb7d1b1f1c2b4f6ff" }, @@ -112899,7 +112899,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.NessFlow.solenoidal_orthogonal", "source_line": 78, - "source_owner": "src/fep_lean/formal/ness_flow.lean", + "source_owner": "src/fep_formal/formal/ness_flow.lean", "statement": "theorem solenoidal_orthogonal (ω : ℝ) (g : Fin 2 → ℝ) :\n dot (solenoidal ω g) g = 0", "statement_sha256": "14982221cb83c0d573a0b5094daf2d09a33bd6230d0726f98410cb1427f93208" }, @@ -112991,7 +112991,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedBit_erasure_heat_lt_fair", "source_line": 1521, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedBit_erasure_heat_lt_fair (beta : ℝ) (hBeta : 0 < beta) :\n (reversibleErasureWitness irreversibleForward beta hBeta).meanHeat <\n Real.log 2 / beta", "statement_sha256": "8f192a585bce08e6e3db5d6490070a542d383920a3d94b21b5b7a4c884ed8687" }, @@ -113061,7 +113061,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycleKernel_pos", "source_line": 1219, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycleKernel_pos (i j : Fin 3) : 0 < biasedCycleKernel i j", "statement_sha256": "7e719111660e0e37ec4f5cc96f3bad9b190cf16898b2ab1eed103dbd6ee756f9" }, @@ -113138,7 +113138,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction", "source_line": 1240, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113232,7 +113232,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_horizon", "source_line": 1263, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_entropyProduction_horizon (n : ℕ) :\n entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform n) =\n (n : ℝ) * (Real.log 2 / 4)", "statement_sha256": "b407afd76d112913b9c65778ffa33d66ae33e630b96bf938ce900975f9f2aae8" }, @@ -113318,7 +113318,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_horizon_pos", "source_line": 1272, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_entropyProduction_horizon_pos (n : ℕ) (hn : 0 < n) :\n 0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform n)", "statement_sha256": "096e7c873eb48d6e9671e603779bfdf86e5d0af9c5720ac8cc56ae3c24c498b4" }, @@ -113383,7 +113383,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_entropyProduction_pos", "source_line": 1254, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_entropyProduction_pos :\n 0 < entropyProduction (markovPathProtocol biasedCycleKernel\n FiniteLaw.uniform biasedCycleKernel FiniteLaw.uniform 1)", "statement_sha256": "0e9a5c40cfe395026916a1046a75bbfbb01a826ded1f37e975ed2fa7040f8f27" }, @@ -113441,7 +113441,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_invariant", "source_line": 1223, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_invariant :\n IsInvariant (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", "statement_sha256": "c194321b0dc794754fcf183edf595589220e8569c4e0215cdefed37f9861b333" }, @@ -113499,7 +113499,7 @@ ], "qualified_name": "FEP.PathThermodynamics.biasedCycle_not_reversible", "source_line": 1232, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem biasedCycle_not_reversible :\n ¬ IsReversible (FiniteLaw.uniform : FiniteLaw (Fin 3)) biasedCycleKernel", "statement_sha256": "f3d286c421b7ab0ce72e014f769e0d0835259d1b405b82fd49a4c0e5fd49c8e4" }, @@ -113610,7 +113610,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.crooks_of_entropyProduction", "source_line": 274, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113703,7 +113703,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.detailedFluctuation_identity", "source_line": 110, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113795,7 +113795,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.entropyProduction_eq_expected_logRatio", "source_line": 91, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -113970,7 +113970,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_decomposition", "source_line": 654, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114095,7 +114095,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_eq_localAffinity", "source_line": 936, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114280,7 +114280,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_marginal_decomposition", "source_line": 807, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_markov_marginal_decomposition [DecidableEq S]\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 crossEntropy ((kernelPower kernel n).predictive initial) final - entropy initial +\n ∑ t : Fin n, ∑ source, ∑ target,\n (kernelPower kernel t.val).predictive initial source * kernel source target *\n Real.log (kernel source target / reverse target source)", "statement_sha256": "548542499aace4b3f944328424d835303614061dc847bf231823a25dc90c33dd" }, @@ -114457,7 +114457,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep", "source_line": 854, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114604,7 +114604,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_oneStep_split", "source_line": 878, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114747,7 +114747,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversedKernel_zero", "source_line": 1079, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -114957,7 +114957,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversible_KL_drop", "source_line": 1176, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_markov_reversible_KL_drop [DecidableEq S] [Nonempty S]\n (kernel : FiniteKernel S S) (actual stationary : FiniteLaw S)\n (hActual : ∀ s, 0 < actual s) (hStationary : ∀ s, 0 < stationary s)\n (hKernel : ∀ a b, 0 < kernel a b)\n (hReversible : IsReversible stationary kernel) (n : ℕ) :\n entropyProduction (markovPathProtocol kernel actual kernel\n ((kernelPower kernel n).predictive actual) n) =\n finiteKL actual stationary -\n finiteKL ((kernelPower kernel n).predictive actual) stationary", "statement_sha256": "d970114f2907a4f58e3cf005ebce77ed95a2b63a4a0ed779faa32a4a2a2639bf" }, @@ -115080,7 +115080,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_reversible_zero", "source_line": 970, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -115205,7 +115205,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_schnakenberg", "source_line": 926, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -115340,7 +115340,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary", "source_line": 945, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -115523,7 +115523,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropyProduction_markov_stationary_horizon", "source_line": 1107, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_markov_stationary_horizon [DecidableEq S]\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 : ℕ) :\n entropyProduction (markovPathProtocol kernel law kernel law n) =\n (n : ℝ) * entropyProduction (markovPathProtocol kernel law kernel law 1)", "statement_sha256": "34a9dae71206fb888e0624ea04dc414221c94f6d55c7110eb21b65f0c38ea737" }, @@ -115595,7 +115595,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.entropyProduction_nonneg", "source_line": 86, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropyProduction_nonneg (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", "statement_sha256": "f69aa684772cdf23bed79c5a8f32d119b1cd71e86470497ef26942a95228e457" }, @@ -115664,7 +115664,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropy_bool_eq_binEntropy", "source_line": 1344, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropy_bool_eq_binEntropy (law : FiniteLaw Bool) :\n entropy law = Real.binEntropy (law true)", "statement_sha256": "c83c72a94203b46f85c53df4585b74ed801901de53af3458155b86d9434d603c" }, @@ -115733,7 +115733,7 @@ ], "qualified_name": "FEP.PathThermodynamics.entropy_pointMass_bool", "source_line": 1338, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem entropy_pointMass_bool (chosen : Bool) :\n entropy (FiniteLaw.pointMass chosen) = 0", "statement_sha256": "0d94e550a79a62e7e9f00cdec156b3b2e51e085a6e262c4a000a75e1b4274f9a" }, @@ -115817,7 +115817,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_entropyProduction_decomposition", "source_line": 1356, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_entropyProduction_decomposition (model : ErasureModel Path) :\n entropyProduction model.toFinitePathProtocol =\n model.beta * model.meanHeat - entropy model.prior +\n entropy model.finalLaw", "statement_sha256": "591b90365eeab1483e4e1782f78d2fa194594170d4364db4746a76f718934c0f" }, @@ -115899,7 +115899,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_generalized_landauer", "source_line": 1408, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_generalized_landauer (model : ErasureModel Path) :\n entropy model.prior - entropy model.finalLaw ≤\n model.beta * model.meanHeat", "statement_sha256": "41e4dc7989f90dc96aafa94450f7c1d9dd2ad2daa82c5c7d35025da33f343133" }, @@ -115995,7 +115995,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_landauer_fair_bit", "source_line": 1426, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_landauer_fair_bit (model : ErasureModel Path)\n (hReset : model.IsReset) (hFair : model.prior true = 1 / 2) :\n Real.log 2 / model.beta ≤ model.meanHeat", "statement_sha256": "04dcb2746c26d830862804f8339bb3847f2e17bbc02c687303d26e100d03df8b" }, @@ -116093,7 +116093,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_landauer_reset", "source_line": 1416, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_landauer_reset (model : ErasureModel Path)\n (hReset : model.IsReset) :\n Real.binEntropy (model.prior true) / model.beta ≤ model.meanHeat", "statement_sha256": "0ea466778f10ad735cf03887e3d6edf6688907625f3481c905fdc4206f022516" }, @@ -116187,7 +116187,7 @@ ], "qualified_name": "FEP.PathThermodynamics.erasure_reversible_attains_bound", "source_line": 1443, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem erasure_reversible_attains_bound (model : ErasureModel Path)\n (hReversible : model.reverseAligned = model.forward) :\n entropyProduction model.toFinitePathProtocol = 0 ∧\n model.beta * model.meanHeat =\n entropy model.prior - entropy model.finalLaw", "statement_sha256": "091060da51f5cabad06f0d8eb6e5b74f4e81133773c635296d9a39f6f0f7aa0f" }, @@ -116273,7 +116273,7 @@ ], "qualified_name": "FEP.PathThermodynamics.fairBit_erasure_heat_eq", "source_line": 1530, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem fairBit_erasure_heat_eq (beta : ℝ) (hBeta : 0 < beta) :\n (reversibleErasureWitness (FiniteLaw.uniform : FiniteLaw Bool) beta\n hBeta).meanHeat = Real.log 2 / beta", "statement_sha256": "64c156bb5fc1717bbef9014e35471c99d64c1f217aff93d0b6370916b6f03056" }, @@ -116367,7 +116367,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_eq", "source_line": 183, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -116474,7 +116474,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.finiteJarzynski_of_crooks", "source_line": 261, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -116568,7 +116568,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.hasJarzynskiNormalization_of_crooks", "source_line": 241, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -116640,7 +116640,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.identityKernel_KL_equality", "source_line": 370, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -116723,7 +116723,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.integralFluctuation_eq_one", "source_line": 124, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -116775,7 +116775,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleBool_crooks", "source_line": 424, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleBool_crooks :\n HasCrooksRelation irreversibleBoolProtocol 1 0 irreversibleCrooksWork", "statement_sha256": "bc974c07abce87e801c11a33f64dcce666e2283d2c3e68c7bad1686b81ccb63a" }, @@ -116850,7 +116850,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleBool_entropyProduction_pos", "source_line": 407, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleBool_entropyProduction_pos :\n 0 < entropyProduction irreversibleBoolProtocol", "statement_sha256": "7613d1a48af9e4af0e71d3625ec05098e1edebeddc07a4987e5de8bfb4ac754a" }, @@ -116902,7 +116902,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleCrooksWork_nonconstant", "source_line": 433, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleCrooksWork_nonconstant :\n irreversibleCrooksWork true ≠ irreversibleCrooksWork false", "statement_sha256": "71f430969fca9fc684d8742ea1d0ab6fb57ed4442ccc8ce0ba27042890ff80b7" }, @@ -116954,7 +116954,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleForward_ne_reverse", "source_line": 399, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleForward_ne_reverse :\n irreversibleForward ≠ irreversibleReverse", "statement_sha256": "74bd318dd6ab38ed4b14aa0850b01c141fd693212ae97712e7209695c130799a" }, @@ -117006,7 +117006,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.irreversibleForward_unitWork_not_jarzynski", "source_line": 458, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem irreversibleForward_unitWork_not_jarzynski :\n ¬ HasJarzynskiNormalization irreversibleBoolProtocol.forward 1 0\n (fun _ => 1)", "statement_sha256": "335368feaf773449832f1186e402e09da48ee37ee05d70c34dfe9c534f7431cb" }, @@ -117089,7 +117089,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.isInvariant_of_isReversible", "source_line": 332, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117141,7 +117141,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.jarzynski_without_crooks", "source_line": 442, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117304,7 +117304,7 @@ ], "qualified_name": "FEP.PathThermodynamics.kernelPower_predictive_pos", "source_line": 1091, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem kernelPower_predictive_pos [DecidableEq S] [Nonempty S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hKernel : ∀ a b, 0 < kernel a b)\n (n : ℕ) (state : S) :\n 0 < (kernelPower kernel n).predictive initial state", "statement_sha256": "305b6e1e1a5290d3ec2f6185d6a227908236e18a830d4b86b8ee98125fa6954f" }, @@ -117394,7 +117394,7 @@ ], "qualified_name": "FEP.PathThermodynamics.landauer_biased_threshold_lt_fair", "source_line": 1434, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem landauer_biased_threshold_lt_fair (p beta : ℝ) (hBeta : 0 < beta)\n (hBiased : p ≠ 1 / 2) :\n Real.binEntropy p / beta < Real.log 2 / beta", "statement_sha256": "c2ae8908eaf0bd0061c08e38d1ad3687f2121f55187a561a8cf789c9064addc9" }, @@ -117513,7 +117513,7 @@ ], "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_of_reversible", "source_line": 982, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117607,7 +117607,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.localAffinity_zero_reverseRate_boundary", "source_line": 323, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117701,7 +117701,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.localDetailedBalance_current_zero", "source_line": 308, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -117822,7 +117822,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_eq_reverse_of_reversible", "source_line": 958, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -117955,7 +117955,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_map_coordinate", "source_line": 779, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_map_coordinate [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin (n + 1)) :\n (markovPathLaw kernel initial n).map (fun path => path t) =\n (kernelPower kernel t.val).predictive initial", "statement_sha256": "9f9c397918475b1c9ba04eb3c2db0fd7859b80a4ad5b3f70f8d51d5ba8b34643" }, @@ -118088,7 +118088,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_map_stage", "source_line": 792, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_map_stage [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin n) :\n (markovPathLaw kernel initial n).map\n (fun path => (path t.castSucc, path t.succ)) =\n kernel.joint ((kernelPower kernel t.val).predictive initial)", "statement_sha256": "90ed6824b6e32629de51d0374d6db2b85317a788ff9760794a54f1d10b31dbc6" }, @@ -118247,7 +118247,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_sum_coordinate", "source_line": 708, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_sum_coordinate [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin (n + 1)) (g : S → ℝ) :\n (∑ path, markovPathLaw kernel initial n path * g (path t)) =\n ∑ state, (kernelPower kernel t.val).predictive initial state * g state", "statement_sha256": "69912216c1a6d03dc679324984a10351f4dc19cab6940578d22255ea0b478f78" }, @@ -118372,7 +118372,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_sum_snoc", "source_line": 681, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_sum_snoc (kernel : FiniteKernel S S)\n (initial : FiniteLaw S) (n : ℕ) (g : (Fin (n + 2) → S) → ℝ) :\n (∑ path, markovPathLaw kernel initial (n + 1) path * g path) =\n ∑ path : Fin (n + 1) → S, ∑ next : S,\n markovPathLaw kernel initial n path * kernel (path (Fin.last n)) next *\n g (Fin.snoc (α := fun _ => S) path next)", "statement_sha256": "e62c4a3efcf2f72ff80ccf0f14520691d0dc0e50cfe5b1d941005874b7b63be6" }, @@ -118521,7 +118521,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathLaw_sum_stage", "source_line": 743, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem markovPathLaw_sum_stage [DecidableEq S]\n (kernel : FiniteKernel S S) (initial : FiniteLaw S) (n : ℕ)\n (t : Fin n) (g : S → S → ℝ) :\n (∑ path, markovPathLaw kernel initial n path *\n g (path t.castSucc) (path t.succ)) =\n ∑ source, ∑ target,\n (kernelPower kernel t.val).predictive initial source * kernel source target *\n g source target", "statement_sha256": "a05704a066859cc722a3be4084e256654a168563654e1f6fd4725a30954c756e" }, @@ -118633,7 +118633,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.markovPathMass_nonneg", "source_line": 515, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -118741,7 +118741,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathMass_one", "source_line": 842, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -118879,7 +118879,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovPathMass_pos", "source_line": 613, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119001,7 +119001,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.markovPathMass_snoc", "source_line": 489, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119110,7 +119110,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.markovPathMass_sum_one", "source_line": 522, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119228,7 +119228,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_eq", "source_line": 578, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119336,7 +119336,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_one", "source_line": 848, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119474,7 +119474,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_pos", "source_line": 620, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119619,7 +119619,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReverseMass_reversedKernel", "source_line": 1048, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119754,7 +119754,7 @@ ], "qualified_name": "FEP.PathThermodynamics.markovReversePathLaw_reversedKernel", "source_line": 1068, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -119817,7 +119817,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathLaw_normalization", "source_line": 44, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -119900,7 +119900,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathRatio_mul_reverse", "source_line": 57, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -119983,7 +119983,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathRatio_zero_reverse_boundary", "source_line": 66, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -120071,7 +120071,7 @@ ], "qualified_name": "FEP.PathThermodynamics.pathReverse_involutive", "source_line": 570, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem pathReverse_involutive (n : ℕ) :\n Function.Involutive (pathReverse (S := S) n)", "statement_sha256": "564b09c6341531c54799e7335ba8be33024f13c4f3c2b016773487c08c12e43f" }, @@ -120231,7 +120231,7 @@ ], "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov", "source_line": 628, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -120420,7 +120420,7 @@ ], "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_markov_reversible", "source_line": 1125, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem pathwiseEntropyProduction_markov_reversible\n (kernel : FiniteKernel S S) (initial final stationary : FiniteLaw S)\n (hInitial : ∀ s, 0 < initial s) (hFinal : ∀ s, 0 < final s)\n (hStationary : ∀ s, 0 < stationary s) (hKernel : ∀ a b, 0 < kernel a b)\n (hReversible : IsReversible stationary kernel)\n (n : ℕ) (path : Fin (n + 1) → S) :\n pathwiseEntropyProduction (markovPathProtocol kernel initial kernel final n) path =\n Real.log (initial (path 0) / stationary (path 0)) -\n Real.log (final (path (Fin.last n)) / stationary (path (Fin.last n)))", "statement_sha256": "97b902ce458ab2c5d0625d38d44c518ed28a94e81c7b5d97216dc35facd97d4e" }, @@ -120533,7 +120533,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.pathwiseEntropyProduction_reverse", "source_line": 145, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -120617,7 +120617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.probabilityCurrent_antisymm", "source_line": 300, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -120725,7 +120725,7 @@ ], "qualified_name": "FEP.PathThermodynamics.prod_stage_ratio_telescope", "source_line": 1030, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -120798,7 +120798,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.reverse_reverse", "source_line": 39, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem reverse_reverse (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", "statement_sha256": "03c798ce5626361e20afa5a0209e1bc65cf91e46a37793d4052d582dbbaace24" }, @@ -120927,7 +120927,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversedKernel_detailedBalance", "source_line": 1009, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -121052,7 +121052,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversedKernel_eq_of_reversible", "source_line": 1018, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -121141,7 +121141,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversibleErasureWitness_isReset", "source_line": 1498, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem reversibleErasureWitness_isReset (prior : FiniteLaw Bool) (beta : ℝ)\n (hBeta : 0 < beta) : (reversibleErasureWitness prior beta hBeta).IsReset", "statement_sha256": "95c6fcb6586c05a0f2e2403bc1b9e50fb579d2728805a02429686c83087e6791" }, @@ -121249,7 +121249,7 @@ ], "qualified_name": "FEP.PathThermodynamics.reversibleErasureWitness_meanHeat", "source_line": 1504, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem reversibleErasureWitness_meanHeat (prior : FiniteLaw Bool) (beta : ℝ)\n (hBeta : 0 < beta) :\n (reversibleErasureWitness prior beta hBeta).meanHeat =\n Real.binEntropy (prior true) / beta", "statement_sha256": "d61fd31459873cd6c8409fbe2310c504f6f83eccada4be7a0be28fdd591d0fed" }, @@ -121386,7 +121386,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PathThermodynamics.reversibleKL_oneStep_dissipation", "source_line": 353, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "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" }, @@ -121475,7 +121475,7 @@ ], "qualified_name": "FEP.PathThermodynamics.sum_mul_comp_eq_sum_fiber", "source_line": 1284, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/formal/path_thermodynamics.lean", "statement": "theorem sum_mul_comp_eq_sum_fiber (law : FiniteLaw Path) (coordinate : Path → Bool)\n (g : Bool → ℝ) :\n ∑ path, law path * g (coordinate path) =\n ∑ b, (∑ path with coordinate path = b, law path) * g b", "statement_sha256": "3d0efe9c8a8ce5059d61983a774b68318b777119eb696d96c72d6efbc44fa9c0" }, @@ -121563,7 +121563,7 @@ ], "qualified_name": "FEP.PathThermodynamics.sum_pathTwo", "source_line": 836, - "source_owner": "src/fep_lean/formal/path_thermodynamics.lean", + "source_owner": "src/fep_formal/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" }, @@ -121696,7 +121696,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.actionEvidence_eq_predictive_of_identity", "source_line": 148, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem actionEvidence_eq_predictive_of_identity [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : ControlledKernel State Policy)\n (hIdentity : ∀ action, transition action = FiniteKernel.identity)\n (policy : Policy) (emission : FiniteKernel State Outcome) :\n actionEvidence belief transition emission policy outcome =\n emission.predictive belief outcome", "statement_sha256": "2da1f209d989ee577cc860babd90a96f122cc65a138880c1e64f574a9ba7e9c3" }, @@ -121819,7 +121819,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesEFETree_eq_pomdpTree", "source_line": 652, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesEFETree_eq_pomdpTree\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (initial : Belief) :\n efePolicyTreeModel (bayesEFEPolicyTreeModel model support) =\n pomdpPolicyTreeModel (bayesReachablePOMDP model initial)\n (fun _ belief action =>\n expectedFreeEnergy (bayesGenerative model belief) action)", "statement_sha256": "eeaacf061d149d5e51cac4e881801d612d879a3326a890dedba8edca34aac89f" }, @@ -121975,7 +121975,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesRiskAmbiguity_eq_sophisticated", "source_line": 861, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesRiskAmbiguity_eq_sophisticated [Nonempty Action]\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (depth : ℕ) (belief : Belief) :\n sophisticatedEFEValue (bayesSophisticatedModel model) depth belief =\n optimalTreeValue\n (riskAmbiguityPolicyTreeModel (bayesEFEPolicyTreeModel model support))\n depth belief", "statement_sha256": "23d4083ad99e910ed01ab9d8366a2818bf99cb261ba4a3ca3c830d227fb91ae1" }, @@ -122116,7 +122116,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesSophisticatedValue_eq_optimalTree", "source_line": 664, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesSophisticatedValue_eq_optimalTree [Nonempty Action]\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (depth : ℕ) (belief : Belief) :\n sophisticatedEFEValue (bayesSophisticatedModel model) depth belief =\n optimalTreeValue (efePolicyTreeModel (bayesEFEPolicyTreeModel model support))\n depth belief", "statement_sha256": "617b57366ea8375818e19a77d6fc97899a1b0b49926bc75feca19c5392093309" }, @@ -122280,7 +122280,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesSophisticatedValue_eq_pomdpOptimum", "source_line": 831, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesSophisticatedValue_eq_pomdpOptimum [Nonempty Action] [DecidableEq Belief]\n (model : BayesianBeliefModel Belief State Action Outcome)\n (support : ∀ belief, FullSupport (bayesGenerative model belief))\n (initial : Belief) :\n (∀ (policy : ℕ → Belief → Action) (horizon : ℕ) (belief : Belief),\n sophisticatedEFEValue (bayesSophisticatedModel model) horizon belief ≤\n beliefFeedbackValue (bayesReachablePOMDP model initial)\n (fun _ belief action =>\n expectedFreeEnergy (bayesGenerative model belief) action)\n policy horizon belief) ∧\n ∃ policy : ℕ → Belief → Action, ∀ (horizon : ℕ) (belief : Belief),\n sophisticatedEFEValue (bayesSophisticatedModel model) horizon belief =\n beliefFeedbackValue (bayesReachablePOMDP model initial)\n (fun _ belief action =>\n expectedFreeEnergy (bayesGenerative model belief) action)\n policy horizon belief", "statement_sha256": "81778a51b326fd1abc2ba7b306a7dd62b790312fc58751361c1c718cf88f8a9c" }, @@ -122423,7 +122423,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.bayesUpdate_eq_actionBeliefUpdate", "source_line": 589, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem bayesUpdate_eq_actionBeliefUpdate\n (model : BayesianBeliefModel Belief State Action Outcome)\n (belief : Belief) (action : Action) (outcome : Outcome)\n (hEvidence : 0 < actionEvidence (model.interpret belief)\n model.generative.transition model.generative.likelihood action outcome) :\n model.interpret (model.update belief action outcome) =\n actionBeliefUpdate (model.interpret belief) model.generative.transition\n model.generative.likelihood action outcome hEvidence", "statement_sha256": "a2f647ee84d083701427ca5eb735e60d7acb1a62b836e736bfde508c4b3845db" }, @@ -122505,7 +122505,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayesOpenLoop_value_half", "source_line": 997, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayesOpenLoop_value_half (action : Bool) :\n openLoopValue (boolBeliefTreeModel boolBayesUpdate)\n (boolOpenLoopPlan action) none = 1 / 2", "statement_sha256": "6d0b9bd738d24ad08a7a284077d1089662885bb85a14257b35dba5ababb0564e" }, @@ -122576,7 +122576,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayesTree_value_zero", "source_line": 988, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayesTree_value_zero :\n policyTreeValue (boolBeliefTreeModel boolBayesUpdate) boolFeedbackTree none\n = 0", "statement_sha256": "2084ecbbc5935e53162295b4b12dbb653c972ccce928f93e6523bd43879ab5f2" }, @@ -122679,7 +122679,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_filtered", "source_line": 921, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_filtered (belief : Option Bool) (action outcome : Bool)\n (hEvidence : 0 < boolBayesGenerative.likelihood.predictive\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action) outcome) :\n boolBayesInterpret (boolBayesUpdate belief action outcome) =\n filteredBelief boolBayesGenerative\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action) outcome hEvidence", "statement_sha256": "ef243c0a21174d53a058a419e974a87ce9168f81cec9c779f5894a8582787f07" }, @@ -122771,7 +122771,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_predictedOutcome", "source_line": 909, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_predictedOutcome (belief : Option Bool) (action : Bool) :\n predictedOutcome\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action = boolBayesInterpret belief", "statement_sha256": "da6bd83c086802998daf357dd18463a43a86ee7b649665eee2515ab59a5faafb" }, @@ -122856,7 +122856,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_predictedState", "source_line": 902, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_predictedState (belief : Option Bool) (action : Bool) :\n predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret belief))\n action = boolBayesInterpret belief", "statement_sha256": "09f5e070b939d4031836bd53c212cbe579520abdd19459da30e2532875d942d6" }, @@ -122952,7 +122952,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_rederives_feedbackWitness", "source_line": 1009, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_rederives_feedbackWitness (action : Bool) :\n (∀ a o, boolBayesInterpret (boolBayesUpdate none a o) =\n boolBeliefInterpret (boolFeedbackModel.update false a o)) ∧\n policyTreeValue (boolBeliefTreeModel boolBayesUpdate) boolFeedbackTree\n none =\n policyTreeValue boolFeedbackModel boolFeedbackTree false ∧\n policyTreeValue (boolBeliefTreeModel boolBayesUpdate) boolFeedbackTree\n none <\n openLoopValue (boolBeliefTreeModel boolBayesUpdate)\n (boolOpenLoopPlan action) none", "statement_sha256": "bb549a18bea59e5f94c84e56f11d06e6cbe1d53e4e286c1adb0246461a7b26c9" }, @@ -123034,7 +123034,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolBayes_rootObservation", "source_line": 982, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolBayes_rootObservation (action : Bool) :\n predictedOutcome (bayesGenerative boolBayesModel none) action =\n fairBoolLaw", "statement_sha256": "06c64dc1f66ec95cbdf6b5b8a8efbeb339c2c63d8d4e314123d3a158e9336b5a" }, @@ -123119,7 +123119,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolKeepPrior_agreement_fails", "source_line": 1053, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolKeepPrior_agreement_fails :\n policyTreeValue (boolBeliefTreeModel boolKeepPriorUpdate)\n boolFeedbackTree none = 1 / 2 ∧\n optimalTreeValue (boolBeliefTreeModel boolBayesUpdate) 2 none <\n optimalTreeValue (boolBeliefTreeModel boolKeepPriorUpdate) 2 none", "statement_sha256": "7c12ceab25f0a5dd5b4e9e647a51c83711f3a7a2395d75182e4a97372f2b635f" }, @@ -123196,7 +123196,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.boolKeepPrior_not_bayesian", "source_line": 1026, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem boolKeepPrior_not_bayesian :\n ∃ (hEvidence : 0 < boolBayesGenerative.likelihood.predictive\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret none))\n false) true),\n boolBayesInterpret (boolKeepPriorUpdate none false true) ≠\n filteredBelief boolBayesGenerative\n (predictedState\n (withInitialState boolBayesGenerative (boolBayesInterpret none))\n false) true hEvidence", "statement_sha256": "6de8d1b238d727b6fc0dfe5f3aa74d1c3f4a033b09db82db770dfc0f6673b8ba" }, @@ -123346,7 +123346,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.filteredBelief_eq_actionBeliefUpdate", "source_line": 173, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem filteredBelief_eq_actionBeliefUpdate [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (transition : ControlledKernel State Policy)\n (hIdentity : ∀ action, transition action = FiniteKernel.identity)\n (policy : Policy) :\n filteredBelief model belief outcome hEvidence =\n actionBeliefUpdate belief transition model.likelihood policy outcome\n (identity_actionEvidence belief outcome transition hIdentity policy\n model.likelihood hEvidence)", "statement_sha256": "b73779853fffe6acf79b1ff4f0db8c5ee2a6177e8644a64bfbba684761c56705" }, @@ -123466,7 +123466,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.filteredBelief_eq_forwardFilter", "source_line": 127, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem filteredBelief_eq_forwardFilter [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n filteredBelief model belief outcome hEvidence =\n forwardFilter belief FiniteKernel.identity model.likelihood outcome\n (identity_forwardEvidence belief outcome FiniteKernel.identity rfl\n model.likelihood hEvidence)", "statement_sha256": "a973953cc0c1b0609159429534a3b360f4b27011cf4afebe51577f3f1af591ec" }, @@ -123579,7 +123579,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.finiteKL_joint_same_kernel", "source_line": 269, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem finiteKL_joint_same_kernel {α β : Type*} [Fintype α] [Fintype β]\n (kernel : FiniteKernel α β) (actual reference : FiniteLaw α) :\n finiteKL (kernel.joint actual) (kernel.joint reference) =\n finiteKL actual reference", "statement_sha256": "23fcc14c3a3e1e32c6bdc1d9396bbc6c53ea228a3bd8b83d8a380ca268ddffcb" }, @@ -123692,7 +123692,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.finiteKL_swappedJoint_eq", "source_line": 341, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem finiteKL_swappedJoint_eq\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hEvidenceAct : ∀ o, 0 < model.likelihood.predictive actual o)\n (hEvidenceRef : ∀ o, 0 < model.likelihood.predictive reference o) :\n finiteKL\n ((posteriorKernel model actual hEvidenceAct).joint\n (model.likelihood.predictive actual))\n ((posteriorKernel model reference hEvidenceRef).joint\n (model.likelihood.predictive reference)) =\n finiteKL (model.likelihood.joint actual)\n (model.likelihood.joint reference)", "statement_sha256": "77d2f7ba6474b29fba173d18bf58bd494f0785f610a1cda84f87e5c726deeade" }, @@ -123850,7 +123850,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.finiteLawMapSum", "source_line": 715, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem finiteLawMapSum {α β : Type*} [DecidableEq β] [Fintype α] [Fintype β]\n (f : α → β) (law : FiniteLaw α) (g : β → ℝ) :\n ∑ y, law.map f y * g y = ∑ x, law x * g (f x)", "statement_sha256": "0eda4a334460368e56c5578d82413a62b4b493159ce2d2ce98e94be7249fe9ce" }, @@ -123973,7 +123973,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.forwardEvidence_eq_predictive_of_identity", "source_line": 102, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem forwardEvidence_eq_predictive_of_identity [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : FiniteKernel State State)\n (hIdentity : transition = FiniteKernel.identity)\n (emission : FiniteKernel State Outcome) :\n forwardEvidence belief transition emission outcome =\n emission.predictive belief outcome", "statement_sha256": "0410335d45c5382b8e29c1d6e0a481dfc9ccf204394c7da237f3989aa87ba258" }, @@ -124123,7 +124123,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.identity_actionEvidence", "source_line": 160, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem identity_actionEvidence [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : ControlledKernel State Policy)\n (hIdentity : ∀ action, transition action = FiniteKernel.identity)\n (policy : Policy) (emission : FiniteKernel State Outcome)\n (hEvidence : 0 < emission.predictive belief outcome) :\n 0 < actionEvidence belief transition emission policy outcome", "statement_sha256": "40a0f74d026bc83c93f66b98c831a6578b9f23a9261207ff624c51bac7cfe53b" }, @@ -124263,7 +124263,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.identity_forwardEvidence", "source_line": 114, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem identity_forwardEvidence [DecidableEq State]\n (belief : FiniteLaw State) (outcome : Outcome)\n (transition : FiniteKernel State State)\n (hIdentity : transition = FiniteKernel.identity)\n (emission : FiniteKernel State Outcome)\n (hEvidence : 0 < emission.predictive belief outcome) :\n 0 < forwardEvidence belief transition emission outcome", "statement_sha256": "50a18a813f8fb3d0b7f124a410588db1beb5e7c6b12c06b365aa29bc55c1096a" }, @@ -124378,7 +124378,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.loop_fixed_point_is_boltzmann", "source_line": 527, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem loop_fixed_point_is_boltzmann (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (energy : ℝ)\n (hflat : ∀ policy, expectedFreeEnergy model policy = energy) :\n policyPosterior precision model support = model.policyPrior", "statement_sha256": "b96225338200867a8addaa5e73ee3f472703b27d0b3029ce88902edbcd45039f" }, @@ -124524,7 +124524,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.loop_invariant_surprisal_bound", "source_line": 480, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem loop_invariant_surprisal_bound [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (support : FullSupport (withInitialState model\n (filteredBelief model belief outcome hEvidence))) :\n -Real.log (model.likelihood.predictive belief outcome) ≤\n perceptionVFE model belief outcome hEvidence belief ∧\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence) ∧\n expectedFreeEnergy\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) =\n risk (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) +\n ambiguity\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence))", "statement_sha256": "c08d3359a69266322b0c68058eaeff95adfd67e39a4f95bea2e9a307bb2e10f7" }, @@ -124668,7 +124668,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.optimalTreeValue_eq_beliefFeedback", "source_line": 791, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem optimalTreeValue_eq_beliefFeedback [Nonempty Action] [DecidableEq Belief]\n (pomdp : ReachableBeliefPOMDP Belief State Action Outcome)\n (cost : ℕ → Belief → Action → ℝ) :\n ∀ (horizon : ℕ) (belief : Belief),\n optimalTreeValue (pomdpPolicyTreeModel pomdp cost) horizon belief =\n beliefFeedbackValue pomdp cost\n (optimalTreeAction (pomdpPolicyTreeModel pomdp cost)) horizon belief", "statement_sha256": "c0daaef8881c9d217fb2d846b1c7d2456ed7a8a3f1342a748224d4d139823a61" }, @@ -124830,7 +124830,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.optimalTreeValue_le_beliefFeedback", "source_line": 754, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem optimalTreeValue_le_beliefFeedback [Nonempty Action] [DecidableEq Belief]\n (pomdp : ReachableBeliefPOMDP Belief State Action Outcome)\n (cost : ℕ → Belief → Action → ℝ) (policy : ℕ → Belief → Action) :\n ∀ (horizon : ℕ) (belief : Belief),\n optimalTreeValue (pomdpPolicyTreeModel pomdp cost) horizon belief ≤\n beliefFeedbackValue pomdp cost policy horizon belief", "statement_sha256": "052e443c608497aa243877467e72853acb455d3dbc888d550986b63f62b40dcd" }, @@ -124961,7 +124961,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perceptionActionKernel_apply", "source_line": 223, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perceptionActionKernel_apply [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (hEvidence : ∀ o : Outcome, 0 < model.likelihood.predictive belief o)\n (outcome : Outcome) (state : State) :\n perceptionActionKernel model belief hEvidence outcome state =\n perceptionActionStep model belief outcome (hEvidence outcome) state", "statement_sha256": "f2c1799c42005a7904b20fa942f3ee7a510f550b5bd87c3604aa52cbd88643e4" }, @@ -125082,7 +125082,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perceptionActionStep_eq", "source_line": 197, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perceptionActionStep_eq [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionActionStep model belief outcome hEvidence =\n (model.transition (selectedPolicy model\n (filteredBelief model belief outcome hEvidence))).predictive\n (filteredBelief model belief outcome hEvidence)", "statement_sha256": "d2f5d29aff399f3bad2b07d36d6b515f4ac74d6c2fa1ed99a13516ab5645f90b" }, @@ -125187,7 +125187,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perceptionVFE_gap", "source_line": 465, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perceptionVFE_gap\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence)", "statement_sha256": "8d5b36d6f42b862269a63ad93d83873b0503ce5a9e560ded8dff43ed8cede79a" }, @@ -125332,7 +125332,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perception_kl_decomposition", "source_line": 361, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perception_kl_decomposition\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n finiteKL actual reference =\n finiteKL (model.likelihood.predictive actual)\n (model.likelihood.predictive reference) +\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o))", "statement_sha256": "532e597b78fdba9d1fb76ecc8ac8fc36e5b6cbcdf893d34b54a38f38734f75be" }, @@ -125457,7 +125457,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perception_native_kl_nonincrease", "source_line": 417, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perception_native_kl_nonincrease\n [MeasurableSpace State] [MeasurableSpace Outcome]\n [DiscreteMeasurableSpace State] [DiscreteMeasurableSpace Outcome]\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive actual))\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive reference)) ≤\n InformationTheory.klDiv (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", "statement_sha256": "0f55d493a92abbf89b8b111ef3e093a1714e3d4f14c217b0971968e02277527c" }, @@ -125584,7 +125584,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.perception_step_kl_nonincrease", "source_line": 399, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem perception_step_kl_nonincrease\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o)) ≤\n finiteKL actual reference", "statement_sha256": "2c52fb7424dfc7c2664ab132a6e4a027d5b4140be466c6d964dec6ca153f6070" }, @@ -125679,7 +125679,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.policyPosterior_eq_controlPosterior", "source_line": 514, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem policyPosterior_eq_controlPosterior (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) :\n policyPosterior precision model support =\n controlPosterior model.policyPrior precision (expectedFreeEnergy model)", "statement_sha256": "174b041a17d49e4c248f306c58f5884e80c5bbf25c42afa98f6a9437ca9acc0b" }, @@ -125794,7 +125794,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.posteriorKernel_joint_eq_swap", "source_line": 324, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem posteriorKernel_joint_eq_swap\n (model : GenerativeModel Policy State Outcome) (prior : FiniteLaw State)\n (hEvidence : ∀ o, 0 < model.likelihood.predictive prior o)\n (o : Outcome) (s : State) :\n (posteriorKernel model prior hEvidence).joint\n (model.likelihood.predictive prior) (o, s) =\n (model.likelihood.joint prior) (s, o)", "statement_sha256": "8658d70074bea2b21d40d85d5a6f767c6d4465d522972b80ee7c9dff28983e32" }, @@ -125932,7 +125932,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.posterior_pos_of_support", "source_line": 255, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem posterior_pos_of_support\n (model : GenerativeModel Policy State Outcome) (reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) (o : Outcome) (s : State) :\n 0 < model.likelihood.posterior reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o) s", "statement_sha256": "a69348a350af8fdae181452aba30868a062571f25f65d76af5c486b8414eef96" }, @@ -126056,7 +126056,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.prediction_dobrushin_contraction", "source_line": 437, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem prediction_dobrushin_contraction [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n {coefficient : ℝ}\n (hBound : FEP.FiniteMarkovDynamics.HasDobrushinBound\n (model.transition policy) coefficient)\n (left right : FiniteLaw State) :\n FEP.FiniteMarkovDynamics.totalVariation\n ((model.transition policy).predictive left)\n ((model.transition policy).predictive right) ≤\n coefficient * FEP.FiniteMarkovDynamics.totalVariation left right", "statement_sha256": "6451690ba1b8dae0a59b27aa2db01c320c5859f8b8c9e5e5d8ac70265aa9e220" }, @@ -126161,7 +126161,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.predictive_pos_of_fullLikelihood", "source_line": 235, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem predictive_pos_of_fullLikelihood\n (model : GenerativeModel Policy State Outcome) (prior : FiniteLaw State)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) (o : Outcome) :\n 0 < model.likelihood.predictive prior o", "statement_sha256": "2ad7b60b70f5fdd654725f3cdaa9e405e9362d39c1b31172694803a95931915e" }, @@ -126309,7 +126309,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.reachableBeliefKernel_sum", "source_line": 739, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem reachableBeliefKernel_sum [DecidableEq Belief]\n (pomdp : ReachableBeliefPOMDP Belief State Action Outcome)\n (action : Action) (belief : Belief) (continuation : Belief → ℝ) :\n ∑ nextBelief,\n reachableBeliefKernel pomdp action belief nextBelief *\n continuation nextBelief =\n ∑ outcome,\n actionObservationLaw (pomdp.interpret belief) pomdp.transition\n pomdp.emission action outcome *\n continuation (pomdp.update belief action outcome)", "statement_sha256": "6c7c99b8047d715e8b45304089d4dc523af0d9c2986327b2ed2b5e3e6d20b49a" }, @@ -126421,7 +126421,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PerceptionActionLoop.selectedPolicy_minimizes", "source_line": 69, - "source_owner": "src/fep_lean/formal/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/perception_action_loop.lean", "statement": "theorem selectedPolicy_minimizes [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (alternative : Policy) :\n expectedFreeEnergy (withInitialState model belief)\n (selectedPolicy model belief) ≤\n expectedFreeEnergy (withInitialState model belief) alternative", "statement_sha256": "1e90ac58e8245e6cf459e59b40407e32742d64da55b4db5bb577771a4151e331" }, @@ -126540,7 +126540,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.boolFeedbackTree_strictlyBetter", "source_line": 440, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem boolFeedbackTree_strictlyBetter (action : Bool) :\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false", "statement_sha256": "98b6fc5f81ff14f527570303ef9ca4f89b1501d555cb488600b09791c6914b1c" }, @@ -126635,7 +126635,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.boolFeedbackTree_value_zero", "source_line": 426, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem boolFeedbackTree_value_zero :\n policyTreeValue boolFeedbackModel boolFeedbackTree false = 0", "statement_sha256": "4194278d5a79921e450c6e9ec8ad4a1dc459df4e84faf91d5a60f0774bb1de2a" }, @@ -126741,7 +126741,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.boolOpenLoop_value_half", "source_line": 432, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem boolOpenLoop_value_half (action : Bool) :\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2", "statement_sha256": "aa782330da010c4dcbf5beea6fe5c63adc9adb86d8e2c23b5d4b5a3bd454e412" }, @@ -126888,7 +126888,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.exists_optimalPolicyTree", "source_line": 244, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem exists_optimalPolicyTree [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n ∃ tree : PolicyTree Action Observation depth,\n policyTreeValue model tree belief = optimalTreeValue model depth belief ∧\n ∀ alternative : PolicyTree Action Observation depth,\n policyTreeValue model tree belief ≤\n policyTreeValue model alternative belief", "statement_sha256": "279641de02d01775a49352e1bf7b616feb23b25183d555805c0a72c9c1e59ad5" }, @@ -126994,7 +126994,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.openLoopEmbedding_value", "source_line": 286, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem openLoopEmbedding_value\n (model : PolicyTreeModel Belief Action Observation) :\n ∀ {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief),\n policyTreeValue model (openLoopEmbedding plan) belief =\n openLoopValue model plan belief", "statement_sha256": "f1e96f79984aa04ef0ff513bc68194027ffcf705c49ff4ea889a21eda7575d96" }, @@ -127147,7 +127147,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalEFEValue_eq_riskAmbiguity", "source_line": 377, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalEFEValue_eq_riskAmbiguity [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue (efePolicyTreeModel model) depth belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief", "statement_sha256": "87848ff9e714f406462a28963f6069a9b7c74023c0d0979610f6061528405c19" }, @@ -127268,7 +127268,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalPolicyTree_value", "source_line": 170, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalPolicyTree_value [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation) :\n ∀ (depth : ℕ) (belief : Belief),\n policyTreeValue model (optimalPolicyTree model depth belief) belief =\n optimalTreeValue model depth belief", "statement_sha256": "e982299f52547366df14004ebf34c5b32eb33e5ae325bb8fd7d4cf0eccc96850" }, @@ -127421,7 +127421,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTreeAction_le", "source_line": 135, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTreeAction_le [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) (alternative : Action) :\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation) ≤\n model.stageCost depth belief alternative +\n ∑ observation,\n model.observationLaw belief alternative observation *\n optimalTreeValue model depth\n (model.update belief alternative observation)", "statement_sha256": "0047db757d1a515d610ecd243b327f138df7eb2a8da1c1db649fec5173d1f273" }, @@ -127555,7 +127555,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTreeValue_eq_min", "source_line": 121, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTreeValue_eq_min [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue model (depth + 1) belief =\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation)", "statement_sha256": "95eed588f3796d1f5af708cad578eed39373c3b38927d86f1807389b7474fb21" }, @@ -127678,7 +127678,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTreeValue_le_tree", "source_line": 196, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTreeValue_le_tree [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation) :\n ∀ {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief),\n optimalTreeValue model depth belief ≤ policyTreeValue model tree belief", "statement_sha256": "7bfdb091599550edcdd7e1d0a08ccb4532a739eb39b298aba1dad4d3dbd8ab1b" }, @@ -127835,7 +127835,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.optimalTree_le_openLoop", "source_line": 305, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem optimalTree_le_openLoop [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief) :\n optimalTreeValue model depth belief ≤ openLoopValue model plan belief", "statement_sha256": "4312faa163f45119d4c5a59e6a593db05886e6070fbc2357b7020075d076788b" }, @@ -127981,7 +127981,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.policyTreeValue_node", "source_line": 79, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem policyTreeValue_node\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (action : Action)\n (continuation : Observation → PolicyTree Action Observation depth)\n (belief : Belief) :\n policyTreeValue (depth := depth + 1) model (action, continuation) belief =\n model.stageCost depth belief action +\n ∑ observation,\n model.observationLaw belief action observation *\n policyTreeValue model (continuation observation)\n (model.update belief action observation)", "statement_sha256": "68beb17f3a4ad3555ff26043bbba9d7bb3af57024cd442e473c8195f34b52131" }, @@ -128096,7 +128096,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PolicyTrees.policyTree_efe_eq_risk_add_ambiguity", "source_line": 346, - "source_owner": "src/fep_lean/formal/policy_tree.lean", + "source_owner": "src/fep_formal/formal/policy_tree.lean", "statement": "theorem policyTree_efe_eq_risk_add_ambiguity\n (model : EFEPolicyTreeModel Belief State Action Observation) :\n ∀ {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief),\n policyTreeValue (efePolicyTreeModel model) tree belief =\n policyTreeValue (riskAmbiguityPolicyTreeModel model) tree belief", "statement_sha256": "4db7e9e63e9a2c29d2afc7ebc399fb1c9f01b7351bb81d38ba71ed19d8b510a2" }, @@ -128145,7 +128145,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.boundedContinuousPosteriorExpectation_tendsto_ae", "source_line": 725, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem boundedContinuousPosteriorExpectation_tendsto_ae\n (f : BoundedContinuousFunction MeanHypothesis ℝ) :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto\n (fun n => ∫ hypothesis, f hypothesis ∂(parameterPosterior n sample :\n ProbabilityMeasure MeanHypothesis)) atTop\n (𝓝 (f sample.1))", "statement_sha256": "956a778c7e2b8a4c4860212be5d4b98fc34658fc841d020dc148eb5d2e342007" }, @@ -128197,7 +128197,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.finiteObservationKernel_apply", "source_line": 213, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem finiteObservationKernel_apply\n (n : ℕ) (hypothesis : MeanHypothesis) :\n finiteObservationKernel n hypothesis = finiteObservationLaw n hypothesis", "statement_sha256": "5ec82737ac2bf301886f0dbdf875fdff1a07e2fd988b338d4925dfaf3d83b078" }, @@ -128249,7 +128249,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.finiteObservationLaw_eq_pi", "source_line": 191, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem finiteObservationLaw_eq_pi\n (n : ℕ) (hypothesis : MeanHypothesis) :\n finiteObservationLaw n hypothesis =\n Measure.pi (fun _ : Set.Iic n => selectedObservationLaw hypothesis)", "statement_sha256": "49ffe836a2621fbe958dd9ea4703fdddce8b92de9f8423f4958ba1ff5d3e23d3" }, @@ -128338,7 +128338,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.finitePosterior_eventualContraction_regression", "source_line": 368, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem finitePosterior_eventualContraction_regression\n (prior : FEP.FiniteLaw FEP.FinitePosteriorLearning.Hypothesis)\n (truthPriorPositive :\n 0 < prior FEP.FinitePosteriorLearning.truthHypothesis)\n (margin : ℝ) (marginPositive : 0 < margin)\n (marginBelowGap :\n margin < FEP.FinitePosteriorLearning.identificationGap) :\n ∀ᵐ path ∂FEP.FinitePosteriorLearning.trajectoryLaw,\n ∀ᶠ sampleCount in atTop,\n FEP.FinitePosteriorLearning.posteriorAfter\n prior path sampleCount false ≤\n FEP.FinitePosteriorLearning.priorBadOdds prior *\n Real.exp\n (-((sampleCount : ℝ) *\n (FEP.FinitePosteriorLearning.identificationGap - margin)))", "statement_sha256": "9665c1d3eec7e4b2507f44ef4b827110cc82d014590b20918ba340dc667c9462" }, @@ -128369,7 +128369,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.limitingObservation_identifies_parameter", "source_line": 590, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem limitingObservation_identifies_parameter :\n posteriorLimit =ᵐ[selectedJointLaw] selectedParameterIndicator", "statement_sha256": "3ccf5a1d986da4874c22f227596dfe93a436529086d88afc88426c346e1d4210" }, @@ -128411,7 +128411,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.nonidentifiableObservationKernel_apply", "source_line": 790, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem nonidentifiableObservationKernel_apply\n (hypothesis : MeanHypothesis) :\n nonidentifiableObservationKernel hypothesis =\n selectedObservationLaw false", "statement_sha256": "91cceb7f705b0ae36111700605a9c1145b7126e403dcef2897ea618faa0a3b80" }, @@ -128442,7 +128442,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.nonidentifiablePosterior_eq_prior_ae", "source_line": 798, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem nonidentifiablePosterior_eq_prior_ae :\n ∀ᵐ observation ∂selectedObservationLaw false,\n nonidentifiablePosteriorKernel observation = selectedMeanPrior", "statement_sha256": "a9fd91c646a3870b39ae670839c3afa7c901e6aa42772dce0216bd8913d6cc9d" }, @@ -128484,7 +128484,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.observationFiltration_eq_comapPrefix", "source_line": 229, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem observationFiltration_eq_comapPrefix (n : ℕ) :\n observationFiltration n =\n MeasurableSpace.comap\n (fun sample => observationPrefix n sample.2) inferInstance", "statement_sha256": "5862c76a334121a48938bfbcaea225161843361ae292fa53701e70de699c2a15" }, @@ -128526,7 +128526,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.observation_stronglyMeasurable", "source_line": 111, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem observation_stronglyMeasurable (index : ℕ) :\n StronglyMeasurable (observation index)", "statement_sha256": "e94ef6ea93b02bf54033a2a90330494ce90c4f080bfb7688bdf54244c45dd7df" }, @@ -128564,7 +128564,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.parameterPosterior_tendsto_dirac_ae", "source_line": 694, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem parameterPosterior_tendsto_dirac_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => parameterPosterior n sample) atTop\n (𝓝 (trueParameterLaw sample))", "statement_sha256": "7e6f2849ea87ab85d877e34d26f5bb394f3492d70a8870aa7981abf15448d9b1" }, @@ -128623,7 +128623,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorDecisionRisk_mem_Icc", "source_line": 743, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorDecisionRisk_mem_Icc\n (n : ℕ) (sample : GaussianSample) :\n posteriorDecisionRisk n sample ∈ Set.Icc (0 : ℝ) (1 / 2)", "statement_sha256": "511f586d15dbc4418c4461e24dd42672750aa77905f4509dcc9b5f8b419edb06" }, @@ -128661,7 +128661,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorDecisionRisk_tendsto_zero_ae", "source_line": 755, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorDecisionRisk_tendsto_zero_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => posteriorDecisionRisk n sample) atTop (𝓝 0)", "statement_sha256": "ade03d55a82f052ab61fd0ded5f42fc67be1aad9ee564ec1963b4d538bf0491f" }, @@ -128710,7 +128710,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_ae_eq_condExp", "source_line": 294, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_ae_eq_condExp (n : ℕ) :\n posteriorProbability n =ᵐ[selectedJointLaw]\n selectedJointLaw[\n selectedParameterIndicator | observationFiltration n]", "statement_sha256": "65c1620847f7b9e47ed6366c41a78bede4057017eb05a840e8504185595a800d" }, @@ -128754,7 +128754,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_consistent_ae", "source_line": 617, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_consistent_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => posteriorProbability n sample) atTop\n (𝓝 (selectedParameterIndicator sample))", "statement_sha256": "e23bed830c6f583ac432ee6dd39bf3b4fa9fdb5042bb0bd305460c8c0ec27457" }, @@ -128809,7 +128809,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_consistent_under_selectedTrajectoryLaw", "source_line": 627, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_consistent_under_selectedTrajectoryLaw\n (hypothesis : MeanHypothesis) :\n ∀ᵐ path ∂selectedTrajectoryLaw hypothesis,\n Tendsto (fun n => posteriorProbability n (hypothesis, path)) atTop\n (𝓝 (if hypothesis then 1 else 0))", "statement_sha256": "58f34cc8e304eb7137d4747ffd2aa794c31f53e4e77cf7c9848bc23873f9a94e" }, @@ -128858,7 +128858,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_integrable", "source_line": 338, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_integrable (n : ℕ) :\n Integrable (posteriorProbability n) selectedJointLaw", "statement_sha256": "f79128648eceface85583005a0a3817609ea7f8b8407ef4d1d3263ead21d3235" }, @@ -128902,7 +128902,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_martingale", "source_line": 346, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_martingale :\n Martingale posteriorProbability observationFiltration selectedJointLaw", "statement_sha256": "5b4b43cd36be61182878f4bbcea5c5a13ab0720a5a3527fdd5114e3d72f0eac3" }, @@ -128954,7 +128954,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_mem_Icc", "source_line": 342, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_mem_Icc (n : ℕ) (sample : GaussianSample) :\n posteriorProbability n sample ∈ Set.Icc (0 : ℝ) 1", "statement_sha256": "dcb6afe151077dfaddbaa10a9f1228b9cd15b451616fa18ec8f69d052f2c71d4" }, @@ -128992,7 +128992,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_stronglyAdapted", "source_line": 329, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_stronglyAdapted :\n StronglyAdapted observationFiltration posteriorProbability", "statement_sha256": "384910bee07fc1730c3d80f0b876a466f33334ec965f81a4032729c66e82c153" }, @@ -129030,7 +129030,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.posteriorProbability_tendsto_ae", "source_line": 353, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem posteriorProbability_tendsto_ae :\n ∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun n => posteriorProbability n sample) atTop\n (𝓝 (posteriorLimit sample))", "statement_sha256": "6b7cdf5aa49aa777f85fcb40f2033c83332cf56ca063c186fececb81afa6dd35" }, @@ -129072,7 +129072,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedJointLaw_map_parameterPrefix", "source_line": 220, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedJointLaw_map_parameterPrefix (n : ℕ) :\n selectedJointLaw.map\n (fun sample => (sample.1, observationPrefix n sample.2)) =\n selectedMeanPrior ⊗ₘ finiteObservationKernel n", "statement_sha256": "9da35ee79ff585f9a5e40007d61febd022ffbc39332693d2fbcfb9de96642e94" }, @@ -129114,7 +129114,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedMeanPrior_positive", "source_line": 396, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedMeanPrior_positive (hypothesis : MeanHypothesis) :\n 0 < selectedMeanPrior.real {hypothesis}", "statement_sha256": "f3e1bc7eaf52cf3f847689dc419ae758e00387526e4bdd42e1209bc5a28f2f08" }, @@ -129152,7 +129152,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedMeanPrior_true_pos", "source_line": 403, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedMeanPrior_true_pos :\n 0 < selectedMeanPrior.real {true}", "statement_sha256": "60e4ca1025199753ac78b880d06a36a44b6eb479e64201e74962f516b896baab" }, @@ -129183,7 +129183,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedMeans_ne", "source_line": 176, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedMeans_ne : selectedMean false ≠ selectedMean true", "statement_sha256": "d79d27d79f9f2d2722395a188b85bc2c45b608f7568c71d61380323bc2e46639" }, @@ -129225,7 +129225,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedObservationKernel_apply", "source_line": 179, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedObservationKernel_apply (hypothesis : MeanHypothesis) :\n selectedObservationKernel hypothesis = selectedObservationLaw hypothesis", "statement_sha256": "7f931c6d4a78092fed24f2330f1b0b406b3d88418926ce04ca99040b7b8990c9" }, @@ -129263,7 +129263,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedObservationLaws_ne", "source_line": 390, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedObservationLaws_ne :\n selectedObservationLaw false ≠ selectedObservationLaw true", "statement_sha256": "2a45e3b3cec6cf43f6a57587a81d9917b502ce42bccdf8c4ecd9428f1135ef63" }, @@ -129315,7 +129315,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PosteriorConvergence.selectedTrajectoryCoordinate_map", "source_line": 183, - "source_owner": "src/fep_lean/formal/posterior_convergence.lean", + "source_owner": "src/fep_formal/formal/posterior_convergence.lean", "statement": "theorem selectedTrajectoryCoordinate_map\n (hypothesis : MeanHypothesis) (index : ℕ) :\n (selectedTrajectoryLaw hypothesis).map (fun path => path index) =\n selectedObservationLaw hypothesis", "statement_sha256": "e0160edf911305ec085404464eaab01055266bd8f08097baa8b2961ad04a58e4" }, @@ -129356,7 +129356,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.doubledPrecision_nontrivial_witness", "source_line": 381, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129443,7 +129443,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.exp_jet_shift_witness", "source_line": 245, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129484,7 +129484,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderCorrection_witness", "source_line": 344, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem firstOrderCorrection_witness :\n let corrected := generalizedFilteringStep (1 / 2 : ℝ) (fun _ => 1)\n (firstOrderJet 2 0) (firstOrderJet 0 1)\n corrected.coefficient 0 = 3 / 2 ∧ corrected.coefficient 1 = 1 / 2", "statement_sha256": "7ab849cae0e5ff0bcb7a4244d616c7abfac07426b9a2a16dfb4e5657b5ec9013" }, @@ -129544,7 +129544,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_shift_boundary", "source_line": 272, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129597,7 +129597,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_value", "source_line": 263, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_value (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 0 = value", "statement_sha256": "b780a71e3377ba7a07fbc0d32111c0e6022be5aaa153a1769a3c4be112d3c61a" }, @@ -129650,7 +129650,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.firstOrderJet_velocity", "source_line": 268, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem firstOrderJet_velocity (value velocity : ℝ) :\n (firstOrderJet value velocity).coefficient 1 = velocity", "statement_sha256": "8d0565d9a1727e815a12d36c8408e6c84f0e1186ac4b8b8a351e381e521f5cad" }, @@ -129742,7 +129742,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.functionJet_coefficient_of_le", "source_line": 193, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129840,7 +129840,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.gaussianChainEnergy_eq_neg_log_prod", "source_line": 603, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -129920,7 +129920,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.gaussianChain_twoLevel", "source_line": 623, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130010,7 +130010,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedCoordinateEnergy_hasDerivAt", "source_line": 318, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130103,7 +130103,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFilteringStep_equation", "source_line": 308, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130183,7 +130183,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.generalizedFlow_top_boundary", "source_line": 330, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130224,7 +130224,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.halfStep_energy_witness", "source_line": 480, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130305,7 +130305,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_nonneg", "source_line": 119, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130368,7 +130368,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.hierarchicalEnergy_succ", "source_line": 130, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130468,7 +130468,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionEnergy_tendsto_zero", "source_line": 466, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130539,7 +130539,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError", "source_line": 432, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130629,7 +130629,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratePredictionError_tendsto_zero", "source_line": 445, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130691,7 +130691,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.iteratedDeriv_exp_eq", "source_line": 235, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem iteratedDeriv_exp_eq (k : ℕ) (t : ℝ) : iteratedDeriv k Real.exp t = Real.exp t", "statement_sha256": "a846d1151a902fb89f2ea35cb1bd87d6d3ded48dba24ec2073e16ac5f71e721b" }, @@ -130764,7 +130764,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.neg_log_gaussianPDFReal", "source_line": 584, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130825,7 +130825,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_derivative_eq_gradient", "source_line": 106, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130898,7 +130898,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_eq_zero_iff", "source_line": 61, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -130952,7 +130952,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_hasDerivAt", "source_line": 90, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131043,7 +131043,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_mono", "source_line": 356, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131116,7 +131116,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_nonneg", "source_line": 54, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem precisionEnergy_nonneg {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", "statement_sha256": "0ebc1576504aa52cd10695f7e5007d4006d887cb6af38f94f48bc5b1dc6d0833" }, @@ -131199,7 +131199,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_pos", "source_line": 77, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131254,7 +131254,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionEnergy_scale", "source_line": 368, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131343,7 +131343,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_eq_iff", "source_line": 521, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "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" }, @@ -131415,7 +131415,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_hasDerivAt", "source_line": 543, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131504,7 +131504,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_min", "source_line": 511, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131556,7 +131556,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_strictConvexOn", "source_line": 560, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem precisionFreeEnergy_strictConvexOn (error : ℝ) :\n StrictConvexOn ℝ (Set.Ioi 0) (precisionFreeEnergy error)", "statement_sha256": "9e9e8d3bdba2233476160e5a9033d420b0f10d09633b27c7f3008decc6deda3e" }, @@ -131638,7 +131638,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_sub_opt", "source_line": 496, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "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" }, @@ -131690,7 +131690,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionFreeEnergy_zero_error_unbounded", "source_line": 569, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem precisionFreeEnergy_zero_error_unbounded (M : ℝ) :\n ∃ precision : ℝ, 0 < precision ∧ precisionFreeEnergy 0 precision < M", "statement_sha256": "5625928271e3331ee845c9d99533a907f78c4a7a585d481c941beb93c488c0df" }, @@ -131745,7 +131745,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.precisionGradient_scale", "source_line": 375, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131807,7 +131807,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_contraction", "source_line": 399, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131915,7 +131915,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionEnergy_strictDecrease", "source_line": 409, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -131969,7 +131969,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.predictionError_update", "source_line": 392, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132042,7 +132042,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_add", "source_line": 173, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132115,7 +132115,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_coefficient", "source_line": 162, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132230,7 +132230,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_functionJet", "source_line": 210, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132329,7 +132329,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_functionJet_succ", "source_line": 221, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132434,7 +132434,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet", "source_line": 201, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132519,7 +132519,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_one_functionJet_top", "source_line": 228, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132581,7 +132581,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_top_zero", "source_line": 181, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem shift_top_zero {order : ℕ} (jet : FiniteJet order) :\n (shift 1 jet).coefficient order = 0", "statement_sha256": "1a453b796f2dbb1a22d6d13c99538b8e5c7a71ce945ae0482d33567752356480" }, @@ -132643,7 +132643,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.shift_zero", "source_line": 166, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/formal/predictive_coding.lean", "statement": "theorem shift_zero {order : ℕ} (jet : FiniteJet order) :\n shift 0 jet = jet", "statement_sha256": "dd3dde0191a5149263f8628742d3bbbb476c5e21f8e60e09919e514e3215e50c" }, @@ -132684,7 +132684,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.twoLevelEnergy_witness", "source_line": 140, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132732,7 +132732,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.PredictiveCoding.twoLevel_chain_energy_witness", "source_line": 638, - "source_owner": "src/fep_lean/formal/predictive_coding.lean", + "source_owner": "src/fep_formal/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" }, @@ -132791,7 +132791,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.integral_ouTransition_tendsto_invariant", "source_line": 492, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem integral_ouTransition_tendsto_invariant\n (model : ScalarOUParameters) (state : ℝ) (f : ℝ →ᵇ ℝ) :\n Tendsto\n (fun time : ℝ≥0 =>\n ∫ next, f next ∂(model.ouTransitionProbability time state : Measure ℝ))\n atTop\n (𝓝 (∫ next, f next ∂(model.stationaryProbability : Measure ℝ)))", "statement_sha256": "3d44215cf952fe76a1165dca61a43f4f922f6402bba0337fab9e5e74cc3e425e" }, @@ -132866,7 +132866,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouKL_to_stationary_nonincrease", "source_line": 505, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouKL_to_stationary_nonincrease\n (model : ScalarOUParameters) (earlier increment : ℝ≥0)\n (actual : Measure ℝ) [IsFiniteMeasure actual] :\n InformationTheory.klDiv\n (model.ouTransition (earlier + increment) ∘ₘ actual)\n model.stationaryLaw ≤\n InformationTheory.klDiv\n (model.ouTransition earlier ∘ₘ actual)\n model.stationaryLaw", "statement_sha256": "ae3939e4d5c40b13d8217d73e9afb7b11d8c11366403c4df6a834de1b5120d89" }, @@ -132915,7 +132915,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransitionProbability_tendsto_invariant", "source_line": 467, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransitionProbability_tendsto_invariant\n (model : ScalarOUParameters) (state : ℝ) :\n Tendsto\n (fun time : ℝ≥0 => model.ouTransitionProbability time state)\n atTop (𝓝 model.stationaryProbability)", "statement_sha256": "30a81513ef6d5a6b8d9168482c4f8b845310d824ec01313a22e58592802aa1b0" }, @@ -132965,7 +132965,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_add", "source_line": 258, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_add\n (model : ScalarOUParameters) (left right : ℝ≥0) :\n model.ouTransition (left + right) =\n model.ouTransition right ∘ₖ model.ouTransition left", "statement_sha256": "c6c3ce04b7ef225560adf40d5cdf2befc1d803157ad3bbf3389533643812c47e" }, @@ -133034,7 +133034,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_comp_gaussian", "source_line": 284, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_comp_gaussian\n (model : ScalarOUParameters) (time : ℝ≥0)\n (sourceMean : ℝ) (sourceVariance : ℝ≥0) :\n model.ouTransition time ∘ₘ gaussianReal sourceMean sourceVariance =\n gaussianReal\n (model.transitionMean time sourceMean)\n (NNReal.mk (model.decay time ^ 2) (sq_nonneg _) * sourceVariance +\n model.transitionVariance time)", "statement_sha256": "8f32a042a37ff5c45dc4a53cad75bd117c1795ae651e79c1a7a7a53b679fae7b" }, @@ -133103,7 +133103,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_eq_gaussianLocation", "source_line": 307, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_eq_gaussianLocation\n (model : ScalarOUParameters) (time : ℝ≥0) (hTime : 0 < time)\n (state : ℝ) :\n model.ouTransition time state =\n (model.positiveTimeGaussian time hTime).law\n (model.transitionMean time state)", "statement_sha256": "89d2c79670c1bb216944c5737c057cc9f495d779cd1f07721ad97231406f4bc3" }, @@ -133162,7 +133162,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_mean", "source_line": 357, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_mean\n (model : ScalarOUParameters) (time : ℝ≥0) (state : ℝ) :\n (∫ next, next ∂model.ouTransition time state) =\n model.transitionMean time state", "statement_sha256": "9a8b87d6e30b97e671370f7ac4a70e2db4315c239f1613cde3acf1c7f7b2b329" }, @@ -133221,7 +133221,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_univ", "source_line": 169, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_univ\n (model : ScalarOUParameters) (time : ℝ≥0) (state : ℝ) :\n model.ouTransition time state Set.univ = 1", "statement_sha256": "eafdd7869b4591fc90aa26fef45b15c0b747b6c421af85dda9470b784581a8c1" }, @@ -133280,7 +133280,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_variance", "source_line": 368, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_variance\n (model : ScalarOUParameters) (time : ℝ≥0) (state : ℝ) :\n Var[id; model.ouTransition time state] = model.transitionVariance time", "statement_sha256": "627b5308daf514fb6a3f13961fd54decd0507410b4fee7e9916b7ea6cb83ac0b" }, @@ -133319,7 +133319,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.ouTransition_zero", "source_line": 178, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem ouTransition_zero (model : ScalarOUParameters) :\n model.ouTransition 0 = Kernel.id", "statement_sha256": "940b3c721fc38e5a090efe980c995aa4fe7a4e1e752872251eca929c5bd31b17" }, @@ -133358,7 +133358,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.stationaryLaw_invariant", "source_line": 346, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem stationaryLaw_invariant (model : ScalarOUParameters) :\n FEP.MarkovSemigroup.InvariantLaw\n model.ouNativeSemigroup model.stationaryLaw", "statement_sha256": "6fc9f8ccf73d88e86dfbf5cabd40a89398fbeb52052922c01be329bc6d02553f" }, @@ -133397,7 +133397,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.stationaryVariance_eq", "source_line": 58, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem stationaryVariance_eq (model : ScalarOUParameters) :\n (model.stationaryVariance : ℝ) =\n (model.diffusionVarianceRate : ℝ) / (2 * model.rate)", "statement_sha256": "6129d7bb7a7742e0a82cd7f2ed259630a69890421fab278ab560aeba13a952fb" }, @@ -133436,7 +133436,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.stationaryVariance_pos", "source_line": 86, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem stationaryVariance_pos (model : ScalarOUParameters) :\n 0 < model.stationaryVariance", "statement_sha256": "2c5d78edf60fc67e79ccb21e5a5f54e8402ca1d8b1c323b9658b981742b376f9" }, @@ -133485,7 +133485,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.transitionMean_zero", "source_line": 150, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem transitionMean_zero (model : ScalarOUParameters) (state : ℝ) :\n model.transitionMean 0 state = state", "statement_sha256": "657cbf7e68d561140c2b84b467e5d41278f1a49235caafecf58db86e89476325" }, @@ -133544,7 +133544,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.transitionVariance_pos", "source_line": 163, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem transitionVariance_pos\n (model : ScalarOUParameters) (time : ℝ≥0) (hTime : 0 < time) :\n 0 < model.transitionVariance time", "statement_sha256": "8bd955ad271349647c53fa8b7dbb8c8fca6c4801468d23a2266930bc6a7232ae" }, @@ -133583,7 +133583,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.ScalarGaussianSemigroup.ScalarOUParameters.transitionVariance_zero", "source_line": 155, - "source_owner": "src/fep_lean/formal/scalar_gaussian_semigroup.lean", + "source_owner": "src/fep_formal/formal/scalar_gaussian_semigroup.lean", "statement": "theorem transitionVariance_zero (model : ScalarOUParameters) :\n model.transitionVariance 0 = 0", "statement_sha256": "19b6fd29abc54e05ff527a35be2b2684c60eb5c97d67d7b898acb1580c18343e" }, @@ -133605,7 +133605,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanJacobian_nullTangent", "source_line": 220, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanJacobian_nullTangent :\n duplicatedMeanJacobian duplicatedNullTangent = 0", "statement_sha256": "4cb88253d6dc36d50a2fbd0714ca4347379e4987f84f8bc6ba555ca2a2090587" }, @@ -133638,7 +133638,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanMap_hasFDerivAt", "source_line": 63, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanMap_hasFDerivAt (parameter : Fin 2 → ℝ) :\n HasFDerivAt duplicatedMeanMap duplicatedMeanJacobian parameter", "statement_sha256": "01634671b0f039ec71a0b97f0bdfac7a4c3577950832f2703f4e4fa74cc13716" }, @@ -133688,7 +133688,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanPullbackMetric_null", "source_line": 231, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanPullbackMetric_null\n (family : FixedVarianceGaussian) (parameter : Fin 2 → ℝ) :\n duplicatedMeanPullbackMetric family parameter\n duplicatedNullTangent duplicatedNullTangent = 0", "statement_sha256": "86746251b33a208a6c5db0f5c1a12a6afdc0e0382fbff9ab97f6dd9cb0a1eff3" }, @@ -133744,7 +133744,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedMeanPullback_not_positiveDefinite", "source_line": 240, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedMeanPullback_not_positiveDefinite\n (family : FixedVarianceGaussian) (parameter : Fin 2 → ℝ) :\n ¬ ∀ tangent : Fin 2 → ℝ, tangent ≠ 0 →\n 0 < duplicatedMeanPullbackMetric family parameter tangent tangent", "statement_sha256": "c5c3d459f444d272d9da0b566e9e119570e2c35c5e3edced396aa6e24d7106ba" }, @@ -133766,7 +133766,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.duplicatedNullTangent_ne_zero", "source_line": 225, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem duplicatedNullTangent_ne_zero : duplicatedNullTangent ≠ 0", "statement_sha256": "19a5a02b2e907a9d61eb821334b2b2d3033fc5f8688a7284aaacc7546573d138" }, @@ -133858,7 +133858,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.flatNaturalMean_duality_hasDerivAt", "source_line": 108, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem flatNaturalMean_duality_hasDerivAt\n (family : FixedVarianceGaussian) (time : ℝ)\n (exponentialField mixtureField : ℝ → ℝ)\n (exponentialDerivative mixtureDerivative : ℝ)\n (hExponential : HasDerivAt exponentialField exponentialDerivative time)\n (hMixture : HasDerivAt mixtureField mixtureDerivative time) :\n HasDerivAt\n (fun candidate =>\n naturalMetricPairing family candidate\n (exponentialField candidate)\n ((family.variance : ℝ)⁻¹ * mixtureField candidate))\n (naturalMetricPairing family time exponentialDerivative\n ((family.variance : ℝ)⁻¹ * mixtureField time) +\n naturalMetricPairing family time (exponentialField time)\n ((family.variance : ℝ)⁻¹ * mixtureDerivative)) time", "statement_sha256": "389496b5718ebff1278e4f23fad34c576069c518fbbabb88c130f0e9170cea32" }, @@ -133902,7 +133902,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.klDiv_meanCoordinates_eq_naturalBregman", "source_line": 206, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem klDiv_meanCoordinates_eq_naturalBregman\n (family : FixedVarianceGaussian) (sourceMean referenceMean : ℝ) :\n InformationTheory.klDiv\n (family.law sourceMean) (family.law referenceMean) =\n ENNReal.ofReal\n (family.naturalBregman\n (family.meanToNatural sourceMean)\n (family.meanToNatural referenceMean))", "statement_sha256": "f1aa80311376485173bebbfe3196f0b1ad4ba85ee743f86ba09d8a8646239be0" }, @@ -133945,7 +133945,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.meanMetricComponent_hasDerivAt_zero", "source_line": 157, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem meanMetricComponent_hasDerivAt_zero\n (family : FixedVarianceGaussian) (mean : ℝ) :\n HasDerivAt family.meanFisher 0 mean", "statement_sha256": "56fdf15f542ea3d4054e9e44191395cf59343ad3ff472f4a2d29b35b85c4dc19" }, @@ -133990,7 +133990,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.meanMetricPairing_eq_invVariance", "source_line": 79, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem meanMetricPairing_eq_invVariance\n (family : FixedVarianceGaussian) (mean left right : ℝ) :\n meanMetricPairing family mean left right =\n (family.variance : ℝ)⁻¹ * left * right", "statement_sha256": "c3c06f17a3422d189b6e0bb1f3cc5a6fc71234594da62fd951c23ea989c4f490" }, @@ -134048,7 +134048,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.meanMetricPairing_eq_naturalPullback", "source_line": 87, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem meanMetricPairing_eq_naturalPullback\n (family : FixedVarianceGaussian) (mean left right : ℝ) :\n meanMetricPairing family mean left right =\n naturalMetricPairing family (family.meanToNatural mean)\n ((family.variance : ℝ)⁻¹ * left)\n ((family.variance : ℝ)⁻¹ * right)", "statement_sha256": "a1388bceee717b566f3b9bb6405f3bf1b48096b57a0029220b4314465427b877" }, @@ -134090,7 +134090,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalAffinePathVelocity_hasDerivAt_zero", "source_line": 178, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalAffinePathVelocity_hasDerivAt_zero\n (start velocity time : ℝ) :\n HasDerivAt\n (fun candidate => deriv (naturalAffinePath start velocity) candidate)\n 0 time", "statement_sha256": "5815302ec07a4feb0c957ec31be9588770b31704b12c6e44ae0925235f6029e5" }, @@ -134125,7 +134125,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalAffinePath_hasDerivAt", "source_line": 169, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalAffinePath_hasDerivAt\n (start velocity time : ℝ) :\n HasDerivAt (naturalAffinePath start velocity) velocity time", "statement_sha256": "80d577d28d2b2b034e2b639d454edc0806b2b0d008970330c190cf8f8cc3d508" }, @@ -134175,7 +134175,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalMean_coordinateBasis_dual", "source_line": 99, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalMean_coordinateBasis_dual\n (family : FixedVarianceGaussian) (natural : ℝ) :\n naturalMetricPairing family natural 1 (family.variance : ℝ)⁻¹ = 1", "statement_sha256": "cf12122ced5b1f0e5c7ade659f6d2518b8ec9caf6c1667902dc71acb1e5699a9" }, @@ -134218,7 +134218,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalMetricComponent_hasDerivAt_zero", "source_line": 146, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalMetricComponent_hasDerivAt_zero\n (family : FixedVarianceGaussian) (natural : ℝ) :\n HasDerivAt family.naturalFisher 0 natural", "statement_sha256": "d22ec9b1cd982b0d1dd4f019f09d4bfe6459076c2f932180181a51b25f756270" }, @@ -134263,7 +134263,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalMetricPairing_eq_variance", "source_line": 71, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalMetricPairing_eq_variance\n (family : FixedVarianceGaussian) (natural left right : ℝ) :\n naturalMetricPairing family natural left right =\n (family.variance : ℝ) * left * right", "statement_sha256": "e74b10dfbba5342b412e3f80e07f86d625d6a48c466a235d7834dfc11939f930" }, @@ -134308,7 +134308,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.SmoothInformationGeometry.naturalToMean_naturalAffinePath", "source_line": 193, - "source_owner": "src/fep_lean/formal/smooth_information_geometry.lean", + "source_owner": "src/fep_formal/formal/smooth_information_geometry.lean", "statement": "theorem naturalToMean_naturalAffinePath\n (family : FixedVarianceGaussian) (start velocity time : ℝ) :\n family.naturalToMean (naturalAffinePath start velocity time) =\n naturalAffinePath (family.naturalToMean start)\n ((family.variance : ℝ) * velocity) time", "statement_sha256": "369723ffac97c9920c19a1035eff68b8bad6bbc6f33dae2ab611e1665c064346" }, @@ -134443,7 +134443,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalExpectationError_strongLaw", "source_line": 198, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalExpectationError_strongLaw\n {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (observable : α → ℝ)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto\n (fun n =>\n |empiricalExpectation observations observable n ω -\n populationExpectation μ observations observable|)\n atTop (nhds 0)", "statement_sha256": "9d14a0744b99efca9a7d7fc7dc3cddff7b64f99c68eb2b0c520b6b4227931fcd" }, @@ -134578,7 +134578,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalExpectation_strongLaw", "source_line": 174, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalExpectation_strongLaw\n {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (observable : α → ℝ)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto (fun n => empiricalExpectation observations observable n ω)\n atTop (nhds (populationExpectation μ observations observable))", "statement_sha256": "b9ec090334a54b109956b9949559a721c85716a857babb13cd44117c42068d8a" }, @@ -134703,7 +134703,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalL1Error_strongLaw", "source_line": 128, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalL1Error_strongLaw\n {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto (fun n => empiricalL1Error μ observations n ω)\n atTop (nhds 0)", "statement_sha256": "27c23b95fd2ad88ed26a8126d27d4e2e9d12c1cbd6b1ed7c86b99f0bee2078b9" }, @@ -134828,7 +134828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalLaw_strongLaw", "source_line": 100, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalLaw_strongLaw {α : Type*} [Fintype α] [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω) (observations : ℕ → Ω → α)\n (hint : ∀ atom,\n Integrable (atomIndicator observations atom 0) μ)\n (hindep : ∀ atom, Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ atom index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ, ∀ atom,\n Tendsto (fun n => empiricalMass observations atom n ω)\n atTop (nhds μ[atomIndicator observations atom 0])", "statement_sha256": "65a669b639b303bbfac02babf695ab6b09d7c5adb74690dfa63acaebad97c4d0" }, @@ -134948,7 +134948,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalMass_strongLaw", "source_line": 81, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalMass_strongLaw {α : Type*} [DecidableEq α]\n [MeasurableSpace Ω] (μ : Measure Ω)\n (observations : ℕ → Ω → α) (atom : α)\n (hint : Integrable (atomIndicator observations atom 0) μ)\n (hindep : Pairwise (fun i j =>\n atomIndicator observations atom i ⟂ᵢ[μ]\n atomIndicator observations atom j))\n (hident : ∀ index,\n IdentDistrib (atomIndicator observations atom index)\n (atomIndicator observations atom 0) μ μ) :\n ∀ᵐ ω ∂μ,\n Tendsto (fun n => empiricalMass observations atom n ω)\n atTop (nhds μ[atomIndicator observations atom 0])", "statement_sha256": "d5d7a3bf4d271f5646567e82c2fc382f3a86409afe4f82c92f3f0c24e2c5616f" }, @@ -135047,7 +135047,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.empiricalRate_strongLaw", "source_line": 47, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "theorem empiricalRate_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 (fun n => empiricalRate observations n ω)\n atTop (nhds μ[indicator observations 0])", "statement_sha256": "4650b1e31c3f03fb13fa226b4631032ddb7f5cc17936ae744a130b499c52fe43" }, @@ -135111,7 +135111,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.StatisticalConvergence.sum_indicator_eq_successCount", "source_line": 36, - "source_owner": "src/fep_lean/formal/statistical_convergence.lean", + "source_owner": "src/fep_formal/formal/statistical_convergence.lean", "statement": "lemma sum_indicator_eq_successCount\n (observations : ℕ → Ω → Bool) (n : ℕ) (ω : Ω) :\n ∑ index ∈ Finset.range n, indicator observations index ω =\n (successCount observations n ω : ℝ)", "statement_sha256": "1254f44e25a02a9a085aeb1327d1b54a151b053b70b7000f6f6668720d40bfee" }, @@ -135240,7 +135240,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.beliefNormalizer_eq_totalWeight", "source_line": 570, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem beliefNormalizer_eq_totalWeight [DecidableEq S] (t : PTree S) :\n beliefNormalizer t = totalWeight t", "statement_sha256": "bd8c20940e546c7f02e2a7eef00fbf9afb47aeb7d9ec8806505f30e19da81268" }, @@ -135373,7 +135373,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.msg_eq_bruteMass", "source_line": 544, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem msg_eq_bruteMass [DecidableEq S] (t : PTree S) (s : S) :\n msg t s = bruteMass t s", "statement_sha256": "4c0bfc32355b2268c092831dc6698f945ee3c105ee242845cfdecca91f5e790b" }, @@ -135470,7 +135470,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.msg_nonneg", "source_line": 584, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem msg_nonneg : (t : PTree S) → t.Nonneg → ∀ s, 0 ≤ msg t s", "statement_sha256": "5b340242f7e6c35c33ae5281d6fef8fb5272597feab154a6fa0ccc5043702c63" }, @@ -135609,7 +135609,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_eq_exactMarginal", "source_line": 579, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_eq_exactMarginal [DecidableEq S] (t : PTree S) (s : S) :\n rootBelief t s = exactMarginal t s", "statement_sha256": "64b6fda4c72ab2496f924f95926d5a4ae6d8d0834ff0d6ae7dae02f6c7f9312a" }, @@ -135757,7 +135757,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_node", "source_line": 521, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_node (φ : S → ℝ) (n : ℕ) (ψ : Fin n → S → S → ℝ)\n (c : Fin n → PTree S) (s : S) :\n rootBelief (node φ n ψ c) s =\n (φ s * ∏ i : Fin n, childMessage (ψ i) (c i) s) /\n ∑ y, φ y * ∏ i : Fin n, childMessage (ψ i) (c i) y", "statement_sha256": "c467467a9ed0490852e14d6ed23253e1bb2778c0a4b94acbd8b4f4795d71684b" }, @@ -135892,7 +135892,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_nonneg", "source_line": 601, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_nonneg (t : PTree S) (ht : t.Nonneg) (s : S) :\n 0 ≤ rootBelief t s", "statement_sha256": "f1fb0a4218643217b80b7840e955c58de53a7191581b9bf0fc807ef8dd6399e9" }, @@ -136025,7 +136025,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.rootBelief_sum_one", "source_line": 592, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem rootBelief_sum_one [DecidableEq S] (t : PTree S) (hpos : 0 < totalWeight t) :\n ∑ s, rootBelief t s = 1", "statement_sha256": "64f6016d608008aaefee02d0f558013843860101033c51e00d719dba25c44c66" }, @@ -136151,7 +136151,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.sum_root_weight", "source_line": 530, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem sum_root_weight [DecidableEq S] (t : PTree S) (F : S → ℝ) :\n ∑ x : Conf t, F (Conf.root t x) * weight t x =\n ∑ y, F y * bruteMass t y", "statement_sha256": "809fdb12bb908f14df5f24256d271eeec4f7a6550ab5d8d2b21e03bc3e2f7989" }, @@ -136274,7 +136274,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.PTree.totalWeight_eq_sum_bruteMass", "source_line": 539, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem totalWeight_eq_sum_bruteMass [DecidableEq S] (t : PTree S) :\n totalWeight t = ∑ y, bruteMass t y", "statement_sha256": "e79be22245d22f7b5e8ebeb9b082c4aa80754526b19783dd30c9544d25528c9d" }, @@ -136402,7 +136402,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.backwardMessage_cons", "source_line": 100, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem backwardMessage_cons (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (future : List Observation) (state : State) :\n backwardMessage transition emission (observation :: future) state =\n backwardMessageStep transition emission observation\n (backwardMessage transition emission future) state", "statement_sha256": "fac4fc0aaa5bc6577cb32669c6cd415432393a8f03164449a04046c3891426ae" }, @@ -136540,7 +136540,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.backwardMessage_nonneg", "source_line": 109, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem backwardMessage_nonneg (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (nextMessage : State → ℝ) (hMessage : ∀ state, 0 ≤ nextMessage state)\n (state : State) :\n 0 ≤ backwardMessageStep transition emission observation nextMessage state", "statement_sha256": "c9250a5bd78df66a882bfb7802a7c2462489645a130f70e4e4bb399dcd0eef1c" }, @@ -136630,7 +136630,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardEvidence_eq", "source_line": 375, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardEvidence_eq :\n backwardEvidence boolInitialLaw boolStickyTransition\n boolAccurateEmission true = 23 / 40", "statement_sha256": "75b33de4c337e8d05c05793f9339e351d237e3284f829eb13e9df417086054ad" }, @@ -136707,7 +136707,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardMessage_false_mass", "source_line": 363, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardMessage_false_mass :\n boolBackwardMessage false = 7 / 20", "statement_sha256": "04dda0ca04e908bd108671096e2fba956b2d5668670fcf1435b23f7660d44b92" }, @@ -136808,7 +136808,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardMessage_nonneg", "source_line": 369, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardMessage_nonneg (state : Bool) :\n 0 ≤ boolBackwardMessage state", "statement_sha256": "5bed684e5291be5f23df4c672e4859f4bb0141e6285d490e2a865bada8fa7542" }, @@ -136885,7 +136885,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolBackwardMessage_true_mass", "source_line": 357, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolBackwardMessage_true_mass :\n boolBackwardMessage true = 13 / 20", "statement_sha256": "029dd6ea2515b319d211c9eca79de9f5b1a6cdb0caab54a4d3df45af0b7dab48" }, @@ -136962,7 +136962,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardEvidence_true", "source_line": 306, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardEvidence_true :\n forwardEvidence boolInitialLaw boolStickyTransition boolAccurateEmission true =\n 23 / 40", "statement_sha256": "618d0e5e3ab3a44362c40307e2c7fd137d9812cc054c01f200b5e82f48c6bc43" }, @@ -137046,7 +137046,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardEvidence_true_pos", "source_line": 314, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardEvidence_true_pos :\n 0 < forwardEvidence boolInitialLaw boolStickyTransition\n boolAccurateEmission true", "statement_sha256": "540399a6a6acdf79240b47261e2596e5f861a66ce39185305cbc03a2f9e2f888" }, @@ -137148,7 +137148,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardFilter_false_mass", "source_line": 336, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardFilter_false_mass :\n boolForwardFilter false = 3 / 23", "statement_sha256": "1c3855145678370e2492b3865f36dd712f12ddaa619c527114d3bc1fbdce503e" }, @@ -137238,7 +137238,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardFilter_sum_one", "source_line": 346, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardFilter_sum_one :\n boolForwardFilter false + boolForwardFilter true = 1", "statement_sha256": "90c5b855cd4596c4ba3cc98b4511a906c4edcda08f614ee8656b2308bc98673f" }, @@ -137340,7 +137340,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolForwardFilter_true_mass", "source_line": 326, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolForwardFilter_true_mass :\n boolForwardFilter true = 20 / 23", "statement_sha256": "269bd990d2f02244a5542e9d553d04b12738c91b54d7b95e8f6c86b4361cf765" }, @@ -137417,7 +137417,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolModelAverage_false_mass", "source_line": 288, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolModelAverage_false_mass :\n modelAverage boolInitialLaw boolAccurateEmission false = 7 / 20", "statement_sha256": "26bc5da19085700e8ba9bebcfa0a78d90d2c1f956865d33ce31e98c8178a2972" }, @@ -137494,7 +137494,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolModelAverage_true_mass", "source_line": 282, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolModelAverage_true_mass :\n modelAverage boolInitialLaw boolAccurateEmission true = 13 / 20", "statement_sha256": "b8eef84e2aa82e127a5450d6e71b91b340205d7c5413f901f5c76785f49f5f42" }, @@ -137571,7 +137571,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolPrediction_false_mass", "source_line": 300, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolPrediction_false_mass :\n forwardPrediction boolInitialLaw boolStickyTransition false = 3 / 8", "statement_sha256": "d529ec81cb171445777c692e8fe9e0866c466721c595f3fb4e3f0580c5e212d8" }, @@ -137648,7 +137648,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolPrediction_true_mass", "source_line": 294, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolPrediction_true_mass :\n forwardPrediction boolInitialLaw boolStickyTransition true = 5 / 8", "statement_sha256": "f039f343eac9f7d6950ee02001270ac1864fe7952d02b6424d73410d0b7c0a02" }, @@ -137738,7 +137738,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothingNormalizer_eq", "source_line": 381, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothingNormalizer_eq :\n smoothingNormalizer boolInitialLaw boolBackwardMessage = 23 / 40", "statement_sha256": "aaddf4e46f8f49b6fab96f5aef5ab52129c1b806ace140ba48035721f69742d9" }, @@ -137822,7 +137822,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothingNormalizer_pos", "source_line": 388, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothingNormalizer_pos :\n 0 < smoothingNormalizer boolInitialLaw boolBackwardMessage", "statement_sha256": "4713f2874d76b08ea8f35c5e8527285a006ea6cbdef08bad512a40cc909634d8" }, @@ -137930,7 +137930,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothing_false_mass", "source_line": 410, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothing_false_mass :\n boolSmoothing false = 7 / 46", "statement_sha256": "4bcbfda809fc17cbefc8b79290d8bab9e4309218f2af3f853ac27256216901a6" }, @@ -138020,7 +138020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothing_sum_one", "source_line": 421, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothing_sum_one :\n boolSmoothing false + boolSmoothing true = 1", "statement_sha256": "e23ec28095c78d77641673e0c95c09ef016a02617370d52f80119473719b5b28" }, @@ -138128,7 +138128,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.boolSmoothing_true_mass", "source_line": 399, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem boolSmoothing_true_mass :\n boolSmoothing true = 39 / 46", "statement_sha256": "f63db146d58b93f76e4c78a7e2b951202abfb744d5d2f954c72145afc2f765cc" }, @@ -138256,7 +138256,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardBackwardSmoothing_factorization", "source_line": 162, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardBackwardSmoothing_factorization (filtered : FiniteLaw State)\n (backward : State → ℝ) (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) (state : State) :\n forwardBackwardSmoothing filtered backward hBackward hNormalizer state *\n smoothingNormalizer filtered backward =\n filtered state * backward state", "statement_sha256": "d01faf01f4c1202d3da9b7255cb2085adf97311041b925c64dd7b96a9ba14012" }, @@ -138374,7 +138374,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardBackwardSmoothing_sum_one", "source_line": 171, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardBackwardSmoothing_sum_one (filtered : FiniteLaw State)\n (backward : State → ℝ) (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) :\n ∑ state, forwardBackwardSmoothing filtered backward hBackward hNormalizer state =\n 1", "statement_sha256": "e571687eb60afc7c1a49c5b3562b8842988422af7d4ff4b840c6ae37dee60e43" }, @@ -138502,7 +138502,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardEvidence_zero_boundary", "source_line": 74, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardEvidence_zero_boundary (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hZero : forwardEvidence prior transition emission observation = 0) :\n ¬0 < forwardEvidence prior transition emission observation", "statement_sha256": "d479e481a481f41c62c49d856a95a0dddc9370b493e4158220a211b3f2732e39" }, @@ -138640,7 +138640,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardFilter_reconstruction", "source_line": 52, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardFilter_reconstruction (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation)\n (state : State) :\n forwardFilter prior transition emission observation hEvidence state *\n forwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation", "statement_sha256": "05b06cf40e70a84595abfa9bdfd096910df723d31521143ed63b66b4f9a189cf" }, @@ -138768,7 +138768,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forwardFilter_sum_one", "source_line": 64, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forwardFilter_sum_one (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation) :\n ∑ state, forwardFilter prior transition emission observation hEvidence state =\n 1", "statement_sha256": "8320424e5f30392e0890f95943b85d97702279bc9f2ede2fb49e2dd02470b9db" }, @@ -138886,7 +138886,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.forward_backward_evidence_agree", "source_line": 129, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem forward_backward_evidence_agree (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation) :\n forwardEvidence prior transition emission observation =\n backwardEvidence prior transition emission observation", "statement_sha256": "3202343af8a18d8f5e90ac4d0afce5160c0f735af76cb0a992d1d18142e96b43" }, @@ -138994,7 +138994,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.hierarchicalPredictive_eq", "source_line": 219, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem hierarchicalPredictive_eq (top : FiniteLaw Upper)\n (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation) :\n hierarchicalPredictive top upperKernel lowerKernel =\n (FiniteKernel.comp lowerKernel upperKernel).predictive top", "statement_sha256": "eb77c949755af877e15fc0ceae9cb75896dcfdd956dd02eedc1fd451da92a820" }, @@ -139112,7 +139112,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.hierarchicalPredictive_mass", "source_line": 227, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem hierarchicalPredictive_mass (top : FiniteLaw Upper)\n (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation) (observation : Observation) :\n hierarchicalPredictive top upperKernel lowerKernel observation =\n ∑ middle,\n (∑ upper, top upper * upperKernel upper middle) *\n lowerKernel middle observation", "statement_sha256": "06d42c3a92e62ffb8f38bacc362780ab423f2547c939a4ac0f33d0d7b667a03b" }, @@ -139270,7 +139270,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.localUpdate_eq_oneEdge_exactMarginal", "source_line": 719, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem localUpdate_eq_oneEdge_exactMarginal {S : Type uS} [Fintype S] [DecidableEq S]\n (ψ : S → S → ℝ) (incoming : S → ℝ) (neighbors : Finset S) (i j : S) :\n localUpdate ψ incoming neighbors i j =\n PTree.exactMarginal (oneEdgeTree ψ incoming neighbors i) j", "statement_sha256": "d3caf0334aa756e607983de076ea84193504b0df63a68d169c4cf4d21c6e420b" }, @@ -139415,7 +139415,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.localUpdate_eq_oneEdge_rootBelief", "source_line": 700, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem localUpdate_eq_oneEdge_rootBelief {S : Type uS} [Fintype S] [DecidableEq S]\n (ψ : S → S → ℝ) (incoming : S → ℝ) (neighbors : Finset S) (i j : S) :\n localUpdate ψ incoming neighbors i j =\n PTree.rootBelief (oneEdgeTree ψ incoming neighbors i) j", "statement_sha256": "62874993b783ed1bcad811cc9bbf046a3d43a1d10a98fb545f6469499c86d1ba" }, @@ -139523,7 +139523,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.modelAverage_mass", "source_line": 242, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem modelAverage_mass (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation)\n (observation : Observation) :\n modelAverage modelPrior modelPredictive observation =\n ∑ model, modelPrior model * modelPredictive model observation", "statement_sha256": "641b00991123df3a2ef1339fb0715c5877672e484d570f6361a462095c2c51a6" }, @@ -139621,7 +139621,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.modelAverage_sum_one", "source_line": 250, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem modelAverage_sum_one (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation) :\n ∑ observation, modelAverage modelPrior modelPredictive observation = 1", "statement_sha256": "7725f3fe830ef4c1518d9bbf1ed0b34099f8855f927215b43a5cad31796f8e75" }, @@ -139729,7 +139729,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.smoothingNormalizer_zero_boundary", "source_line": 180, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem smoothingNormalizer_zero_boundary (filtered : FiniteLaw State)\n (backward : State → ℝ)\n (hZero : smoothingNormalizer filtered backward = 0) :\n ¬0 < smoothingNormalizer filtered backward", "statement_sha256": "de9bee88cfb716194a73519fe0c36ea56eb65bca62dbd69fba5f1b41abb00fd0" }, @@ -139806,7 +139806,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spCycle_marginal_true", "source_line": 664, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spCycle_marginal_true :\n (∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint true x₁ x₂) /\n (∑ x₀ : Bool, ∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint x₀ x₁ x₂) =\n 43 / 62", "statement_sha256": "fda28cf78fc6cafbf5d9c6a5376dcfc209888ab660c1404ea05669544737e01c" }, @@ -139896,7 +139896,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spCycle_naive_message_product_ne_marginal", "source_line": 672, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spCycle_naive_message_product_ne_marginal :\n PTree.rootBelief spStar true ≠\n (∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint true x₁ x₂) /\n (∑ x₀ : Bool, ∑ x₁ : Bool, ∑ x₂ : Bool, spCycleJoint x₀ x₁ x₂)", "statement_sha256": "815c76c7deae7e6b483eb0f4f3fe7e0ae75f74853955f9b060b9cb8b24a7551f" }, @@ -139973,7 +139973,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_bruteForce_true", "source_line": 651, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_bruteForce_true :\n (∑ x₁ : Bool, ∑ x₂ : Bool, spStarJoint true x₁ x₂) /\n (∑ x₀ : Bool, ∑ x₁ : Bool, ∑ x₂ : Bool, spStarJoint x₀ x₁ x₂) =\n 49 / 74", "statement_sha256": "8b2b9c2dc7957c850b7e5b203f6d36d328caa77371e60d503d54a5934ca7698d" }, @@ -140063,7 +140063,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_exactMarginal_true", "source_line": 659, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_exactMarginal_true : PTree.exactMarginal spStar true = 49 / 74", "statement_sha256": "64fa2eddbb20c9cbcf0ef34dafb81ea42a15486dd1c912e6980a374b49d19f5d" }, @@ -140140,7 +140140,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_msg_false", "source_line": 639, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_msg_false : PTree.msg spStar false = 25", "statement_sha256": "a33dcae22d260b22720048d64029645c2ed74cde0463da83ae60cb8011bfb959" }, @@ -140217,7 +140217,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_msg_true", "source_line": 634, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_msg_true : PTree.msg spStar true = 49", "statement_sha256": "6ba968df82d6ef8714c5120afb7249c03c276f3e9f518dd61db4e8bae976dcaf" }, @@ -140307,7 +140307,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.spStar_rootBelief_true", "source_line": 644, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem spStar_rootBelief_true : PTree.rootBelief spStar true = 49 / 74", "statement_sha256": "7afa1aba2add7d796b11f23edf6d8cc58b1615319fc38c16b883c1e96d59c813" }, @@ -140424,7 +140424,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.variationalStateUpdate_reconstruction", "source_line": 200, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem variationalStateUpdate_reconstruction (prior : FiniteLaw State)\n (energy : State → ℝ) (state : State) :\n variationalStateUpdate prior energy state * boltzmannPartition prior energy =\n boltzmannWeight prior energy state", "statement_sha256": "45cf9d6a609e7b9ddd867925ad6556c37534e2b9b6e0824493d017011dd2f34c" }, @@ -140522,7 +140522,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.variationalStateUpdate_sum_one", "source_line": 194, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem variationalStateUpdate_sum_one (prior : FiniteLaw State)\n (energy : State → ℝ) :\n ∑ state, variationalStateUpdate prior energy state = 1", "statement_sha256": "95c1dfbbe936c4b24c66a00675decfea9b434c6b7674d2bb00851547051ebfb6" }, @@ -140619,7 +140619,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TemporalInference.variationalStateUpdate_zero_energy", "source_line": 207, - "source_owner": "src/fep_lean/formal/temporal_inference.lean", + "source_owner": "src/fep_formal/formal/temporal_inference.lean", "statement": "theorem variationalStateUpdate_zero_energy (prior : FiniteLaw State) :\n variationalStateUpdate prior (fun _ => 0) = prior", "statement_sha256": "8c4bcbaf766de229485ea736b3fbe82e7433d75a8add9216666bdb5331ea865f" }, @@ -140712,7 +140712,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.beliefAffinity_eq_localAffinity", "source_line": 198, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem beliefAffinity_eq_localAffinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 < time) :\n beliefAffinity rates belief =\n localAffinity belief (rates.certifiedSemigroup.kernel time hTime.le) false true", "statement_sha256": "f02cd03776c29500fbc09cc3d54a679946a25bb2823e6b1049a9ca0fa9e75136" }, @@ -140763,7 +140763,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.beliefCurrent_eq", "source_line": 177, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem beliefCurrent_eq (rates : TwoStateRates) (belief : FiniteLaw Bool) :\n beliefCurrent rates belief =\n rates.decayRate * (rates.stationaryTrue - belief true)", "statement_sha256": "c6fc2248cc14686e6abff8e147db58a05ea9f67b98c7360a6a445d4241b63a43" }, @@ -140797,7 +140797,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.belief_sum_one", "source_line": 84, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem belief_sum_one (belief : FiniteLaw Bool) :\n belief false + belief true = 1", "statement_sha256": "6d7dee986d3e41bc0ee0219da4948b5fb3c4d852b79f6d54c69498b2f6e8aeec" }, @@ -140892,7 +140892,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemicGain_initial_bound", "source_line": 458, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemicGain_initial_bound (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n finiteKL belief rates.stationaryLaw", "statement_sha256": "29facd16d4d34bd12265142c33b9b688286feb2d343dd39df0f03018f5113df7" }, @@ -140975,7 +140975,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemicGain_le_sqDiff", "source_line": 517, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemicGain_le_sqDiff (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n ((rates.certifiedSemigroup.kernel time hTime).predictive belief true\n - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse)", "statement_sha256": "81f5ef5149c0a5b82938e802c438c3fbab2fe0d821f6df30cae228e2119260a1" }, @@ -141090,7 +141090,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemicGain_rateScaling", "source_line": 630, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemicGain_rateScaling (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (eps : ℝ) (heps : 0 < eps) :\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤\n Real.exp (-(rates.decayRate / eps) * time) ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "1c44c8c56d26c42565ede627bf239b8a3d15c7d493e6b401893a8ecee773c032" }, @@ -141163,7 +141163,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.epistemic_gain_bounded_by_affinity", "source_line": 299, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem epistemic_gain_bounded_by_affinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i) :\n finiteKL belief rates.stationaryLaw ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "08a455a46720f1479ff98be0e0e640aaa5168e2823e1f59c81f5692394d1e061" }, @@ -141227,7 +141227,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.evolved_true_eq_trueMass", "source_line": 562, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem evolved_true_eq_trueMass (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hTime : 0 ≤ time) :\n (rates.certifiedSemigroup.kernel time hTime).predictive belief true\n = rates.trueMass belief time", "statement_sha256": "98bf7a17117cb1ad292ae4bdee3bf612441d19f8699a0b83699bc6923fafa780" }, @@ -141330,7 +141330,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.expectedFreeEnergy_le_productionRate_div_decayRate", "source_line": 482, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem expectedFreeEnergy_le_productionRate_div_decayRate (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "ab795e2668f7a2e1d03d707cacf3a88fdeddac0a473a9c6f351589d9fd6a660e" }, @@ -141401,7 +141401,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.fastRelaxation_epistemic_eventually_small", "source_line": 711, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem fastRelaxation_epistemic_eventually_small (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps0 : ℝ, 0 < eps0 ∧\n ∀ eps : ℝ, ∀ heps : 0 < eps, eps ≤ eps0 → ∀ hTime : 0 ≤ time,\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "b3d0e6e7cb0a6c649a9370492cf81c0cea0ea79b87213d7c8ddc05104549cfc7" }, @@ -141478,7 +141478,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.fastRelaxation_epistemic_tendsto", "source_line": 761, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem fastRelaxation_epistemic_tendsto (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n Filter.Tendsto (positiveScaledEpistemicGain rates belief time hpos.le)\n (nhdsWithin 0 (Set.Ioi 0)) (nhds 0)", "statement_sha256": "4daabe884e4c076246f146b8d7c0a72c093a288a91dc64b7ef69ca78aa1e7901" }, @@ -141549,7 +141549,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.fastRelaxation_epistemic_vanishes", "source_line": 646, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem fastRelaxation_epistemic_vanishes (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps : ℝ, 0 < eps ∧ ∀ (hTime : 0 ≤ time) (heps : 0 < eps),\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "50be14d3251f22c33957df4d6e8782effc99c99cf1a2783ed340b0aa13048c2b" }, @@ -141620,7 +141620,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.finiteKL_stationaryLaw_eq", "source_line": 259, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem finiteKL_stationaryLaw_eq (rates : TwoStateRates) (belief : FiniteLaw Bool) :\n finiteKL belief rates.stationaryLaw =\n belief false * (Real.log (belief false) - Real.log (rates.stationaryFalse)) +\n belief true * (Real.log (belief true) - Real.log (rates.stationaryTrue))", "statement_sha256": "8e97e7cbc011abbc758620bbc2b5306c13fce104b4f71135ea4d67d8f3be2f47" }, @@ -141694,7 +141694,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.predictive_support_of", "source_line": 138, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem predictive_support_of (kernel : FiniteKernel Bool Bool)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (hDiag : ∀ i, 0 < kernel i i) (i : Bool) :\n 0 < kernel.predictive belief i", "statement_sha256": "aef70e4f4da84549c8fe8c69c1a1df307b678271ac68047e7777d384f80eec11" }, @@ -141755,7 +141755,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.productionRate_nonneg", "source_line": 218, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem productionRate_nonneg (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) : 0 ≤ productionRate rates belief", "statement_sha256": "c203556b99b7a1a9943a21a611120b35d0a2e28ed75cc3ffd3cfa8bc88c9a687" }, @@ -141848,7 +141848,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.residual_gain_bounded_by_affinity", "source_line": 372, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem residual_gain_bounded_by_affinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n productionRate rates\n ((rates.certifiedSemigroup.kernel time hTime).predictive belief) /\n rates.decayRate", "statement_sha256": "c6c7b41378afdf29b0f6f17b8bccf3f56366dada7d509fb92541b6f916ce2701" }, @@ -141902,7 +141902,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.rho_lt_one", "source_line": 89, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem rho_lt_one (rates : TwoStateRates) {time : ℝ} (hpos : 0 < time) :\n rates.rho time < 1", "statement_sha256": "a062e90fc2cc6a64490e94fb2259ea72702a4cfcde61ee84612c30b202686e6f" }, @@ -141956,7 +141956,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_decayRate_eq", "source_line": 593, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_decayRate_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).decayRate = rates.decayRate / eps", "statement_sha256": "8de3922d710deb788811a62e9076c3069f37dec823130b0f81aff04b268db9ef" }, @@ -142027,7 +142027,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_rho_eq", "source_line": 623, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_rho_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) (time : ℝ) :\n (scaledRates rates eps heps).rho time\n = Real.exp (-(rates.decayRate / eps) * time)", "statement_sha256": "6fd56f1291d042e0b3233fd3e4184595d006cfb276f6f818d65cca47b764d39a" }, @@ -142081,7 +142081,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_stationaryFalse_eq", "source_line": 607, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_stationaryFalse_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).stationaryFalse = rates.stationaryFalse", "statement_sha256": "5379114a72a21dbe882f2aa199c6b67cb9a636484cf379e81c77994949fb347a" }, @@ -142160,7 +142160,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_stationaryLaw_eq", "source_line": 615, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_stationaryLaw_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).stationaryLaw = rates.stationaryLaw", "statement_sha256": "e39e76480fa2198685ab4d6d1ef326871886028290c06a6e83887dc75a1d8bb5" }, @@ -142214,7 +142214,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.scaledRates_stationaryTrue_eq", "source_line": 599, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem scaledRates_stationaryTrue_eq (rates : TwoStateRates) (eps : ℝ) (heps : 0 < eps) :\n (scaledRates rates eps heps).stationaryTrue = rates.stationaryTrue", "statement_sha256": "cb06ab3e1185b3f4b5ad54b1096413dd24a3409395e51e7e1c4671786381fd15" }, @@ -142337,7 +142337,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.slicePath_entropyProduction_eq", "source_line": 819, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem slicePath_entropyProduction_eq (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (hpos : 0 < time) :\n entropyProduction (slicePathProtocol rates belief time hTime)\n = (1 - rates.rho time) * productionRate rates belief / rates.decayRate", "statement_sha256": "12e4eb0aeafe82b4adf0ec102d07ab31c6c2cb0cebbc4f6bf564991c60d49b81" }, @@ -142414,7 +142414,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.slow_fast_separation_statement", "source_line": 572, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem slow_fast_separation_statement (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n rates.rho time ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "ca7933c675b1c9269eac0f3e7a2169a080a16b0a694af0f066991bc5d94bcdcb" }, @@ -142448,7 +142448,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryLaw_false", "source_line": 71, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryLaw_false (rates : TwoStateRates) :\n rates.stationaryLaw false = rates.stationaryFalse", "statement_sha256": "9a43f3998a428fb07cc77188fd031adbe51f51d22f5d306e634f6d298a460a38" }, @@ -142505,7 +142505,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryLaw_pos", "source_line": 75, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryLaw_pos (rates : TwoStateRates) (i : Bool) :\n 0 < rates.stationaryLaw i", "statement_sha256": "d44bc679fdf2d8ef1368623900ddea44ca679edb706212bad05d88100a5dac17" }, @@ -142539,7 +142539,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryLaw_true", "source_line": 67, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryLaw_true (rates : TwoStateRates) :\n rates.stationaryLaw true = rates.stationaryTrue", "statement_sha256": "58b83fbc25dc36de5c9a4fc9cb413353cadd85f99b21214eb3a3105be435039a" }, @@ -142573,7 +142573,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.stationaryTrue_add_stationaryFalse", "source_line": 61, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem stationaryTrue_add_stationaryFalse (rates : TwoStateRates) :\n rates.stationaryTrue + rates.stationaryFalse = 1", "statement_sha256": "e5990ee2a6999921bbc70cb42c12f1b28ebdd8f2323c8f9e5d052994e79e9dfb" }, @@ -142640,7 +142640,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_diagonal_pos", "source_line": 114, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_diagonal_pos (rates : TwoStateRates) (time : ℝ) (i : Bool) :\n 0 < rates.transition time i i", "statement_sha256": "39fe53cbd5006fda0f686b2733eab404e1f4917fa4e63c15f52f1174f59b9423" }, @@ -142684,7 +142684,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_false_false", "source_line": 104, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_false_false (rates : TwoStateRates) (time : ℝ) :\n rates.transition time false false =\n rates.stationaryFalse + rates.stationaryTrue * rates.rho time", "statement_sha256": "672474e8dda4c350b91a0363349c98be0d7996252a6119ea1b6356bd26f81adb" }, @@ -142728,7 +142728,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_false_true", "source_line": 96, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_false_true (rates : TwoStateRates) (time : ℝ) :\n rates.transition time false true = rates.stationaryTrue * (1 - rates.rho time)", "statement_sha256": "6892bef6d9ce83fc91c961a30144c3b6256875bb3463700cc2960b0fbbfb70a1" }, @@ -142828,7 +142828,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_fullSupport_pos", "source_line": 124, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_fullSupport_pos (rates : TwoStateRates) (time : ℝ)\n (_hTime : 0 ≤ time) (hpos : 0 < time) (s t : Bool) :\n 0 < rates.transition time s t", "statement_sha256": "5e5f532e4e126c775cffbd1dd7c7da62f77784cefba3361e79a9c8bb4f4ed4c2" }, @@ -142872,7 +142872,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_true_false", "source_line": 100, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_true_false (rates : TwoStateRates) (time : ℝ) :\n rates.transition time true false = rates.stationaryFalse * (1 - rates.rho time)", "statement_sha256": "700df05d024d9b15f1b6cf1e63a884ba183e78795dc3cb20d863ed4b135f78e6" }, @@ -142916,7 +142916,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.transition_true_true", "source_line": 109, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem transition_true_true (rates : TwoStateRates) (time : ℝ) :\n rates.transition time true true =\n rates.stationaryTrue + rates.stationaryFalse * rates.rho time", "statement_sha256": "c080656655e90e786be17f61f971ac8d4cefcf51ebadc75aa1f33878b1747329" }, @@ -142997,7 +142997,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_ambiguity_eq_zero", "source_line": 428, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_ambiguity_eq_zero (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n ambiguity (twoStateModel rates belief time hTime) policy = 0", "statement_sha256": "d76eb15988fa1d6b235cff0851cbc9164b08aa523a2e9fc44cbed83f146d42a5" }, @@ -143108,7 +143108,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_expectedFreeEnergy", "source_line": 443, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_expectedFreeEnergy (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy =\n epistemicGain rates belief time hTime", "statement_sha256": "14165ceab434d4b1c24ede6df44eb969acbefea301b714c3c4c4a15746f968c8" }, @@ -143213,7 +143213,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_fullSupport", "source_line": 414, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_fullSupport (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) (time : ℝ) (hTime : 0 ≤ time) :\n FullSupport (twoStateModel rates belief time hTime)", "statement_sha256": "15c676561944383cb9530241857d8f6f6b43592ed2084652c1ec541b1fca3b29" }, @@ -143294,7 +143294,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_predictedOutcome", "source_line": 404, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "statement": "theorem twoStateModel_predictedOutcome (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n predictedOutcome (twoStateModel rates belief time hTime) policy =\n (rates.certifiedSemigroup.kernel time hTime).predictive belief", "statement_sha256": "faca33178a9ff5affa130199a56bc4a8b5c6e48231d57010748d208063b13b08" }, @@ -143368,7 +143368,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.TimeScaleEFE.twoStateModel_predictedState", "source_line": 398, - "source_owner": "src/fep_lean/formal/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/efe_time_scale_separation.lean", "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" }, @@ -143497,7 +143497,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_closed_exact_minimum", "source_line": 1964, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_closed_exact_minimum\n (D : ℝ) (h0 : 0 ≤ D) (hhalf : D ≤ (1:ℝ)/2) :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J ∧\n mutualInformation J = Real.log 2 - Real.binEntropy D ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D K →\n mutualInformation J ≤ mutualInformation K", "statement_sha256": "82fbd83f6d65160a93cab50a094871ac42b7739280bf6345cd54c84a91fd7c2a" }, @@ -143638,7 +143638,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_converse", "source_line": 1924, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_converse (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2)\n (J : FiniteLaw (Bool × Bool))\n (hJ : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J) :\n Real.log 2 - Real.binEntropy D ≤ mutualInformation J", "statement_sha256": "5a45f8616684d58b530a8088ccdf846f5d9a4dc038c17de98778eb8fbc27d7e7" }, @@ -143787,7 +143787,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_interior_dual_exact", "source_line": 1989, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_interior_dual_exact\n (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n rateDistortionDualValue (FiniteLaw.uniform : FiniteLaw Bool)\n boolHammingDistortion D (interiorMultiplier D) =\n Real.log 2 - Real.binEntropy D", "statement_sha256": "9fc9955fb27316b095f8fa705125feaad3464fa6881f19376f8abb376f392fbc" }, @@ -143908,7 +143908,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_interior_exact_minimum", "source_line": 1935, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_interior_exact_minimum\n (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J ∧\n mutualInformation J = Real.log 2 - Real.binEntropy D ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D K →\n mutualInformation J ≤ mutualInformation K", "statement_sha256": "383733b82aba35c1200a70d6171d69ef3775268afee82812f71fa8f892cbe2bb" }, @@ -144045,7 +144045,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_lagrangian_lower", "source_line": 1905, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_lagrangian_lower (J : FiniteLaw (Bool × Bool))\n (hfair : J.fstMarginal = FiniteLaw.uniform)\n (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n Real.log 2 + Real.log (1-D) ≤\n mutualInformation J + interiorMultiplier D *\n expectedDistortion J boolHammingDistortion", "statement_sha256": "c6e9fdee4eb38bc50ac13a71095421649c09b4e3c950d964c144489bcab946f1" }, @@ -144127,7 +144127,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_rate_algebra", "source_line": 1917, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma boolean_rate_algebra (D : ℝ) :\n Real.log 2 - Real.binEntropy D =\n Real.log 2 + Real.log (1-D) - interiorMultiplier D * D", "statement_sha256": "c006feab298349a5654a33e1bc440485cddedf2386bad90d614b2b672be26be7" }, @@ -144240,7 +144240,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.boolean_zero_exact", "source_line": 1955, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolean_zero_exact (J : FiniteLaw (Bool × Bool))\n (hJ : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0 J) :\n J = boolZeroDistortionJoint ∧ mutualInformation J = Real.log 2", "statement_sha256": "a299a072173c78648742856299b3c45da22f5c540f9a1732bc2cdfa443c8dc87" }, @@ -144311,7 +144311,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.entropy_fair_bool", "source_line": 1767, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma entropy_fair_bool : entropy (FiniteLaw.uniform : FiniteLaw Bool) = Real.log 2", "statement_sha256": "9af354bc840fbf6baf60063d68243c425ecbcf09b0f307d7058280e77b5a50e2" }, @@ -144420,7 +144420,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.half_or_larger_exact", "source_line": 1829, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem half_or_larger_exact (D : ℝ) (hD : (1:ℝ)/2 ≤ D) :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D J ∧\n mutualInformation J = 0 ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D K →\n mutualInformation J ≤ mutualInformation K", "statement_sha256": "713a1d9f58bb09214388b7df97b9bd02f035adc71f7cb6d15e311073cfd69786" }, @@ -144522,7 +144522,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interiorMultiplier_pos", "source_line": 1841, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interiorMultiplier_pos (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n 0 < interiorMultiplier D", "statement_sha256": "6e78ea108d6d172c6a66b9c5355aea1e9a8ef00419850e7f6d06b687a2f52c50" }, @@ -144593,7 +144593,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interiorMultiplier_unbounded_near_zero", "source_line": 2015, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interiorMultiplier_unbounded_near_zero :\n ∀ M : ℝ, ∃ δ : ℝ, 0 < δ ∧\n ∀ D : ℝ, 0 < D → D < δ → M < interiorMultiplier D", "statement_sha256": "2bfb005b782257a04398429e7b4a5bb3e5cb05b1d88c1953a207f63eeb906b69" }, @@ -144664,7 +144664,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interiorMultiplier_zero_totalized", "source_line": 2035, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interiorMultiplier_zero_totalized : interiorMultiplier 0 = 0", "statement_sha256": "dcc6bec1472a041a4765af91cc7888dc3f5deeac1060cb1099c6cc1768b5ab56" }, @@ -144766,7 +144766,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.interior_curve_derivative", "source_line": 1847, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem interior_curve_derivative (D : ℝ) (h0 : 0 < D) (hhalf : D < (1:ℝ)/2) :\n HasDerivAt (fun d : ℝ => Real.log 2 - Real.binEntropy d)\n (-interiorMultiplier D) D", "statement_sha256": "9e841147b59cc51fe85cc6ed076c7c7bce574cb9bb9014a1a8f962322a422f8a" }, @@ -144848,7 +144848,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.negMulLog_half", "source_line": 1770, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma negMulLog_half (x : ℝ) :\n 2 * Real.negMulLog (x/2) = Real.negMulLog x + x * Real.log 2", "statement_sha256": "84784fe083bb020c87c8fc28ecb4f8ff17d46fb6f192179aac8ffd223a6bda34" }, @@ -144975,7 +144975,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_KL_entropy", "source_line": 1821, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem reverseReference_KL_entropy (J : FiniteLaw (Bool × Bool))\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n finiteKL J (reverseReference J.sndMarginal D h0.le h1.le) =\n crossEntropy J (reverseReference J.sndMarginal D h0.le h1.le) - entropy J", "statement_sha256": "cded05d526bd3b11731cb1075f29555869f6c927690019a81ef62104388d2b70" }, @@ -145126,7 +145126,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_KL_exact", "source_line": 1890, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma reverseReference_KL_exact (J : FiniteLaw (Bool × Bool))\n (hfair : J.fstMarginal = FiniteLaw.uniform)\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n finiteKL J (reverseReference J.sndMarginal D h0.le h1.le) =\n mutualInformation J - Real.log 2 -\n ((1-expectedDistortion J boolHammingDistortion)*Real.log (1-D) +\n expectedDistortion J boolHammingDistortion*Real.log D)", "statement_sha256": "b6f675c0e9541c8cb4a6e1b48d3c5a6fc99fc3298dd487b6e4f6ac14b7a182de" }, @@ -145257,7 +145257,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_crossEntropy", "source_line": 1853, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "lemma reverseReference_crossEntropy (J : FiniteLaw (Bool × Bool))\n (hfair : J.fstMarginal = FiniteLaw.uniform)\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n crossEntropy J (reverseReference J.sndMarginal D h0.le h1.le) =\n crossEntropy J (J.fstMarginal.product J.sndMarginal) - Real.log 2 -\n ((1-expectedDistortion J boolHammingDistortion)*Real.log (1-D) +\n expectedDistortion J boolHammingDistortion*Real.log D)", "statement_sha256": "7076a267be9f42e71bcb39a0a14259cef0ebf3f13b7ba0fc9df07e74aef93a95" }, @@ -145369,7 +145369,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.reverseReference_support", "source_line": 1807, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem reverseReference_support (J : FiniteLaw (Bool × Bool))\n (D : ℝ) (h0 : 0 < D) (h1 : D < 1) :\n ∀ xy, J xy ≠ 0 → 0 < reverseReference J.sndMarginal D h0.le h1.le xy", "statement_sha256": "99f75e56672a128d0f20ef30848964ad8a784ca9c6f51264fcde651c68e78f50" }, @@ -145471,7 +145471,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_distortion", "source_line": 1757, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_distortion (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n expectedDistortion (symmetricJoint D h0 h1) boolHammingDistortion = D", "statement_sha256": "bc79a92b394e797f2c1cebe6567b3dcf8667adb55ced6f821e82f0f362703189" }, @@ -145580,7 +145580,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_entropy", "source_line": 1780, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_entropy (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n entropy (symmetricJoint D h0 h1) = Real.log 2 + Real.binEntropy D", "statement_sha256": "e2578948e5b0dfa3ee86849d8167a158cde5018f644de762efa5dca8daadaf27" }, @@ -145695,7 +145695,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_feasible", "source_line": 1762, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_feasible (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion D\n (symmetricJoint D h0 h1)", "statement_sha256": "a41efeb91631e939bbd3ea5714bea3077f17af30a02a5a7e50cc8c1240d2ecc2" }, @@ -145797,7 +145797,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_fst", "source_line": 1745, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_fst (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n (symmetricJoint D h0 h1).fstMarginal = FiniteLaw.uniform", "statement_sha256": "bf9b2b15c699f3edde32d2e422324cc80702468553bb0e43e70c3016f934533a" }, @@ -145932,7 +145932,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_information", "source_line": 1788, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_information (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n mutualInformation (symmetricJoint D h0 h1) = Real.log 2 - Real.binEntropy D", "statement_sha256": "4ebbc5aeb61335670dd357b4b376d95e11abd9135a6e177eef025643e3afbc78" }, @@ -146034,7 +146034,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetricJoint_snd", "source_line": 1751, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetricJoint_snd (D : ℝ) (h0 : 0 ≤ D) (h1 : D ≤ 1) :\n (symmetricJoint D h0 h1).sndMarginal = FiniteLaw.uniform", "statement_sha256": "3c18f8afb4b4d6d0761a27162951b3bf419e0d9f50bc32fc9adf17abee63d170" }, @@ -146105,7 +146105,7 @@ ], "qualified_name": "FEP.VariationalDuality.FairBoolean.symmetric_zero_is_owned", "source_line": 1949, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem symmetric_zero_is_owned :\n symmetricJoint 0 (by norm_num) (by norm_num) = boolZeroDistortionJoint", "statement_sha256": "c4409adb3e618276d7de3b3d3794a37c807a24d801dbc011922a7e212b244723" }, @@ -146247,7 +146247,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.actual_primal_dual_extrema", "source_line": 2571, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem actual_primal_dual_extrema (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J ∧\n lam * (expectedDistortion J d - D) = 0 ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "4392363a24848286639f7a9731ecb9a5057783077bc740b704cc3c0d06cc9dd9" }, @@ -146413,7 +146413,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.actual_slater_support", "source_line": 2517, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem actual_slater_support (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (J : FiniteLaw (α × β))\n (hmin : ∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ lam : ℝ, 0 ≤ lam ∧ ∀ K : FiniteLaw (α × β), K.fstMarginal = p →\n FEP.FiniteInformation.mutualInformation J ≤\n FEP.FiniteInformation.mutualInformation K + lam * (expectedDistortion K d - D)", "statement_sha256": "1135293bc13c9f7249b416c651c4b5801172f38a3b87fb5c5fb56c96f8171044" }, @@ -146491,7 +146491,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.boolClosedBudget_dual_supremum", "source_line": 2888, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolClosedBudget_dual_supremum (D : ℝ) (h0 : 0 ≤ D) (hhalf : D ≤ (1:ℝ)/2) :\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧\n v = rateDistortionDualValue (FiniteLaw.uniform : FiniteLaw Bool)\n boolHammingDistortion D t} = Real.log 2 - Real.binEntropy D", "statement_sha256": "a74eaf4e414a849c7c51d3528911a34a368d48dbd99292fca3d025dc224108c8" }, @@ -146546,7 +146546,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.boolQuarterBudget_actual_dual_optimizer", "source_line": 2620, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterBudget_actual_dual_optimizer :\n ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4) J ∧\n 0 < FEP.FiniteInformation.mutualInformation J ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue FiniteLaw.uniform boolHammingDistortion (1 / 4) lam =\n FEP.FiniteInformation.mutualInformation J ∧\n lam * (expectedDistortion J boolHammingDistortion - 1 / 4) = 0", "statement_sha256": "a9cafb8b364f03b91b102b39bf233960526a7e6e91ccf3e36a69f76f38dcdf30" }, @@ -146631,7 +146631,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.boolZeroBudget_dual_supremum", "source_line": 2873, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolZeroBudget_dual_supremum :\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧\n v = rateDistortionDualValue (FiniteLaw.uniform : FiniteLaw Bool)\n boolHammingDistortion 0 t} = Real.log 2", "statement_sha256": "896667348fcb401f375944d852ca2350afb0c1635ae070c4358ef8f621d18fa5" }, @@ -146685,7 +146685,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.coefficient_decomposition", "source_line": 2460, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem coefficient_decomposition (f : StrongDual ℝ (ℝ × ℝ)) (d r : ℝ) :\n f (d, r) = d * f (1, 0) + r * f (0, 1)", "statement_sha256": "80305fc88ee4dc9123fb19e9267c87a76853b9b327d0d3fc6e749bdd245b419a" }, @@ -146751,7 +146751,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.columnEntropy_concave_nonnegative", "source_line": 2140, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem columnEntropy_concave_nonnegative :\n ConcaveOn ℝ {x : ι → ℝ | ∀ i, 0 ≤ x i} columnEntropy", "statement_sha256": "77e7f69a271d640dc26ff365546dc7f5769dc66fde2761e7923a9a2266ab376f" }, @@ -146825,7 +146825,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.columnEntropy_smul", "source_line": 2060, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem columnEntropy_smul (c : ℝ) (x : ι → ℝ) :\n columnEntropy (c • x) = c * columnEntropy x", "statement_sha256": "b7cfb273daf78c881cb2c404f2871867e9f8ceca1a6256f8ec2906d91fa5179c" }, @@ -146929,7 +146929,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.columnEntropy_superadd", "source_line": 2094, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem columnEntropy_superadd (x y : ι → ℝ)\n (hx : ∀ i, 0 ≤ x i) (hy : ∀ i, 0 ≤ y i) :\n columnEntropy x + columnEntropy y ≤ columnEntropy (x + y)", "statement_sha256": "49478b3657951490f6aab71edd2b539b2cdf49b32528995637c08d0c9a2ba75f" }, @@ -147013,7 +147013,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.column_eq_zero_of_sum_zero", "source_line": 2086, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem column_eq_zero_of_sum_zero (x : ι → ℝ) (hx : ∀ i, 0 ≤ x i)\n (hs : ∑ i, x i = 0) : x = 0", "statement_sha256": "b9af840c49b16691ca2ca64aff1ea062d61cac6badc9d21ed7a8f5fc987b32a7" }, @@ -147118,7 +147118,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convexOn_information_fixed_source", "source_line": 2167, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convexOn_information_fixed_source (p : FiniteLaw α) :\n ConvexOn ℝ (rateDistortionFeasibleMasses (β := β) p (fun _ _ => 0) 0)\n (mutualInformationOfMasses : (α × β → ℝ) → ℝ)", "statement_sha256": "5b9a161a85d7edc52d0cd6908f18c99ddd9882c01fb9d02fe85f61425ef57ed5" }, @@ -147214,7 +147214,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convex_actual_upperImage", "source_line": 2302, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convex_actual_upperImage (p : FiniteLaw α) (d : α → β → ℝ) :\n Convex ℝ (rateDistortionUpperImage p d)", "statement_sha256": "b39b8c364c22a5d89e9378323669c0e92a42fc28c009cae9317909ac7c3b050b" }, @@ -147314,7 +147314,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convex_feasible", "source_line": 2223, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convex_feasible (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ) :\n Convex ℝ (rateDistortionFeasibleMasses p d D)", "statement_sha256": "feec8372125cccdd0b8c77441176a4c8a84877e22cd308db9e07118abe355da3" }, @@ -147420,7 +147420,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.convex_upperImage_of_information_convex", "source_line": 2252, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem convex_upperImage_of_information_convex\n (p : FiniteLaw α) (d : α → β → ℝ)\n (hMI : ConvexOn ℝ (FixedSourceMasses (β := β) p)\n (mutualInformationOfMasses : (α × β → ℝ) → ℝ)) :\n Convex ℝ (rateDistortionUpperImage p d)", "statement_sha256": "e5181599feda76d8793ddf431c9fc6eb9f7db253b7bc968f057424d867a1e200" }, @@ -147515,7 +147515,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.distortion_affine", "source_line": 2214, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem distortion_affine (d : α → β → ℝ) (x y : α × β → ℝ) (a b : ℝ) :\n (∑ xy, (a • x + b • y) xy * d xy.1 xy.2) =\n a * (∑ xy, x xy * d xy.1 xy.2) +\n b * (∑ xy, y xy * d xy.1 xy.2)", "statement_sha256": "5973454a320de3058b34f2a65f77036d690d7ea60e03688f5f9b7c870836027a" }, @@ -147695,7 +147695,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.epsilon_dual_lower_bound", "source_line": 2761, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem epsilon_dual_lower_bound (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (J : FiniteLaw (α × β)) (hJ : RateDistortionFeasible p d D J)\n (hmin : ∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K)\n (ε : ℝ) (hε : 0 < ε) :\n ∃ lam : ℝ, 0 ≤ lam ∧\n FEP.FiniteInformation.mutualInformation J - ε ≤ rateDistortionDualValue p d D lam", "statement_sha256": "8b3bccad0f71414db077af22582d6be5969692f1b01ca940d5d13a9bdc7b7048" }, @@ -147831,7 +147831,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.exists_actual_strong_duality", "source_line": 2541, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem exists_actual_strong_duality (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J", "statement_sha256": "3e8a3fd9a37ef0277d06ee994d2fe4f7e3e1a4008a4deb26497e22888905ea8b" }, @@ -147973,7 +147973,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.exists_all_feasible_dual_supremum", "source_line": 2829, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem exists_all_feasible_dual_supremum (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hfeasible : ∃ K, RateDistortionFeasible p d D K) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "05cf7cdb36d98299a2396ad7e4259f5a4df5775ede568c41b6e487126bb2bf50" }, @@ -148097,7 +148097,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.exists_optimizer_boundary", "source_line": 2363, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem exists_optimizer_boundary (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hfeasible : ∃ J, RateDistortionFeasible p d D J) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (D, FEP.FiniteInformation.mutualInformation J) ∈ rateDistortionUpperImage p d ∧\n (D, FEP.FiniteInformation.mutualInformation J) ∉\n interior (rateDistortionUpperImage p d)", "statement_sha256": "918f70950a7e8dbabe3a080c270fedc2d87cbb41210369e1780cfda9de2ffa9a" }, @@ -148189,7 +148189,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.information_eq_rowEntropy_sub_columns", "source_line": 2153, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem information_eq_rowEntropy_sub_columns (x : α × β → ℝ) :\n mutualInformationOfMasses x =\n (∑ u : α, Real.negMulLog (∑ v : β, x (u, v))) -\n ∑ v : β, columnEntropy (fun u : α => x (u, v))", "statement_sha256": "409171a990e6a44f7453b911bf3140384eb0cb39899b9282888ac11345a23440" }, @@ -148238,7 +148238,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.negativeBudget_infeasible_control", "source_line": 2664, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem negativeBudget_infeasible_control :\n ¬ ∃ J : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (-1) J", "statement_sha256": "b94a289a1f411347f8e634fa7bac8294e55a561e2b08f2161f25ceca01458fe1" }, @@ -148293,7 +148293,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.nonneg_of_bounded_below_ray", "source_line": 2379, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nonneg_of_bounded_below_ray (a c L : ℝ)\n (h : ∀ t : ℝ, 0 ≤ t → L ≤ c + t * a) : 0 ≤ a", "statement_sha256": "379ad5a238be50f3adfbc40e203dcc16ec64667e2aa35a8ca9aa92f5789be465" }, @@ -148334,7 +148334,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.nonunique_minimizer_control", "source_line": 2670, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nonunique_minimizer_control :\n ∃ left right : FiniteLaw (Bool × Bool), left ≠ right ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) left ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) K →\n FEP.FiniteInformation.mutualInformation left ≤ FEP.FiniteInformation.mutualInformation K) ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) right ∧\n ∀ K, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) K →\n FEP.FiniteInformation.mutualInformation right ≤ FEP.FiniteInformation.mutualInformation K)", "statement_sha256": "6922cde4c7777fea4deac7964d6549958201864f80e355befccb58dda7629c47" }, @@ -148417,7 +148417,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.nonzero_lower_support", "source_line": 2444, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nonzero_lower_support (C : Set (ℝ × ℝ)) (P : ℝ × ℝ)\n (hC : Convex ℝ C) (hint : (interior C).Nonempty)\n (hboundary : P ∉ interior C) :\n ∃ f : StrongDual ℝ (ℝ × ℝ), f ≠ 0 ∧ ∀ z ∈ C, f P ≤ f z", "statement_sha256": "3d09bd21d595ef1e92f84ed0c967b96006c29a32a12ff3cae2c5cc37689dd2d1" }, @@ -148538,7 +148538,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.normalize_lower_support_coefficients", "source_line": 2392, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem normalize_lower_support_coefficients\n (C : Set (ℝ × ℝ)) (P : ℝ × ℝ) (a b : ℝ)\n (hupD : ∀ z ∈ C, ∀ t : ℝ, 0 ≤ t → (z.1 + t, z.2) ∈ C)\n (hupR : ∀ z ∈ C, ∀ t : ℝ, 0 ≤ t → (z.1, z.2 + t) ∈ C)\n (hsupport : ∀ z ∈ C, a * P.1 + b * P.2 ≤ a * z.1 + b * z.2)\n (hnonzero : a ≠ 0 ∨ b ≠ 0)\n (hslater : ∃ z ∈ C, z.1 < P.1) :\n 0 ≤ a ∧ 0 < b ∧ 0 ≤ a / b ∧\n ∀ z ∈ C, P.2 ≤ z.2 + (a / b) * (z.1 - P.1)", "statement_sha256": "687ad3fe6de66e97e0fdb4897ad65f77e221c0bf6dc779e8c49f5f17aa3945f8" }, @@ -148664,7 +148664,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.normalize_lower_support_functional", "source_line": 2468, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem normalize_lower_support_functional\n (C : Set (ℝ × ℝ)) (P : ℝ × ℝ) (f : StrongDual ℝ (ℝ × ℝ))\n (hupD : UpD C) (hupR : UpR C)\n (hsupport : ∀ z ∈ C, f P ≤ f z) (hf : f ≠ 0) (hslater : Slater C P) :\n 0 ≤ f (1,0) ∧ 0 < f (0,1) ∧ 0 ≤ f (1,0) / f (0,1) ∧\n ∀ z ∈ C, P.2 ≤ z.2 + (f (1,0) / f (0,1)) * (z.1 - P.1)", "statement_sha256": "0196c024c92404c9a38c2a610c0fc4ab1d0f0c038eb01f200a15628f2bbecdf9" }, @@ -148810,7 +148810,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.normalized_columnEntropy_concave", "source_line": 2070, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem normalized_columnEntropy_concave (x y : ι → ℝ)\n (hx : ∀ i, 0 ≤ x i) (hy : ∀ i, 0 ≤ y i)\n (hsx : ∑ i, x i = 1) (hsy : ∑ i, y i = 1)\n (a b : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) :\n a * columnEntropy x + b * columnEntropy y ≤ columnEntropy (a • x + b • y)", "statement_sha256": "f1406bc39920d1061eb583ac64256dde00b9d4c47c3bbea7b40e0313972fca86" }, @@ -148930,7 +148930,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.optimizer_not_interior", "source_line": 2339, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem optimizer_not_interior (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (J : FiniteLaw (α × β))\n (hmin : ∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) :\n (D, FEP.FiniteInformation.mutualInformation J) ∉\n interior (rateDistortionUpperImage p d)", "statement_sha256": "abcfc8425ee7c2515474430e4da8d410c9f02c91f739c1107103668a8d1ab72d" }, @@ -149056,7 +149056,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.scalar_support_from_geometry", "source_line": 2496, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem scalar_support_from_geometry\n (C : Set (ℝ × ℝ)) (P : ℝ × ℝ)\n (hC : Convex ℝ C) (hint : (interior C).Nonempty)\n (hboundary : P ∉ interior C) (hupD : UpD C) (hupR : UpR C)\n (hslater : Slater C P) :\n ∃ lam : ℝ, 0 ≤ lam ∧ ∀ z ∈ C, P.2 ≤ z.2 + lam * (z.1 - P.1)", "statement_sha256": "c02810e4a8537ecaa43238a0769c04ad42619a7b5d1c5a351b2e2e0d943c8373" }, @@ -149156,7 +149156,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_closed", "source_line": 2725, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_closed (p : FiniteLaw α) (d : α → β → ℝ) :\n IsClosed (rateDistortionUpperImage p d)", "statement_sha256": "9c45473a79fe0632cdb2c14b74856a08440178e05e49d4ad4de1c92d689ed31a" }, @@ -149274,7 +149274,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_iff_joint", "source_line": 2283, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_iff_joint (p : FiniteLaw α) (d : α → β → ℝ) (z : ℝ × ℝ) :\n z ∈ rateDistortionUpperImage p d ↔\n ∃ J : FiniteLaw (α × β), J.fstMarginal = p ∧\n expectedDistortion J d ≤ z.1 ∧ FEP.FiniteInformation.mutualInformation J ≤ z.2", "statement_sha256": "b52bda9594e461f7a7404f93059e31845371db51bb3ff2ea907494bdafc4c03a" }, @@ -149384,7 +149384,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_nonempty_interior", "source_line": 2315, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_nonempty_interior (p : FiniteLaw α) (d : α → β → ℝ)\n (J : FiniteLaw (α × β)) (hJ : J.fstMarginal = p) :\n (interior (rateDistortionUpperImage p d)).Nonempty", "statement_sha256": "0c10f28761b5b6debe76450adbe11ccdbf705c551aba84b61c24a4ef3902031d" }, @@ -149507,7 +149507,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_upward_distortion", "source_line": 2268, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_upward_distortion (p : FiniteLaw α) (d : α → β → ℝ)\n (z : ℝ × ℝ) (t : ℝ) (ht : 0 ≤ t)\n (hz : z ∈ rateDistortionUpperImage p d) :\n (z.1 + t, z.2) ∈ rateDistortionUpperImage p d", "statement_sha256": "8b3d26435359bc25adf6d8c5b12eab643106c6be9e421192b8055c169fbbaab9" }, @@ -149630,7 +149630,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.upperImage_upward_information", "source_line": 2275, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem upperImage_upward_information (p : FiniteLaw α) (d : α → β → ℝ)\n (z : ℝ × ℝ) (t : ℝ) (ht : 0 ≤ t)\n (hz : z ∈ rateDistortionUpperImage p d) :\n (z.1, z.2 + t) ∈ rateDistortionUpperImage p d", "statement_sha256": "2e20a562d9bfc4a564f5cd2dff61844b3c012133e75a36dad443d14ebe084c88" }, @@ -149677,7 +149677,7 @@ ], "qualified_name": "FEP.VariationalDuality.RateDistortionGeometry.zeroBudget_zeroDistortion_control", "source_line": 2648, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem zeroBudget_zeroDistortion_control :\n let p : FiniteLaw Bool := FiniteLaw.uniform\n let J := p.product (FiniteLaw.pointMass false)\n RateDistortionFeasible p (fun _ _ : Bool => (0 : ℝ)) 0 J ∧\n FEP.FiniteInformation.mutualInformation J = 0 ∧\n rateDistortionDualValue p (fun _ _ : Bool => (0 : ℝ)) 0 0 =\n FEP.FiniteInformation.mutualInformation J ∧\n ¬ (∃ K : FiniteLaw (Bool × Bool), K.fstMarginal = p ∧\n expectedDistortion K (fun _ _ => 0) < 0)", "statement_sha256": "a3b8a9144892c8545e1f51f423e52fc91ff9b8042510199d1aeba6b01e891839" }, @@ -149772,7 +149772,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolBiased_entropy_lt_zeroEnergyGibbs", "source_line": 1309, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolBiased_entropy_lt_zeroEnergyGibbs (β : ℝ) :\n entropy boolBiased <\n entropy (energyGibbsLaw (fun _ : Bool => (0 : ℝ)) β)", "statement_sha256": "b7aaa617b1f06bb63bc71ee8031c8b435839dc70002a8c5231ab3239c7c2e332" }, @@ -149907,7 +149907,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolFeasible_information_pos", "source_line": 1154, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolFeasible_information_pos (budget : ℝ) (hbudget : budget < (1 : ℝ) / 2)\n (joint : FiniteLaw (Bool × Bool))\n (hjoint : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion budget joint) :\n 0 < mutualInformation joint", "statement_sha256": "22741a8c4f241bd9501a73cbda6ca7f4445e4cbd56cc10556129b1c85fe9e405" }, @@ -149985,7 +149985,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolHalfBudget_distinct_minimizers", "source_line": 1113, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolHalfBudget_distinct_minimizers :\n ∃ left right : FiniteLaw (Bool × Bool), left ≠ right ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) left ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation left ≤ mutualInformation candidate) ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) right ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation right ≤ mutualInformation candidate)", "statement_sha256": "aaf87ec28b9c26e1ab8be1560a5b8fbdd3e9dbf0bf849a06e5323143d39c5d47" }, @@ -150068,7 +150068,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolHammingDistortion_nonneg", "source_line": 1076, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolHammingDistortion_nonneg (source code : Bool) :\n 0 ≤ boolHammingDistortion source code", "statement_sha256": "8c9bd6c72a56c62cde9b7b100a2d0f4d49ca52dec571e040856b5847e062d5d7" }, @@ -150150,7 +150150,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolIndependent_distortion", "source_line": 1083, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolIndependent_distortion (code : FiniteLaw Bool) :\n expectedDistortion ((FiniteLaw.uniform : FiniteLaw Bool).product code)\n boolHammingDistortion = 1 / 2", "statement_sha256": "e4543f2f143f8476bfc639467965abf88d1b26b3ffcc4dfa08a26b715fa15556" }, @@ -150275,7 +150275,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolIndependent_minimizer", "source_line": 1096, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolIndependent_minimizer (budget : ℝ) (hbudget : (1 : ℝ) / 2 ≤ budget)\n (code : FiniteLaw Bool) :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion budget\n (FiniteLaw.uniform.product code) ∧\n ∀ candidate : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion budget candidate →\n mutualInformation ((FiniteLaw.uniform : FiniteLaw Bool).product code) ≤\n mutualInformation candidate", "statement_sha256": "dfd7bc7a96fdd4942b92dadac86c295fd8ad6a1c830346da0ec9099c61afd86a" }, @@ -150365,7 +150365,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolQuarterBudget_exists_positive_minimizer", "source_line": 1170, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterBudget_exists_positive_minimizer :\n ∃ optimizer : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4) optimizer ∧\n 0 < mutualInformation optimizer ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 4) candidate → mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "c6d9d9bac8b3fcfd482ef4436e55432486ece3c025127a6ee1224e5c6e406908" }, @@ -150443,7 +150443,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolQuarterDistortionJoint_feasible", "source_line": 1144, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterDistortionJoint_feasible :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4)\n boolQuarterDistortionJoint", "statement_sha256": "d3c079a238d79fd39cabbfa76a2cfcb10d109d4c3520dd0fd335722c1287edca" }, @@ -150514,7 +150514,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolQuarterDistortionJoint_fstMarginal", "source_line": 1137, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolQuarterDistortionJoint_fstMarginal :\n boolQuarterDistortionJoint.fstMarginal = FiniteLaw.uniform", "statement_sha256": "0f1f54235369cf0289a408701efcd498e9279d8115eafce0f89c3c59336f9c07" }, @@ -150606,7 +150606,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolZeroBudget_unique_feasible", "source_line": 1202, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolZeroBudget_unique_feasible (joint : FiniteLaw (Bool × Bool))\n (hjoint : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0 joint) :\n joint = boolZeroDistortionJoint", "statement_sha256": "311f8e0f423068b934f85e1d4de5d1d5b9096ca227310367d55370217d1de77b" }, @@ -150677,7 +150677,7 @@ ], "qualified_name": "FEP.VariationalDuality.boolZeroDistortionJoint_feasible", "source_line": 1188, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem boolZeroDistortionJoint_feasible :\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0\n boolZeroDistortionJoint", "statement_sha256": "6ad42a4a772dbb862426b54fd32f49c0c6303bbe2d9097123d3ba710588c28e7" }, @@ -150778,7 +150778,7 @@ ], "qualified_name": "FEP.VariationalDuality.conditionalKL_self", "source_line": 320, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem conditionalKL_self\n (prior : FiniteLaw α) (channel : FiniteKernel α β) :\n conditionalKL prior channel channel = 0", "statement_sha256": "7fa003d0b4c9e2bce410d76345b3b958bedb99af726b1974bdd2756bfc42d5cc" }, @@ -150894,7 +150894,7 @@ ], "qualified_name": "FEP.VariationalDuality.constantChannel_KL_strict", "source_line": 412, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constantChannel_KL_strict (actual reference : FiniteLaw α)\n (hne : actual ≠ reference) :\n finiteKL\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive actual)\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive reference) <\n finiteKL actual reference", "statement_sha256": "ce34abd3b78ba8166d95e14f82add8f608cbb2c7de185bb265610f8e180a4a45" }, @@ -150992,7 +150992,7 @@ ], "qualified_name": "FEP.VariationalDuality.constantChannel_KL_zero", "source_line": 403, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constantChannel_KL_zero (actual reference : FiniteLaw α) :\n finiteKL\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive actual)\n ((FiniteKernel.deterministic (fun _ : α => ())).predictive reference) = 0", "statement_sha256": "2a984455fffa102d9c90fafd80baa3e32540ca179ecb28c5eab4d557341634c0" }, @@ -151074,7 +151074,7 @@ ], "qualified_name": "FEP.VariationalDuality.constantChannel_predictive", "source_line": 392, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constantChannel_predictive (law : FiniteLaw α) :\n (FiniteKernel.deterministic (fun _ : α => ())).predictive law =\n FiniteLaw.pointMass ()", "statement_sha256": "923fcdd6e338841b5caa1b7a7cda316d8aca02d8977a2566cadd1ae1c6a45cff" }, @@ -151191,7 +151191,7 @@ ], "qualified_name": "FEP.VariationalDuality.constrainedEntropy_existsUnique_of_certificate", "source_line": 476, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem constrainedEntropy_existsUnique_of_certificate [Nonempty α]\n (certificate : ConstrainedEntropyCertificate α) :\n SatisfiesMomentConstraints certificate.gibbs.optimizer\n certificate.constraints ∧\n ∀ candidate : FiniteLaw α,\n SatisfiesMomentConstraints candidate certificate.constraints →\n entropy candidate ≤ entropy certificate.gibbs.optimizer ∧\n (entropy candidate = entropy certificate.gibbs.optimizer ↔\n candidate = certificate.gibbs.optimizer)", "statement_sha256": "3f8528c92b0edf46732764c49f86b9c9e4efc5ef0209e976e9a2481b595f5dcf" }, @@ -151262,7 +151262,7 @@ ], "qualified_name": "FEP.VariationalDuality.continuous_mutualInformationOfMasses", "source_line": 894, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem continuous_mutualInformationOfMasses :\n Continuous (mutualInformationOfMasses : (α × β → ℝ) → ℝ)", "statement_sha256": "6a40e5d58938489262fe334f248f7036fe8c4768848f3b22318e1b06570168e8" }, @@ -151371,7 +151371,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_iff", "source_line": 129, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_eq_logPartition_iff\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate = certificate.logPartition ↔\n candidate = certificate.optimizer", "statement_sha256": "56de07dc8ec708c7b9ca2c31b6d95d324e42e9130a0dc260ff555c9add4b3fe2" }, @@ -151466,7 +151466,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_eq_logPartition_sub_kl", "source_line": 81, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_eq_logPartition_sub_kl\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate =\n certificate.logPartition -\n finiteKL candidate certificate.optimizer", "statement_sha256": "2f4b87e50a9330663869cfc6c0e4f72922af2d028fce939bea2e56a018e22316" }, @@ -151567,7 +151567,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_le_logPartition", "source_line": 110, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_le_logPartition\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n dvObjective certificate candidate ≤ certificate.logPartition", "statement_sha256": "2a1ce35e8acecb9f5c2ef422caa90cc6cb32928fb7307d757f62d25dc88127ec" }, @@ -151658,7 +151658,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.dvObjective_optimizer", "source_line": 117, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem dvObjective_optimizer (certificate : GibbsCertificate α) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", "statement_sha256": "4ff9bca17c91e518c5489c4efad23ab786aa8a94baea0af04d7bda141313758b" }, @@ -151775,7 +151775,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_pos", "source_line": 1244, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem energyGibbsLaw_pos [Nonempty α] (E : α → ℝ) (β : ℝ) (x : α) :\n 0 < energyGibbsLaw E β x", "statement_sha256": "1b4f957ef1e093737bbf6478ab85e37be780f03f86718396f2806034c1183dc9" }, @@ -151865,7 +151865,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbsLaw_zero_energy", "source_line": 1300, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem energyGibbsLaw_zero_energy [Nonempty α] (β : ℝ) :\n energyGibbsLaw (fun _ : α => (0 : ℝ)) β = FiniteLaw.uniform", "statement_sha256": "3bb487dd51485c6815251900a0f60a0a59e8b3d43a179622b7537690478622c5" }, @@ -152002,7 +152002,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbs_entropy_lt_of_ne", "source_line": 1291, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -152153,7 +152153,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyGibbs_maxEntropy", "source_line": 1274, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -152253,7 +152253,7 @@ ], "qualified_name": "FEP.VariationalDuality.energyPartition_pos", "source_line": 1230, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem energyPartition_pos [Nonempty α] (E : α → ℝ) (β : ℝ) :\n 0 < energyPartition E β", "statement_sha256": "1a4cbd4dddda5f4f4763c2ca754357412204fd41159656b09da4f6b07b7d592d" }, @@ -152384,7 +152384,7 @@ ], "qualified_name": "FEP.VariationalDuality.entropy_eq_energy_add_logPartition_sub_kl", "source_line": 1250, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "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" }, @@ -152507,7 +152507,7 @@ ], "qualified_name": "FEP.VariationalDuality.entropy_helmholtzGibbsLaw", "source_line": 1413, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "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" }, @@ -152609,7 +152609,7 @@ ], "qualified_name": "FEP.VariationalDuality.expectedDistortion_nonneg", "source_line": 999, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem expectedDistortion_nonneg (joint : FiniteLaw (α × β))\n (distortion : α → β → ℝ) (hdistortion : ∀ x y, 0 ≤ distortion x y) :\n 0 ≤ expectedDistortion joint distortion", "statement_sha256": "8d77c6787de05d3a43761ae5878b8bde6ca7681077e39c89c19248755a672596" }, @@ -152705,7 +152705,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.expected_log_weight_le_log_expected_weight", "source_line": 211, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem expected_log_weight_le_log_expected_weight\n (sampling : FiniteLaw α) (weight : α → ℝ)\n (hweight : ∀ x, 0 < weight x) :\n ∑ x, sampling x * Real.log (weight x) ≤\n Real.log (∑ x, sampling x * weight x)", "statement_sha256": "bd6e591b0142317cdd71a3227b94aa3a95812b7fe29e99e160af6f73782de7c8" }, @@ -152787,7 +152787,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Boundary_feasible_iff_pointMassZero", "source_line": 680, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Boundary_feasible_iff_pointMassZero (law : FiniteLaw (Fin 3)) :\n SatisfiesMomentConstraints law fin3BoundaryConstraints ↔\n law = FiniteLaw.pointMass (0 : Fin 3)", "statement_sha256": "1a5b6e0a77ff5c7df00f7d9d9915ff6d10b052e1d68bc12f5602f14bb7a2dc49" }, @@ -152865,7 +152865,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Boundary_uniqueEntropyMaximizer", "source_line": 711, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Boundary_uniqueEntropyMaximizer :\n SatisfiesMomentConstraints (FiniteLaw.pointMass (0 : Fin 3))\n fin3BoundaryConstraints ∧\n ∀ candidate : FiniteLaw (Fin 3),\n SatisfiesMomentConstraints candidate fin3BoundaryConstraints →\n entropy candidate ≤ entropy (FiniteLaw.pointMass (0 : Fin 3)) ∧\n (entropy candidate = entropy (FiniteLaw.pointMass (0 : Fin 3)) ↔\n candidate = FiniteLaw.pointMass (0 : Fin 3))", "statement_sha256": "d25cbdbbd572ac14f64d29d7ea24e99910ffbe6271e87c34d9548c03f3bd546d" }, @@ -152936,7 +152936,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Infeasible_no_feasibleLaw", "source_line": 741, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Infeasible_no_feasibleLaw :\n ¬ ∃ law : FiniteLaw (Fin 3),\n SatisfiesMomentConstraints law fin3InfeasibleConstraints", "statement_sha256": "cdecbb9520cc2762bdde039bfe2b13605945a18773afab890b602cfe93c395bc" }, @@ -153014,7 +153014,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3InteriorMoment_uniqueEntropyMaximizer", "source_line": 651, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3InteriorMoment_uniqueEntropyMaximizer :\n (∀ x, 0 < fin3InteriorMomentCertificate.gibbs.optimizer x) ∧\n SatisfiesMomentConstraints\n fin3InteriorMomentCertificate.gibbs.optimizer\n fin3InteriorMomentConstraints ∧\n ∀ candidate : FiniteLaw (Fin 3),\n SatisfiesMomentConstraints candidate fin3InteriorMomentConstraints →\n entropy candidate ≤\n entropy fin3InteriorMomentCertificate.gibbs.optimizer ∧\n (entropy candidate =\n entropy fin3InteriorMomentCertificate.gibbs.optimizer ↔\n candidate = fin3InteriorMomentCertificate.gibbs.optimizer)", "statement_sha256": "5b73a2064a3daab7716e293d63173e404c3a47210f64dde8c6f988165da5b6ea" }, @@ -153096,7 +153096,7 @@ ], "qualified_name": "FEP.VariationalDuality.fin3Redundant_feasible_iff", "source_line": 761, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fin3Redundant_feasible_iff (law : FiniteLaw (Fin 3)) :\n SatisfiesMomentConstraints law fin3RedundantConstraints ↔\n expectation law fin3FirstMoment = 1", "statement_sha256": "2c5c7e76792b8fab68e74d738844c0d3ab126da34c9847f8890b1b6dd73d840d" }, @@ -153254,7 +153254,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteChannel_dataProcessing", "source_line": 342, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteChannel_dataProcessing\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n [Nonempty α]\n (hactual : ∀ x, 0 < actual x)\n (hreference : ∀ x, 0 < reference x)\n (hchannel : ∀ x y, 0 < channel x y) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "statement_sha256": "b5aff5c3a72a42304c60ed025d5db4e61976fffb1d7ace21f91a4e689ba39056" }, @@ -153345,7 +153345,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteChannel_identity_preservesKL", "source_line": 383, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteChannel_identity_preservesKL [DecidableEq α]\n (actual reference : FiniteLaw α) :\n finiteKL (FiniteKernel.identity.predictive actual)\n (FiniteKernel.identity.predictive reference) =\n finiteKL actual reference", "statement_sha256": "0b641c44c0ed64408da193c25acd5a53fa0b82ea0a807fd18a72f84c0886a399" }, @@ -153447,7 +153447,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteKL_eq_crossEntropy_sub_entropy_of_relativeSupport", "source_line": 797, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteKL_eq_crossEntropy_sub_entropy_of_relativeSupport\n (p q : FiniteLaw α) (hsupport : ∀ x, p x ≠ 0 → 0 < q x) :\n finiteKL p q = crossEntropy p q - entropy p", "statement_sha256": "e9e3d7aa00c0d210d8aa5b1cd68cd76812855f777d48641cabacad698d3b3d6a" }, @@ -153575,7 +153575,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteKL_joint_sameKernel", "source_line": 329, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteKL_joint_sameKernel\n (actual reference : FiniteLaw α) (channel : FiniteKernel α β)\n (hreference : ∀ x, 0 < reference x)\n (hchannel : ∀ x y, 0 < channel x y) :\n finiteKL (channel.joint actual) (channel.joint reference) =\n finiteKL actual reference", "statement_sha256": "9c5db5658f09464a312a4ebe7d2d081231b68764f1353f208227c784f9e37e5d" }, @@ -153658,7 +153658,7 @@ ], "qualified_name": "FEP.VariationalDuality.finiteKL_swap", "source_line": 287, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem finiteKL_swap (actual reference : FiniteLaw (α × β)) :\n finiteKL (swapLaw actual) (swapLaw reference) =\n finiteKL actual reference", "statement_sha256": "976b299201f31d053d3b87d4d73ad69666d7fe869a74e320c1cf0e5efeb76ef6" }, @@ -153791,7 +153791,7 @@ ], "qualified_name": "FEP.VariationalDuality.fixedSampleImportanceJensen", "source_line": 264, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem fixedSampleImportanceJensen\n (base : FiniteLaw α) (sampleCount : ℕ) [NeZero sampleCount]\n (weight : α → ℝ) (hweight : ∀ x, 0 < weight x) :\n ∑ sample, iidProductLaw base sampleCount sample *\n Real.log (sampleMeanWeight sampleCount weight sample) ≤\n Real.log (∑ sample, iidProductLaw base sampleCount sample *\n sampleMeanWeight sampleCount weight sample)", "statement_sha256": "17daf33e97b0ad03e5f203bee569e283068379f170c6ceb07c3b86ddc3411971" }, @@ -153874,7 +153874,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.gibbsFreeEnergy_optimizer", "source_line": 150, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem gibbsFreeEnergy_optimizer (certificate : GibbsCertificate α) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", "statement_sha256": "1e6ae1beb175eaf8520ea5af29ea21e4524b5c8996c9437f555ecb53215f7ee6" }, @@ -153997,7 +153997,7 @@ ], "qualified_name": "FEP.VariationalDuality.hasDerivAt_helmholtzFreeEnergy", "source_line": 1437, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -154132,7 +154132,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_eq_iff", "source_line": 1393, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -154267,7 +154267,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_le", "source_line": 1385, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -154410,7 +154410,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzFreeEnergy_lt", "source_line": 1406, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -154527,7 +154527,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzGibbsLaw_pos", "source_line": 1350, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem helmholtzGibbsLaw_pos [Nonempty α] (E : α → ℝ) (T : ℝ) (x : α) :\n 0 < helmholtzGibbsLaw E T x", "statement_sha256": "5e4fe0d4ef1c4cdb7cf7fe9e96d81c63924ca911464ff19d719f8527840c9903" }, @@ -154609,7 +154609,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzPartition_bool", "source_line": 1475, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem helmholtzPartition_bool (T : ℝ) :\n helmholtzPartition helmholtzBoolEnergy T = Real.exp (-1 / T) + 1", "statement_sha256": "0503320fa9b32a633c72d8cafb00506ecb1d72bff2a7c2c2fce89b457cfb1cf2" }, @@ -154709,7 +154709,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtzPartition_pos", "source_line": 1337, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem helmholtzPartition_pos [Nonempty α] (E : α → ℝ) (T : ℝ) :\n 0 < helmholtzPartition E T", "statement_sha256": "34551357b1a4a59fdbf146e079647f366e37842029fdada84b437ba4f940279f" }, @@ -154820,7 +154820,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtz_bool_uniform_gt", "source_line": 1481, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -154961,7 +154961,7 @@ ], "qualified_name": "FEP.VariationalDuality.helmholtz_decomposition", "source_line": 1363, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "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" }, @@ -155057,7 +155057,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.iidProductLaw_mass", "source_line": 233, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem iidProductLaw_mass\n (base : FiniteLaw α) (sampleCount : ℕ)\n (sample : Fin sampleCount → α) :\n iidProductLaw base sampleCount sample =\n ∏ index, base (sample index)", "statement_sha256": "2e1d2605496913e73de113a2e92d4119aa701d36a1e69226aa46ccf66ec45780" }, @@ -155159,7 +155159,7 @@ ], "qualified_name": "FEP.VariationalDuality.isClosed_rateDistortionFeasibleMasses", "source_line": 905, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem isClosed_rateDistortionFeasibleMasses (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) :\n IsClosed (rateDistortionFeasibleMasses source distortion budget)", "statement_sha256": "b5b51efec32b376f28a961952bcef977745734d6c25bcc714e9f10a8687c41e6" }, @@ -155268,7 +155268,7 @@ ], "qualified_name": "FEP.VariationalDuality.isCompact_rateDistortionFeasibleMasses", "source_line": 948, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem isCompact_rateDistortionFeasibleMasses (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) :\n IsCompact (rateDistortionFeasibleMasses source distortion budget)", "statement_sha256": "4b7c702ed1ecea1f67744f245e9051c97d9fa3fb549fcf7483fb27d66917f905" }, @@ -155385,7 +155385,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.jointELBO_coordinate_decomposition", "source_line": 167, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointELBO_coordinate_decomposition\n (actualPrior referencePrior : FiniteLaw α)\n (actualKernel referenceKernel : FiniteKernel α β)\n (hprior : ∀ x, 0 < referencePrior x)\n (hkernel : ∀ x y, 0 < referenceKernel x y) :\n jointELBO actualPrior referencePrior actualKernel referenceKernel =\n -finiteKL actualPrior referencePrior -\n conditionalKL actualPrior actualKernel referenceKernel", "statement_sha256": "dc5201007e2dfd1f4da8b91d3d5b8548d5fd91bebaa9a44dd19360de558dcbd2" }, @@ -155526,7 +155526,7 @@ ], "qualified_name": "FEP.VariationalDuality.jointSliceVFE_eq_kl_add_surprisal", "source_line": 1525, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointSliceVFE_eq_kl_add_surprisal (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < kernel.predictive prior y)\n (hjoint : ∀ x, 0 < prior x * kernel x y) (q : FiniteLaw α) :\n jointSliceVFE prior kernel y q =\n finiteKL q (kernel.posterior prior y hy) +\n evidenceSurprisal prior kernel y", "statement_sha256": "e0caeeb007f599f6a76e20da585119b17edd5730b21290267d32a17f8c7feca5" }, @@ -155673,7 +155673,7 @@ ], "qualified_name": "FEP.VariationalDuality.jointSliceVFE_eq_surprisal_iff", "source_line": 1567, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointSliceVFE_eq_surprisal_iff (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < kernel.predictive prior y)\n (hjoint : ∀ x, 0 < prior x * kernel x y) (q : FiniteLaw α) :\n jointSliceVFE prior kernel y q = evidenceSurprisal prior kernel y ↔\n q = kernel.posterior prior y hy", "statement_sha256": "fa6a768eca7efc76738a7219451667ddfde5bc0580857d536f44db5dfb4377db" }, @@ -155820,7 +155820,7 @@ ], "qualified_name": "FEP.VariationalDuality.jointSliceVFE_ge_surprisal", "source_line": 1558, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem jointSliceVFE_ge_surprisal (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hy : 0 < kernel.predictive prior y)\n (hjoint : ∀ x, 0 < prior x * kernel x y) (q : FiniteLaw α) :\n evidenceSurprisal prior kernel y ≤ jointSliceVFE prior kernel y q", "statement_sha256": "7970469fe93249e07387c6d9e71c6793a2699afdd90ce90984d8496bcbb794fc" }, @@ -155902,7 +155902,7 @@ ], "qualified_name": "FEP.VariationalDuality.joint_supported_by_productMarginals", "source_line": 815, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem joint_supported_by_productMarginals (joint : FiniteLaw (α × β)) :\n ∀ xy, joint xy ≠ 0 →\n 0 < (joint.fstMarginal.product joint.sndMarginal) xy", "statement_sha256": "a41569935cfef4f82887c5f60b709370d2d2eaed9f99a3c7d34f3a2d9c8cf2b0" }, @@ -156019,7 +156019,7 @@ ], "qualified_name": "FEP.VariationalDuality.log_helmholtzGibbsLaw", "source_line": 1354, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/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" }, @@ -156143,7 +156143,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.meanFieldCoordinateFreeEnergy_eq", "source_line": 187, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem meanFieldCoordinateFreeEnergy_eq\n (fixed : FiniteLaw α) (candidate target : FiniteLaw β)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target =\n finiteKL candidate target", "statement_sha256": "f82cbfcdcea97ed9da01e06c0176e2f6dc5d12eade8c5bd05ab3ee6a5c813f63" }, @@ -156265,7 +156265,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.meanFieldCoordinate_optimum_iff", "source_line": 198, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem meanFieldCoordinate_optimum_iff\n (fixed : FiniteLaw α) (candidate target : FiniteLaw β)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔\n candidate = target", "statement_sha256": "c95324ce9ee89154f2b261a84676a4f9aa2bf944f3b567e9de40448101ab988f" }, @@ -156345,7 +156345,7 @@ ], "qualified_name": "FEP.VariationalDuality.mutualInformationOfMasses_convexOn_fixedSource", "source_line": 2685, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem mutualInformationOfMasses_convexOn_fixedSource (p : FiniteLaw α) :\n ConvexOn ℝ (rateDistortionFeasibleMasses (β := β) p (fun _ _ => 0) 0)\n (mutualInformationOfMasses : (α × β → ℝ) → ℝ)", "statement_sha256": "e9d8f3becdf46b251e8891091827c490e3a24db5e91174ec06bc6e02c10dd18f" }, @@ -156434,7 +156434,7 @@ ], "qualified_name": "FEP.VariationalDuality.mutualInformationOfMasses_eq", "source_line": 899, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem mutualInformationOfMasses_eq (joint : FiniteLaw (α × β)) :\n mutualInformationOfMasses joint.mass = mutualInformation joint", "statement_sha256": "228510a92e13768d5994043c42be7bebdeb5f010cf9812629bc65fd3186609a6" }, @@ -156529,7 +156529,7 @@ ], "qualified_name": "FEP.VariationalDuality.mutualInformation_eq_entropy_marginals_without_support", "source_line": 835, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem mutualInformation_eq_entropy_marginals_without_support\n (joint : FiniteLaw (α × β)) :\n mutualInformation joint =\n entropy joint.fstMarginal + entropy joint.sndMarginal - entropy joint", "statement_sha256": "980b3cb28027b189821f75b0ec924ed1ef89acea50425587e61fe53b7c35a05a" }, @@ -156694,7 +156694,7 @@ ], "qualified_name": "FEP.VariationalDuality.nativeCgf_le_klDiv", "source_line": 1717, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nativeCgf_le_klDiv\n (μ ν : Measure Ω) [IsProbabilityMeasure μ] [IsProbabilityMeasure ν]\n {X : Ω → ℝ} (t : ℝ) (hX : Integrable X μ)\n (hexp : Integrable (fun x => Real.exp (t * X x)) ν) :\n ENNReal.ofReal (t * (∫ x, X x ∂μ) - ProbabilityTheory.cgf X ν t) ≤\n InformationTheory.klDiv μ ν", "statement_sha256": "12d6de7b36e33d590f11b2675481f4ea5876d583b9b790bba805bdc79b1d194a" }, @@ -156849,7 +156849,7 @@ ], "qualified_name": "FEP.VariationalDuality.nativeEntropy_le_klDiv", "source_line": 1693, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nativeEntropy_le_klDiv\n (μ ν : Measure Ω) [IsProbabilityMeasure μ] [IsProbabilityMeasure ν]\n {f : Ω → ℝ} (hf : Integrable f μ)\n (hexp : Integrable (fun x => Real.exp (f x)) ν) :\n ENNReal.ofReal ((∫ x, f x ∂μ) - Real.log (∫ x, Real.exp (f x) ∂ν)) ≤\n InformationTheory.klDiv μ ν", "statement_sha256": "b92c4e42de7f631920198d8572eed3e9a88e9b8a91ca9d39a05352f0b4d80832" }, @@ -157017,7 +157017,7 @@ ], "qualified_name": "FEP.VariationalDuality.nativeKL_tilted_gap", "source_line": 1672, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem nativeKL_tilted_gap\n (μ ν : Measure Ω) [IsProbabilityMeasure μ] [IsProbabilityMeasure ν]\n {f : Ω → ℝ} (hμν : μ ≪ ν) (hf : Integrable f μ)\n (hexp : Integrable (fun x => Real.exp (f x)) ν)\n (hllr : Integrable (llr μ ν) μ) :\n (InformationTheory.klDiv μ (ν.tilted f)).toReal =\n (InformationTheory.klDiv μ ν).toReal - (∫ x, f x ∂μ) +\n Real.log (∫ x, Real.exp (f x) ∂ν)", "statement_sha256": "e2957e229236d440f9270a985aaae5674d0503adae313f511ecf35803f86569b" }, @@ -157110,7 +157110,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.neg_logPartition_le_gibbsFreeEnergy", "source_line": 143, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem neg_logPartition_le_gibbsFreeEnergy\n (certificate : GibbsCertificate α) (candidate : FiniteLaw α) :\n -certificate.logPartition ≤ gibbsFreeEnergy certificate candidate", "statement_sha256": "6414184e30bc110462d1608c922ea81a3fb22592f9b20c2fda36ded0149a1be0" }, @@ -157230,7 +157230,7 @@ ], "qualified_name": "FEP.VariationalDuality.predictive_pos_of_jointSlice_pos", "source_line": 1578, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem predictive_pos_of_jointSlice_pos [Nonempty α] (prior : FiniteLaw α)\n (kernel : FiniteKernel α β) (y : β)\n (hjoint : ∀ x, 0 < prior x * kernel x y) :\n 0 < kernel.predictive prior y", "statement_sha256": "24efe21b111cbe1e4e5d9191e91baec40d23fb4ee297366f2a5d67f9b18d3dd9" }, @@ -157368,7 +157368,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionDual_bddBelow", "source_line": 1005, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionDual_bddBelow (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget multiplier : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hmultiplier : 0 ≤ multiplier) :\n BddBelow {value | ∃ joint : FiniteLaw (α × β), joint.fstMarginal = source ∧\n value = rateDistortionLagrangian joint distortion multiplier - multiplier * budget}", "statement_sha256": "ae6424f92ab1b2fbb1a84dc5327c29a3c8a47ffd7532c616eb0e430d572c122b" }, @@ -157518,7 +157518,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionDual_le_feasible_information", "source_line": 1019, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionDual_le_feasible_information (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget multiplier : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hmultiplier : 0 ≤ multiplier)\n (joint : FiniteLaw (α × β))\n (hjoint : RateDistortionFeasible source distortion budget joint) :\n rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint", "statement_sha256": "7519ae63dc09490348dc730c2c7b70ebf7172f5d9272149f9ca903f688a613d2" }, @@ -157645,7 +157645,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionDual_zeroMultiplier", "source_line": 1038, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionDual_zeroMultiplier [Nonempty β] (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) :\n rateDistortionDualValue source distortion budget 0 = 0", "statement_sha256": "2a7493832e8c34b5ea113045b022bc4a790c2226e0296918d6df0f732f39f7c8" }, @@ -157767,7 +157767,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionFeasible_mass_mem", "source_line": 938, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionFeasible_mass_mem (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) (joint : FiniteLaw (α × β))\n (hjoint : RateDistortionFeasible source distortion budget joint) :\n joint.mass ∈ rateDistortionFeasibleMasses source distortion budget", "statement_sha256": "dcebd4c57354a14a98d0b887278d94ac8869dda72cff76eddba71a5e03dd0454" }, @@ -157889,7 +157889,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortionLawOfMasses_feasible", "source_line": 928, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortionLawOfMasses_feasible (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ) (weights : α × β → ℝ)\n (hweights : weights ∈ rateDistortionFeasibleMasses source distortion budget) :\n RateDistortionFeasible source distortion budget\n (rateDistortionLawOfMasses source distortion budget weights hweights)", "statement_sha256": "fd6b348bc31b96d4f2507277d70b5d7295a73e2b312074db0dc2b5718ba6cd79" }, @@ -158026,7 +158026,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_exists_minimizer", "source_line": 967, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_exists_minimizer (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ)\n (hfeasible : ∃ joint, RateDistortionFeasible source distortion budget joint) :\n ∃ optimizer : FiniteLaw (α × β),\n RateDistortionFeasible source distortion budget optimizer ∧\n ∀ candidate : FiniteLaw (α × β),\n RateDistortionFeasible source distortion budget candidate →\n mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "45087c6ce12f4e139d8ea5a76fd08a010faf72e080d74be3c6813ad124248cef" }, @@ -158146,7 +158146,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_exists_minimizer_and_dual_supremum", "source_line": 2905, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_exists_minimizer_and_dual_supremum (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hfeasible : ∃ K, RateDistortionFeasible p d D K) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "18f407429344ad541b9e7b8d62459df78da3a77b66b81c6d2a1d9856163c637e" }, @@ -158266,7 +158266,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_exists_slater_dual_optimizer", "source_line": 2694, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_exists_slater_dual_optimizer (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n (∀ K, RateDistortionFeasible p d D K →\n FEP.FiniteInformation.mutualInformation J ≤ FEP.FiniteInformation.mutualInformation K) ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J", "statement_sha256": "8334c5e530fe947734c45d0748d48bcdbf1535001a9cdd219c36fb132eddd367" }, @@ -158395,7 +158395,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_infeasible_of_negativeBudget", "source_line": 1063, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_infeasible_of_negativeBudget (source : FiniteLaw α)\n (distortion : α → β → ℝ) (budget : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hbudget : budget < 0) :\n ¬ ∃ joint, RateDistortionFeasible source distortion budget joint", "statement_sha256": "cdc05e0309e61125437873e55e87c760013239b3ca35ae4c5564e12bbc652741" }, @@ -158515,7 +158515,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_primal_dual_extrema", "source_line": 2704, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_primal_dual_extrema (p : FiniteLaw α) (d : α → β → ℝ) (D : ℝ)\n (hd : ∀ x y, 0 ≤ d x y)\n (hslater : ∃ K : FiniteLaw (α × β), K.fstMarginal = p ∧ expectedDistortion K d < D) :\n ∃ J : FiniteLaw (α × β), RateDistortionFeasible p d D J ∧\n ∃ lam : ℝ, 0 ≤ lam ∧\n rateDistortionDualValue p d D lam = FEP.FiniteInformation.mutualInformation J ∧\n lam * (expectedDistortion J d - D) = 0 ∧\n sInf {v : ℝ | ∃ K, RateDistortionFeasible p d D K ∧\n v = FEP.FiniteInformation.mutualInformation K} =\n FEP.FiniteInformation.mutualInformation J ∧\n sSup {v : ℝ | ∃ t : ℝ, 0 ≤ t ∧ v = rateDistortionDualValue p d D t} =\n FEP.FiniteInformation.mutualInformation J", "statement_sha256": "c02df5144c83a7ea86ba19f00f76cc73645189e2225d8203a899453b4a7a06e7" }, @@ -158649,7 +158649,7 @@ ], "qualified_name": "FEP.VariationalDuality.rateDistortion_weak_duality", "source_line": 782, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem rateDistortion_weak_duality\n (joint : FiniteLaw (α × β)) (distortion : α → β → ℝ)\n (multiplier rateLower distortionLower : ℝ)\n (hmultiplier : 0 ≤ multiplier)\n (hrate : rateLower ≤ mutualInformation joint)\n (hdistortion : distortionLower ≤ expectedDistortion joint distortion) :\n rateLower + multiplier * distortionLower ≤\n rateDistortionLagrangian joint distortion multiplier", "statement_sha256": "9139baefabdbb771a9e999ee730ac88ce38b5cab7ced2278ab8bac71a64450c0" }, @@ -158751,7 +158751,7 @@ ], "qualified_name": "FEP.VariationalDuality.reverseKernel_joint", "source_line": 305, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem reverseKernel_joint\n (prior : FiniteLaw α) (channel : FiniteKernel α β)\n (hpredictive : ∀ y, 0 < channel.predictive prior y) :\n (reverseKernel prior channel hpredictive).joint\n (channel.predictive prior) = swapLaw (channel.joint prior)", "statement_sha256": "c17a4d85d86421289779668dd1d27af964796d45de99003e4903238ea2e7a454" }, @@ -158871,7 +158871,7 @@ ], "qualified_name": "FEP.VariationalDuality.sampleMeanWeight_pos", "source_line": 248, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem sampleMeanWeight_pos\n (sampleCount : ℕ) [NeZero sampleCount]\n (weight : α → ℝ) (hweight : ∀ x, 0 < weight x)\n (sample : Fin sampleCount → α) :\n 0 < sampleMeanWeight sampleCount weight sample", "statement_sha256": "2175f7559d5b9f7c2e33ebdb26ac9e7cd0530a52433bc5f2c3c888c7d779683b" }, @@ -158952,7 +158952,7 @@ "preceding_scope_directives": [], "qualified_name": "FEP.VariationalDuality.uniformZeroPotentialGibbs_objective", "source_line": 123, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem uniformZeroPotentialGibbs_objective [Nonempty α] :\n dvObjective (uniformZeroPotentialGibbs (α := α))\n (uniformZeroPotentialGibbs (α := α)).optimizer = 0", "statement_sha256": "03121e4a597d4bda90e1e563e724d67b75909606916074797c4805957b05cee8" }, @@ -159052,7 +159052,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeWitness_gap_pos", "source_line": 1609, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeWitness_gap_pos :\n evidenceSurprisal (FiniteLaw.uniform : FiniteLaw Bool) vfeWitnessKernel\n true <\n jointSliceVFE (FiniteLaw.uniform : FiniteLaw Bool) vfeWitnessKernel true\n (FiniteLaw.uniform : FiniteLaw Bool)", "statement_sha256": "1595fd0974c5d25e2107acde7fc63ae3d39444c1af55a0c1489542374e9d99ef" }, @@ -159123,7 +159123,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeWitness_predictive_true", "source_line": 1593, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeWitness_predictive_true :\n vfeWitnessKernel.predictive (FiniteLaw.uniform : FiniteLaw Bool) true =\n 1 / 2", "statement_sha256": "1868b2532e868a4ba41b7c90876780dc52c5750c066dea484b671f52bb4ef338" }, @@ -159201,7 +159201,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeWitness_surprisal", "source_line": 1601, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeWitness_surprisal :\n evidenceSurprisal (FiniteLaw.uniform : FiniteLaw Bool) vfeWitnessKernel\n true = Real.log 2", "statement_sha256": "1467771a8697f61d2560e3ba127ce67baa03afe172d86d035e239c4543fe5faf" }, @@ -159272,7 +159272,7 @@ ], "qualified_name": "FEP.VariationalDuality.vfeZeroEvidence_boundary", "source_line": 1644, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem vfeZeroEvidence_boundary :\n vfeZeroEvidenceKernel.predictive (FiniteLaw.uniform : FiniteLaw Bool)\n true = 0 ∧\n (∀ x : Bool, (FiniteLaw.uniform : FiniteLaw Bool) x *\n vfeZeroEvidenceKernel x true = 0) ∧\n ¬ (0 < vfeZeroEvidenceKernel.predictive\n (FiniteLaw.uniform : FiniteLaw Bool) true)", "statement_sha256": "ea36dd3e5932c782e0e6f96d73cd047566f3358b23ed0cb337a4711a485d4f9a" }, @@ -159362,7 +159362,7 @@ ], "qualified_name": "FEP.VariationalDuality.zeroTemperature_not_certified", "source_line": 467, - "source_owner": "src/fep_lean/formal/variational_duality.lean", + "source_owner": "src/fep_formal/formal/variational_duality.lean", "statement": "theorem zeroTemperature_not_certified [Nonempty α]\n (certificate : ConstrainedEntropyCertificate α) :\n certificate.temperature ≠ 0", "statement_sha256": "cceac0f2335b7538214af449e62b1ece583c16a7c15a77b3bfe93d5bbe7d1aee" }, @@ -159384,7 +159384,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_flip_false", "source_line": 106, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_flip_false :\n predictiveFunctor.map boolFlip (FiniteLaw.pointMass false) =\n FiniteLaw.pointMass true", "statement_sha256": "53f63413a4b1a56a6f12bf7dc13ef6a4cfdff379a8440cd74e1c7224f1cd9b45" }, @@ -159406,7 +159406,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_flip_true", "source_line": 94, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_flip_true :\n predictiveFunctor.map boolFlip (FiniteLaw.pointMass true) =\n FiniteLaw.pointMass false", "statement_sha256": "5918507a02155440e20bf72773d30075284f00b134d69d9a4ac96aa35e21c0d6" }, @@ -159428,7 +159428,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_predictive_composition", "source_line": 118, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_predictive_composition :\n predictiveFunctor.map (boolFlip ≫ boolFlip) (FiniteLaw.pointMass true) =\n predictiveFunctor.map boolFlip\n (predictiveFunctor.map boolFlip (FiniteLaw.pointMass true))", "statement_sha256": "e83c215f84a9bc45314f5cba104ef08e6d7c0f9febc435ac2980f9a9d0827602" }, @@ -159463,7 +159463,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_predictive_flip_twice", "source_line": 125, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_predictive_flip_twice :\n predictiveFunctor.map (boolFlip ≫ boolFlip) (FiniteLaw.pointMass true) =\n FiniteLaw.pointMass true", "statement_sha256": "1a425a0f59d043609dfb4cc748200973ab3a0c313771a16f094b121566fc1817" }, @@ -159485,7 +159485,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.bool_predictive_identity", "source_line": 88, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem bool_predictive_identity :\n predictiveFunctor.map (𝟙 boolObject) (FiniteLaw.pointMass true) =\n FiniteLaw.pointMass true", "statement_sha256": "c66d38761fe0568400a7efc4b7a7b4c6b9d7b2918a043b1e6c20284f9d7b0995" }, @@ -159551,7 +159551,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.finKernCat_assoc", "source_line": 59, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem finKernCat_assoc (W X Y Z : FinKernCat)\n (f : W ⟶ X) (g : X ⟶ Y) (h : Y ⟶ Z) :\n (f ≫ g) ≫ h = f ≫ (g ≫ h)", "statement_sha256": "6eb5493391c5e5240afb31f0bc796af5aad3e797fb3b7ae57913420e06730b8a" }, @@ -159595,7 +159595,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.finKernCat_comp_id", "source_line": 54, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem finKernCat_comp_id (X Y : FinKernCat) (f : X ⟶ Y) :\n f ≫ 𝟙 Y = f", "statement_sha256": "3857f89a6add5e359ccb1b914fd810f2cd484d2f1e5963dec0f3e38ee62b3ace" }, @@ -159639,7 +159639,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteKernelCategory.finKernCat_id_comp", "source_line": 49, - "source_owner": "src/fep_lean/formal/compositions/finite_kernel_category.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_kernel_category.lean", "statement": "theorem finKernCat_id_comp (X Y : FinKernCat) (f : X ⟶ Y) :\n 𝟙 X ≫ f = f", "statement_sha256": "85ebd8d613cda702d1d40d08d4e1c44d05a8ec0411ec6968ef6ca91285bc310f" }, @@ -159753,7 +159753,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.boolFeedback_observation_changes_emittedAction", "source_line": 325, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem boolFeedback_observation_changes_emittedAction :\n policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n (∀ fixedAction,\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel\n (boolOpenLoopPlan fixedAction) false) ∧\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 false) ≠\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 true) ∧\n ∀ observation,\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) = observation ∧\n boolMismatchCost\n (boolFeedbackModel.update false false observation)\n (boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) = 0 ∧\n optimalTreeAction boolFeedbackModel 0\n (boolFeedbackModel.update false false observation) =\n boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) ∧\n boolBeliefInterpret\n (boolFeedbackModel.update false false observation) =\n actionPrediction (boolBeliefInterpret false) boolActionTransition\n (boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) ∧\n boolFeedbackActionInterface.actionTransition\n (boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) =\n boolFeedbackActionModel.transition\n (boolFeedbackTree.2 observation)", "statement_sha256": "a94241e20a36d84b1be828a1abce15340960d73af44c5d8bb7be9ab24caec531" }, @@ -159930,7 +159930,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.finiteTreeGibbsPosterior_sum_one", "source_line": 97, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem finiteTreeGibbsPosterior_sum_one\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n {depth : ℕ}\n (prior : FiniteLaw (PolicyTree Action Observation depth))\n (precision : ℝ) (model : PolicyTreeModel Belief Action Observation)\n (belief : Belief) :\n ∑ tree, finiteTreeGibbsPosterior prior precision model belief tree = 1", "statement_sha256": "5f814eebe784f3365dd4a6c34a0d3834e1b5f21168440dc6c04a1201de586b3f" }, @@ -160020,7 +160020,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedBeliefInterpret_learned_exact", "source_line": 132, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedBeliefInterpret_learned_exact :\n selectedBeliefInterpret SelectedBeliefIndex.learned false = 1 / 10 ∧\n selectedBeliefInterpret SelectedBeliefIndex.learned true = 9 / 10", "statement_sha256": "ce60af7435750a98946250a669c34afaf6f22e0cbf617c853c0765c5a472d64a" }, @@ -160108,7 +160108,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedBeliefInterpret_learned_nonDirac", "source_line": 140, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedBeliefInterpret_learned_nonDirac :\n selectedBeliefInterpret SelectedBeliefIndex.learned ≠\n FiniteLaw.pointMass false ∧\n selectedBeliefInterpret SelectedBeliefIndex.learned ≠\n FiniteLaw.pointMass true", "statement_sha256": "ed1fd69a5c26ca2fff7fc8d5596c71ded1c0de19ba7c6262fac851f66638e787" }, @@ -160201,7 +160201,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedBeliefUpdate_commutes_posteriorUpdate", "source_line": 167, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedBeliefUpdate_commutes_posteriorUpdate\n (action observation : Bool) :\n selectedBeliefInterpret\n (selectedBeliefUpdate SelectedBeliefIndex.learned action observation) =\n posteriorUpdate\n (selectedBeliefInterpret SelectedBeliefIndex.learned) observation", "statement_sha256": "c3513d711902450aa4dd1170aacbe75cf5e3c8c592a34b5f3a61df160613c255" }, @@ -160304,7 +160304,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorDecisionRisk_prefers_observation", "source_line": 213, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorDecisionRisk_prefers_observation\n (observation alternative : Bool) (hDifferent : alternative ≠ observation) :\n selectedPosteriorDecisionRisk\n (SelectedBeliefIndex.afterObservation observation) observation <\n selectedPosteriorDecisionRisk\n (SelectedBeliefIndex.afterObservation observation) alternative", "statement_sha256": "c6216f6672f7e75feb26dc8a0f8fbecf53576ec3d1bf188b17eee430a961d8d4" }, @@ -160385,7 +160385,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_changes_action", "source_line": 254, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_changes_action :\n (selectedPosteriorFeedbackTree.2 false).1 ≠\n (selectedPosteriorFeedbackTree.2 true).1", "statement_sha256": "5013868cb7df0949a4c885c418f7638aab6ecaeb94b2de9554af3fc090ef83da" }, @@ -160492,7 +160492,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_continuation_optimal", "source_line": 228, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_continuation_optimal (observation : Bool) :\n optimalTreeAction selectedPosteriorFeedbackModel 0\n (SelectedBeliefIndex.afterObservation observation) =\n (selectedPosteriorFeedbackTree.2 observation).1", "statement_sha256": "e23baad5f6e5f98974f6880e98b2e8508a33f6c9764a95ac33daa9a7162c4a80" }, @@ -160586,7 +160586,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_strictlyBetter", "source_line": 287, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_strictlyBetter :\n ∀ fixedAction,\n policyTreeValue selectedPosteriorFeedbackModel\n selectedPosteriorFeedbackTree SelectedBeliefIndex.learned <\n openLoopValue selectedPosteriorFeedbackModel\n (selectedPosteriorOpenLoopPlan fixedAction)\n SelectedBeliefIndex.learned", "statement_sha256": "6efe4e7dd80459f07ee6cdb77983e382391733eba8b770cfba0d841fd00b6194" }, @@ -160667,7 +160667,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorFeedback_value", "source_line": 260, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorFeedback_value :\n policyTreeValue selectedPosteriorFeedbackModel\n selectedPosteriorFeedbackTree SelectedBeliefIndex.learned = 13 / 40", "statement_sha256": "78d386f66b093b8f42c20578be5e5ad418ae4b15ce9466fa934cb4609d3e5794" }, @@ -160759,7 +160759,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.selectedPosteriorOpenLoop_value", "source_line": 272, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem selectedPosteriorOpenLoop_value (action : Bool) :\n openLoopValue selectedPosteriorFeedbackModel\n (selectedPosteriorOpenLoopPlan action) SelectedBeliefIndex.learned =\n if action then 2 / 5 else 9 / 10", "statement_sha256": "1a2709af732e51f725bd6bcd8d332ceffa343979492c549eeff3bb76ee4f3147" }, @@ -160934,7 +160934,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FinitePolicyAction.vfeGap_eq_finiteKL_recognition_posterior", "source_line": 47, - "source_owner": "src/fep_lean/formal/compositions/finite_policy_action.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_policy_action.lean", "statement": "theorem vfeGap_eq_finiteKL_recognition_posterior\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n (outcome : Outcome)\n (hEvidence : 0 < predictedOutcome model policy outcome)\n (recognition : FiniteLaw State)\n (hPosteriorSupport : ∀ state,\n 0 < posteriorState model policy outcome hEvidence state) :\n (variationalFreeEnergy model policy outcome hEvidence recognition -\n variationalFreeEnergy model policy outcome hEvidence\n (posteriorState model policy outcome hEvidence) =\n finiteKL recognition\n (posteriorState model policy outcome hEvidence)) ∧\n InformationTheory.klDiv\n (embeddedLaw recognition)\n (embeddedLaw (posteriorState model policy outcome hEvidence)) =\n ENNReal.ofReal\n (variationalFreeEnergy model policy outcome hEvidence recognition -\n variationalFreeEnergy model policy outcome hEvidence\n (posteriorState model policy outcome hEvidence))", "statement_sha256": "ecdb95aeccfea9b3705563ea460b005787d6d217447b33c0efee42542089ad14" }, @@ -160958,7 +160958,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.boolPolicyState_not_equiv_boolBlanketState", "source_line": 57, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem boolPolicyState_not_equiv_boolBlanketState :\n ¬Nonempty\n (Bool ≃ FEP.MarkovBlanket.DynamicState Bool Bool Bool Bool)", "statement_sha256": "ac5e229d38bf8f174887407f6457670aa962ee6fbeac32ba3d1b6006798c9e43" }, @@ -161125,7 +161125,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.finiteReferenceAgent_terminal", "source_line": 363, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem finiteReferenceAgent_terminal :\n let learned : FiniteLaw Bool :=\n posteriorAfter selectedPrior (fun _ => true) 2\n let updatedInternal : FiniteLaw Bool := posteriorUpdate learned true\n let liftedLearned : FiniteLaw BoolBlanketState := liftInternalLaw learned\n let liftedUpdated : FiniteLaw BoolBlanketState :=\n liftInternalLaw updatedInternal\n let model :=\n boolBlanketGenerativeModel liftedLearned\n (liftInternalLikelihood selectedLikelihood)\n (FiniteLaw.uniform : FiniteLaw Bool)\n (FiniteLaw.uniform : FiniteLaw Bool)\n let actionInterface :=\n boolBlanketGenerativeModelActionInterface liftedLearned\n (liftInternalLikelihood selectedLikelihood)\n (FiniteLaw.uniform : FiniteLaw Bool)\n (FiniteLaw.uniform : FiniteLaw Bool)\n let emittedTrueAction : Bool :=\n actionInterface.policyToAction\n (selectedPosteriorFeedbackTree.2 true).1\n let selectedKernel : FiniteKernel BoolBlanketState BoolBlanketState :=\n actionInterface.actionTransition emittedTrueAction\n let stationary : FiniteLaw BoolBlanketState := boolBlanketStationaryLaw\n ∃ hEvidence : 0 < predictedOutcome model false true,\n learned false = 1 / 10 ∧\n learned true = 9 / 10 ∧\n learned ≠ selectedPrior ∧\n liftedLearned.fstMarginal = learned ∧\n selectedBeliefInterpret SelectedBeliefIndex.learned = learned ∧\n (∑ hypothesis, updatedInternal hypothesis = 1) ∧\n updatedInternal ≠ learned ∧\n trajectoryLaw.real\n (posteriorBadMassFailure selectedPrior 2 (identificationGap / 2)) ≤\n Real.exp\n (-((2 : ℝ) * (identificationGap / 2)) ^ 2 /\n (2 * ∑ _index : Fin 2, logLikelihoodRatioProxy)) ∧\n predictedOutcome model false = selectedLikelihood.predictive learned ∧\n posteriorState model false true hEvidence = liftedUpdated ∧\n (posteriorState model false true hEvidence).fstMarginal =\n selectedBeliefInterpret\n (selectedBeliefUpdate SelectedBeliefIndex.learned false true) ∧\n (posteriorState model false true hEvidence).fstMarginal =\n selectedBeliefInterpret\n (selectedPosteriorFeedbackModel.update\n SelectedBeliefIndex.learned false true) ∧\n (∀ recognition : FiniteLaw BoolBlanketState,\n variationalFreeEnergy model false true hEvidence recognition =\n outcomeSurprisal model false true ↔\n recognition = liftedUpdated) ∧\n optimalTreeAction selectedPosteriorFeedbackModel 0\n (SelectedBeliefIndex.afterObservation true) =\n (selectedPosteriorFeedbackTree.2 true).1 ∧\n (∀ fixedAction,\n policyTreeValue selectedPosteriorFeedbackModel\n selectedPosteriorFeedbackTree SelectedBeliefIndex.learned <\n openLoopValue selectedPosteriorFeedbackModel\n (selectedPosteriorOpenLoopPlan fixedAction)\n SelectedBeliefIndex.learned) ∧\n emittedTrueAction = true ∧\n selectedKernel =\n model.transition (selectedPosteriorFeedbackTree.2 true).1 ∧\n selectedKernel =\n boolBlanketActionIndexedSemigroup.sampledKernel true ∧\n boolBlanketActionIndexedSemigroup.sampledKernel true =\n boolBlanketRefreshKernel ∧\n (FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))) = stationary ∧\n (∃ blanketModel :\n ConditionalBlanketModel\n (FEP.MarkovBlanket.Blanket Bool Bool) Bool Bool,\n (∀ blanket, 0 < blanketModel.blanketLaw blanket) ∧\n (∃ blanketFirst blanketSecond,\n blanketFirst ≠ blanketSecond ∧\n 0 < blanketModel.blanketLaw blanketFirst ∧\n 0 < blanketModel.blanketLaw blanketSecond) ∧\n Factorizes blanketModel ∧\n ∀ internal sensory active external,\n stationary (internal, (sensory, (active, external))) =\n blanketModel.blanketLaw (sensory, active) *\n blanketModel.conditional (sensory, active)\n (internal, external)) ∧\n IsInvariant stationary selectedKernel ∧\n Fintype.card BoolBlanketState = 16 ∧\n boolBlanketOrigin ≠ boolBlanketAlternative ∧\n 0 < stationary boolBlanketOrigin ∧\n 0 < stationary boolBlanketAlternative ∧\n 0 < liftedUpdated boolBlanketOrigin ∧\n 0 < liftedUpdated boolBlanketAlternative ∧\n InformationTheory.klDiv\n (embeddedLaw (selectedKernel.predictive liftedUpdated))\n (embeddedLaw stationary) ≤\n InformationTheory.klDiv\n (embeddedLaw liftedUpdated) (embeddedLaw stationary) ∧\n finiteKL (selectedKernel.predictive liftedUpdated) stationary <\n finiteKL liftedUpdated stationary ∧\n InformationTheory.klDiv\n (embeddedLaw (selectedKernel.predictive liftedUpdated))\n (embeddedLaw stationary) <\n InformationTheory.klDiv\n (embeddedLaw liftedUpdated) (embeddedLaw stationary)", "statement_sha256": "5e649cf2658e5cfb2eb88ab77b88fa4f340b47111c88224088867ceaa5de99de" }, @@ -161156,7 +161156,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.finiteReferenceCoherence_uninhabited", "source_line": 66, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem finiteReferenceCoherence_uninhabited :\n ¬Nonempty FiniteReferenceCoherence", "statement_sha256": "9ab172eae218ef849ecb797f3fef92659231fae6e4f1fa48877687af9c7b7e02" }, @@ -161200,7 +161200,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.learnedPosterior_ne_boolBeliefInterpret", "source_line": 43, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem learnedPosterior_ne_boolBeliefInterpret (belief : Bool) :\n posteriorAfter selectedPrior (fun _ => true) 2 ≠\n boolBeliefInterpret belief", "statement_sha256": "a8f69f03d6cebd892ac5c068a30b77df6d44a07a89801bc069c6122181e07a31" }, @@ -161315,7 +161315,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteReferenceAgent.retainedFiniteReference_predecessors", "source_line": 81, - "source_owner": "src/fep_lean/formal/compositions/finite_reference_agent.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_reference_agent.lean", "statement": "theorem retainedFiniteReference_predecessors :\n 0 < selectedLikelihood.predictive selectedPrior true ∧\n (∑ hypothesis, posteriorUpdate selectedPrior true hypothesis = 1) ∧\n (posteriorAfter selectedPrior (fun _ => true) 2 false = 1 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 true = 9 / 10 ∧\n posteriorAfter selectedPrior (fun _ => true) 2 ≠ selectedPrior) ∧\n trajectoryLaw.real\n (posteriorBadMassFailure selectedPrior 2 (identificationGap / 2)) ≤\n Real.exp\n (-((2 : ℝ) * (identificationGap / 2)) ^ 2 /\n (2 * ∑ _index : Fin 2, logLikelihoodRatioProxy)) ∧\n (∃ hEvidence :\n 0 < predictedOutcome\n (symmetricBoolModel selectedPrior) false true,\n (∀ recognition : FiniteLaw Bool,\n variationalFreeEnergy (symmetricBoolModel selectedPrior) false true\n hEvidence recognition =\n outcomeSurprisal (symmetricBoolModel selectedPrior) false true ↔\n recognition = posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence) ∧\n ((variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n selectedPrior -\n variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n (posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence) =\n finiteKL selectedPrior\n (posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence)) ∧\n InformationTheory.klDiv\n (embeddedLaw selectedPrior)\n (embeddedLaw\n (posteriorState\n (symmetricBoolModel selectedPrior) false true hEvidence)) =\n ENNReal.ofReal\n (variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n selectedPrior -\n variationalFreeEnergy\n (symmetricBoolModel selectedPrior) false true hEvidence\n (posteriorState\n (symmetricBoolModel selectedPrior) false true\n hEvidence)))) ∧\n (policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n (∀ fixedAction,\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel\n (boolOpenLoopPlan fixedAction) false) ∧\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 false) ≠\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 true) ∧\n ∀ observation,\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) = observation ∧\n boolMismatchCost\n (boolFeedbackModel.update false false observation)\n (FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) = 0 ∧\n optimalTreeAction boolFeedbackModel 0\n (boolFeedbackModel.update false false observation) =\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation) ∧\n boolBeliefInterpret\n (boolFeedbackModel.update false false observation) =\n actionPrediction (boolBeliefInterpret false) boolActionTransition\n (FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) ∧\n FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.actionTransition\n (FEPComposed.FinitePolicyAction.boolFeedbackActionInterface.policyToAction\n (boolFeedbackTree.2 observation)) =\n FEPComposed.FinitePolicyAction.boolFeedbackActionModel.transition\n (boolFeedbackTree.2 observation)) ∧\n (((FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))) =\n boolBlanketStationaryLaw) ∧\n IsInvariant\n ((FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))))\n (pairedKernel\n (FiniteKernel.identity : FiniteKernel Bool Bool)\n (FiniteKernel.identity :\n FiniteKernel (Bool × (Bool × Bool)) (Bool × (Bool × Bool)))) ∧\n ∃ blanketModel :\n ConditionalBlanketModel Unit Bool (Bool × (Bool × Bool)),\n blanketModel.conditional () =\n (FiniteLaw.uniform : FiniteLaw Bool).product\n (FiniteLaw.uniform : FiniteLaw (Bool × (Bool × Bool))) ∧\n Factorizes blanketModel ∧ blanketModel.blanketLaw () = 1) ∧\n IsInvariant boolBlanketStationaryLaw boolBlanketRefreshKernel ∧\n (∀ source target, 0 < boolBlanketRefreshKernel source target) ∧\n boolBlanketOrigin ≠ boolBlanketAlternative ∧\n 0 < boolBlanketStationaryLaw boolBlanketOrigin ∧\n 0 < boolBlanketStationaryLaw boolBlanketAlternative ∧\n InformationTheory.klDiv\n (embeddedLaw boolBlanketEvolvedLaw)\n (embeddedLaw boolBlanketStationaryLaw) ≤\n InformationTheory.klDiv\n (embeddedLaw boolBlanketInitialLaw)\n (embeddedLaw boolBlanketStationaryLaw) ∧\n finiteKL boolBlanketEvolvedLaw boolBlanketStationaryLaw <\n finiteKL boolBlanketInitialLaw boolBlanketStationaryLaw ∧\n InformationTheory.klDiv\n (embeddedLaw boolBlanketEvolvedLaw)\n (embeddedLaw boolBlanketStationaryLaw) <\n InformationTheory.klDiv\n (embeddedLaw boolBlanketInitialLaw)\n (embeddedLaw boolBlanketStationaryLaw)", "statement_sha256": "835d49fed6205113fe0b36cafd9292e56ae3d433f6ad75a9c726074aaa22311d" }, @@ -161594,7 +161594,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.blanketPosterior_and_flowAlignment_imply_localDescent", "source_line": 315, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem blanketPosterior_and_flowAlignment_imply_localDescent\n {Blanket Policy State Outcome : Type*}\n [Fintype Blanket] [Fintype Policy] [Fintype State] [Fintype Outcome]\n {dimension : ℕ}\n (generativeModel : GenerativeModel Policy State Outcome)\n (recognition : Blanket → FiniteLaw State)\n (policyOf : Blanket → Policy) (outcomeOf : Blanket → Outcome)\n (evidence : ∀ blanket,\n 0 < predictedOutcome generativeModel (policyOf blanket)\n (outcomeOf blanket))\n (blanket : Blanket)\n (scoreModel : ScoreModel State dimension)\n (covector tangent : Fin dimension → ℝ)\n (objective : ℝ → ℝ) (point derivative : ℝ)\n (hPosterior : RecognitionMatchesPosterior generativeModel policyOf\n outcomeOf evidence recognition)\n (hScoreLaw : scoreModel.law = recognition blanket)\n (hPosteriorSupport : ∀ state,\n 0 < posteriorState generativeModel (policyOf blanket)\n (outcomeOf blanket) (evidence blanket) state)\n (hIdentifiable : Identifiable scoreModel)\n (hTangent : tangent ≠ 0)\n (hNatural : IsNaturalGradient scoreModel covector tangent)\n (hDerivative : HasDerivAt objective derivative point)\n (hDerivativeIdentity :\n derivative = -(∑ coordinate, tangent coordinate * covector coordinate)) :\n RecognitionMatchesPosterior generativeModel policyOf outcomeOf evidence\n recognition ∧\n LocalFreeEnergyDescent objective point", "statement_sha256": "47d0083654f5cd12cd7408c580e71040814db9095fe66ae3c3154f9a11a7db5a" }, @@ -161715,7 +161715,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.factorizedProduct_invariant_under_pairedKernel", "source_line": 57, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem factorizedProduct_invariant_under_pairedKernel\n {Internal External : Type*} [Fintype Internal] [Fintype External]\n (internalLaw : FiniteLaw Internal) (externalLaw : FiniteLaw External)\n (internalKernel : FiniteKernel Internal Internal)\n (externalKernel : FiniteKernel External External)\n (hInternal :\n FEP.FiniteMarkovDynamics.IsInvariant internalLaw internalKernel)\n (hExternal :\n FEP.FiniteMarkovDynamics.IsInvariant externalLaw externalKernel) :\n FEP.FiniteMarkovDynamics.IsInvariant\n (internalLaw.product externalLaw)\n (pairedKernel internalKernel externalKernel) ∧\n ∃ blanketModel : ConditionalBlanketModel Unit Internal External,\n blanketModel.conditional () = internalLaw.product externalLaw ∧\n FEP.CausalDynamics.Factorizes blanketModel ∧\n blanketModel.blanketLaw () = 1", "statement_sha256": "260f7df18673ce5fd59dad4bedabb1ba9d9090272282e0f2df0b6e486af55cad" }, @@ -161739,7 +161739,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.observationalBlanket_doesNotIdentify_causalBlanket", "source_line": 684, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem observationalBlanket_doesNotIdentify_causalBlanket :\n mediatorMarginal (orderedJoint observationalCopyModel) =\n mediatorMarginal (orderedJoint observationalIndependentModel) ∧\n ¬(∀ root,\n mediatorMarginal (interventionalJoint observationalCopyModel root) =\n mediatorMarginal\n (interventionalJoint observationalIndependentModel root)) ∧\n mediatorMarginal (orderedJoint observationalCopyModel) true = 1 / 2 ∧\n mediatorMarginal\n (orderedJoint observationalIndependentModel) true = 1 / 2 ∧\n mediatorMarginal\n (interventionalJoint observationalCopyModel true) true = 1 ∧\n mediatorMarginal\n (interventionalJoint observationalIndependentModel true) true = 1 / 2", "statement_sha256": "14e3cd053905231a11c15c89f5de837f9ba97bd680201bacdfba703625af1d41" }, @@ -161772,7 +161772,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.rowwiseBlanket_doesNotImply_stationaryBlanket", "source_line": 152, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem rowwiseBlanket_doesNotImply_stationaryBlanket :\n ∃ kernel : FiniteKernel (Bool × Bool) (Bool × Bool),\n ∃ law : FiniteLaw (Bool × Bool),\n ∃ blanketModel : ConditionalBlanketModel Unit Bool Bool,\n (∀ current,\n kernel.row current =\n (kernel.row current).fstMarginal.product\n (kernel.row current).sndMarginal) ∧\n FEP.FiniteMarkovDynamics.IsInvariant law kernel ∧\n blanketModel.conditional () = law ∧\n ¬(FEP.FiniteMarkovDynamics.IsInvariant law kernel ∧\n FEP.CausalDynamics.Factorizes blanketModel) ∧\n blanketModel.blanketLaw () = 1 ∧\n law (false, false) = 1 / 2 ∧\n law (true, true) = 1 / 2", "statement_sha256": "f348b3620915f9a263bd4f99c24af3502a9addd800b717e2daa62afb6d406ab5" }, @@ -161807,7 +161807,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.scaledLogisticProbability_lt_one", "source_line": 378, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem scaledLogisticProbability_lt_one (parameter : ℝ) :\n scaledLogisticProbability parameter < 1", "statement_sha256": "2e6fe5c533a079e9ad2be0bdce083c854ac34238df53044307c99382a56a7298" }, @@ -161842,7 +161842,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.scaledLogisticProbability_pos", "source_line": 374, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem scaledLogisticProbability_pos (parameter : ℝ) :\n 0 < scaledLogisticProbability parameter", "statement_sha256": "824ba94c63f5407af403d433f41a666f6ce2bd2197a762e6bfe1849ad82b274c" }, @@ -161875,7 +161875,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.sparseCoupling_doesNotImply_condIndep", "source_line": 178, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem sparseCoupling_doesNotImply_condIndep :\n ∃ internalKernel : FiniteKernel Bool Bool,\n ∃ externalKernel : FiniteKernel Bool Bool,\n ∃ kernel : FiniteKernel (Bool × Bool) (Bool × Bool),\n ∃ law : FiniteLaw (Bool × Bool),\n ∃ blanketModel : ConditionalBlanketModel Unit Bool Bool,\n kernel = pairedKernel internalKernel externalKernel ∧\n FEP.FiniteMarkovDynamics.IsInvariant law kernel ∧\n blanketModel.conditional () = law ∧\n ¬FEP.CausalDynamics.Factorizes blanketModel ∧\n blanketModel.blanketLaw () = 1 ∧\n law (false, false) = 1 / 2 ∧\n law (true, true) = 1 / 2", "statement_sha256": "edf4939dbc9d51a78a75cb7817e1516e6921e198318b5377eb6efcd6bddaf86f" }, @@ -161906,7 +161906,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.stationaryBlanket_doesNotImply_freeEnergyDescent", "source_line": 288, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem stationaryBlanket_doesNotImply_freeEnergyDescent :\n FEP.FiniteMarkovDynamics.IsInvariant independentFairBlanket\n pairIdentityKernel ∧\n FEP.CausalDynamics.Factorizes independentStationaryBlanketModel ∧\n independentStationaryBlanketModel.conditional () =\n independentFairBlanket ∧\n independentStationaryBlanketModel.blanketLaw () = 1 ∧\n independentFairBlanket.fstMarginal =\n predictedState (symmetricBoolModel fairBoolLaw) false ∧\n posteriorState (symmetricBoolModel fairBoolLaw) false false\n symmetricFalseEvidence = independentFairBlanket.fstMarginal ∧\n ¬LocalFreeEnergyDescent stationaryPosteriorFreeEnergy 0 ∧\n independentFairBlanket (false, false) = 1 / 4 ∧\n independentFairBlanket (true, true) = 1 / 4", "statement_sha256": "cf95c4b2a9b1f4dcdf163c51a4ea76d7c1618088d0f6cb58af4bc9a77225d847" }, @@ -161939,7 +161939,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.FiniteScientificImplications.symmetricFalseEvidence", "source_line": 230, - "source_owner": "src/fep_lean/formal/compositions/finite_scientific_implications.lean", + "source_owner": "src/fep_formal/formal/compositions/finite_scientific_implications.lean", "statement": "theorem symmetricFalseEvidence :\n 0 < predictedOutcome (symmetricBoolModel fairBoolLaw) false false", "statement_sha256": "d7c73acf8bacc6acf48fbe650adfe3ff8996efafe0c0e9278ec1b56b46a831d5" }, @@ -162075,7 +162075,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketConditionalCovarianceCrossZeroIff", "source_line": 364, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketConditionalCovarianceCrossZeroIff\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) :\n (blanketConditionalCovariance K).toBlocks₁₂ = 0 ↔\n ∀ e i, K (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) = 0", "statement_sha256": "82543d1c7ac500146dfb257e2e8bb67defcb5fdaba0abd8dbe8db5ea4a74e4f1" }, @@ -162199,7 +162199,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketConditionalCovariance_eq_inv", "source_line": 293, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketConditionalCovariance_eq_inv\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) :\n blanketConditionalCovariance K = (blanketConditionalPrecision K)⁻¹", "statement_sha256": "41a5793ca3c56b197654caa762f5e99fa923d787685d5f80ef65c68d9c79c738" }, @@ -162316,7 +162316,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketConditionalPrecision_posDef", "source_line": 286, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketConditionalPrecision_posDef\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) :\n (blanketConditionalPrecision K).PosDef", "statement_sha256": "cb5330b256e6651fc480b96b9c52b20958ca2e00b3e57b92afaca8ff19fe4edd" }, @@ -162470,7 +162470,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketNonSparsePrecisionConditionalCovarianceCrossNeZero", "source_line": 387, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketNonSparsePrecisionConditionalCovarianceCrossNeZero\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef) {e : E} {i : I}\n (hNonSparse : K (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) ≠ 0) :\n (blanketConditionalCovariance K).toBlocks₁₂ ≠ 0", "statement_sha256": "e8253d323bff29d8bcfd74590671447efdc668579c63a49fc98993be3f338333" }, @@ -162587,7 +162587,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketPrecisionCrossZeroIff", "source_line": 338, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketPrecisionCrossZeroIff\n {P : Matrix (E ⊕ I) (E ⊕ I) ℝ} (hP : P.PosDef) :\n P.toBlocks₁₂ = 0 ↔ P⁻¹.toBlocks₁₂ = 0", "statement_sha256": "2474fa4affe7ea8d3d04eb68e84f65c7da7a25520ec230cf22d4e11b9a073e21" }, @@ -162721,7 +162721,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.blanketSparsePrecisionConditionalCovarianceCrossZero", "source_line": 379, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem blanketSparsePrecisionConditionalCovarianceCrossZero\n {K : Matrix ((E ⊕ I) ⊕ B) ((E ⊕ I) ⊕ B) ℝ} (hK : K.PosDef)\n (hSparse : ∀ e i, K (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) = 0) :\n (blanketConditionalCovariance K).toBlocks₁₂ = 0", "statement_sha256": "fa63bd381bbd0ca7192dbb2b74b75ba39727078d362ec744d25a5d23a0f808ee" }, @@ -162754,7 +162754,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4BlanketIndex_injective", "source_line": 402, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4BlanketIndex_injective : Function.Injective fin4BlanketIndex", "statement_sha256": "2cd87498a1627b75b917ce381e20e1c7aad2d44c7915b73bdf9f19237da3e495" }, @@ -162794,7 +162794,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4BlanketPrecision_posDef", "source_line": 411, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4BlanketPrecision_posDef : fin4BlanketPrecision.PosDef", "statement_sha256": "8ae06f7f600160a23f89df2793a4a89edbf4fa2649256d429fa2ef8ca0aa8aca" }, @@ -162836,7 +162836,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4BlanketPrecision_sparse", "source_line": 414, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4BlanketPrecision_sparse :\n ∀ e i : Unit, fin4BlanketPrecision (Sum.inl (Sum.inl e)) (Sum.inl (Sum.inr i)) = 0", "statement_sha256": "abaf920b3ad07246792f367a4b980b6c4a985049de5a5b78e077f4a3a54ca9a0" }, @@ -162915,7 +162915,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.fin4_blanket_generic_instance", "source_line": 421, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fin4_blanket_generic_instance (center : StandardizedState) :\n (blanketConditionalCovariance fin4BlanketPrecision).toBlocks₁₂ = 0 ∧\n ((fun state : StandardizedState => state external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates; stationaryLaw center]\n (fun state => state internal))", "statement_sha256": "ad5040d032db1b99c8c2f9abfae4f30da990e31ddb56764a70de2cd80c4f0e70" }, @@ -162955,7 +162955,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.nonSparseBlanketPrecision_posDef", "source_line": 447, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem nonSparseBlanketPrecision_posDef : nonSparseBlanketPrecision.PosDef", "statement_sha256": "20016aac06891f89662226a65ad92a2661b56338f27738d7a8efadca5367d609" }, @@ -163009,7 +163009,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.nonSparseBlanket_conditionalCovariance_cross_ne_zero", "source_line": 452, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem nonSparseBlanket_conditionalCovariance_cross_ne_zero :\n nonSparseBlanketPrecision (Sum.inl (Sum.inl ())) (Sum.inl (Sum.inr ())) ≠ 0 ∧\n (blanketConditionalCovariance nonSparseBlanketPrecision).toBlocks₁₂ ≠ 0", "statement_sha256": "c43c8428f41b7489c95fffe7b7cbd84d1aa798a2c1c5d7687f38302ab4cac958" }, @@ -163042,7 +163042,7 @@ ], "qualified_name": "FEPComposed.GaussianBlanket.perturbedBlanketIndex_injective", "source_line": 437, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem perturbedBlanketIndex_injective : Function.Injective perturbedBlanketIndex", "statement_sha256": "fa57e71f87fe54cba54a8e879f7ad126217634e64e35d2f55c25ef2305c76601" }, @@ -163124,7 +163124,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.actionTransition_comp_belief", "source_line": 121, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem actionTransition_comp_belief {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n actionTransition control action ∘ₘ belief.law =\n (controlledBelief control belief action).law", "statement_sha256": "fd73841bdae74d18f249ca52c17ad57fbcda15f3430d52b32ed9a63cd8efaa84" }, @@ -163181,7 +163181,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.actionTransition_eq_ouTransition", "source_line": 113, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem actionTransition_eq_ouTransition {Action : Type*}\n (control : FiniteGaussianControlModel Action) (action : Action) :\n actionTransition control action =\n (control.dynamics action).ouTransition control.duration", "statement_sha256": "f2c2971d2cf8ed20cd65066cdc2f891779859bcdffe7a13efd3eda111a9569f7" }, @@ -163207,7 +163207,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolTie_false_true_risk_eq", "source_line": 612, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolTie_false_true_risk_eq :\n filteredQuadraticRisk boolTieControl boolWitnessFilter\n boolWitnessPrior 0 false =\n filteredQuadraticRisk boolTieControl boolWitnessFilter\n boolWitnessPrior 0 true", "statement_sha256": "a5c1ae220c8155345fa7ad48d35c32825caf285aecf8fc41c9d0470ef993705a" }, @@ -163240,7 +163240,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_actionTransitions_ne", "source_line": 597, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_actionTransitions_ne :\n actionTransition boolWitnessControl true ≠\n actionTransition boolWitnessControl false", "statement_sha256": "25c7d6743cef0e6352917e1d7f14b646101e3c344f769f4fb34f2c4eff06505d" }, @@ -163273,7 +163273,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_false_risk", "source_line": 564, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_false_risk :\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 false =\n (1 / 2 : ℝ) - (1 / 4 : ℝ) * (Real.exp (-1)) ^ 2", "statement_sha256": "bac3e1e2ffea68ac2f4fabf52df5fd6533d9ed8855f6ce1b6579ab480a5315d8" }, @@ -163299,7 +163299,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_posterior_mean", "source_line": 471, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_posterior_mean :\n posteriorMean boolWitnessFilter boolWitnessPrior 0 = 0", "statement_sha256": "1defd9753ace9bbe29e3cfeb5709cb88d53adc2840c2c7fa206795cfed0f09a7" }, @@ -163325,7 +163325,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_posterior_variance", "source_line": 481, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_posterior_variance :\n posteriorVariance boolWitnessFilter boolWitnessPrior = 1 / 4", "statement_sha256": "4291009f912be698cef0af32d56d8e96e994166f5978edde81ef42f835f2256b" }, @@ -163364,7 +163364,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_selectedAction", "source_line": 586, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_selectedAction : boolWitnessAction = true", "statement_sha256": "c0fe19bc58696c28fa2ec1fec1afc1bc5e2f6110642a031d706854288ef8f71b" }, @@ -163397,7 +163397,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_true_risk", "source_line": 554, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_true_risk :\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 true =\n (1 / 4 : ℝ)", "statement_sha256": "217d0f62a54f6d43915cc799953fdaf16bada72adf066b50e9b04506dbe2e8b2" }, @@ -163436,7 +163436,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.boolWitness_true_strictlyBetter", "source_line": 574, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem boolWitness_true_strictlyBetter :\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 true <\n filteredQuadraticRisk boolWitnessControl boolWitnessFilter\n boolWitnessPrior 0 false", "statement_sha256": "f50960104df29414e19cb548293e6dcb209232b47e1a700b5d15f818de376292" }, @@ -163503,7 +163503,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.controlledVariance_pos", "source_line": 87, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem controlledVariance_pos {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n 0 < controlledVariance control belief action", "statement_sha256": "40262dc304fc2aa307d900bfceeb32c4b69ec837b896359afcb9e7fdfb01b36b" }, @@ -163589,7 +163589,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.filteredQuadraticRisk_ae_eq_nativePosterior", "source_line": 256, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem filteredQuadraticRisk_ae_eq_nativePosterior {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (action : Action) :\n (fun observation =>\n filteredQuadraticRisk control filter prior observation action) =ᵐ[\n evidenceLaw filter prior]\n fun observation =>\n nativePosteriorQuadraticRisk control filter prior observation action", "statement_sha256": "b77e597072276d091251cf6b293e88a6965ca6941d7294639dd4d2dcebe1c717" }, @@ -163701,7 +163701,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.nativePosteriorSelectedAction_le", "source_line": 306, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem nativePosteriorSelectedAction_le {Action : Type*}\n [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (alternative : Action) :\n nativePosteriorQuadraticRisk control filter prior observation\n (nativePosteriorSelectedAction control filter prior observation) ≤\n nativePosteriorQuadraticRisk control filter prior observation\n alternative", "statement_sha256": "eed55226f0687680eced74041faf06b702142f6791a5431c715f5f855ae84d2b" }, @@ -163775,7 +163775,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.quadraticActionRisk_eq_closedForm", "source_line": 231, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem quadraticActionRisk_eq_closedForm {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n quadraticActionRisk control belief action =\n (controlledVariance control belief action : ℝ) +\n (controlledMean control belief action - control.target) ^ 2 +\n (control.actionPenalty action : ℝ)", "statement_sha256": "a2daa45437f442b4e17402e65a45284757fc134b412175e0c5443dc4b83c9142" }, @@ -163849,7 +163849,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.quadraticActionRisk_nonneg", "source_line": 247, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem quadraticActionRisk_nonneg {Action : Type*}\n (control : FiniteGaussianControlModel Action)\n (belief : ScalarGaussianBelief) (action : Action) :\n 0 ≤ quadraticActionRisk control belief action", "statement_sha256": "6e6e5a81064cc9241a831a7149f8b871c52b97261d95875f777db8fb15e70308" }, @@ -163887,7 +163887,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.quadraticTerminalLoss_unbounded", "source_line": 169, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem quadraticTerminalLoss_unbounded (target bound : ℝ) :\n ∃ state : ℝ, bound < quadraticTerminalLoss target state", "statement_sha256": "5a328ae1c12c85beb7be6d8e789c5e0727c466ee278755fc70299dca1d41a620" }, @@ -163977,7 +163977,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.selectedAction_ae_eq_nativePosteriorSelectedAction", "source_line": 321, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem selectedAction_ae_eq_nativePosteriorSelectedAction\n {Action : Type*} [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n (fun observation => selectedAction control filter prior observation) =ᵐ[\n evidenceLaw filter prior]\n fun observation =>\n nativePosteriorSelectedAction control filter prior observation", "statement_sha256": "b370fa851257c6f247eec4c8f8fc0d2c28ae4fda04a95823f1ea15df45431c79" }, @@ -164097,7 +164097,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.selectedAction_eq_of_strict", "source_line": 347, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem selectedAction_eq_of_strict {Action : Type*}\n [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (candidate : Action)\n (hStrict : ∀ alternative, alternative ≠ candidate →\n filteredQuadraticRisk control filter prior observation candidate <\n filteredQuadraticRisk control filter prior observation alternative) :\n selectedAction control filter prior observation = candidate", "statement_sha256": "12147543220470115dc868d5256d4dda46bbbdbd59d3805f62222d0783e07c06" }, @@ -164209,7 +164209,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianControl.selectedAction_le", "source_line": 294, - "source_owner": "src/fep_lean/formal/compositions/gaussian_control.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_control.lean", "statement": "theorem selectedAction_le {Action : Type*}\n [Fintype Action] [Nonempty Action]\n (control : FiniteGaussianControlModel Action)\n (filter : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (alternative : Action) :\n filteredQuadraticRisk control filter prior observation\n (selectedAction control filter prior observation) ≤\n filteredQuadraticRisk control filter prior observation alternative", "statement_sha256": "461ea43c50348de4bfa8218d3e58124a5f5381d7061fef869fd5a36e11f5f176" }, @@ -164261,7 +164261,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.closedFormPosterior_ae_eq_native", "source_line": 523, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem closedFormPosterior_ae_eq_native\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n closedFormPosteriorKernel model prior =ᵐ[evidenceLaw model prior]\n ProbabilityTheory.posterior (observationKernel model)\n (predictionBelief model prior).law", "statement_sha256": "b1baa13509d9fd10804ac718ed2e12f0b465da3773c0aaf8f023ef718bd5809d" }, @@ -164319,7 +164319,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.closedFormPosterior_compProd_eq_map_swap", "source_line": 513, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem closedFormPosterior_compProd_eq_map_swap\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n evidenceLaw model prior ⊗ₘ closedFormPosteriorKernel model prior =\n ((predictionBelief model prior).law ⊗ₘ observationKernel model).map\n Prod.swap", "statement_sha256": "caf22f2ff3674abb8cad1c74dcc1dab94f61588a6140e670ba1302364058dd74" }, @@ -164374,7 +164374,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.closedFormPosterior_univ", "source_line": 567, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem closedFormPosterior_univ\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n closedFormPosteriorKernel model prior observation Set.univ = 1", "statement_sha256": "8797b96c0b072320e982c29edb58d562c3cef4fbe7c1914721f07d84e8e909fe" }, @@ -164436,7 +164436,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceDensity_ne_zero", "source_line": 545, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceDensity_ne_zero\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n evidenceDensity model prior observation ≠ 0", "statement_sha256": "52b0c74072c944af51200081f7397a3e2740111d792389686e74d31c1824476b" }, @@ -164498,7 +164498,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceDensity_pos", "source_line": 535, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceDensity_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n 0 < evidenceDensity model prior observation", "statement_sha256": "8b881129b4061401d80b16a4256ca29273c3619e3de96bd9b70c38ccab79593e" }, @@ -164550,7 +164550,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceLaw_eq_gaussian", "source_line": 501, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceLaw_eq_gaussian\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n let predicted := predictionBelief model prior\n evidenceLaw model prior = (evidenceFamily model prior).law predicted.mean", "statement_sha256": "656dcc9cf57f1d196aa0478777265723385482378270c26310dd5896b6451868" }, @@ -164618,7 +164618,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.evidenceLaw_singleton_eq_zero", "source_line": 553, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem evidenceLaw_singleton_eq_zero\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n evidenceLaw model prior {observation} = 0", "statement_sha256": "5edc515c55ff9fd3755f49f4c7261f5bc07fac09171874b016cefb414716471e" }, @@ -164683,7 +164683,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.filterRecursion_cons", "source_line": 591, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem filterRecursion_cons\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) (observations : List ℝ) :\n filterRecursion model prior (observation :: observations) =\n filterRecursion model\n (posteriorBelief model prior observation) observations", "statement_sha256": "051f0f93fdf8885c0f8d94cec2404045f69e6c90c2215f7586f9ca5876bb5923" }, @@ -164728,7 +164728,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.filterRecursion_nil", "source_line": 584, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem filterRecursion_nil\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n filterRecursion model prior [] = prior", "statement_sha256": "26635f9ddef56d5168bd6d9484a1be3b7f230c043ac5a59a2a9ddf0519c2cfac" }, @@ -164780,7 +164780,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.gaussianEvidence_compProd_closedForm_eq_map_swap", "source_line": 452, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem gaussianEvidence_compProd_closedForm_eq_map_swap\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n let predicted := predictionBelief model prior\n (evidenceFamily model prior).law predicted.mean ⊗ₘ\n closedFormPosteriorKernel model prior =\n ((predictionBelief model prior).law ⊗ₘ observationKernel model).map\n Prod.swap", "statement_sha256": "c766a28fc62fef74f8ce67cc210da8de26de0732da79406906fd14a7957aa0ea" }, @@ -164836,7 +164836,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.gaussianPDF_factorization", "source_line": 326, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem gaussianPDF_factorization\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (state observation : ℝ) :\n let predicted := predictionBelief model prior\n gaussianPDF predicted.mean predicted.family.variance state *\n gaussianPDF state model.observationNoise.variance observation =\n evidenceDensity model prior observation *\n gaussianPDF (posteriorMean model prior observation)\n (posteriorVariance model prior) state", "statement_sha256": "392acda0e95f6aa99880219b544e21ce244a6bc73893deaae5b02fd586792f0f" }, @@ -164881,7 +164881,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.innovationVariance_pos", "source_line": 154, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem innovationVariance_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n 0 < innovationVariance model prior", "statement_sha256": "9f5ed852f327f72de0bb4275c76d36c04af3cd1f2dde501f6b2fa605b008a7e3" }, @@ -164926,7 +164926,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.observationKernel_apply", "source_line": 123, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem observationKernel_apply\n (model : ScalarGaussianFilterModel) (state : ℝ) :\n observationKernel model state = model.observationNoise.law state", "statement_sha256": "2b061efd80a5a8a20e4bc199d58565048b7f80e5179bb1f4ce6b9aa337ed256b" }, @@ -164978,7 +164978,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.posteriorVariance_pos", "source_line": 162, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem posteriorVariance_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n 0 < posteriorVariance model prior", "statement_sha256": "937d8568e304accec96d57d86ee06091c33f16d02e18445441ea4c739f3c8269" }, @@ -165023,7 +165023,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.predictionBelief_law_eq_ouTransition", "source_line": 90, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem predictionBelief_law_eq_ouTransition\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n model.dynamics.ouTransition model.stepDuration ∘ₘ prior.law =\n (predictionBelief model prior).law", "statement_sha256": "76dae2c145de19a1cb1288f7c76e2cb8c9148dc998882cbc3ef7ffdd91930679" }, @@ -165068,7 +165068,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianFilter.predictionVariance_pos", "source_line": 69, - "source_owner": "src/fep_lean/formal/compositions/gaussian_filter.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_filter.lean", "statement": "theorem predictionVariance_pos\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n 0 < predictionVariance model prior", "statement_sha256": "1b7e1184844c7dc7e2b5d1909b7d1413fa0333e5904fc4cedbf46b65b9e266f5" }, @@ -165143,7 +165143,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.expectedLogRatio_nonneg", "source_line": 193, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem expectedLogRatio_nonneg\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hAC : forwardGridLaw model grid n ≪ reverseAlignedGridLaw model grid n)\n (hIntegrable : Integrable\n (MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n))\n (forwardGridLaw model grid n)) :\n 0 ≤ ∫ path, MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n) path\n ∂forwardGridLaw model grid n", "statement_sha256": "eba513c61baacfdd5ef63e3962b1db133a1c6643c63ff9605cc7d4c946c626ca" }, @@ -165198,7 +165198,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.forwardGridLaw_normalized", "source_line": 101, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem forwardGridLaw_normalized\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ) :\n forwardGridLaw model grid n Set.univ = 1", "statement_sha256": "a11d1ed59497a11e9208b66cb9cfd47ddc6d551e1015ff30a5465230ec5d1b95" }, @@ -165273,7 +165273,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.gridPathKL_eq_expectedLogRatio", "source_line": 177, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem gridPathKL_eq_expectedLogRatio\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hAC : forwardGridLaw model grid n ≪ reverseAlignedGridLaw model grid n)\n (hIntegrable : Integrable\n (MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n))\n (forwardGridLaw model grid n)) :\n gridPathKL model grid n = ENNReal.ofReal\n (∫ path, MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n) path\n ∂forwardGridLaw model grid n)", "statement_sha256": "8e5b4e1e3e78d8f3c775f11c1e8f13a4952b18c27dd9cf38e50e5c5b3b131a9f" }, @@ -165338,7 +165338,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.gridPathKL_eq_top_of_not_ac", "source_line": 207, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem gridPathKL_eq_top_of_not_ac\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hNotAC : ¬ forwardGridLaw model grid n ≪\n reverseAlignedGridLaw model grid n) :\n gridPathKL model grid n = ∞", "statement_sha256": "c02359e6854e49b3639bc4d9fbb8ce1817c88b2d201af281c7376dc80b851cce" }, @@ -165403,7 +165403,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.gridPathKL_eq_top_of_not_integrable", "source_line": 215, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem gridPathKL_eq_top_of_not_integrable\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (hNotIntegrable : ¬ Integrable\n (MeasureTheory.llr (forwardGridLaw model grid n)\n (reverseAlignedGridLaw model grid n))\n (forwardGridLaw model grid n)) :\n gridPathKL model grid n = ∞", "statement_sha256": "21caa89b12ea50d28868b5a72a89e61db6df85c0b5ed3d36297dfefb9d302064" }, @@ -165475,7 +165475,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.integral_reverseAlignedGridLaw", "source_line": 148, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem integral_reverseAlignedGridLaw\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (f : GridPath n →ᵇ ℝ) :\n (∫ path, f path ∂reverseAlignedGridLaw model grid n) =\n ∫ path, f (reverseGridPath n path) ∂forwardGridLaw model grid n", "statement_sha256": "ca489f09f8086f9321cb8dd478e5c237a8e99dec67ac557f897a694921d5c39b" }, @@ -165552,7 +165552,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.ouPartialTraj_comp", "source_line": 71, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem ouPartialTraj_comp\n (model : ScalarOUParameters) (grid : TimeGrid)\n {a b c : ℕ} (hab : a ≤ b) (hbc : b ≤ c) :\n ouPartialTraj model grid b c ∘ₖ ouPartialTraj model grid a b =\n ouPartialTraj model grid a c", "statement_sha256": "0cc5c1057275303adaef35031cdf6cfecdb093c3a33627cfb9499d236420d2fa" }, @@ -165607,7 +165607,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.reverseAlignedGridLaw_normalized", "source_line": 142, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem reverseAlignedGridLaw_normalized\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ) :\n reverseAlignedGridLaw model grid n Set.univ = 1", "statement_sha256": "3863bbd5399228b43787008fec538af1d4c5a1760e3d0d11126344c7b0d031df" }, @@ -165642,7 +165642,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.reverseGridPath_involutive", "source_line": 119, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem reverseGridPath_involutive (n : ℕ) :\n Function.Involutive (reverseGridPath n)", "statement_sha256": "935ad0410a8409f73e208c492df4d8f0216c989bf7b29dc04cc3b51ff173d5ce" }, @@ -165677,7 +165677,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.reverseGridPath_measurable", "source_line": 111, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem reverseGridPath_measurable (n : ℕ) : Measurable (reverseGridPath n)", "statement_sha256": "81374b513ae98e358ba852e764f5ed6c6e16d711b458fb540d535a560de5b209" }, @@ -165770,7 +165770,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.GaussianGridPath.rnDeriv_forward_reverseAligned_eq_ratio", "source_line": 164, - "source_owner": "src/fep_lean/formal/compositions/gaussian_grid_path.lean", + "source_owner": "src/fep_formal/formal/compositions/gaussian_grid_path.lean", "statement": "theorem rnDeriv_forward_reverseAligned_eq_ratio\n (model : ScalarOUParameters) (grid : TimeGrid) (n : ℕ)\n (dominating : Measure (GridPath n)) [SigmaFinite dominating]\n (hForward : forwardGridLaw model grid n ≪ dominating)\n (hReverse : reverseAlignedGridLaw model grid n ≪ dominating) :\n (forwardGridLaw model grid n).rnDeriv\n (reverseAlignedGridLaw model grid n) =ᵐ[reverseAlignedGridLaw model grid n]\n fun path =>\n (forwardGridLaw model grid n).rnDeriv dominating path /\n (reverseAlignedGridLaw model grid n).rnDeriv dominating path", "statement_sha256": "198e0fcf7f26861e1e060c4bcc07d7c1c7276f4fd271cf7442e1f5a567a9709d" }, @@ -165803,7 +165803,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.all_zero_grid_kl", "source_line": 4205, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem all_zero_grid_kl :\n klDiv (studyProjectedLaw allZeroStudyGrid) (studyReverseLaw allZeroStudyGrid) = 0", "statement_sha256": "8638489cdc55170fd4cc3bf165ed3cadc33d2bdb6823c7ac160a8923403f8797" }, @@ -165898,7 +165898,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.arbitrary_state_projection", "source_line": 207, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem arbitrary_state_projection (center : ℝ) (time : ℝ≥0)\n (state : FEP.H3ReferenceModel.StandardState) :\n (FEP.H3ReferenceModel.transition\n (FEP.H3ReferenceModel.fromNativeState (allOnesEmbedding center)) time state).map\n scalarCoordinate =\n (FEP.H3ReferenceModel.scalarParameters center).ouTransition time\n (scalarCoordinate state)", "statement_sha256": "45f8995ee824085b11b646614c9141938a81de16d86ac666fac6a263576a6b1c" }, @@ -165973,7 +165973,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.arbitrary_state_projection_native", "source_line": 191, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem arbitrary_state_projection_native (center : ℝ) (time : ℝ≥0)\n (state : StandardizedState) :\n (transition (allOnesEmbedding center) time state).map allOnesProjection =\n (scalarParameters center).ouTransition time (allOnesProjection state)", "statement_sha256": "8036b1ad06e34ab06611f039dbf4f2a6e4a28aa3b3dd478fd0a0d379eaf7acca" }, @@ -166037,7 +166037,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchCovariance_posDef", "source_line": 428, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchCovariance_posDef (n : ℕ) (noise : ℝ) (hNoise : 0 < noise) :\n (batchCovariance n noise).PosDef", "statement_sha256": "2b99bb1ae59e4132430fd2ccf27b7247ce209fbbfae1a1b9d1d7efab0e489473" }, @@ -166101,7 +166101,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchDenominator_pos", "source_line": 466, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchDenominator_pos (n : ℕ) (noise : ℝ) (hNoise : 0 < noise) :\n 0 < 2 * noise + n", "statement_sha256": "25c5872ab57cf0c2f6c2534536b6d30a979270b9c310b3645746f0ccdf32c621" }, @@ -166183,7 +166183,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_eq", "source_line": 488, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_eq (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise)\n (state : BatchState n) :\n batchError center noise state =\n batchPosteriorMean center noise (batchObservations state) - state 0", "statement_sha256": "f934901e2b20b447ccaa265994adf2a2250d37c12cfa53395c9626adef71c416" }, @@ -166238,7 +166238,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_hasGaussianLaw", "source_line": 507, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_hasGaussianLaw (n : ℕ) (center noise : ℝ) :\n HasGaussianLaw (batchError (n := n) center noise) (batchSourceLaw n center noise)", "statement_sha256": "88122c27aa57b9d9423f727f84f6a96d4eee76e465260d04816cba5875557a36" }, @@ -166293,7 +166293,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_mean", "source_line": 512, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_mean (n : ℕ) (center noise : ℝ) :\n ∫ state, batchError center noise state ∂batchSourceLaw n center noise = 0", "statement_sha256": "c31e4a663685f20994254d3eb270fe83c81f494a583f99952f166d2e96e45a53" }, @@ -166365,7 +166365,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchError_variance", "source_line": 535, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchError_variance (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n Var[batchError center noise; batchSourceLaw n center noise] =\n batchPosteriorVariance n noise", "statement_sha256": "8596ffc8baca642d5f33e398a7238aae84dd7dffb4f1122655421961bcbaf08c" }, @@ -166436,7 +166436,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batchPosteriorVariance_pos", "source_line": 469, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batchPosteriorVariance_pos (n : ℕ) (noise : ℝ) (hNoise : 0 < noise) :\n 0 < batchPosteriorVariance n noise", "statement_sha256": "5a7f658a214e5e960c772589bbf112b0101880ba1dbeac883cf48effc89a59d6" }, @@ -166508,7 +166508,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batch_innovations_independent", "source_line": 614, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batch_innovations_independent (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n iIndepFun (fun index : Fin (n + 1) => fun state : BatchState n => state index)\n (batchSourceLaw n center noise)", "statement_sha256": "6c47b1eaa06a1b392d9b6613fb6ec3c3034994e6bc6d3dc4ecf44d53e73b6dc5" }, @@ -166580,7 +166580,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.batch_latent_law", "source_line": 630, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem batch_latent_law (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n (batchSourceLaw n center noise).map (fun state => state 0) =\n gaussianReal center (1 / 2)", "statement_sha256": "b02186222ab19b00b4768cb0dbc61d634da2269a1cb9808fe3cb17324d0f94ac" }, @@ -166637,7 +166637,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.clamp_conditional_covariance", "source_line": 2566, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem clamp_conditional_covariance (center : FEP.Fin4GaussianSemigroup.StandardizedState) :\n (condDistrib sensoryEndpoints sensoryClampedBlanket (sensoryClampedLaw center)\n =ᵐ[(sensoryClampedLaw center).map sensoryClampedBlanket]\n sensoryClampedConditionalKernel center) ∧\n ∀ datum : ℝ,\n cov[Prod.fst, Prod.snd; sensoryClampedConditionalKernel center (datum, 0)] = 1 / 56", "statement_sha256": "9e8e30772da525c47060f27cb7577f11f2f7a05d658c5b2f02dab3362081b173" }, @@ -166698,7 +166698,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.clamp_nondescendants", "source_line": 302, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem clamp_nondescendants (value : ℝ)\n (law : Measure FEP.H3ReferenceModel.StandardState) :\n (clampKernel value ∘ₘ law).map\n (fun state => (state FEP.H3ReferenceModel.Axis.external,\n state FEP.H3ReferenceModel.Axis.sensory,\n state FEP.H3ReferenceModel.Axis.internal)) =\n law.map (fun state => (state FEP.H3ReferenceModel.Axis.external,\n state FEP.H3ReferenceModel.Axis.sensory,\n state FEP.H3ReferenceModel.Axis.internal))", "statement_sha256": "4ac23984736287ea56ab6c197d6d4810f1865b88789bfe4d9bcec777d645568f" }, @@ -166752,7 +166752,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.clamp_normalization", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem clamp_normalization (value : ℝ) (state : FEP.H3ReferenceModel.StandardState) :\n clampKernel value state Set.univ = 1", "statement_sha256": "f75b5ae7e1b4250a80dbeeeeb3c41b2292bfc94859ebb3af1dd374b274e22e6a" }, @@ -166797,7 +166797,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_bound_limit", "source_line": 574, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_bound_limit (noise epsilon : ℝ) :\n Tendsto (fun n : ℕ => batchPosteriorVariance n noise / epsilon ^ 2)\n atTop (nhds 0)", "statement_sha256": "b551c81cb00abe8a7ef84a4e854b2ca0398952ea18197794048b3971b423bf7e" }, @@ -166882,7 +166882,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_limit", "source_line": 587, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_limit (center noise epsilon : ℝ) (hNoise : 0 < noise)\n (hEpsilon : 0 < epsilon) :\n Tendsto (fun n : ℕ => (batchSourceLaw n center noise).real\n {state | epsilon ≤ |batchPosteriorMean center noise (batchObservations state) - state 0|})\n atTop (nhds 0)", "statement_sha256": "d510912e53e67e8e77a8f3f5373ab25e7506bffba5e18d55bd3e78fd43b8f6f9" }, @@ -166972,7 +166972,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_mse", "source_line": 553, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_mse (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n (∫ state, (batchPosteriorMean center noise (batchObservations state) - state 0) ^ 2\n ∂batchSourceLaw n center noise) = noise / (2 * noise + n)", "statement_sha256": "b3d879e7341b24aa3968bcde2c620f0c15a215483d73029eb75f3a9ef9eadc69" }, @@ -167073,7 +167073,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.consistency_tail", "source_line": 563, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem consistency_tail (n : ℕ) (center noise epsilon : ℝ)\n (hNoise : 0 < noise) (hEpsilon : 0 < epsilon) :\n batchSourceLaw n center noise\n {state | epsilon ≤ |batchPosteriorMean center noise (batchObservations state) - state 0|} ≤\n ENNReal.ofReal (batchPosteriorVariance n noise / epsilon ^ 2)", "statement_sha256": "e04e3f14df28f06983419b8467de22ade11654d29aaeb6a97134d8fd70713e08" }, @@ -167113,7 +167113,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.constitutive_nonidentification", "source_line": 4223, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem constitutive_nonidentification :\n hypotheticalEnergyLaw 1 = hypotheticalEnergyLaw 2 ∧\n klDiv (hypotheticalEnergyLaw 1) (studyReverseLaw informationGrid) =\n klDiv (hypotheticalEnergyLaw 2) (studyReverseLaw informationGrid) ∧\n hypotheticalAssignedExpectedHeat 1 < hypotheticalAssignedExpectedHeat 2", "statement_sha256": "0ca9b760af6b88ce02f237c279af88f826751dd94e2916620a954e3e67e9e67b" }, @@ -167146,7 +167146,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlDecay_bounds", "source_line": 938, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlDecay_bounds : 0 < controlDecay ∧ controlDecay < 1", "statement_sha256": "31fefaae00d240a37927ba0035338b017c6c2c3be470b98a5c6327e8195c410b" }, @@ -167200,7 +167200,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlledMean_exact", "source_line": 2316, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlledMean_exact (belief : ScalarGaussianBelief) (action : Bool) :\n controlledMean controlModel belief action =\n controlDecay * belief.mean + (1 - controlDecay) * actionCenter action", "statement_sha256": "10bdf8c7a14d9b87821345f8ae8b463a06bf143bcc039306eb1da8d3284bb737" }, @@ -167254,7 +167254,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlledVariance_exact", "source_line": 2308, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlledVariance_exact (belief : ScalarGaussianBelief) (action : Bool) :\n (controlledVariance controlModel belief action : ℝ) = terminalVariance belief", "statement_sha256": "0e76ca94226ef1bbaf58f556ab961ca6c142ca830eaa0799b0ab72eb4dff8164" }, @@ -167318,7 +167318,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlled_moment_bound", "source_line": 3233, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlled_moment_bound (policy : TwoStepPolicy) (noise : ℝ≥0) (hNoise : 0 < noise) :\n (∫ state, (allOnesProjection state) ^ 2 ∂controlFirstLaw policy) ≤ controlledBound ∧\n (∫ state, (allOnesProjection state) ^ 2 ∂controlSecondLaw policy noise hNoise) ≤ controlledBound ∧\n (∫ state, ‖state‖ ^ 2 ∂controlFirstLaw policy) ≤ controlledBound + 2 / 3 ∧\n (∫ state, ‖state‖ ^ 2 ∂controlSecondLaw policy noise hNoise) ≤ controlledBound + 2 / 3", "statement_sha256": "e1f4b3c64b852089226cf996aeadeb519eb01aaffb0a2727e2874acba03e7ab9" }, @@ -167405,7 +167405,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.controlled_native_cost", "source_line": 4358, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem controlled_native_cost (policy : TwoStepPolicy) (noise : ℝ≥0) (hNoise : 0 < noise) :\n (∫ state, (allOnesProjection state) ^ 2 ∂controlSecondLaw policy noise hNoise) =\n policyRisk noise hNoise policy", "statement_sha256": "ff0cc91fbcf0c1a9e5a6e48c0b17dc2006d11772b9f84bd620dd1a071df5f7ab" }, @@ -167492,7 +167492,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.efe_native_information", "source_line": 2342, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem efe_native_information (belief : ScalarGaussianBelief) (action : Bool)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n terminalInformation belief action noise hNoise =\n ENNReal.ofReal ((1 / 2 : ℝ) * Real.log (1 + terminalVariance belief / noise))", "statement_sha256": "a724a74fc5adec547d450c8b7c79d1555c6c54ff273f1a958ccd770e9eaca64e" }, @@ -167588,7 +167588,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.efe_risk_alignment", "source_line": 2412, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem efe_risk_alignment (belief : ScalarGaussianBelief) (left right : Bool)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n expectedFreeEnergy 0 belief left noise hNoise -\n expectedFreeEnergy 0 belief right noise hNoise =\n quadraticActionRisk controlModel belief left - quadraticActionRisk controlModel belief right", "statement_sha256": "b28ad686b3c9869bf08b9ec336848a9f9f836b2162291c46b47af585b84879b5" }, @@ -167670,7 +167670,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.efe_risk_ordering", "source_line": 2423, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem efe_risk_ordering (belief : ScalarGaussianBelief) (left right : Bool)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n (expectedFreeEnergy 0 belief left noise hNoise ≤ expectedFreeEnergy 0 belief right noise hNoise ↔\n quadraticActionRisk controlModel belief left ≤ quadraticActionRisk controlModel belief right) ∧\n (expectedFreeEnergy 0 belief left noise hNoise = expectedFreeEnergy 0 belief right noise hNoise ↔\n quadraticActionRisk controlModel belief left = quadraticActionRisk controlModel belief right)", "statement_sha256": "ac82adc0cfbedd671d1749577fc86b9b9832c9c1f621d4947561f41bf0c27cff" }, @@ -167761,7 +167761,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.expectedFreeEnergy_closedForm", "source_line": 2390, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem expectedFreeEnergy_closedForm (preference : ℝ) (belief : ScalarGaussianBelief)\n (action : Bool) (noise : ℝ≥0) (hNoise : 0 < noise) :\n expectedFreeEnergy preference belief action noise hNoise =\n terminalVariance belief +\n (controlledMean controlModel belief action - preference) ^ 2 +\n (1 / 2 : ℝ) * Real.log Real.pi -\n (1 / 2 : ℝ) * Real.log (1 + terminalVariance belief / noise)", "statement_sha256": "68bcbbde9d52fc333e2817eee104caf42070ea98a2d44cd2f5b7be64694b9031" }, @@ -167838,7 +167838,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.feedback_false_attainment", "source_line": 4849, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem feedback_false_attainment (noise : ℝ≥0) (hNoise : 0 < noise) (policy : TwoStepPolicy) :\n policyRisk noise hNoise (feedbackPolicy false noise hNoise) ≤ policyRisk noise hNoise policy", "statement_sha256": "bab27ae10a1bbbc61e6055d530c14bd92661d73441805cf33b7e6c1c809d047e" }, @@ -167892,7 +167892,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.feedback_first_risk_symmetry", "source_line": 4816, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem feedback_first_risk_symmetry (noise : ℝ≥0) (hNoise : 0 < noise) :\n policyRisk noise hNoise (feedbackPolicy false noise hNoise) =\n policyRisk noise hNoise (feedbackPolicy true noise hNoise)", "statement_sha256": "593c85770c008e78b9fd37a4d7b1b60de775acb9dd178555ff0cc3173d4ab5ee" }, @@ -167932,7 +167932,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_kl", "source_line": 4116, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_kl :\n klDiv (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid) =\n ENNReal.ofReal (2 * (1 - controlDecay ^ 2))", "statement_sha256": "f9166047f3f595714c5e9f4a5710e3122bfdc87c0103278f09b5373e74e142fe" }, @@ -167978,7 +167978,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_kl_mahalanobis", "source_line": 4581, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_kl_mahalanobis :\n klDiv (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid) =\n ENNReal.ofReal ((1 / 2 : ℝ) *\n ((informationMean - fun index => informationMean (2 - index)) ⬝ᵥ\n (informationCovariance⁻¹ *ᵥ (informationMean - fun index => informationMean (2 - index)))))", "statement_sha256": "43eb287e6c3b41be430d9ec91e18c29efe0258cf5cf961d18b2c6da8d3792169" }, @@ -168018,7 +168018,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_kl_positive", "source_line": 4136, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_kl_positive :\n 0 < klDiv (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid)", "statement_sha256": "0adb3abfa02f7da3262e179550ea48150da5d07935bedb706819520c7455ae60" }, @@ -168064,7 +168064,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_mutual_support", "source_line": 4659, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_mutual_support :\n (studyProjectedLaw informationGrid ≪ studyReverseLaw informationGrid ∧\n Integrable (llr (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid))\n (studyProjectedLaw informationGrid)) ∧\n (studyReverseLaw informationGrid ≪ studyProjectedLaw informationGrid ∧\n Integrable (llr (studyReverseLaw informationGrid) (studyProjectedLaw informationGrid))\n (studyReverseLaw informationGrid))", "statement_sha256": "5763bdc790633e1dff25bc7f59b76b07efeaf62dc3771847c8ed54d0278b8e9b" }, @@ -168104,7 +168104,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_reverse_kl", "source_line": 4644, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_reverse_kl :\n klDiv (studyReverseLaw informationGrid) (studyProjectedLaw informationGrid) =\n ENNReal.ofReal (2 * (1 - controlDecay ^ 2))", "statement_sha256": "dbf31f1f8581f74121ead297070ba3bd290ae8eb11a597d97234a531f411fa17" }, @@ -168144,7 +168144,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_grid_support", "source_line": 4143, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_grid_support :\n studyProjectedLaw informationGrid ≪ studyReverseLaw informationGrid ∧\n Integrable (llr (studyProjectedLaw informationGrid) (studyReverseLaw informationGrid))\n (studyProjectedLaw informationGrid)", "statement_sha256": "ec786a5031e36cadaf7fb65a85b3fb3c2d31782d36427a09bb6ded6be9304a10" }, @@ -168222,7 +168222,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_likelihood_conjugacy", "source_line": 769, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_likelihood_conjugacy (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n (batchSourceLaw n center noise).map (fun state => (batchObservations state, state 0)) =\n ((batchSourceLaw n center noise).map batchObservations) ⊗ₘ\n batchPosteriorKernel n center noise", "statement_sha256": "ee6129124b004462922bab8093cbb0b1f1eba55ef9d06d89e5b25045caa4192e" }, @@ -168300,7 +168300,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.finite_native_posterior", "source_line": 789, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem finite_native_posterior (n : ℕ) (center noise : ℝ) (hNoise : 0 < noise) :\n condDistrib (fun state : BatchState n => state 0) batchObservations\n (batchSourceLaw n center noise) =ᵐ[(batchSourceLaw n center noise).map batchObservations]\n batchPosteriorKernel n center noise", "statement_sha256": "e5465d3e4346bb04fb4110ad1e22d480fb04db67ded1804ffb19f26388f8cc90" }, @@ -168384,7 +168384,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.fullPathObservationKernel_native_row", "source_line": 2249, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem fullPathObservationKernel_native_row (n : ℕ) (index : Iic n)\n (noise : ℝ≥0) (hNoise : 0 < noise) (path : FullGridPath n) :\n fullPathObservationKernel n index noise hNoise path =\n gaussianReal (allOnesProjection (path index)) noise", "statement_sha256": "9aaecee1f47fad225737f95add0bf3ab89f95870a6bf6e92c90c1f45740046f7" }, @@ -168473,7 +168473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.full_native_path_projection", "source_line": 2189, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem full_native_path_projection (center : ℝ) (grid : TimeGrid)\n (initial : Measure StandardizedState) [IsProbabilityMeasure initial] (n : ℕ) :\n (fullNativeGridLaw center grid initial n).map (projectFullPath n) =\n scalarNativeGridLaw center grid (initial.map allOnesProjection) n", "statement_sha256": "d95103858e415db133b73e53c127a04a5ad284be5b9855917e2a81649e67c50b" }, @@ -168526,7 +168526,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.gaussianSigma_scalar_marginal", "source_line": 805, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem gaussianSigma_scalar_marginal (mean : StandardizedState) :\n (multivariateGaussian mean FEP.Fin4GaussianSemigroup.Sigma).map allOnesProjection =\n gaussianReal (allOnesProjection mean) (1 / 2)", "statement_sha256": "978d11b3b1b2ee75b27c1bafb6ec685315ae67d32487c60efacc2d2794989383" }, @@ -168568,7 +168568,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_native_binding", "source_line": 839, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_native_binding :\n hiddenContrast = (Real.sqrt 2)⁻¹ • WithLp.toLp 2 eigenmodeFourExternal ∧\n K *ᵥ hiddenContrast = 4 • hiddenContrast", "statement_sha256": "9640c3144624bd816e1434ffe2313482887c5b91e6632827b1b66f471aec6580" }, @@ -168608,7 +168608,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_ne_zero", "source_line": 860, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_ne_zero : hiddenContrast ≠ 0", "statement_sha256": "dd88e26f8d3c58287d3d63101483f6607b6944e4b035e1b84bd872eb44c06081" }, @@ -168641,7 +168641,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_norm", "source_line": 848, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_norm : ‖hiddenContrast‖ = 1", "statement_sha256": "e6bc885579322b42e19cf1bdf0775d46c2b9919796cea60a64222f41344ce731" }, @@ -168674,7 +168674,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenContrast_projection", "source_line": 866, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenContrast_projection : allOnesProjection hiddenContrast = 0", "statement_sha256": "fa8646eabd4921237b5067b36ed5d8f4d8a0028fd4f729440ad3894f57159204" }, @@ -168749,7 +168749,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hiddenInitialLaw_projection", "source_line": 884, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hiddenInitialLaw_projection (center : ℝ) (shiftHidden : Bool) :\n (hiddenInitialLaw center shiftHidden).map allOnesProjection =\n gaussianReal center (1 / 2)", "statement_sha256": "8e2a53751e74e79c2cc0b0572ba420b5078deb89e4c173992f00aa0b8d4a8dd8" }, @@ -168816,7 +168816,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hidden_mode_marginal_nonidentifiability", "source_line": 909, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hidden_mode_marginal_nonidentifiability (center : ℝ) (time : ℝ≥0) :\n hiddenInitialLaw center false ≠ hiddenInitialLaw center true ∧\n (transition (allOnesEmbedding center) time ∘ₘ hiddenInitialLaw center false).map\n allOnesProjection =\n (transition (allOnesEmbedding center) time ∘ₘ hiddenInitialLaw center true).map\n allOnesProjection", "statement_sha256": "730f2bee8d37d40375e3745bba7f9fa7bbf897f309e8a2d5b83c084b8beff72e" }, @@ -168919,7 +168919,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.hidden_mode_nonidentifiability", "source_line": 2271, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem hidden_mode_nonidentifiability (grid : TimeGrid) (n : ℕ) (index : Iic n)\n (noise : ℝ≥0) (hNoise : 0 < noise) :\n hiddenInitialLaw 0 false ≠ hiddenInitialLaw 0 true ∧\n (fullNativeGridLaw 0 grid (hiddenInitialLaw 0 false) n).map (projectFullPath n) =\n (fullNativeGridLaw 0 grid (hiddenInitialLaw 0 true) n).map (projectFullPath n) ∧\n ((fullNativeGridLaw 0 grid (hiddenInitialLaw 0 false) n) ⊗ₘ\n fullPathObservationKernel n index noise hNoise).map (Prod.map (projectFullPath n) id) =\n ((fullNativeGridLaw 0 grid (hiddenInitialLaw 0 true) n) ⊗ₘ\n fullPathObservationKernel n index noise hNoise).map (Prod.map (projectFullPath n) id)", "statement_sha256": "6376dfcd750939697490ca67e76dd6aadb7e66c122dda693d9e403ed22b17b16" }, @@ -168952,7 +168952,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationCovariance_inverse", "source_line": 4569, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationCovariance_inverse : informationCovariance⁻¹ = informationInverse", "statement_sha256": "3c722af729b31efc2f9da864705d0b6ff8bd2acebd792b4ba35346aa4959dabb" }, @@ -168985,7 +168985,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationCovariance_posDef", "source_line": 4519, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationCovariance_posDef : informationCovariance.PosDef", "statement_sha256": "ab208d74b323fd799551ffaed61343e2968257bf427be870538756a322bc629e" }, @@ -169030,7 +169030,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationCovariance_time_entries", "source_line": 4729, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationCovariance_time_entries (left right : Fin 3) :\n informationCovariance left right = (1 / 2 : ℝ) *\n Real.exp (-2 * |(informationGrid.time left.val : ℝ) - (informationGrid.time right.val : ℝ)|)", "statement_sha256": "cde423e2356ae119edbbe790d4e180270ed6ddcba1c6051bc2be8d47b4bc4919" }, @@ -169074,7 +169074,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.informationMean_time_entries", "source_line": 4720, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem informationMean_time_entries (index : Fin 3) :\n informationMean index = Real.exp (-2 * (informationGrid.time index.val : ℝ))", "statement_sha256": "e0cae0d599b4cac57b38be2df3eeb4a67afb7ffb235095a868b5460a5966c223" }, @@ -169127,7 +169127,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_full_marginal_projection", "source_line": 4680, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_full_marginal_projection (time : ℝ≥0) :\n (informationFullMarginal time).map allOnesProjection =\n gaussianReal (Real.exp (-2 * (time : ℝ))) (1 / 2)", "statement_sha256": "749c5de4eb16d5e76cd8bb4c38c677a482e4e2465da3e12f0b64c4dd40d3bf48" }, @@ -169178,7 +169178,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_marginal_kl", "source_line": 4596, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_marginal_kl (index : Fin 3) :\n klDiv ((studyProjectedLaw informationGrid).map (informationCoordinate index))\n (gaussianReal 0 (1 / 2)) = ENNReal.ofReal ((informationMean index) ^ 2)", "statement_sha256": "25e76f266ddf91f51b66eb3feebde058b972c9fabdb678de04216f5c98171469" }, @@ -169229,7 +169229,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_marginal_kl_at_time", "source_line": 4740, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_marginal_kl_at_time (index : Fin 3) :\n klDiv ((studyProjectedLaw informationGrid).map (informationCoordinate index))\n (gaussianReal 0 (1 / 2)) =\n ENNReal.ofReal (Real.exp (-4 * (informationGrid.time index.val : ℝ)))", "statement_sha256": "a86cdfd8615d853a74b40b8ab8db619727d661cfc281dae24726be8afe979427" }, @@ -169269,7 +169269,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_marginal_kl_values", "source_line": 4606, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_marginal_kl_values :\n (∀ index : Fin 3, klDiv ((studyProjectedLaw informationGrid).map (informationCoordinate index))\n (gaussianReal 0 (1 / 2)) =\n ENNReal.ofReal (![1, Real.exp (-1), Real.exp (-2)] index))", "statement_sha256": "b4e47b7150d7675a4afcb0b4c33cd1044ed35d2f2bb4d2ea6434c6a1fd8db5fa" }, @@ -169302,7 +169302,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_mean_asymmetry", "source_line": 4573, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_mean_asymmetry : informationMean ≠ fun index => informationMean (2 - index)", "statement_sha256": "a05a65b7658bd9839de8d84bd9e3c5faddabdd015947eeab51ed08f5d20d0396" }, @@ -169354,7 +169354,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_covariance", "source_line": 4506, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_covariance (left right : Fin 3) :\n cov[informationCoordinate left, informationCoordinate right;\n studyProjectedLaw informationGrid] = informationCovariance left right", "statement_sha256": "de67b9389b4602655ad0dbf8d3c7833462632d693705fc9b28d7a724f8e9f4d9" }, @@ -169405,7 +169405,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_lyapunov", "source_line": 4707, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_lyapunov (time : ℝ≥0) :\n klDiv ((informationFullMarginal time).map allOnesProjection) (gaussianReal 0 (1 / 2)) =\n ENNReal.ofReal (Real.exp (-4 * (time : ℝ)))", "statement_sha256": "0dc5dc6a966ba9bf5be357e21f4f40ae97e6cc3f6588587957c689acd774833b" }, @@ -169456,7 +169456,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_marginal", "source_line": 4482, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_marginal (index : Fin 3) :\n (studyProjectedLaw informationGrid).map (informationCoordinate index) =\n gaussianReal (informationMean index) (1 / 2)", "statement_sha256": "ef67c388c8b2044d76fe2814c7706ace63437709f8dca16e1b79e8eb47b9ce36" }, @@ -169507,7 +169507,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_mean", "source_line": 4494, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_mean (index : Fin 3) :\n (∫ path, informationCoordinate index path ∂studyProjectedLaw informationGrid) =\n informationMean index", "statement_sha256": "b728e418b9ff0eb684e5791296fd785f5a570cc35a719bc06c63d4b305e0d205" }, @@ -169570,7 +169570,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.information_native_mutualInformation", "source_line": 1543, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem information_native_mutualInformation\n (model : ScalarGaussianFilterModel) (belief : ScalarGaussianBelief) :\n klDiv (informationJoint model belief)\n ((informationJoint model belief).fst.prod (informationJoint model belief).snd) =\n ENNReal.ofReal ((1 / 2 : ℝ) * Real.log\n (1 + ((predictionBelief model belief).family.variance : ℝ) /\n (model.observationNoise.variance : ℝ)))", "statement_sha256": "ea5418833ea1f815b08abbd5b2ccdf8dabda59ed461d1cf23f819edd78ffa48c" }, @@ -169625,7 +169625,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_batchError", "source_line": 481, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_batchError (n : ℕ) (center noise : ℝ) :\n Measurable (batchError (n := n) center noise)", "statement_sha256": "cc5a49c82ff65b2143c3685c3839a0e7f71504bb6a8da393647ef5c64f7f784b" }, @@ -169669,7 +169669,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_batchObservations", "source_line": 455, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_batchObservations (n : ℕ) :\n Measurable (batchObservations (n := n))", "statement_sha256": "349eaf46b2adf18ba9042ee23cef3c95af660e76635b7550fc05ae7d01501d1d" }, @@ -169713,7 +169713,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_clampActive", "source_line": 281, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_clampActive (value : ℝ) :\n Measurable (clampActive value)", "statement_sha256": "404c32672285bfaf09f56e0596d749df57e177020e087d1e886ecd1484e8a292" }, @@ -169777,7 +169777,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_optimalSecond", "source_line": 1059, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_optimalSecond (first : Bool) (noise : ℝ≥0) (hNoise : 0 < noise) :\n Measurable (optimalSecond first noise hNoise)", "statement_sha256": "df6a1e8ab70b8db2dbd53781fe98fc427ae901013b00c31e8f701d9322878e6b" }, @@ -169821,7 +169821,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_projectFullPath", "source_line": 2094, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_projectFullPath (n : ℕ) : Measurable (projectFullPath n)", "statement_sha256": "ed58d01a5e221a5c2b505b0a6b0a9fa3922fed453fc67e425f507932ce5d615f" }, @@ -169854,7 +169854,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.measurable_scalarCoordinate", "source_line": 55, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem measurable_scalarCoordinate : Measurable scalarCoordinate", "statement_sha256": "da65aa3a0a6129de82335a3fcc8f7e35de75d7989fe55965a74f6d726b854542" }, @@ -169917,7 +169917,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.native_blanket", "source_line": 242, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem native_blanket (center : FEP.H3ReferenceModel.StandardState) :\n FEP.H3ReferenceModel.K .external .internal = 0 ∧\n cov[fun state : FEP.H3ReferenceModel.NativeState => state .external,\n fun state => state .internal;\n FEP.Fin4GaussianSemigroup.stationaryLaw (FEP.H3ReferenceModel.toNativeState center)] =\n 1 / 24 ∧\n ((fun state : FEP.H3ReferenceModel.NativeState => state .external) ⟂ᵢ[\n FEP.GaussianPrecisionConditioning.blanketCoordinates,\n FEP.GaussianPrecisionConditioning.measurable_blanketCoordinates;\n FEP.Fin4GaussianSemigroup.stationaryLaw (FEP.H3ReferenceModel.toNativeState center)]\n (fun state => state .internal))", "statement_sha256": "1507027bd5c75201033b66f37c929d11d3c465deeefa947ef22d717e05f16991" }, @@ -169991,7 +169991,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.native_posterior", "source_line": 337, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem native_posterior (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise) :\n closedFormPosteriorKernel (observationFilter center duration noise hNoise) (prior center)\n =ᵐ[evidenceLaw (observationFilter center duration noise hNoise) (prior center)]\n ProbabilityTheory.posterior\n (observationKernel (observationFilter center duration noise hNoise))\n (predictionBelief (observationFilter center duration noise hNoise) (prior center)).law", "statement_sha256": "15df5d2b164fa85c9e3cec5e8863ee51697e29747cd666547f4bd0791f05450b" }, @@ -170049,7 +170049,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.native_recognition", "source_line": 259, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem native_recognition (center state : FEP.H3ReferenceModel.StandardState) :\n FEP.H3ReferenceModel.recognitionMean center state =\n FEP.GaussianPrecisionConditioning.externalConditionalMean\n (FEP.H3ReferenceModel.toNativeState center)\n (FEP.GaussianPrecisionConditioning.blanketCoordinates\n (FEP.H3ReferenceModel.toNativeState state)) ∧\n condDistrib (fun next : FEP.H3ReferenceModel.NativeState => next .external)\n FEP.GaussianPrecisionConditioning.blanketCoordinates\n (FEP.Fin4GaussianSemigroup.stationaryLaw (FEP.H3ReferenceModel.toNativeState center))\n =ᵐ[FEP.GaussianPrecisionConditioning.blanketLaw\n (FEP.H3ReferenceModel.toNativeState center)]\n FEP.GaussianPrecisionConditioning.externalConditionalKernel\n (FEP.H3ReferenceModel.toNativeState center)", "statement_sha256": "6343e631b651da9ceedddfefe2194ac98a76fb389b54bf15fc94fecdbd0299b9" }, @@ -170082,7 +170082,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.nonstationary_native_grid", "source_line": 4102, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem nonstationary_native_grid :\n (studyProjectedLaw informationGrid).map informationPath2Equiv =\n gaussianARTripleLaw 1 (1 / 2) controlDecay frozenPathNoise", "statement_sha256": "f279fe151f6758fdbc6a14ed038f46f287b2066d95e64d77209c3ffa069b69e7" }, @@ -170162,7 +170162,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.openLoopRisk_closedForm", "source_line": 2506, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem openLoopRisk_closedForm (noise : ℝ≥0) (hNoise : 0 < noise)\n (first second : Bool) :\n policyRisk noise hNoise (openLoopPolicy first second) =\n (1 / 2 : ℝ) +\n ((1 - controlDecay) * (controlDecay * actionCenter first + actionCenter second)) ^ 2", "statement_sha256": "5e17dea842cbe934a826613947e9356feac28d013ff1109f1e35f64e8755e587" }, @@ -170223,7 +170223,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalPolicy_eq_feedback_false", "source_line": 4836, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalPolicy_eq_feedback_false (noise : ℝ≥0) (hNoise : 0 < noise) :\n optimalPolicy noise hNoise = feedbackPolicy false noise hNoise", "statement_sha256": "04b162f5477107c9318b11c207b0c47a6aae3acd10f44f2edf5290dfddd1b414" }, @@ -170284,7 +170284,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalPolicy_first_false", "source_line": 4842, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalPolicy_first_false (noise : ℝ≥0) (hNoise : 0 < noise) :\n (optimalPolicy noise hNoise).first = false", "statement_sha256": "4945dc6971e5c439f77f426e68e200deec39e503b9c3fc7d8c73042d8bb9247f" }, @@ -170359,7 +170359,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalSecond_le", "source_line": 1065, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalSecond_le (first second : Bool) (noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n secondRisk first noise hNoise observation (optimalSecond first noise hNoise observation) ≤\n secondRisk first noise hNoise observation second", "statement_sha256": "5c37c60f2331c4bdddd4dd82803248181efdab2c53ab9a5f59c7e83db345acf8" }, @@ -170446,7 +170446,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.optimalSecond_threshold", "source_line": 4748, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem optimalSecond_threshold (first : Bool) (noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n optimalSecond first noise hNoise observation =\n if 0 ≤ controlPosteriorMean first noise observation then false else true", "statement_sha256": "4866bde400f7f3a5ccda70e8ef3fee709b35aa3b89230e664647b08670db2b64" }, @@ -170519,7 +170519,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.policyRisk_eq_nativePosterior", "source_line": 2465, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem policyRisk_eq_nativePosterior (noise : ℝ≥0) (hNoise : 0 < noise) (policy : TwoStepPolicy) :\n policyRisk noise hNoise policy =\n ∫ observation, nativePosteriorQuadraticRisk controlModel\n (firstFilter policy.first noise hNoise) (prior 0) observation (policy.second observation)\n ∂evidenceLaw (firstFilter policy.first noise hNoise) (prior 0)", "statement_sha256": "2fc81539c0ee186e02fd10496639e939cf9ecb8ec949df327aa56152eb6a64ec" }, @@ -170590,7 +170590,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.policy_attainment", "source_line": 1147, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem policy_attainment (noise : ℝ≥0) (hNoise : 0 < noise) (policy : TwoStepPolicy) :\n policyRisk noise hNoise (optimalPolicy noise hNoise) ≤ policyRisk noise hNoise policy", "statement_sha256": "d1f6edf8230314074d9ec55773d41898a29a361d335d04f9ca7e3bbf5427d086" }, @@ -170662,7 +170662,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.policy_containment", "source_line": 1167, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem policy_containment (noise : ℝ≥0) (hNoise : 0 < noise) (first second : Bool) :\n policyRisk noise hNoise (optimalPolicy noise hNoise) ≤\n policyRisk noise hNoise (openLoopPolicy first second)", "statement_sha256": "fb255ab06c3d919a74db6ead7d1816172d441ef16a56fde6b9142e20f9c775de" }, @@ -170744,7 +170744,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.posterior_parameters", "source_line": 401, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem posterior_parameters (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n gain (observationFilter center duration noise hNoise) (prior center) =\n (1 / 2 : ℝ) / (1 / 2 + noise) ∧\n posteriorMean (observationFilter center duration noise hNoise) (prior center) observation =\n center + ((1 / 2 : ℝ) / (1 / 2 + noise)) * (observation - center) ∧\n (posteriorVariance (observationFilter center duration noise hNoise) (prior center) : ℝ) =\n ((1 / 2 : ℝ) * noise) / (1 / 2 + noise)", "statement_sha256": "086cf89320e9e7b4176e46fcf121edf4b3319e4e5da494993526872dc21b353a" }, @@ -170822,7 +170822,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.prediction_stationary", "source_line": 378, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem prediction_stationary (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise) :\n predictionBelief (observationFilter center duration noise hNoise) (prior center) =\n prior center", "statement_sha256": "a0f4410f3896a045c84f7792437678a1cfe54f1d1917489170a77666f114192b" }, @@ -170909,7 +170909,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.preference_counterexample", "source_line": 2443, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem preference_counterexample (noise : ℝ≥0) (hNoise : 0 < noise) :\n quadraticActionRisk controlModel (preferenceCounterBelief noise hNoise) false <\n quadraticActionRisk controlModel (preferenceCounterBelief noise hNoise) true ∧\n expectedFreeEnergy 1 (preferenceCounterBelief noise hNoise) true noise hNoise <\n expectedFreeEnergy 1 (preferenceCounterBelief noise hNoise) false noise hNoise", "statement_sha256": "65c2aa64c6153de15ab5e259dec01b592c4f0bf8cfb5d0fd316a8f7481a5e014" }, @@ -170976,7 +170976,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.restricted_class_counterexample", "source_line": 2544, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem restricted_class_counterexample (noise : ℝ≥0) (hNoise : 0 < noise) :\n policyRisk noise hNoise (openLoopPolicy true true) =\n (1 / 2 : ℝ) + (1 - controlDecay ^ 2) ^ 2 ∧\n policyRisk noise hNoise (openLoopPolicy false true) =\n (1 / 2 : ℝ) + (1 - controlDecay) ^ 4 ∧\n policyRisk noise hNoise (openLoopPolicy false true) <\n policyRisk noise hNoise (openLoopPolicy true true)", "statement_sha256": "f8795373df50864404af4db693e7bb878410c9b7a3de1879f2c7a045918869a9" }, @@ -171030,7 +171030,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.scalar_mean_identifiability", "source_line": 372, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem scalar_mean_identifiability (noise : ℝ≥0) (hNoise : 0 < noise) :\n Function.Injective (fun mean : ℝ => gaussianReal mean noise)", "statement_sha256": "47a12e49e7c2161496d2ebda49dc1d256892af8d3cf84c6bba688b2e7e7a7d26" }, @@ -171114,7 +171114,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.secondRisk_closedForm", "source_line": 1022, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem secondRisk_closedForm (first second : Bool) (noise : ℝ≥0) (hNoise : 0 < noise)\n (observation : ℝ) :\n secondRisk first noise hNoise observation second =\n controlDecay ^ 2 * (controlPosteriorVariance noise : ℝ) +\n (1 - controlDecay ^ 2) / 2 +\n (controlDecay * controlPosteriorMean first noise observation +\n (1 - controlDecay) * actionCenter second) ^ 2", "statement_sha256": "04dab56ad0bcf9a1eb6201ad1ecc68db1ae10c8f7a24619c6e4a56a06f5b12da" }, @@ -171168,7 +171168,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.sensory_clamped_conditional_covariance", "source_line": 2044, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem sensory_clamped_conditional_covariance (center : StandardizedState) (datum : ℝ) :\n cov[Prod.fst, Prod.snd; sensoryClampedConditionalKernel center (datum, 0)] = 1 / 56", "statement_sha256": "fd8f2fa16dd4e0a21a04181580a96da9389164bd8f453df53c54c8c90abb4014" }, @@ -171222,7 +171222,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.sensory_clamped_conditional_variances", "source_line": 2050, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem sensory_clamped_conditional_variances (center : StandardizedState) (datum : ℝ) :\n Var[Prod.fst; sensoryClampedConditionalKernel center (datum, 0)] = 15 / 56 ∧\n Var[Prod.snd; sensoryClampedConditionalKernel center (datum, 0)] = 15 / 56", "statement_sha256": "6389177ff7f66e4f7a04161030077ace94a8669c2b9ea60d0971cb299ef844a1" }, @@ -171266,7 +171266,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.sensory_clamped_native_condDistrib", "source_line": 2035, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem sensory_clamped_native_condDistrib (center : StandardizedState) :\n condDistrib sensoryEndpoints sensoryClampedBlanket (sensoryClampedLaw center)\n =ᵐ[(sensoryClampedLaw center).map sensoryClampedBlanket]\n sensoryClampedConditionalKernel center", "statement_sha256": "1b63d5e9933532df67a0f156efd182d3c1d8220b160b05a4e4dbf4b5cc7bf934" }, @@ -171299,7 +171299,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.singular_grid_infinite_kl", "source_line": 4183, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem singular_grid_infinite_kl :\n klDiv (studyProjectedLaw repeatedStudyGrid) (studyReverseLaw repeatedStudyGrid) = ∞", "statement_sha256": "032dc4768d49f2f32143e1553ed25e27859d32f148f242131a73af293fde8a2c" }, @@ -171358,7 +171358,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.terminalVariance_pos", "source_line": 2323, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem terminalVariance_pos (belief : ScalarGaussianBelief) : 0 < terminalVariance belief", "statement_sha256": "f34ba207ed6566646495c405dbba100caf9bfc2ebfded5beae4a7323dbd31820" }, @@ -171455,7 +171455,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.H3CaseStudy.vfe_optimum", "source_line": 348, - "source_owner": "src/fep_lean/formal/compositions/h3_case_study.lean", + "source_owner": "src/fep_formal/formal/compositions/h3_case_study.lean", "statement": "theorem vfe_optimum (center : ℝ) (duration noise : ℝ≥0) (hNoise : 0 < noise)\n (observation recognition : ℝ) :\n FEPComposed.SmoothReferenceKernel.evidenceSurprisal\n (observationFilter center duration noise hNoise) (prior center) observation ≤\n FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy\n (observationFilter center duration noise hNoise) (prior center) observation recognition ∧\n (FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy\n (observationFilter center duration noise hNoise) (prior center) observation recognition =\n FEPComposed.SmoothReferenceKernel.evidenceSurprisal\n (observationFilter center duration noise hNoise) (prior center) observation ↔\n recognition = posteriorMean\n (observationFilter center duration noise hNoise) (prior center) observation)", "statement_sha256": "9d6db69422c2c05c7278719b6e31f2b3740d476f5c9c3a5d8871dfa32eba724c" }, @@ -171584,7 +171584,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.continuousGaussianVFE_naturalGradient", "source_line": 436, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem continuousGaussianVFE_naturalGradient\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean tangent : ℝ)\n (hRecognition :\n recognitionMean ≠ posteriorMean model prior observation) :\n evidenceLaw model prior = volume.withDensity (evidenceDensity model prior) ∧\n 0 < evidenceDensity model prior observation ∧\n evidenceDensity model prior observation ≠ ⊤ ∧\n gaussianVariationalFreeEnergy model prior observation recognitionMean -\n evidenceSurprisal model prior observation =\n (klDiv\n ((posteriorFamily model prior).law recognitionMean)\n ((posteriorBelief model prior observation).law)).toReal ∧\n (gaussianVariationalFreeEnergy model prior observation recognitionMean =\n evidenceSurprisal model prior observation ↔\n recognitionMean = posteriorMean model prior observation) ∧\n meanNaturalGradient model prior observation recognitionMean =\n recognitionMean - posteriorMean model prior observation ∧\n meanMetricPairing (posteriorFamily model prior) recognitionMean\n (meanNaturalGradient model prior observation recognitionMean) tangent =\n ((recognitionMean - posteriorMean model prior observation) /\n (posteriorVariance model prior : ℝ)) * tangent ∧\n HasDerivAt\n (fun time =>\n gaussianVariationalFreeEnergy model prior observation\n (naturalGradientFlow model prior observation recognitionMean time))\n (-((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)))\n 0 ∧\n -((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)) < 0", "statement_sha256": "781814ab07906443154aa8a0a1e9df4e33ecaf6aa15224aab94bc12a514309f4" }, @@ -171644,7 +171644,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.evidenceDensity_ne_top", "source_line": 219, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem evidenceDensity_ne_top\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation : ℝ) :\n evidenceDensity model prior observation ≠ ⊤", "statement_sha256": "29bfebd0abe1af2da0628931a1eaec6ad76a5d52e830a26e6e2226f462202f63" }, @@ -171711,7 +171711,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.evidenceLaw_eq_volume_withDensity", "source_line": 210, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem evidenceLaw_eq_volume_withDensity\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief) :\n evidenceLaw model prior = volume.withDensity (evidenceDensity model prior)", "statement_sha256": "3430bd27854d42c91ba250a02136d9f62a87059371ab94eb56ac0f2c50fcd80a" }, @@ -171887,7 +171887,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.fin4ReferenceKernel_terminal", "source_line": 771, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem fin4ReferenceKernel_terminal :\n Fintype.card Axis = 4 ∧\n K.PosDef ∧\n K * FEP.Fin4GaussianSemigroup.Sigma = 1 ∧\n FEP.Fin4GaussianSemigroup.Sigma * K = 1 ∧\n FEP.Fin4GaussianSemigroup.Sigma.PosDef ∧\n K Axis.external Axis.internal = 0 ∧\n FEP.Fin4GaussianSemigroup.Sigma Axis.external Axis.internal = 1 / 24 ∧\n FEP.Fin4GaussianSemigroup.Sigma Axis.external Axis.internal ≠ 0 ∧\n (∀ center : StandardizedState,\n stationaryLaw center =\n multivariateGaussian center FEP.Fin4GaussianSemigroup.Sigma) ∧\n (∀ center : StandardizedState,\n InvariantLaw (nativeSemigroup center) (stationaryLaw center)) ∧\n (∀ center state : StandardizedState,\n Tendsto (fun time : ℝ≥0 => transitionProbability center time state)\n atTop (𝓝 (stationaryProbability center))) ∧\n (∀ center : ℝ,\n (scalarParameters center).rate = 2 ∧\n (scalarParameters center).diffusionVarianceRate = 2) ∧\n (∀ (center : ℝ) (time : ℝ≥0),\n projectedTransition center time =\n (scalarParameters center).ouTransition time) ∧\n (∀ center : StandardizedState,\n condDistrib endpointCoordinates blanketCoordinates (stationaryLaw center)\n =ᵐ[blanketLaw center] endpointConditionalKernel center) ∧\n (∀ center : StandardizedState,\n K Axis.external Axis.internal = 0 ∧\n cov[fun state : StandardizedState => state Axis.external,\n fun state => state Axis.internal; stationaryLaw center] = 1 / 24 ∧\n cov[fun state : StandardizedState => state Axis.external,\n fun state => state Axis.internal; stationaryLaw center] ≠ 0 ∧\n ((fun state : StandardizedState => state Axis.external) ⟂ᵢ[\n blanketCoordinates, measurable_blanketCoordinates;\n stationaryLaw center]\n (fun state => state Axis.internal))) ∧\n ¬ IndepFun perturbedExternal perturbedInternal perturbedEndpointLaw", "statement_sha256": "679f8dc4cd16d8b27cb908e665d5b095cfeceff26fe1aecd5daeec85309caed6" }, @@ -171965,7 +171965,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_eq_meanSquare_add_surprisal", "source_line": 226, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_eq_meanSquare_add_surprisal\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n gaussianVariationalFreeEnergy model prior observation recognitionMean =\n (recognitionMean - posteriorMean model prior observation) ^ 2 /\n (2 * (posteriorVariance model prior : ℝ)) +\n evidenceSurprisal model prior observation", "statement_sha256": "9abcee6e05ba5bb078cc4cfdaf3a760f3bfab3902ebc7a09ebb45009ec2bb392" }, @@ -172041,7 +172041,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_eq_surprisal_iff", "source_line": 266, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_eq_surprisal_iff\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n gaussianVariationalFreeEnergy model prior observation recognitionMean =\n evidenceSurprisal model prior observation ↔\n recognitionMean = posteriorMean model prior observation", "statement_sha256": "253812a9431142cfe3e6b972d8f916d96341c550d5028fc793ec152b6f4e0dbd" }, @@ -172117,7 +172117,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_hasDerivAt", "source_line": 287, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_hasDerivAt\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n HasDerivAt\n (gaussianVariationalFreeEnergy model prior observation)\n ((recognitionMean - posteriorMean model prior observation) /\n (posteriorVariance model prior : ℝ))\n recognitionMean", "statement_sha256": "02ec154eca4f0d96ba2c9237c201759689f78715c15a10b6490b35768075978e" }, @@ -172197,7 +172197,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_naturalGradientFlow_deriv_neg", "source_line": 422, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_naturalGradientFlow_deriv_neg\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ)\n (hRecognition :\n recognitionMean ≠ posteriorMean model prior observation) :\n -((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)) < 0", "statement_sha256": "5937b15ff4f41b6c98b07f97845b6bcbcd50a07e44fb106e8e394f903589bc62" }, @@ -172279,7 +172279,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_naturalGradientFlow_hasDerivAt", "source_line": 366, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_naturalGradientFlow_hasDerivAt\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n HasDerivAt\n (fun time =>\n gaussianVariationalFreeEnergy model prior observation\n (naturalGradientFlow model prior observation recognitionMean time))\n (-((recognitionMean - posteriorMean model prior observation) ^ 2 /\n (posteriorVariance model prior : ℝ)))\n 0", "statement_sha256": "01b3f61a30746071f6f60caec758dfac5863c6a592ca024ccf194b8acd07e2b1" }, @@ -172340,7 +172340,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.gaussianVariationalFreeEnergy_sub_surprisal_eq_nativeKL", "source_line": 253, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem gaussianVariationalFreeEnergy_sub_surprisal_eq_nativeKL\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n gaussianVariationalFreeEnergy model prior observation recognitionMean -\n evidenceSurprisal model prior observation =\n (klDiv\n ((posteriorFamily model prior).law recognitionMean)\n ((posteriorBelief model prior observation).law)).toReal", "statement_sha256": "d4fcd6d290625d76bf1df68473021403972bb171447853aac6973ddaeda5a99f" }, @@ -172418,7 +172418,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.meanNaturalGradient_eq_displacement", "source_line": 324, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem meanNaturalGradient_eq_displacement\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n meanNaturalGradient model prior observation recognitionMean =\n recognitionMean - posteriorMean model prior observation", "statement_sha256": "91dac9db5e45c4aaf520c7aeb7bbb9a029699f5356fe1075c5ff34636b0b2fd5" }, @@ -172495,7 +172495,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.meanNaturalGradient_metric_dual", "source_line": 340, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem meanNaturalGradient_metric_dual\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean tangent : ℝ) :\n meanMetricPairing (posteriorFamily model prior) recognitionMean\n (meanNaturalGradient model prior observation recognitionMean) tangent =\n ((recognitionMean - posteriorMean model prior observation) /\n (posteriorVariance model prior : ℝ)) * tangent", "statement_sha256": "c71682ca2a968e7f691a85ca0df9c98d1f6048707511312829dfe7899ddf5408" }, @@ -172556,7 +172556,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.naturalGradientFlow_zero", "source_line": 357, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem naturalGradientFlow_zero\n (model : ScalarGaussianFilterModel) (prior : ScalarGaussianBelief)\n (observation recognitionMean : ℝ) :\n naturalGradientFlow model prior observation recognitionMean 0 =\n recognitionMean", "statement_sha256": "3e5c2a2eb47de9053fe9d0b143b24ca01dc76427d4534b9eacd38e2883587a93" }, @@ -172600,7 +172600,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_actionTransition_eq_selectedTransition", "source_line": 594, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_actionTransition_eq_selectedTransition :\n actionTransition selectedControl\n (selectedAction selectedControl selectedFilter selectedPrior 0) =\n selectedDynamics.ouTransition 1", "statement_sha256": "f1bd393d5818babbb6f27ab170d966677b4c908ecb6296b5da14bcd8ec9d6a2f" }, @@ -172636,7 +172636,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_actionTransitions_ne", "source_line": 602, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_actionTransitions_ne :\n actionTransition selectedControl false ≠\n actionTransition selectedControl true", "statement_sha256": "723eaf3994e6507f9213072ada66cf68679156a9ce86e478ade05504af9d60c8" }, @@ -172665,7 +172665,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_false_dynamics", "source_line": 487, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_false_dynamics :\n selectedControl.dynamics false = selectedDynamics", "statement_sha256": "c9031c23638a1210841337f61a76fd94521750d350af3458e19a93eccfd4f8bb" }, @@ -172715,7 +172715,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_false_risk", "source_line": 492, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_false_risk :\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 false =\n 1 - (1 / 2 : ℝ) * Real.exp (-1) ^ 2", "statement_sha256": "696a0ff8a7a9d27a950bb35233c6719be1b4ea6021cb984a24f489b74277e8fe" }, @@ -172757,7 +172757,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_false_strictlyBetter", "source_line": 574, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_false_strictlyBetter :\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 false <\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 true", "statement_sha256": "32320d6d50462db82aea0348e00fb42172100a1343741e041e3b20336a7eb473" }, @@ -172801,7 +172801,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_selectedAction", "source_line": 584, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_selectedAction :\n selectedAction selectedControl selectedFilter selectedPrior 0 = false", "statement_sha256": "119082fdc3a6ef6d2b12f39ba9c3f156d7a65d36d05bad4ae65914c9d6f9f6a0" }, @@ -172851,7 +172851,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedControl_true_risk", "source_line": 533, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedControl_true_risk :\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0 true =\n 2 - (3 / 2 : ℝ) * Real.exp (-1) ^ 2", "statement_sha256": "981b5a0f73a427a5d40267e351d0ee9ef265b776c40be301ecb9b39b02699d7a" }, @@ -172880,7 +172880,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedDynamics_stationaryVariance", "source_line": 105, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedDynamics_stationaryVariance :\n selectedDynamics.stationaryVariance = 1", "statement_sha256": "45b1d182d3f62a00c8f8035f0eb0af4f34e3b65b59f3a4b0df08e983b10c5195" }, @@ -172920,7 +172920,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedObservationKernel_eq_learningObservationLaw", "source_line": 129, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedObservationKernel_eq_learningObservationLaw\n (hypothesis : MeanHypothesis) :\n observationKernel selectedFilter (selectedMean hypothesis) =\n selectedObservationLaw hypothesis", "statement_sha256": "bad48caaded0580803f5bc9453d7532f7f838db45b066ce58ae263731f36aac6" }, @@ -172956,7 +172956,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedPosterior_mean", "source_line": 156, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedPosterior_mean :\n posteriorMean selectedFilter selectedPrior 0 = 0", "statement_sha256": "4a1c3a16c2336f44733e993b90fd20c5271c7e8c80b5d2a23f1c409382ab20f7" }, @@ -172992,7 +172992,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedPosterior_variance", "source_line": 166, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedPosterior_variance :\n posteriorVariance selectedFilter selectedPrior = 1 / 2", "statement_sha256": "6b23e72bf5d9f17f5dfdf83bbfc920b1196b94a2f0fd57defb2b5886f03ad9b8" }, @@ -173021,7 +173021,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedPredictionBelief_eq_prior", "source_line": 138, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedPredictionBelief_eq_prior :\n predictionBelief selectedFilter selectedPrior = selectedPrior", "statement_sha256": "8edb4af67d5488419a02ff6e479fdb24e731350a34934797f1535c32a8e01e09" }, @@ -173057,7 +173057,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedStationaryLaw_eq_learningObservationFalse", "source_line": 112, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedStationaryLaw_eq_learningObservationFalse :\n selectedDynamics.stationaryLaw = selectedObservationLaw false", "statement_sha256": "f9f605169cde98f8372903e218057d829531f33a4aebd792b3e1ded4d0daa3c5" }, @@ -173097,7 +173097,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedTransition_eq_gaussianLocation", "source_line": 121, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedTransition_eq_gaussianLocation (state : ℝ) :\n selectedDynamics.ouTransition 1 state =\n (selectedDynamics.positiveTimeGaussian 1 (by norm_num)).law\n (selectedDynamics.transitionMean 1 state)", "statement_sha256": "29bb03c5a7e660ca1b38f47341dd0baaa4b34c85b8b9f037d5209d1a936cbc09" }, @@ -173137,7 +173137,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedUnitGrid_stepDuration", "source_line": 617, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedUnitGrid_stepDuration (n : ℕ) :\n selectedUnitGrid.time (n + 1) - selectedUnitGrid.time n = 1", "statement_sha256": "4916cf4f92f1cb25e24922134af88dc9ea699b1aaeb4861284d558739d33da96" }, @@ -173184,7 +173184,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.selectedUnitGrid_stepKernel", "source_line": 624, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem selectedUnitGrid_stepKernel (n : ℕ) :\n ouGridStep selectedDynamics selectedUnitGrid n =\n (selectedDynamics.ouTransition 1).comap\n (fun path => path ⟨n, Finset.mem_Iic.mpr le_rfl⟩) (by fun_prop)", "statement_sha256": "ef64b0380e92b52ea9b2c88dc2b04a38ecf78999f439c9b820fdf1cf2df0a6c6" }, @@ -173401,7 +173401,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.SmoothReferenceKernel.smoothReferenceKernel_terminal", "source_line": 639, - "source_owner": "src/fep_lean/formal/compositions/smooth_reference_kernel.lean", + "source_owner": "src/fep_formal/formal/compositions/smooth_reference_kernel.lean", "statement": "theorem smoothReferenceKernel_terminal\n (actual : Measure ℝ) [IsFiniteMeasure actual]\n (earlier increment : ℝ≥0) (n : ℕ)\n (recognitionMean tangent : ℝ) (hRecognition : recognitionMean ≠ 0)\n (observable : BoundedContinuousFunction MeanHypothesis ℝ) :\n (∀ hypothesis,\n observationKernel selectedFilter (selectedMean hypothesis) =\n selectedObservationLaw hypothesis) ∧\n (∀ hypothesis,\n observationKernel selectedFilter (selectedMean hypothesis) Set.univ = 1) ∧\n (∀ state,\n selectedDynamics.ouTransition 1 state =\n (selectedDynamics.positiveTimeGaussian 1 (by norm_num)).law\n (selectedDynamics.transitionMean 1 state)) ∧\n (∀ state, selectedDynamics.ouTransition 1 state Set.univ = 1) ∧\n selectedDynamics.stationaryLaw = selectedObservationLaw false ∧\n InvariantLaw selectedDynamics.ouNativeSemigroup\n selectedDynamics.stationaryLaw ∧\n predictionBelief selectedFilter selectedPrior = selectedPrior ∧\n closedFormPosteriorKernel selectedFilter selectedPrior =ᵐ[\n evidenceLaw selectedFilter selectedPrior]\n ProbabilityTheory.posterior (observationKernel selectedFilter)\n (predictionBelief selectedFilter selectedPrior).law ∧\n evidenceLaw selectedFilter selectedPrior =\n volume.withDensity (evidenceDensity selectedFilter selectedPrior) ∧\n 0 < evidenceDensity selectedFilter selectedPrior 0 ∧\n evidenceDensity selectedFilter selectedPrior 0 ≠ ⊤ ∧\n gaussianVariationalFreeEnergy selectedFilter selectedPrior 0 recognitionMean -\n evidenceSurprisal selectedFilter selectedPrior 0 =\n (klDiv\n ((posteriorFamily selectedFilter selectedPrior).law recognitionMean)\n ((posteriorBelief selectedFilter selectedPrior 0).law)).toReal ∧\n (gaussianVariationalFreeEnergy selectedFilter selectedPrior 0\n recognitionMean = evidenceSurprisal selectedFilter selectedPrior 0 ↔\n recognitionMean = posteriorMean selectedFilter selectedPrior 0) ∧\n meanNaturalGradient selectedFilter selectedPrior 0 recognitionMean =\n recognitionMean - posteriorMean selectedFilter selectedPrior 0 ∧\n meanMetricPairing (posteriorFamily selectedFilter selectedPrior)\n recognitionMean\n (meanNaturalGradient selectedFilter selectedPrior 0 recognitionMean)\n tangent =\n ((recognitionMean - posteriorMean selectedFilter selectedPrior 0) /\n (posteriorVariance selectedFilter selectedPrior : ℝ)) * tangent ∧\n HasDerivAt\n (fun time =>\n gaussianVariationalFreeEnergy selectedFilter selectedPrior 0\n (naturalGradientFlow selectedFilter selectedPrior 0\n recognitionMean time))\n (-((recognitionMean - posteriorMean selectedFilter selectedPrior 0) ^ 2 /\n (posteriorVariance selectedFilter selectedPrior : ℝ))) 0 ∧\n -((recognitionMean - posteriorMean selectedFilter selectedPrior 0) ^ 2 /\n (posteriorVariance selectedFilter selectedPrior : ℝ)) < 0 ∧\n (∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun k => posteriorProbability k sample) atTop\n (𝓝 (selectedParameterIndicator sample))) ∧\n (∀ᵐ sample ∂selectedJointLaw,\n Tendsto\n (fun k =>\n ∫ hypothesis, observable hypothesis\n ∂(parameterPosterior k sample : ProbabilityMeasure MeanHypothesis))\n atTop (𝓝 (observable sample.1))) ∧\n (∀ᵐ sample ∂selectedJointLaw,\n Tendsto (fun k => posteriorDecisionRisk k sample) atTop (𝓝 0)) ∧\n (∀ alternative : Bool,\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0\n (selectedAction selectedControl selectedFilter selectedPrior 0) ≤\n filteredQuadraticRisk selectedControl selectedFilter selectedPrior 0\n alternative) ∧\n (fun observation =>\n selectedAction selectedControl selectedFilter selectedPrior observation)\n =ᵐ[evidenceLaw selectedFilter selectedPrior]\n (fun observation =>\n nativePosteriorSelectedAction selectedControl selectedFilter\n selectedPrior observation) ∧\n selectedAction selectedControl selectedFilter selectedPrior 0 = false ∧\n actionTransition selectedControl\n (selectedAction selectedControl selectedFilter selectedPrior 0) =\n selectedDynamics.ouTransition 1 ∧\n actionTransition selectedControl false ≠\n actionTransition selectedControl true ∧\n ouGridStep selectedDynamics selectedUnitGrid n =\n (selectedDynamics.ouTransition 1).comap\n (fun path => path ⟨n, Finset.mem_Iic.mpr le_rfl⟩) (by fun_prop) ∧\n forwardGridLaw selectedDynamics selectedUnitGrid n Set.univ = 1 ∧\n klDiv\n (selectedDynamics.ouTransition (earlier + increment) ∘ₘ actual)\n selectedDynamics.stationaryLaw ≤\n klDiv (selectedDynamics.ouTransition earlier ∘ₘ actual)\n selectedDynamics.stationaryLaw", "statement_sha256": "6df20f662a5fbc6ddee306e478628ee96999e37e66da89d0fba20293bf23a682" }, @@ -173515,7 +173515,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.activeInference_expectedFreeEnergy_to_fep021", "source_line": 56, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173664,7 +173664,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep002_vfe_compProd_chain_rule", "source_line": 72, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173772,7 +173772,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep003_pragmaticCost_efe_balance", "source_line": 218, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173835,7 +173835,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep004_bernoulliMetric_specialization", "source_line": 259, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -173945,7 +173945,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep004_fep038_metric_nonneg", "source_line": 584, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep004_fep038_metric_nonneg {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1)\n (v : ℝ) : 0 ≤ fep_fep038.FEP038.fep038_fisherMetric p v v", "statement_sha256": "a4e4cb76e21bc8efac6b26a23f8b74282a61f974231e33afde3de5828eab2690" }, @@ -174053,7 +174053,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep007_normalizedMessage_is_fep028_softmax", "source_line": 386, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174147,7 +174147,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep011_fep026_complexity_nonneg", "source_line": 595, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep011_fep026_complexity_nonneg {p : ℝ} (hp : 0 < p) (hp1 : p ≤ 1) :\n 0 ≤ fep_fep026.FEP026.fep026_priorComplexity p", "statement_sha256": "567d5d54d79aae7adb224abb3bca31c956dd5de2dc0900111be6590849be92dc" }, @@ -174277,7 +174277,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep012_softmax_entropyRegularizedCost_le", "source_line": 277, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174394,7 +174394,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_finite_equilibrium_derivative", "source_line": 684, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_finite_equilibrium_derivative (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n HasDerivAt (helmholtzFreeEnergy E) (-entropy (helmholtzGibbsLaw E T)) T", "statement_sha256": "af11a8cea7046caa2eb7e49fc88feba50cb57082a9ff66787f700fd797bb413f" }, @@ -174521,7 +174521,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_finite_helmholtz_decomposition", "source_line": 666, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_finite_helmholtz_decomposition (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) (q : FiniteLaw α) :\n fep_fep013.FEP013.fep013_helmholtz (expectation q E) T (entropy q) =\n helmholtzFreeEnergy E T + T * finiteKL q (helmholtzGibbsLaw E T)", "statement_sha256": "0dddc3f7da883441b4b4d5b043ae84277564b58a1f3c5f649b28cdbc4e4393d8" }, @@ -174646,7 +174646,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_finite_helmholtz_unique_minimum", "source_line": 673, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_finite_helmholtz_unique_minimum (E : α → ℝ) {T : ℝ}\n (hT : 0 < T) :\n (∀ q : FiniteLaw α, helmholtzFreeEnergy E T ≤\n fep_fep013.FEP013.fep013_helmholtz (expectation q E) T (entropy q)) ∧\n (∀ q : FiniteLaw α,\n fep_fep013.FEP013.fep013_helmholtz (expectation q E) T (entropy q) =\n helmholtzFreeEnergy E T ↔ q = helmholtzGibbsLaw E T)", "statement_sha256": "bf9425eb544d54ddb270fe0b7f9adba5de3c0d77a430b841794701568dc0c91d" }, @@ -174741,7 +174741,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_gaussianHelmholtz_derivative", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -174827,7 +174827,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep013_two_level_uniform_strict", "source_line": 690, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep013_two_level_uniform_strict :\n helmholtzFreeEnergy helmholtzBoolEnergy 1 <\n fep_fep013.FEP013.fep013_helmholtz\n (expectation (FiniteLaw.uniform : FiniteLaw Bool) helmholtzBoolEnergy)\n 1 (entropy (FiniteLaw.uniform : FiniteLaw Bool))", "statement_sha256": "fdb255f78dacd7b78d878e1c878dd5ad4225d8b4d6a51b809717282eedecbf2f" }, @@ -174921,7 +174921,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep016_quadratic_pairs_fep032_descent", "source_line": 704, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep016_quadratic_pairs_fep032_descent\n (prec step center x : ℝ) (hp : 0 ≤ prec)\n (hstep0 : 0 ≤ step) (hstep2 : step ≤ 2) :\n 0 ≤ prec * (x - center) ^ 2 ∧\n (fep_fep032.FEP032.fep032_quadraticUpdate step center x - center) ^ 2 ≤\n (x - center) ^ 2", "statement_sha256": "dcbf8fd5ccec1b5c62c1390ec5a8f113ef5eb8e0976b60b169729b26d1b4dc6b" }, @@ -175002,7 +175002,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep018_coordinate_derivative_is_fep038", "source_line": 539, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep018_coordinate_derivative_is_fep038 {p : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n HasDerivAt fep_fep018.FEP018.fep018_fisherCoordinate\n (fep_fep038.FEP038.fep038_coordinateJacobian p) p", "statement_sha256": "9e619e4116c5405d06496af930df1a547d93250709a8becd86aa08ac34b274a3" }, @@ -175098,7 +175098,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep018_fep038_actual_metric_pullback", "source_line": 564, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep018_fep038_actual_metric_pullback {p v w : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n HasDerivAt fep_fep018.FEP018.fep018_fisherCoordinate\n (fep_fep038.FEP038.fep038_coordinateJacobian p) p ∧\n fep_fep038.FEP038.fep038_fisherMetric p v w =\n (fep_fep038.FEP038.fep038_coordinateJacobian p * v) *\n (fep_fep038.FEP038.fep038_coordinateJacobian p * w)", "statement_sha256": "397c48fcf1fa0c4f2db84551a22f44263eaff0675f115736e2951e6775542995" }, @@ -175205,7 +175205,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep021_informationGain_balance", "source_line": 205, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175353,7 +175353,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep022_fep027_predictive_child_marginal", "source_line": 635, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep022_fep027_predictive_child_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": "456b82f6829d3cc9e14353a55cbf127786c8b47eacf185f681dcfe651a6edb99" }, @@ -175494,7 +175494,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep022_predictive_is_hierarchical_marginal", "source_line": 109, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175592,7 +175592,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep024_regularizer_is_fep014_kl", "source_line": 231, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175690,7 +175690,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep025_current_dissipation_nonneg", "source_line": 184, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175751,7 +175751,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep026_priorComplexity_is_fep011_surprise", "source_line": 270, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175872,7 +175872,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep027_priorPredictive_is_fep019", "source_line": 100, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -175942,7 +175942,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep029_quadraticBregman_is_fep104_scalar_instance", "source_line": 436, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -176058,7 +176058,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_fep031_binary_maxEntropy", "source_line": 520, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_fep031_binary_maxEntropy (E : Fin 2 → ℝ) (β : ℝ)\n (q : FiniteLaw (Fin 2))\n (hq : expectation q E = expectation (energyGibbsLaw E β) E) :\n (Real.binEntropy (q 0) ≤ Real.log 2 ∧\n (Real.binEntropy (q 0) = Real.log 2 ↔ q 0 = (2 : ℝ)⁻¹)) ∧\n (∀ i, energyGibbsLaw E β i =\n fep_fep031.FEP031.fep031_gibbsProbability β 2 E Finset.univ i) ∧\n Real.binEntropy (q 0) ≤ Real.binEntropy (energyGibbsLaw E β 0) ∧\n (Real.binEntropy (q 0) = Real.binEntropy (energyGibbsLaw E β 0) ↔\n q = energyGibbsLaw E β)", "statement_sha256": "6c19d83daec8fe25733c405362626bb30660924d7b3c1cff08c5009e84737c0b" }, @@ -176182,7 +176182,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_fep031_finite_maxEntropy", "source_line": 492, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_fep031_finite_maxEntropy {n : ℕ} [NeZero n]\n (E : Fin n → ℝ) (β : ℝ) (q : FiniteLaw (Fin n))\n (hq : expectation q E = expectation (energyGibbsLaw E β) E) :\n (∀ i, energyGibbsLaw E β i =\n fep_fep031.FEP031.fep031_gibbsProbability β n E Finset.univ i) ∧\n entropy q ≤ entropy (energyGibbsLaw E β) ∧\n (entropy q = entropy (energyGibbsLaw E β) ↔ q = energyGibbsLaw E β)", "statement_sha256": "a6f98627c558431d5b14b7f8a226957d20eb8e76207830eb65a3e401124b983a" }, @@ -176243,7 +176243,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_fin2_entropy_eq_binEntropy", "source_line": 502, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_fin2_entropy_eq_binEntropy (q : FiniteLaw (Fin 2)) :\n entropy q = Real.binEntropy (q 0)", "statement_sha256": "51612a4a0095f08b91cf0d444096f811219d1e64ebd602643f358444d80b63c0" }, @@ -176323,7 +176323,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep030_finite_binary_entropy_bound", "source_line": 512, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep030_finite_binary_entropy_bound (q : FiniteLaw (Fin 2)) :\n entropy q ≤ Real.log 2 ∧\n (entropy q = Real.log 2 ↔ q 0 = (2 : ℝ)⁻¹)", "statement_sha256": "79ba79de68a70a1ac52299a7cf9fb7bbed0bac757bf5d6ada8de20d12cb21edc" }, @@ -176422,7 +176422,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_energyGibbs_is_topicProbability", "source_line": 484, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep031_energyGibbs_is_topicProbability {n : ℕ} [NeZero n]\n (E : Fin n → ℝ) (β : ℝ) (i : Fin n) :\n energyGibbsLaw E β i =\n fep_fep031.FEP031.fep031_gibbsProbability β n E Finset.univ i", "statement_sha256": "6f804fc9158ac1ef059cc40debd8011bcc276c4967304789916bd3c4c45e46c1" }, @@ -176496,7 +176496,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_maxEntropy", "source_line": 249, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -176557,7 +176557,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep031_zeroBeta_binary_uniform", "source_line": 242, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -176654,7 +176654,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep032_fep043_gradient_iteration_tendsto", "source_line": 601, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep032_fep043_gradient_iteration_tendsto\n (η a center x : ℝ) (h0 : 0 < 2*a*η) (h2 : 2*a*η < 2) :\n Filter.Tendsto\n (fun n : ℕ => ((fun y => y-η*fep_fep043.FEP043.fep043_quadraticGradient a center y)^[n]) x)\n Filter.atTop (nhds center)", "statement_sha256": "581c94a314bf9bced62799632ebbdab0d64c5a5de3c2cc49631b3584a36dca15" }, @@ -176718,7 +176718,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep032_update_is_fep043_gradientStep", "source_line": 315, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -176879,7 +176879,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep034_fep017_filter_joint_reconstruction", "source_line": 652, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep034_fep017_filter_joint_reconstruction\n {Ω 𝓧 : Type*} [MeasurableSpace Ω] [MeasurableSpace 𝓧]\n [StandardBorelSpace Ω] [Nonempty Ω]\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] :\n (κ ∘ₘ (τ ∘ₘ μ)) ⊗ₘ fep_fep034.FEP034.fep034_filter τ κ μ =\n ((τ ∘ₘ μ) ⊗ₘ κ).map Prod.swap", "statement_sha256": "d70be8c55da52e2d5a9d9f2ea2650d5d2038f689e296328acd043093b542d3b9" }, @@ -177027,7 +177027,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep034_filter_is_fep017_posterior", "source_line": 88, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177154,7 +177154,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_empiricalPosterior_closed", "source_line": 125, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177278,7 +177278,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep036_smoothedRate_strongLaw", "source_line": 33, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177356,7 +177356,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep037_autocorrelation_tracks_fep020", "source_line": 195, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177462,7 +177462,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep038_fisherRao_separation", "source_line": 158, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177546,7 +177546,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep039_fep005_partition_conservation_via_cover", "source_line": 614, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/formal/compositions/core.lean", "statement": "theorem fep039_fep005_partition_conservation_via_cover\n (assign : Fin 20 → fep_fep005.FEP005.BlkPart) (stateEnergy : Fin 20 → ℝ) :\n fep_fep039.FEP039.fep039_global_fe (fep005_blockEnergy assign stateEnergy) =\n ∑ state : Fin 20, stateEnergy state", "statement_sha256": "14ba71983211cac1dc2a49c4c54b66b39d30bb2ec93a52f103affd5847df7f1b" }, @@ -177617,7 +177617,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep039_partitionEnergy_conservation", "source_line": 332, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177720,7 +177720,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep041_informationGain_is_fep014_kl", "source_line": 170, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177790,7 +177790,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep046_single_break_is_fep045_bernoulli", "source_line": 347, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -177936,7 +177936,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep050_landauer_work_bound_from_fep049_entropy_production", "source_line": 463, - "source_owner": "src/fep_lean/formal/compositions/core.lean", + "source_owner": "src/fep_formal/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" }, @@ -178075,7 +178075,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep051_rn_reconstruction_refines_fep017", "source_line": 31, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep051_rn_reconstruction_refines_fep017\n {Parameter Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n (target reference : Measure Parameter)\n [target.HaveLebesgueDecomposition reference]\n (hAbsoluteContinuous : target ≪ reference)\n (likelihood : Kernel Parameter Observation)\n [IsFiniteMeasure target] [IsFiniteKernel likelihood] :\n reference.withDensity (target.rnDeriv reference) = target ∧\n (likelihood ∘ₘ target) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior likelihood target =\n (target ⊗ₘ likelihood).map Prod.swap", "statement_sha256": "6ed0796a02176afdee124eb05fe7734ed7ee9843f218188e29b272289af58275" }, @@ -178227,7 +178227,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep052_posterior_tilt_is_fep017_posterior", "source_line": 52, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep052_posterior_tilt_is_fep017_posterior\n {Parameter Observation : Type*}\n [Countable Parameter]\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Observation] [Nonempty Observation]\n [MeasurableSpace.CountableOrCountablyGenerated Parameter Observation]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n (∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n (likelihood parameter).rnDeriv\n (likelihood ∘ₘ prior) observation)) ∧\n (∀ᵐ observation ∂likelihood ∘ₘ prior,\n fep_fep017.FEP017.fep017_posterior likelihood prior observation =\n prior.withDensity (fun parameter =>\n (likelihood parameter).rnDeriv\n (likelihood ∘ₘ prior) observation))", "statement_sha256": "a449dfa748e6978bb27f48310440824c9093b1e4ffd0d3112ebf193d50477d59" }, @@ -178347,7 +178347,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep053_joint_reconstruction_extends_fep017", "source_line": 78, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep053_joint_reconstruction_extends_fep017\n {Parameter Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n ((likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap) ∧\n ((likelihood ∘ₘ prior) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior likelihood prior =\n (prior ⊗ₘ likelihood).map Prod.swap)", "statement_sha256": "024e95d60b0aba998b60dcb70e53826175677e6c97ab00c20d0f9a8ed1fe4cf2" }, @@ -178491,7 +178491,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep054_involution_of_fep017_posterior", "source_line": 98, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep054_involution_of_fep017_posterior\n {Parameter Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Observation] [Nonempty Observation]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation)\n [IsFiniteKernel likelihood] [IsMarkovKernel likelihood] :\n ((likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood) ∧\n (fep_fep017.FEP017.fep017_posterior likelihood prior ∘ₘ\n likelihood ∘ₘ prior = prior)", "statement_sha256": "1b99acf8cecc2feb0504a84ed3c624bd26030476acfc06f5425e9f03d594e987" }, @@ -178654,7 +178654,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep055_composite_inversion_uses_fep019", "source_line": 115, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep055_composite_inversion_uses_fep019\n {Parameter Intermediate Observation : Type*}\n [MeasurableSpace Parameter] [MeasurableSpace Intermediate]\n [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Intermediate] [Nonempty Intermediate]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (earlier : Kernel Parameter Intermediate) [IsFiniteKernel earlier]\n (later : Kernel Intermediate Observation) [IsFiniteKernel later] :\n ((later ∘ₖ earlier)†prior =ᵐ[later ∘ₘ earlier ∘ₘ prior]\n earlier†prior ∘ₖ later†(earlier ∘ₘ prior)) ∧\n (later ∘ₘ\n fep_fep019.FEP019.fep019_priorPredictive earlier prior =\n fep_fep019.FEP019.fep019_priorPredictive\n (later ∘ₖ earlier) prior)", "statement_sha256": "94e5374ac33c84de6e6e9c4476c01bf6c8539b9b23cb76fe861a102488b28729" }, @@ -178826,7 +178826,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep056_disintegration_supplies_fep017", "source_line": 139, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep056_disintegration_supplies_fep017\n {Conditioning Conditioned Parameter Observation : Type*}\n [MeasurableSpace Conditioning] [MeasurableSpace Conditioned]\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]\n [MeasurableSpace Parameter] [MeasurableSpace Observation]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n (joint.fst ⊗ₘ joint.condKernel = joint) ∧\n ((likelihood ∘ₘ prior) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior likelihood prior =\n (prior ⊗ₘ likelihood).map Prod.swap)", "statement_sha256": "84d5974967d080aa449cc73830ea363a1d04e548a08583da52f871f26dfce7c2" }, @@ -178981,7 +178981,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep057_tower_integrates_fep015", "source_line": 159, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep057_tower_integrates_fep015\n {Conditioning Conditioned : Type*}\n [MeasurableSpace Conditioning] [MeasurableSpace Conditioned]\n [StandardBorelSpace Conditioned] [Nonempty Conditioned]\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n {observable energy logApproximation logGenerative :\n Conditioning × Conditioned → ℝ}\n (hIntegrable : Integrable observable joint)\n (hEnergy : Measurable energy)\n (hApproximation : Measurable logApproximation)\n (hGenerative : Measurable logGenerative) :\n ((∫ conditioning,\n ∫ conditioned, observable (conditioning, conditioned)\n ∂joint.condKernel conditioning ∂joint.fst) =\n ∫ pair, observable pair ∂joint) ∧\n Measurable\n (fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative)", "statement_sha256": "70ed07c7801c0c472eeeb9db0bf889e7e3bbb18fed287c1147bc6f140f8cc636" }, @@ -179090,7 +179090,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep058_gibbs_gap_is_fep001_kl", "source_line": 185, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep058_gibbs_gap_is_fep001_kl\n {State Native : Type*} [Fintype State]\n [MeasurableSpace Native]\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State)\n (approximation posterior : Measure Native) (surprisal : ENNReal) :\n -certificate.logPartition ≤ gibbsFreeEnergy certificate candidate ∧\n surprisal ≤\n fep_fep001.FEP001.fep001_variationalUpperBound\n approximation posterior surprisal", "statement_sha256": "2757527af0ac400c46c7650ec45d0dc2de6dbe239beb48cab0384c3f0f389e05" }, @@ -179205,7 +179205,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep059_dv_equality_is_fep001_exactness", "source_line": 202, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep059_dv_equality_is_fep001_exactness\n {State Native : Type*} [Fintype State]\n [MeasurableSpace Native]\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State)\n (approximation posterior : Measure Native)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior] :\n (dvObjective certificate candidate = certificate.logPartition ↔\n candidate = certificate.optimizer) ∧\n (fep_fep001.FEP001.fep001_variationalGap approximation posterior = 0 ↔\n approximation = posterior)", "statement_sha256": "f5fa58f9a5ea26953090f5f353ee9bf525a2e06bd25190ebf926a3dfc73b8d29" }, @@ -179321,7 +179321,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep060_coordinate_elbo_refines_fep002", "source_line": 220, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep060_coordinate_elbo_refines_fep002\n {Latent Observation : Type*}\n [Fintype Latent] [Fintype Observation]\n (actualPrior referencePrior : FiniteLaw Latent)\n (actualKernel referenceKernel : FiniteKernel Latent Observation)\n (hPrior : ∀ latent, 0 < referencePrior latent)\n (hKernel : ∀ latent observation,\n 0 < referenceKernel latent observation) :\n (jointELBO actualPrior referencePrior actualKernel referenceKernel =\n -finiteKL actualPrior referencePrior -\n conditionalKL actualPrior actualKernel referenceKernel) ∧\n jointELBO actualPrior referencePrior actualKernel referenceKernel ≤\n -finiteKL actualPrior referencePrior", "statement_sha256": "68145bbfa8f92eebff757cdec1034528c9cc3f78b67670eb183cb29cfa494a37" }, @@ -179466,7 +179466,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep061_meanField_gap_is_fep014_kl", "source_line": 249, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep061_meanField_gap_is_fep014_kl\n {Fixed Coordinate Native : Type*}\n [Fintype Fixed] [Fintype Coordinate] [MeasurableSpace Native]\n (fixed : FiniteLaw Fixed) (candidate target : FiniteLaw Coordinate)\n (hFixed : ∀ value, 0 < fixed value)\n (hTarget : ∀ value, 0 < target value)\n (approximation posterior : Measure Native)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior] :\n (meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔\n candidate = target) ∧\n (InformationTheory.klDiv approximation posterior = 0 ↔\n approximation = posterior)", "statement_sha256": "a23be3af7911ffc206fadb33a1dce7dfeb97108a46d5711ab2fc00df4074b804" }, @@ -179628,7 +179628,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep062_iwae_jensen_uses_fep035", "source_line": 269, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep062_iwae_jensen_uses_fep035\n {Sample : Type*} [Fintype Sample]\n (sampling : FiniteLaw Sample) (weight : Sample → ℝ)\n (hWeight : ∀ sample, 0 < weight sample)\n {x y a b : ℝ} (hx : 0 < x) (hy : 0 < y) (hxy : x ≠ y)\n (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) :\n (∑ sample, sampling sample * Real.log (weight sample) ≤\n Real.log (∑ sample, sampling sample * weight sample)) ∧\n (a * Real.log x + b * Real.log y <\n Real.log (a * x + b * y))", "statement_sha256": "e679a9f9a415f3c0a7e8bd4641560916a91ccd3cd604a9e7279ffa49ca5996cb" }, @@ -179775,7 +179775,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep063_channel_dpi_bounds_fep014", "source_line": 288, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep063_channel_dpi_bounds_fep014\n {Input Output Native : Type*}\n [Fintype Input] [Fintype Output] [Nonempty Input]\n [MeasurableSpace Native]\n (actual reference : FiniteLaw Input)\n (channel : FiniteKernel Input Output)\n (hActual : ∀ input, 0 < actual input)\n (hReference : ∀ input, 0 < reference input)\n (hChannel : ∀ input output, 0 < channel input output)\n (nativeActual nativeReference : Measure Native) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference ∧\n 0 ≤ InformationTheory.klDiv nativeActual nativeReference", "statement_sha256": "8e398e34ec755a9eb10a3eac95a52e2103f83f7ad221f3b5611fa942c013ba8b" }, @@ -179925,7 +179925,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep064_rateDistortion_uses_fep041_mutualInformation", "source_line": 308, - "source_owner": "src/fep_lean/formal/compositions/measure_variational.lean", + "source_owner": "src/fep_formal/formal/compositions/measure_variational.lean", "statement": "theorem fep064_rateDistortion_uses_fep041_mutualInformation\n {Source Code Native : Type*}\n [Fintype Source] [Fintype Code] [MeasurableSpace Native]\n (joint : FiniteLaw (Source × Code))\n (distortion : Source → Code → ℝ)\n (multiplier rateLower distortionLower : ℝ)\n (hMultiplier : 0 ≤ multiplier)\n (hRate : rateLower ≤ mutualInformation joint)\n (hDistortion : distortionLower ≤ expectedDistortion joint distortion)\n (posterior prior : Measure Native) :\n rateLower + multiplier * distortionLower ≤\n rateDistortionLagrangian joint distortion multiplier ∧\n 0 ≤ fep_fep041.FEP041.fep041_informationGain posterior prior", "statement_sha256": "fd3d8ef31586fe013e551aaa21873c792f61718da4261aeb80c6cf149c0c4843" }, @@ -180082,7 +180082,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep065_controlledKernel_extends_fep023_normalization", "source_line": 29, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep065_controlledKernel_extends_fep023_normalization\n {State Action Policy Outcome : Type*}\n [Fintype State] [Fintype Action] [MeasurableSpace Outcome]\n (transition : ControlledKernel State Action)\n (action : Action) (state : State)\n (policies : Set Policy) (law : Policy → Measure Outcome)\n (hLaw : ∀ policy ∈ policies, law policy Set.univ = 1)\n {reachable : Measure Outcome}\n (hReachable : reachable ∈\n fep_fep023.FEP023.fep023_reachableLaws policies law) :\n (∑ nextState, transition action state nextState = 1) ∧\n reachable Set.univ = 1", "statement_sha256": "bc6d2a23c8f63800cd6f6bc3d3a96d9177b3f079153cec5fd760668122827cb2" }, @@ -180316,7 +180316,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep066_action_update_refines_fep034_filter", "source_line": 49, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep066_action_update_refines_fep034_filter\n {State Action Observation NativeState NativeObservation : Type*}\n [Fintype State] [Fintype Action] [Fintype Observation]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (prior : FiniteLaw State) (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 (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission] :\n (actionBeliefUpdate prior transition emission action observation hEvidence state *\n actionEvidence prior transition emission action observation =\n actionPrediction prior transition action state *\n emission state observation) ∧\n ((nativeEmission ∘ₘ\n fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior) ⊗ₘ\n fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior =\n (fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior ⊗ₘ nativeEmission).map Prod.swap)", "statement_sha256": "08c3fc219f2e659936911bd1af5ae52f2c8fada8926d06aa635e4d41c1a36b88" }, @@ -180509,7 +180509,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep067_reachableBelief_refines_fep023", "source_line": 82, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep067_reachableBelief_refines_fep023\n {Belief State Action Observation Policy Outcome : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation]\n [DecidableEq Belief] [MeasurableSpace Outcome]\n (model : ReachableBeliefPOMDP Belief State Action Observation)\n (stateCost : State → Action → ℝ) (policy : ℕ → Belief → Action)\n (horizon : ℕ) (belief : Belief)\n (policies : Set Policy) (law : Policy → Measure Outcome)\n {available : Policy} (hAvailable : available ∈ policies) :\n reducedPolicyValue model stateCost policy horizon belief =\n interpretedPolicyValue model stateCost policy horizon belief ∧\n law available ∈\n fep_fep023.FEP023.fep023_reachableLaws policies law", "statement_sha256": "edb6bc853d4ddc89b72e8ecaf7aad78da7a990e3c89725641c27c8bc0498b373" }, @@ -180705,7 +180705,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep068_softBellman_extends_fep033", "source_line": 104, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep068_softBellman_extends_fep033\n {State Action OldState : Type*}\n [Fintype State] [Fintype Action] [Nonempty Action]\n (temperature : ℝ) (hTemperature : 0 < temperature)\n (stageCost : State → Action → ℝ)\n (transition : ControlledKernel State Action)\n (horizon : ℕ) (state : State)\n (discount : ENNReal) (oldStageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldHorizon : ℕ) (oldState : OldState) :\n ((0 < ∑ action,\n Real.exp (-((softBellmanActionEnergy temperature stageCost transition\n horizon state action) / temperature))) ∧\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)))) ∧\n ∀ action,\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action) ∧\n (fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost (oldHorizon + 1) oldState =\n oldStageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost oldHorizon (step oldState))", "statement_sha256": "814a9c864bba50e41efecbe343a15edf1b501c891babc929f28967487d29b748" }, @@ -180794,7 +180794,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep069_desirability_combines_fep031_weights", "source_line": 139, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep069_desirability_combines_fep031_weights\n {State : Type*} [Fintype State]\n (passive : FiniteKernel State State)\n (stateCost desirability : State → ℝ) (state : State) :\n desirabilityStep passive stateCost desirability state =\n Real.exp (-stateCost state) *\n ∑ nextState, passive state nextState * desirability nextState ∧\n 0 < Real.exp (-(1 : ℝ) * stateCost state)", "statement_sha256": "aa212c0474c66f1d642ca1e26d370ab19287c5dd3d8c1ceaa4fdfe20b4fe189e" }, @@ -180922,7 +180922,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep070_controlPosterior_refines_fep028_softmax", "source_line": 154, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep070_controlPosterior_refines_fep028_softmax\n {Action : Type*} [Fintype Action]\n (prior : FiniteLaw Action) (precision : ℝ) (cost : Action → ℝ)\n (gamma : ℝ) (oldCost : Fin 10 → ℝ)\n (policies : Finset (Fin 10)) (hPolicies : policies.Nonempty) :\n (∑ action, controlPosterior prior precision cost action = 1) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma oldCost policies policy = 1)", "statement_sha256": "3eab5b0e00172f284346afeae14aada6b712435ade13dffa4b1537c64400e9a2" }, @@ -181097,7 +181097,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep071_sophisticatedEFE_extends_fep033", "source_line": 171, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep071_sophisticatedEFE_extends_fep033\n {Belief Action Observation OldState : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : SophisticatedEFEModel Belief Action Observation)\n (horizon : ℕ) (belief : Belief)\n (discount : ENNReal) (stageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldHorizon : ℕ) (oldState : OldState) :\n (sophisticatedEFEValue model (horizon + 1) belief =\n model.stageEFE horizon belief (sophisticatedEFEAction model horizon belief) +\n ∑ observation,\n model.observationLaw belief\n (sophisticatedEFEAction model horizon belief) observation *\n sophisticatedEFEValue model horizon\n (model.update belief\n (sophisticatedEFEAction model horizon belief) observation)) ∧\n (fep_fep033.FEP033.fep033_value\n discount stageCost step terminalCost (oldHorizon + 1) oldState =\n stageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount stageCost step terminalCost oldHorizon (step oldState))", "statement_sha256": "deb2fba464032e77ed4dbb5f2f54fd42ec47b5b4017f677d560d939d7b652d55" }, @@ -181312,7 +181312,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep072_forward_filter_refines_fep034", "source_line": 200, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep072_forward_filter_refines_fep034\n {State Observation NativeState NativeObservation : Type*}\n [Fintype State] [Fintype Observation]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (prior : FiniteLaw State) (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation)\n (state : State)\n (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission] :\n (forwardFilter prior transition emission observation hEvidence state *\n forwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation) ∧\n ((nativeEmission ∘ₘ\n fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior) ⊗ₘ\n fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior =\n (fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior ⊗ₘ nativeEmission).map Prod.swap)", "statement_sha256": "da13fb3f92cae34707a9d3e668dc00b85db0ec4a33ba2946cb54496cc835c27e" }, @@ -181450,7 +181450,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep073_backward_message_composes_fep047", "source_line": 231, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep073_backward_message_composes_fep047\n {State Observation : Type*} [Fintype State] [Fintype Observation]\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (future : List Observation) (state : State)\n (outer inner : fep_fep047.FEP047.Factor)\n (incoming : fep_fep047.FEP047.State → ℝ) :\n (backwardMessage transition emission (observation :: future) state =\n backwardMessageStep transition emission observation\n (backwardMessage transition emission future) state) ∧\n (fep_fep047.FEP047.fep047_forward outer\n (fep_fep047.FEP047.fep047_forward inner incoming) =\n fep_fep047.FEP047.fep047_forward (outer * inner) incoming)", "statement_sha256": "21d1c0f905a3a5a523d6ef3879776212a01416065492a143bcb6c8a2d018a838" }, @@ -181567,7 +181567,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep074_backwardEvidence_supplies_fep072_filter", "source_line": 373, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep074_backwardEvidence_supplies_fep072_filter\n {State Observation : Type*} [Fintype State] [Fintype Observation]\n (prior : FiniteLaw State) (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hBackward : 0 < backwardEvidence prior transition emission observation) :\n ∃ hForward : 0 < forwardEvidence prior transition emission observation,\n ∀ state, forwardFilter prior transition emission observation hForward state *\n backwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation", "statement_sha256": "22349d7d5e842543dd94f33d32dee366525fb4d3123aea846d3c27fc38a03c32" }, @@ -181763,7 +181763,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep074_smoothing_reconstructs_fep034_filter", "source_line": 251, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep074_smoothing_reconstructs_fep034_filter\n {State NativeState NativeObservation : Type*}\n [Fintype State]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) (state : State)\n (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission] :\n (forwardBackwardSmoothing filtered backward hBackward hNormalizer state *\n smoothingNormalizer filtered backward =\n filtered state * backward state) ∧\n ((nativeEmission ∘ₘ\n fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior) ⊗ₘ\n fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior =\n (fep_fep034.FEP034.fep034_predictivePrior\n nativeTransition nativePrior ⊗ₘ nativeEmission).map Prod.swap)", "statement_sha256": "42a131a4ee65660e9ecd1919a9822995444c383e02cea9b96f27b8196ed224e7" }, @@ -181959,7 +181959,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep075_smoothing_normalization_extends_fep034", "source_line": 281, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep075_smoothing_normalization_extends_fep034\n {State NativeState NativeObservation : Type*}\n [Fintype State]\n [MeasurableSpace NativeState] [MeasurableSpace NativeObservation]\n [StandardBorelSpace NativeState] [Nonempty NativeState]\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward)\n (nativePrior : Measure NativeState) [IsFiniteMeasure nativePrior]\n (nativeTransition : Kernel NativeState NativeState)\n (nativeEmission : Kernel NativeState NativeObservation)\n [IsFiniteKernel nativeTransition] [IsFiniteKernel nativeEmission]\n (nativeObservation : NativeObservation) :\n (∑ state,\n forwardBackwardSmoothing filtered backward hBackward hNormalizer state =\n 1) ∧\n (fep_fep034.FEP034.fep034_filter\n nativeTransition nativeEmission nativePrior nativeObservation Set.univ = 1)", "statement_sha256": "bd0ceee26b4b2aeb24b2698410bf91a4a2d3f469bc3b8741d2b12f4e2b360283" }, @@ -182077,7 +182077,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep076_variational_update_refines_fep028_softmax", "source_line": 307, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep076_variational_update_refines_fep028_softmax\n {State : Type*} [Fintype State]\n (prior : FiniteLaw State) (energy : State → ℝ)\n (gamma : ℝ) (oldCost : Fin 10 → ℝ)\n (policies : Finset (Fin 10)) (hPolicies : policies.Nonempty) :\n (∑ state, variationalStateUpdate prior energy state = 1) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma oldCost policies policy = 1)", "statement_sha256": "5363b81ef2e63fde550b1774b5c214bd681ba18c32a28af9a69005c9b6f351b4" }, @@ -182240,7 +182240,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep077_hierarchical_predictive_extends_fep027", "source_line": 323, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep077_hierarchical_predictive_extends_fep027\n {Upper Middle Observation NativeUpper NativeMiddle NativeObservation : Type*}\n [Fintype Upper] [Fintype Middle] [Fintype Observation]\n [MeasurableSpace NativeUpper] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeObservation]\n (top : FiniteLaw Upper) (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation)\n (nativeTop : Measure NativeUpper)\n (nativeUpperKernel : Kernel NativeUpper NativeMiddle)\n (nativeLowerKernel : Kernel (NativeUpper × NativeMiddle) NativeObservation) :\n (hierarchicalPredictive top upperKernel lowerKernel =\n (FiniteKernel.comp lowerKernel upperKernel).predictive top) ∧\n ((fep_fep027.FEP027.fep027_hierarchicalJoint\n nativeTop nativeUpperKernel ⊗ₘ nativeLowerKernel).map\n MeasurableEquiv.prodAssoc =\n fep_fep027.FEP027.fep027_hierarchicalJoint\n nativeTop (nativeUpperKernel ⊗ₖ nativeLowerKernel))", "statement_sha256": "44db5201eeac97ad0270d8619d1578f94849b9716fd947dfff30a843bb59a1ea" }, @@ -182394,7 +182394,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep078_model_average_composes_fep019", "source_line": 348, - "source_owner": "src/fep_lean/formal/compositions/control_temporal.lean", + "source_owner": "src/fep_formal/formal/compositions/control_temporal.lean", "statement": "theorem fep078_model_average_composes_fep019\n {Model Observation NativeState NativeMiddle NativeObservation : Type*}\n [Fintype Model] [Fintype Observation]\n [MeasurableSpace NativeState] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeObservation]\n (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation)\n (observation : Observation)\n (nativePrior : Measure NativeState)\n (earlier : Kernel NativeState NativeMiddle)\n (later : Kernel NativeMiddle NativeObservation) :\n (modelAverage modelPrior modelPredictive observation =\n ∑ model, modelPrior model * modelPredictive model observation) ∧\n (later ∘ₘ fep_fep019.FEP019.fep019_priorPredictive\n earlier nativePrior =\n fep_fep019.FEP019.fep019_priorPredictive\n (later ∘ₖ earlier) nativePrior)", "statement_sha256": "4447605f5cc6ec887ff1fde8f8ccf721ea15b44928e10fabd1cdc126019ab994" }, @@ -182548,7 +182548,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep079_blanket_cmi_refines_fep009", "source_line": 30, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep079_blanket_cmi_refines_fep009\n {Blanket Internal External NativeLeft NativeRight : Type*}\n [Fintype Blanket] [Fintype Internal] [Fintype External]\n [MeasurableSpace NativeLeft] [MeasurableSpace NativeRight]\n (model : ConditionalBlanketModel Blanket Internal External)\n (hBlanket : ∀ blanket, 0 < model.blanketLaw blanket)\n (left : Measure NativeLeft) (right : Measure NativeRight)\n (leftEvent : Set NativeLeft) (rightEvent : Set NativeRight) :\n (conditionalMutualInformation model = 0 ↔ Factorizes model) ∧\n 0 ≤ left leftEvent * right rightEvent", "statement_sha256": "83ef7970a5379480d940f2edd00f6b2d36c6c105930eab82f3dee50ebd9b1edb" }, @@ -182723,7 +182723,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep080_shared_mixture_preserves_fep019_prediction", "source_line": 48, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep080_shared_mixture_preserves_fep019_prediction\n {Input Output NativeInput NativeMiddle NativeOutput : Type*}\n [Fintype Input] [Fintype Output]\n [MeasurableSpace NativeInput] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeOutput]\n (weight : ℝ) (hWeightNonnegative : 0 ≤ weight)\n (hWeightAtMostOne : weight ≤ 1)\n (left right : FiniteLaw Input) (kernel : FiniteKernel Input Output)\n (prior : Measure NativeInput)\n (earlier : Kernel NativeInput NativeMiddle)\n (later : Kernel NativeMiddle NativeOutput) :\n (kernel.joint\n (mixLaw weight hWeightNonnegative hWeightAtMostOne left right) =\n mixLaw weight hWeightNonnegative hWeightAtMostOne\n (kernel.joint left) (kernel.joint right)) ∧\n (later ∘ₘ fep_fep019.FEP019.fep019_priorPredictive earlier prior =\n fep_fep019.FEP019.fep019_priorPredictive\n (later ∘ₖ earlier) prior)", "statement_sha256": "57091c91e832ad702824eca2067ce04de2991129f7755da89896fe413aea44a5" }, @@ -182942,7 +182942,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep081_coupled_blanket_composes_fep009", "source_line": 73, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep081_coupled_blanket_composes_fep009\n {BlanketOne BlanketTwo InternalOne InternalTwo ExternalOne ExternalTwo : Type*}\n [Fintype BlanketOne] [Fintype BlanketTwo]\n [Fintype InternalOne] [Fintype InternalTwo]\n [Fintype ExternalOne] [Fintype ExternalTwo]\n [MeasurableSpace InternalOne] [MeasurableSpace ExternalOne]\n (blanketLaw : FiniteLaw (BlanketOne × BlanketTwo))\n (internalOne : FiniteKernel BlanketOne InternalOne)\n (internalTwo : FiniteKernel BlanketTwo InternalTwo)\n (externalOne : FiniteKernel BlanketOne ExternalOne)\n (externalTwo : FiniteKernel BlanketTwo ExternalTwo)\n (blanket : BlanketOne × BlanketTwo)\n (left : Measure InternalOne) (right : Measure ExternalOne)\n (leftEvent : Set InternalOne) (rightEvent : Set ExternalOne) :\n mutualInformation\n (conditionalJoint\n (coupledBlanketModel blanketLaw internalOne internalTwo\n externalOne externalTwo) blanket) = 0 ∧\n 0 ≤ left leftEvent * right rightEvent", "statement_sha256": "f535c97fb1e4e840f893043937b26533ff449cd95d04be32a0e9f6d5c35a8871" }, @@ -183097,7 +183097,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep082_intervention_normalization_extends_fep023", "source_line": 100, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep082_intervention_normalization_extends_fep023\n {Context Value Policy Outcome : Type*}\n [Fintype Context] [Fintype Value] [DecidableEq Value]\n [MeasurableSpace Outcome]\n (chosen : Value) (context : Context)\n (policies : Set Policy) (law : Policy → Measure Outcome)\n (hLaw : ∀ policy ∈ policies, law policy Set.univ = 1)\n {reachable : Measure Outcome}\n (hReachable : reachable ∈\n fep_fep023.FEP023.fep023_reachableLaws policies law) :\n (∑ value, interventionKernel (Context := Context) chosen context value = 1) ∧\n reachable Set.univ = 1", "statement_sha256": "ebdd0893742de8afb54f4e8df7cb2213f0a5697f5d4e511066f5b17aaf3f142a" }, @@ -183250,7 +183250,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep083_intervention_invariance_refines_fep009", "source_line": 119, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep083_intervention_invariance_refines_fep009\n {Root NonDescendant Mediator Outcome Native : Type*}\n [Fintype Root] [Fintype NonDescendant]\n [Fintype Mediator] [Fintype Outcome] [DecidableEq Root]\n [MeasurableSpace Native]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nativeLaw : Measure Native)\n {smaller larger : Set Native} (hSubset : smaller ⊆ larger) :\n nonDescendantMarginal (interventionalJoint model root) =\n model.nonDescendantLaw ∧\n nativeLaw smaller ≤ nativeLaw larger", "statement_sha256": "ae1ded6b344b80b86d6d11dfe7c26135841a7b09321ecb8573fdbc17733aa17d" }, @@ -183442,7 +183442,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep084_ordered_factorization_extends_fep027", "source_line": 136, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep084_ordered_factorization_extends_fep027\n {Root NonDescendant Mediator Outcome NativeRoot NativeMiddle NativeOutcome :\n Type*}\n [Fintype Root] [Fintype NonDescendant]\n [Fintype Mediator] [Fintype Outcome]\n [MeasurableSpace NativeRoot] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeOutcome]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nonDescendant : NonDescendant)\n (mediator : Mediator) (outcome : Outcome)\n (nativePrior : Measure NativeRoot)\n (nativeFirst : Kernel NativeRoot NativeMiddle)\n (nativeSecond : Kernel (NativeRoot × NativeMiddle) NativeOutcome) :\n (orderedJoint model (((root, nonDescendant), mediator), outcome) =\n ((model.rootLaw root * model.nonDescendantLaw nonDescendant) *\n model.mediatorGivenRoot root mediator) *\n model.outcomeGivenParents (nonDescendant, mediator) outcome) ∧\n ((fep_fep027.FEP027.fep027_hierarchicalJoint\n nativePrior nativeFirst ⊗ₘ nativeSecond).map\n MeasurableEquiv.prodAssoc =\n fep_fep027.FEP027.fep027_hierarchicalJoint\n nativePrior (nativeFirst ⊗ₖ nativeSecond))", "statement_sha256": "67094b8632fa8a11fa40aef46ac19d0483cdc8221547c714fb4d2a00da7f6f54" }, @@ -183625,7 +183625,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep085_local_markov_refines_fep009", "source_line": 167, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep085_local_markov_refines_fep009\n {Root NonDescendant Mediator Outcome Native : Type*}\n [Fintype Root] [Fintype NonDescendant]\n [Fintype Mediator] [Fintype Outcome]\n [mNative : MeasurableSpace Native] [StandardBorelSpace Native]\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator)\n (conditioning observed : MeasurableSpace Native)\n (hConditioning : conditioning ≤ mNative)\n (nativeLaw : @Measure Native mNative) [IsFiniteMeasure nativeLaw] :\n mutualInformation\n (localMarkovConditional model nonDescendant mediator hEvidence) = 0 ∧\n CondIndep conditioning observed ⊥ hConditioning nativeLaw", "statement_sha256": "70d4e997b8470ffc1cfe6edca6b3cf67ffdcaead0ec4b5c480b5af557c8f30da" }, @@ -183696,7 +183696,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep086_precision_energy_refines_fep016", "source_line": 189, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep086_precision_energy_refines_fep016\n {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate ∧\n 0 ≤ (precision / 2) * (observation - estimate) ^ 2", "statement_sha256": "466c10c660015903c233538ed563e1c7b8744df8b60261f22f8fd56dc2be6479" }, @@ -183768,7 +183768,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep087_hierarchical_energy_extends_fep039", "source_line": 203, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep087_hierarchical_energy_extends_fep039\n {depth : ℕ} (precision error : Fin (depth + 1) → ℝ)\n (left right : Fin 4 → ℝ) :\n (hierarchicalEnergy precision error =\n precision 0 / 2 * error 0 ^ 2 +\n ∑ level : Fin depth,\n precision level.succ / 2 * error level.succ ^ 2) ∧\n (fep_fep039.FEP039.fep039_global_fe\n (fun index => left index + right index) =\n fep_fep039.FEP039.fep039_global_fe left +\n fep_fep039.FEP039.fep039_global_fe right)", "statement_sha256": "659468f9edb8efe7b5a42834ca697a3f164a13ffc67033b343e2e0b7e2622201" }, @@ -183820,7 +183820,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep088_prediction_gradient_extends_fep043", "source_line": 221, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep088_prediction_gradient_extends_fep043\n (precision observation estimate : ℝ) :\n HasDerivAt\n (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate ∧\n HasDerivAt\n (fep_fep043.FEP043.fep043_quadraticFreeEnergy\n (precision / 2) observation 0)\n (fep_fep043.FEP043.fep043_quadraticGradient\n (precision / 2) observation estimate) estimate", "statement_sha256": "367113545e907da8419df3236737379e399438d87930cac2221be84ef866732b" }, @@ -183891,7 +183891,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep089_finite_jet_shift_specializes_fep006", "source_line": 239, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep089_finite_jet_shift_specializes_fep006\n {order : ℕ} (first second : ℕ) (jet : FiniteJet order) :\n shift (first + second) jet = shift first (shift second jet) ∧\n fep_fep006.FEP006.fep006_iterateFlow\n (shift 1 : FiniteJet order → FiniteJet order)\n (first + second) jet =\n fep_fep006.FEP006.fep006_iterateFlow\n (shift 1 : FiniteJet order → FiniteJet order) first\n (fep_fep006.FEP006.fep006_iterateFlow\n (shift 1 : FiniteJet order → FiniteJet order) second jet)", "statement_sha256": "7b262d5b1288c0baae01dae7e117115a1c2b8971ea003dc60b2fb9d936b10fc4" }, @@ -183982,7 +183982,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep090_generalized_correction_combines_fep043", "source_line": 256, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep090_generalized_correction_combines_fep043\n {order : ℕ} (stepSize : ℝ) (precision : ℕ → ℝ)\n (target estimate : FiniteJet order) (degree : ℕ) :\n ((generalizedFilteringStep stepSize precision target estimate).coefficient\n degree =\n estimate.coefficient degree + stepSize *\n ((shift 1 estimate).coefficient degree -\n precisionEnergyGradient (precision degree)\n (target.coefficient degree) (estimate.coefficient degree))) ∧\n HasDerivAt\n (fep_fep043.FEP043.fep043_quadraticFreeEnergy\n (precision degree / 2) (target.coefficient degree) 0)\n (fep_fep043.FEP043.fep043_quadraticGradient\n (precision degree / 2) (target.coefficient degree)\n (estimate.coefficient degree))\n (estimate.coefficient degree)", "statement_sha256": "5617079c94d05757f8597e2ccfbc3dcbc091e667cff0b6e3be33225f4a02e4c0" }, @@ -184064,7 +184064,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep091_precision_modulation_refines_fep016", "source_line": 281, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep091_precision_modulation_refines_fep016\n {lower upper : ℝ} (hLowerNonnegative : 0 ≤ lower)\n (hPrecision : lower ≤ upper) (observation estimate : ℝ) :\n (0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate) ∧\n 0 ≤ (lower / 2) * (observation - estimate) ^ 2", "statement_sha256": "a5d702e28b4d0f93b921e72c9c60f1542ba2f4573594a8634a2019aa663d2962" }, @@ -184145,7 +184145,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep092_quadratic_convergence_specializes_fep032", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/causal_predictive.lean", + "source_owner": "src/fep_formal/formal/compositions/causal_predictive.lean", "statement": "theorem fep092_quadratic_convergence_specializes_fep032\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) ∧\n Tendsto\n (fun iterations =>\n ((fep_fep032.FEP032.fep032_quadraticUpdate stepSize target)^[iterations])\n estimate)\n atTop (nhds target)", "statement_sha256": "7cb4338f0bb7b68ef8335a9c569dc34aa0e8719e627d0c0c9222ae0a47039ad3" }, @@ -184253,7 +184253,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep093_path_ratio_extends_fep010_reversal", "source_line": 32, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep093_path_ratio_extends_fep010_reversal\n {Path Native : Type*} [Fintype Path] [MeasurableSpace Native]\n (protocol : FinitePathProtocol Path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path)\n (nativeLaw : Measure Native) :\n pathRatio protocol path * protocol.reverseAligned path =\n protocol.forward path ∧\n Kernel.IsReversible (Kernel.id : Kernel Native Native) nativeLaw", "statement_sha256": "0e4a93dc66e1b4b617d23bd19e5959a54fe59949ef7d45b1909a3fac9d51802b" }, @@ -184352,7 +184352,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep094_path_kl_refines_fep049_entropy_production", "source_line": 47, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep094_path_kl_refines_fep049_entropy_production\n {Path Edge : Type*} [Fintype Path] [Fintype Edge]\n (protocol : FinitePathProtocol Path)\n (conductance force : Edge → ℝ)\n (hConductance : ∀ edge, 0 ≤ conductance edge) :\n entropyProduction protocol =\n finiteKL protocol.forward protocol.reverseAligned ∧\n 0 ≤ fep_fep049.FEP049.fep049_entropyProduction conductance force", "statement_sha256": "acbdd0689136608bd35d21f9a178f46b12bbcd53271fee3d3f728a6a55045a3a" }, @@ -184498,7 +184498,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep095_fluctuation_symmetry_extends_fep010_reversibility", "source_line": 62, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep095_fluctuation_symmetry_extends_fep010_reversibility\n {Path Native : Type*} [Fintype Path] [MeasurableSpace Native]\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path) (path : Path)\n (kernel : Kernel Native Native) (nativeLaw : Measure Native)\n [IsMarkovKernel kernel] (hReversible : Kernel.IsReversible kernel nativeLaw) :\n (protocol.reverseAligned path *\n Real.exp (pathwiseEntropyProduction protocol path) =\n protocol.forward path) ∧\n Kernel.Invariant kernel nativeLaw", "statement_sha256": "03ada95ddf5f07a982478092de230595d4b750bb7c81a03d7cc34bd3d94adcff" }, @@ -184607,7 +184607,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep096_integral_fluctuation_refines_fep049", "source_line": 81, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep096_integral_fluctuation_refines_fep049\n {Path Edge : Type*} [Fintype Path] [Fintype Edge]\n (protocol : FinitePathProtocol Path)\n (hForward : ∀ path, 0 < protocol.forward path)\n (hReverse : ∀ path, 0 < protocol.reverseAligned path)\n (conductance force : Edge → ℝ) :\n (∑ path, protocol.forward path *\n Real.exp (-pathwiseEntropyProduction protocol path) = 1) ∧\n ((∑ edge,\n force edge *\n fep_fep049.FEP049.fep049_linearFlux conductance force edge) =\n fep_fep049.FEP049.fep049_entropyProduction conductance force)", "statement_sha256": "434b6a85702e8dd1eaafae5bc579fcf97ce07916b0894a10a7bbdef597e822c6" }, @@ -184721,7 +184721,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep097_jarzynski_extends_fep013_helmholtz", "source_line": 101, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep097_jarzynski_extends_fep013_helmholtz\n {Path : Type*} [Fintype Path]\n (law : FiniteLaw Path) (beta deltaFreeEnergy : ℝ) (work : Path → ℝ)\n (hNormalization :\n HasJarzynskiNormalization law beta deltaFreeEnergy work)\n (internalInitial internalFinal temperature entropyInitial entropyFinal : ℝ) :\n exponentialWorkAverage law beta work =\n Real.exp (-beta * deltaFreeEnergy) ∧\n (fep_fep013.FEP013.fep013_helmholtz\n internalFinal temperature entropyFinal -\n fep_fep013.FEP013.fep013_helmholtz\n internalInitial temperature entropyInitial =\n (internalFinal - internalInitial) -\n temperature * (entropyFinal - entropyInitial))", "statement_sha256": "ecbf32a8bf04e10b42b24d3fe202c163433a032e42dbf095060bf24a74fcbec7" }, @@ -184852,7 +184852,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep098_local_current_refines_fep025", "source_line": 123, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep098_local_current_refines_fep025\n {State : Type*} [Fintype State]\n (law : FiniteLaw State) (kernel : FiniteKernel State State)\n (hReversible : IsReversible law kernel) (source target : State)\n {size : ℕ} (flow : Matrix (Fin size) (Fin size) ℝ)\n (left right : Fin size) :\n probabilityCurrent law kernel source target = 0 ∧\n fep_fep025.FEP025.fep025_probabilityCurrent flow left right =\n -fep_fep025.FEP025.fep025_probabilityCurrent flow right left", "statement_sha256": "a5a88a66da6ce97e4e25e8cd37e23b048b5ba4a75333cc2288f292b0f8b287d9" }, @@ -184990,7 +184990,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep099_markov_path_KL_drop_reduction", "source_line": 165, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep099_markov_path_KL_drop_reduction\n {State : Type*} [Fintype State] [DecidableEq State] [Nonempty State]\n (actual stationary : FiniteLaw State) (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 entropyProduction (markovPathProtocol kernel actual kernel\n (kernel.predictive actual) 1) =\n finiteKL actual stationary - finiteKL (kernel.predictive actual) stationary ∧\n finiteKL (kernel.predictive actual) stationary ≤ finiteKL actual stationary", "statement_sha256": "c4fa391bf0afd3a7c8438c960f99397f681fd691e936171950420908b827c2f1" }, @@ -185172,7 +185172,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep099_reversible_kl_dissipation_links_fep010_fep014", "source_line": 140, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep099_reversible_kl_dissipation_links_fep010_fep014\n {State Native : Type*} [Fintype State] [Nonempty State]\n [MeasurableSpace Native]\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 (nativeActual nativeStationary : Measure Native)\n (nativeKernel : Kernel Native Native) [IsMarkovKernel nativeKernel]\n (hNativeReversible : Kernel.IsReversible nativeKernel nativeStationary) :\n finiteKL (kernel.predictive actual) stationary ≤\n finiteKL actual stationary ∧\n 0 ≤ InformationTheory.klDiv nativeActual nativeStationary ∧\n Kernel.Invariant nativeKernel nativeStationary", "statement_sha256": "6124612b7449a59f6dd9d352def5fc3db40d6bd029f95c4df9d14b7e43b1fc10" }, @@ -185284,7 +185284,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep100_categorical_fisher_refines_fep004", "source_line": 185, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep100_categorical_fisher_refines_fep004\n {dimension : ℕ} (carrier : CategoricalFisherCarrier dimension)\n (tangent : Fin dimension → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0)\n (information oldTangent : Fin dimension → ℝ)\n (hInformation : ∀ coordinate, 0 ≤ information coordinate) :\n 0 < fisherMetric carrier.model tangent tangent ∧\n 0 ≤ fep_fep004.FEP004.fep004_fisherMetric\n information oldTangent oldTangent", "statement_sha256": "322343a3ecb2e451e871d0f83085be1c2bdb054006c53088528ae6a97f604834" }, @@ -185427,7 +185427,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep101_fisher_pullback_extends_fep038", "source_line": 202, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep101_fisher_pullback_extends_fep038\n {Outcome : Type*} [Fintype Outcome] {dimension chartDimension : ℕ}\n (model : ScoreModel Outcome dimension)\n (outer : Matrix (Fin dimension) (Fin chartDimension) ℝ)\n (inner : Matrix (Fin chartDimension) (Fin dimension) ℝ)\n (left right : Fin dimension → ℝ)\n {parameter leftScalar rightScalar : ℝ}\n (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1) :\n (pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)) ∧\n (fep_fep038.FEP038.fep038_fisherMetric\n parameter leftScalar rightScalar =\n (fep_fep038.FEP038.fep038_coordinateJacobian parameter * leftScalar) *\n (fep_fep038.FEP038.fep038_coordinateJacobian parameter *\n rightScalar))", "statement_sha256": "5c70d115a16cc9794bbe444f9e1e962e1405c755eff9cd68b38b180feb9a101b" }, @@ -185556,7 +185556,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep102_cramer_rao_uses_fep038_score_geometry", "source_line": 226, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep102_cramer_rao_uses_fep038_score_geometry\n {Outcome : Type*} [Fintype Outcome]\n (model : ScoreModel Outcome 1) (estimator : Outcome → ℝ)\n (target : ℝ)\n (certificate : ScalarCramerRaoCertificate model estimator target)\n {parameter : ℝ} (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1) :\n 1 ≤ estimatorVariance model.law estimator target * scalarFisher model ∧\n (∑ outcome : Bool,\n fep_fep038.FEP038.fep038_bernoulliMass parameter outcome *\n fep_fep038.FEP038.fep038_score parameter outcome = 0)", "statement_sha256": "02d407536c8cf8a31ec8b9dc0ec4af426bc88b71b80ad9691b2ef499e824da82" }, @@ -185702,7 +185702,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep103_natural_gradient_extends_fep038", "source_line": 245, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep103_natural_gradient_extends_fep038\n {Outcome : Type*} [Fintype Outcome] {dimension : ℕ}\n (model : ScoreModel Outcome dimension) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin dimension) (Fin dimension) ℝ)\n [Invertible jacobian] (covector : Fin dimension → ℝ)\n {parameter gradient : ℝ} (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1) :\n (chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector) ∧\n (fep_fep038.FEP038.fep038_fisherInformation parameter *\n fep_fep038.FEP038.fep038_naturalGradient parameter gradient =\n gradient)", "statement_sha256": "e405c988ec0eebb5a8873a5e0850bdd633a04229caa99543ad91f87e6c23e123" }, @@ -185825,7 +185825,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep104_mirror_descent_refines_fep024", "source_line": 266, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep104_mirror_descent_refines_fep024\n {dimension : ℕ}\n (potential : (Fin dimension → ℝ) → ℝ)\n (gradient : (Fin dimension → ℝ) → Fin dimension → ℝ)\n (left middle right : Fin dimension → ℝ)\n {Native : Type*} [MeasurableSpace Native]\n (base weight : ENNReal) (approximation prior : Measure Native) :\n (bregmanDivergence potential gradient left right -\n bregmanDivergence potential gradient left middle -\n bregmanDivergence potential gradient middle right =\n coordinatePairing\n (fun coordinate => gradient middle coordinate - gradient right coordinate)\n (fun coordinate => left coordinate - middle coordinate)) ∧\n base ≤ fep_fep024.FEP024.fep024_klRegularizedObjective\n base weight approximation prior", "statement_sha256": "3ac0450ec4aa272f0ff12dfd3bcb6383537be65b277628e72dc3138f17660dbb" }, @@ -185949,7 +185949,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep105_bregman_projection_extends_fep044", "source_line": 289, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep105_bregman_projection_extends_fep044\n {dimension : ℕ}\n (potential : (Fin dimension → ℝ) → ℝ)\n (gradient : (Fin dimension → ℝ) → Fin dimension → ℝ)\n (affineSet : Set (Fin dimension → ℝ))\n (base projection candidate : Fin dimension → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet) (left right : ℝ) :\n (bregmanDivergence potential gradient candidate base =\n bregmanDivergence potential gradient candidate projection +\n bregmanDivergence potential gradient projection base) ∧\n 0 ≤ fep_fep044.FEP044.fep044_hellingerSq left right", "statement_sha256": "a0689f80a68285a27fbc328b5324eddf53dcc8f5eb6a209be7f7464a1dd85106" }, @@ -186097,7 +186097,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep106_replicator_links_fep028_fep038", "source_line": 311, - "source_owner": "src/fep_lean/formal/compositions/thermo_geometry.lean", + "source_owner": "src/fep_formal/formal/compositions/thermo_geometry.lean", "statement": "theorem fep106_replicator_links_fep028_fep038\n {dimension : ℕ} (carrier : CategoricalFisherCarrier dimension)\n (fitness : Fin dimension → ℝ)\n {parameter scalarGradient : ℝ}\n (hParameterPositive : 0 < parameter)\n (hParameterBelowOne : parameter < 1)\n (gamma : ℝ) (cost : Fin 10 → ℝ) (policies : Finset (Fin 10))\n (hPolicies : policies.Nonempty) :\n IsNaturalGradient carrier.model\n (fun coordinate => fitness coordinate - meanFitness carrier.law fitness)\n (replicatorVector carrier.law fitness) ∧\n (fep_fep038.FEP038.fep038_fisherInformation parameter *\n fep_fep038.FEP038.fep038_naturalGradient parameter scalarGradient =\n scalarGradient) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma cost policies policy = 1)", "statement_sha256": "232dcabfa496355ee9235960cffc8256b0fc0c773493b50039c67605888e6520" }, @@ -186326,7 +186326,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep107_product_agent_extends_fep027_hierarchy", "source_line": 32, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep107_product_agent_extends_fep027_hierarchy\n {StateLeft StateRight ObservationLeft ObservationRight : Type*}\n [Fintype StateLeft] [Fintype StateRight]\n [Fintype ObservationLeft] [Fintype ObservationRight]\n (priorLeft : FiniteLaw StateLeft) (priorRight : FiniteLaw StateRight)\n (kernelLeft : FiniteKernel StateLeft ObservationLeft)\n (kernelRight : FiniteKernel StateRight ObservationRight)\n (stateLeft : StateLeft) (stateRight : StateRight)\n (observationLeft : ObservationLeft) (observationRight : ObservationRight)\n {NativeParent NativeChild : Type*}\n [MeasurableSpace NativeParent] [MeasurableSpace NativeChild]\n (nativePrior : Measure NativeParent) [IsProbabilityMeasure nativePrior]\n (nativeKernel : Kernel NativeParent NativeChild)\n [IsMarkovKernel nativeKernel] :\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)) ∧\n (fep_fep027.FEP027.fep027_hierarchicalJoint\n nativePrior nativeKernel Set.univ = 1)", "statement_sha256": "bda9dfe5044cf045f98fa73020e9225a0ec2f5b24e60ebf785319f7472035461" }, @@ -186467,7 +186467,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep108_collective_vfe_extends_fep039_additivity", "source_line": 62, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep108_collective_vfe_extends_fep039_additivity\n {StateLeft StateRight : Type*} [Fintype StateLeft] [Fintype StateRight]\n (actualLeft referenceLeft : FiniteLaw StateLeft)\n (actualRight referenceRight : FiniteLaw StateRight)\n (leftCost : StateLeft → ℝ) (rightCost : StateRight → ℝ)\n (hReferenceLeft : ∀ state, 0 < referenceLeft state)\n (hReferenceRight : ∀ state, 0 < referenceRight state)\n (oldLeft oldRight : Fin 4 → ℝ) :\n collectiveVFE\n actualLeft referenceLeft actualRight referenceRight leftCost rightCost =\n variationalFreeEnergy actualLeft referenceLeft leftCost +\n variationalFreeEnergy actualRight referenceRight rightCost ∧\n (fep_fep039.FEP039.fep039_global_fe\n (fun index => oldLeft index + oldRight index) =\n fep_fep039.FEP039.fep039_global_fe oldLeft +\n fep_fep039.FEP039.fep039_global_fe oldRight)", "statement_sha256": "26c010f4976fff0e73be684ff5629443d3fd839d2a8985c934a1dcaf16aa240c" }, @@ -186618,7 +186618,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep109_independent_efe_extends_fep021", "source_line": 86, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep109_independent_efe_extends_fep021\n {StateLeft StateRight : Type*} [Fintype StateLeft] [Fintype StateRight]\n (predictiveLeft preferenceLeft : FiniteLaw StateLeft)\n (predictiveRight preferenceRight : FiniteLaw StateRight)\n (ambiguityLeft : StateLeft → ℝ) (ambiguityRight : StateRight → ℝ)\n (hPreferenceLeft : ∀ state, 0 < preferenceLeft state)\n (hPreferenceRight : ∀ state, 0 < preferenceRight state)\n {pragmaticCost epistemicValue : ENNReal}\n (hEpistemicValue : epistemicValue ≤ pragmaticCost) :\n independentCollectiveEFE\n predictiveLeft preferenceLeft predictiveRight preferenceRight\n ambiguityLeft ambiguityRight =\n expectedFreeEnergy predictiveLeft preferenceLeft ambiguityLeft +\n expectedFreeEnergy predictiveRight preferenceRight ambiguityRight ∧\n (fep_fep021.FEP021.fep021_expectedFreeEnergy\n pragmaticCost epistemicValue + epistemicValue = pragmaticCost)", "statement_sha256": "30d31c6c226e53936157ad2ee05671b968a9e702c7a4a46bb1ecf4458ff09d32" }, @@ -186738,7 +186738,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep110_product_of_experts_refines_fep028_normalization", "source_line": 110, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep110_product_of_experts_refines_fep028_normalization\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State)\n (hNormalizer : 0 < productOfExpertsNormalizer left right)\n (gamma : ℝ) (cost : Fin 10 → ℝ) (policies : Finset (Fin 10))\n (hPolicies : policies.Nonempty) :\n (∑ state,\n unitWeightProductOfExpertsPool left right hNormalizer state = 1) ∧\n (∑ policy ∈ policies,\n fep_fep028.FEP028.fep028_softmax gamma cost policies policy = 1)", "statement_sha256": "f3de845344a9d06f667070cc9777af3d2ae0ed9a55fd620517a14a1c391fedc6" }, @@ -186848,7 +186848,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep111_consensus_mass_extends_fep025_conservation", "source_line": 128, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep111_consensus_mass_extends_fep025_conservation\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n {size : ℕ} (current : Matrix (Fin size) (Fin size) ℝ)\n (hCurrent : ∀ source target,\n current source target = -current target source) :\n consensusLeft left right state + consensusRight left right state =\n left state + right state ∧\n (∑ source,\n fep_fep025.FEP025.fep025_divergence current source = 0)", "statement_sha256": "c9c4bea756a7cf14dcf6affbc1c8214833ff8720f940dc3214818fe1b92b118e" }, @@ -186938,7 +186938,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep112_consensus_convergence_extends_fep048_contraction", "source_line": 145, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep112_consensus_convergence_extends_fep048_contraction\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State) (initial : ℝ) :\n Tendsto\n (fun iterations =>\n beliefGap\n (consensusIterate (left, right) iterations).1\n (consensusIterate (left, right) iterations).2 state)\n atTop (nhds 0) ∧\n Tendsto\n (fun iterations => fep_fep048.FEP048.fep048_halfUpdate^[iterations] initial)\n atTop (nhds 0)", "statement_sha256": "55fd995a8cdd977c306bafe12664624cae9b62f38a80155d8bb21a037d1f0bc9" }, @@ -187028,7 +187028,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep112_consensus_fixed_pair_is_equal", "source_line": 376, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep112_consensus_fixed_pair_is_equal\n {State : Type*} [Fintype State] (left right : FiniteLaw State)\n (hLeft : consensusLeft left right = left)\n (hRight : consensusRight left right = right) : left = right", "statement_sha256": "716f1bbc736ece53e109c8438e50d898cb3c86d43091adcfe7223e20eb9cabc8" }, @@ -187150,7 +187150,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep113_coupled_potential_refines_fep032_descent", "source_line": 163, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep113_coupled_potential_refines_fep032_descent\n {State : Type*} [Fintype State]\n (left right : FiniteLaw State) (state : State)\n (hSeparated : left state ≠ right state)\n {step center estimate : ℝ} (hStepNonnegative : 0 ≤ step)\n (hStepAtMostTwo : step ≤ 2) :\n coupledPotential (consensusLeft left right)\n (consensusRight left right) state <\n coupledPotential left right state ∧\n (fep_fep032.FEP032.fep032_quadraticUpdate step center estimate - center) ^ 2 ≤\n (estimate - center) ^ 2", "statement_sha256": "7ee0cdb53262d6545f1cb00b9bf7e064bd9217f773d627a9b91e5d5702a7d6e7" }, @@ -187300,7 +187300,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep114_subgaussian_tail_refines_fep036_empirical_rate", "source_line": 182, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep114_subgaussian_tail_refines_fep036_empirical_rate\n {Omega : Type*} [MeasurableSpace Omega]\n (law : Measure Omega) {sampleCount : ℕ}\n (observables : Fin sampleCount → Omega → ℝ)\n (hIndependent : iIndepFun observables law)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (hSubGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) law)\n {deviation : ℝ} (hDeviation : 0 ≤ deviation)\n (successes trials : ℕ) :\n law.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index)) ∧\n 0 < fep_fep036.FEP036.fep036_smoothedRate successes trials", "statement_sha256": "674090a23f1cc2b47b2f023ce2271d12eef7bd9829ed7dd3d3e32100753392d7" }, @@ -187473,7 +187473,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep115_frequency_union_bound_extends_fep042_counts", "source_line": 206, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep115_frequency_union_bound_extends_fep042_counts\n {Omega Alphabet : Type*} [MeasurableSpace Omega]\n [Fintype Alphabet] [DecidableEq Alphabet]\n (law : Measure Omega) [IsProbabilityMeasure law]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Omega → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation perSymbolFailure : ℝ)\n (hPerSymbol : ∀ symbol,\n law.real (frequencyDeviationEvent sample target deviation symbol) ≤\n perSymbolFailure)\n (bernoulliParameter : ℝ) (data : List Bool) :\n law.real (⋃ symbol,\n frequencyDeviationEvent sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure ∧\n (fep_fep042.FEP042.fep042_bernoulliLikelihood bernoulliParameter data =\n bernoulliParameter ^ fep_fep042.FEP042.fep042_successCount data *\n (1 - bernoulliParameter) ^\n fep_fep042.FEP042.fep042_failureCount data)", "statement_sha256": "a46670b20a2fcd1fe0d630d1cca887f70356ce40b3986164d2b4a47ee4323e3d" }, @@ -187683,7 +187683,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep116_pac_bayes_refines_fep001_variational_bound", "source_line": 233, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep116_pac_bayes_refines_fep001_variational_bound\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior posterior : FiniteLaw Hypothesis)\n (certificate : GibbsCertificate Hypothesis)\n (hCertificate : certificate.reference = prior)\n (empiricalLoss populationLoss : Hypothesis → ℝ)\n (inverseTemperature : ℝ)\n (hInverseTemperature : 0 < inverseTemperature)\n (hPotential : ∀ hypothesis,\n certificate.potential hypothesis = inverseTemperature *\n (populationLoss hypothesis - empiricalLoss hypothesis))\n (confidence : ℝ)\n (hConfidencePositive : 0 < confidence)\n (hConfidenceBelowOne : confidence < 1)\n (hLogMGF : certificate.logPartition ≤ Real.log confidence⁻¹)\n {Native : Type*} [MeasurableSpace Native]\n (approximation exactPosterior : Measure Native) (surprisal : ENNReal) :\n expectation posterior populationLoss ≤\n expectation posterior empiricalLoss +\n (finiteKL posterior prior + Real.log confidence⁻¹) /\n inverseTemperature ∧\n surprisal ≤\n fep_fep001.FEP001.fep001_variationalUpperBound\n approximation exactPosterior surprisal", "statement_sha256": "91c745d82fecc0c50a793b87fe73d76f92dd3d18b8a3ffa2b91cb5c7f34e9c6d" }, @@ -187901,7 +187901,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep117_posterior_odds_extends_fep017_bayes", "source_line": 267, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep117_posterior_odds_extends_fep017_bayes\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence)\n (hEvidence : 0 < likelihood.predictive prior evidence)\n (favored reference : Hypothesis)\n (hReferencePrior : 0 < prior reference)\n (hReferenceLikelihood : 0 < likelihood reference evidence)\n {NativeHypothesis NativeEvidence : Type*}\n [MeasurableSpace NativeHypothesis] [MeasurableSpace NativeEvidence]\n [StandardBorelSpace NativeHypothesis] [Nonempty NativeHypothesis]\n (nativePrior : Measure NativeHypothesis) [IsFiniteMeasure nativePrior]\n (nativeLikelihood : Kernel NativeHypothesis NativeEvidence)\n [IsFiniteKernel nativeLikelihood] :\n posteriorOdds prior likelihood evidence hEvidence favored reference =\n (prior favored / prior reference) *\n (likelihood favored evidence / likelihood reference evidence) ∧\n ((nativeLikelihood ∘ₘ nativePrior) ⊗ₘ\n fep_fep017.FEP017.fep017_posterior nativeLikelihood nativePrior =\n (nativePrior ⊗ₘ nativeLikelihood).map Prod.swap)", "statement_sha256": "e88388a49b3864e933dfb6dbd964c867a8316022513f908b42d8ee3e869d0fca" }, @@ -188038,7 +188038,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep118_posterior_concentration_extends_fep045_update", "source_line": 297, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep118_posterior_concentration_extends_fep045_update\n (priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)\n (sampleCount : ℕ)\n (hPriorGood : 0 < priorGood) (hPriorBad : 0 ≤ priorBad)\n (hLikelihoodGood : 0 < likelihoodGood)\n (hLikelihoodBad : 0 ≤ likelihoodBad)\n (hGap : 0 ≤ likelihoodGap)\n (hGapBound : likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood)\n (bernoulliPrior likelihoodFalse likelihoodTrue : ℝ) :\n twoHypothesisPosteriorBad\n priorGood priorBad likelihoodGood likelihoodBad sampleCount ≤\n (priorBad / priorGood) *\n Real.exp (-((sampleCount : ℝ) * likelihoodGap)) ∧\n (∑ value : Bool,\n fep_fep045.FEP045.fep045_bernoulliMass\n (fep_fep045.FEP045.fep045_posteriorParameter\n bernoulliPrior likelihoodFalse likelihoodTrue) value = 1)", "statement_sha256": "0eb6270221b0e6bb9256caa6bd23a9f17f2ad2bf52f2223e1289b11fca06d289" }, @@ -188157,7 +188157,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep119_mixture_log_loss_refines_fep026_complexity", "source_line": 324, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep119_mixture_log_loss_refines_fep026_complexity\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (hLikelihood : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis) (hPrior : 0 < prior selected)\n (hSelectedLikelihood : 0 < likelihood selected) :\n -Real.log (mixtureEvidence prior likelihood) ≤\n -Real.log (likelihood selected) - Real.log (prior selected) ∧\n (fep_fep026.FEP026.fep026_priorComplexity\n (prior selected * likelihood selected) =\n fep_fep026.FEP026.fep026_priorComplexity (prior selected) +\n fep_fep026.FEP026.fep026_priorComplexity (likelihood selected))", "statement_sha256": "4972ca58aafdd1508abbc364e47ea8be56162d8f47816b72a0eb6f86bf62ff85" }, @@ -188298,7 +188298,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep120_bayes_factor_update_extends_fep019_prediction", "source_line": 344, - "source_owner": "src/fep_lean/formal/compositions/collective_learning.lean", + "source_owner": "src/fep_formal/formal/compositions/collective_learning.lean", "statement": "theorem fep120_bayes_factor_update_extends_fep019_prediction\n (priorOdds firstFavored firstReference secondFavored secondReference : ℝ)\n (hFirstReference : firstReference ≠ 0)\n (hSecondReference : secondReference ≠ 0)\n {NativeState NativeMiddle NativeEvidence : Type*}\n [MeasurableSpace NativeState] [MeasurableSpace NativeMiddle]\n [MeasurableSpace NativeEvidence]\n (nativePrior : Measure NativeState)\n (firstKernel : Kernel NativeState NativeMiddle)\n (secondKernel : Kernel NativeMiddle NativeEvidence) :\n (bayesFactor (firstFavored * secondFavored)\n (firstReference * secondReference) =\n bayesFactor firstFavored firstReference *\n bayesFactor secondFavored secondReference ∧\n updatedModelOdds priorOdds (firstFavored * secondFavored)\n (firstReference * secondReference) =\n updatedModelOdds\n (updatedModelOdds priorOdds firstFavored firstReference)\n secondFavored secondReference) ∧\n (secondKernel ∘ₘ\n fep_fep019.FEP019.fep019_priorPredictive firstKernel nativePrior =\n fep_fep019.FEP019.fep019_priorPredictive\n (secondKernel ∘ₖ firstKernel) nativePrior)", "statement_sha256": "033f09fed25a51673398719aa5cc82cf6b7be2c1734a4c90239c10db52249ed9" }, @@ -188386,7 +188386,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep121_laplaceError_extends_fep036", "source_line": 26, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep121_laplaceError_extends_fep036\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target) ∧\n (fep_fep036.FEP036.fep036_smoothedRate successes sampleCount =\n ((successes : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2))", "statement_sha256": "95ed2a9d164a620d1f58e808bed13e148f5c32864e7f55fdb7669f4f3bd586f3" }, @@ -188464,7 +188464,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep122_laplaceBias_extends_fep036", "source_line": 47, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep122_laplaceBias_extends_fep036\n (successes sampleCount : ℕ) (target : ℝ)\n (successesAtMost : successes ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n (|laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)) ∧\n (fep_fep036.FEP036.fep036_smoothedRate successes sampleCount ∈\n Set.Ioo (0 : ℝ) 1)", "statement_sha256": "b203822b65440902e1446602c842a04ff12bab23f80075b07d957f38081c6b66" }, @@ -188563,7 +188563,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep123_laplaceAbsoluteError_extends_fep036", "source_line": 62, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep123_laplaceAbsoluteError_extends_fep036\n (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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)) ∧\n (fep_fep036.FEP036.fep036_smoothedRate successes sampleCount =\n ((successes : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2))", "statement_sha256": "4b6b74404bce737eb24da9c14d221a7048b539af2d47c6e4c56b7967fe310269" }, @@ -188755,7 +188755,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep124_laplaceSquaredRisk_combines_fep036_fep114", "source_line": 84, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep124_laplaceSquaredRisk_combines_fep036_fep114\n {Ω : Type*} [MeasurableSpace Ω]\n (nativeLaw : Measure Ω) {nativeSampleCount : ℕ}\n (observables : Fin nativeSampleCount → Ω → ℝ)\n (independent : iIndepFun observables nativeLaw)\n (proxyVariance : Fin nativeSampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) nativeLaw)\n {deviation : ℝ} (deviationNonnegative : 0 ≤ deviation)\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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) ∧\n ((fep_fep036.FEP036.fep036_smoothedRate successes sampleCount =\n ((successes : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2)) ∧\n nativeLaw.real {outcome |\n (nativeSampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((nativeSampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index)))", "statement_sha256": "059062d9f0a58c10ec4d42fc6e500a29be948d8ff41b9df928a325987d15e2fd" }, @@ -188803,7 +188803,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep125_brierExcess_refines_fep022", "source_line": 123, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep125_brierExcess_refines_fep022 (target forecast : ℝ) :\n (bernoulliBrierScore target forecast -\n bernoulliBrierScore target target = (forecast - target) ^ 2) ∧\n (fep_fep022.FEP022.fep022_brierScore target forecast =\n target * (1 - target) + (forecast - target) ^ 2)", "statement_sha256": "8745afc8f35276dff8643eb86f7da43704b707eb4b2779774711c4cc198cd11d" }, @@ -188928,7 +188928,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep125_brier_identity_transfers_fep124_risk_bound", "source_line": 207, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep125_brier_identity_transfers_fep124_risk_bound\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (hCount : 0 < sampleCount) (hSuccess : ∀ o, successes o ≤ sampleCount)\n (hTarget : target ∈ Set.Icc (0 : ℝ) 1) :\n brierExcessRisk sampling\n (fun o => laplaceEstimate (successes o) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 * expectation sampling\n (fun o => (empiricalRate (successes o) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "statement_sha256": "b1fd50ba0c8e8feeab30c437f299eed9ad8e306df0ff77db50dd8e78820f2c2e" }, @@ -189069,7 +189069,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep126_laplaceBrierRisk_combines_fep022_fep036", "source_line": 135, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep126_laplaceBrierRisk_combines_fep022_fep036\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1)\n (selected : Ω) :\n (brierExcessRisk sampling\n (fun outcome => laplaceEstimate (successes outcome) sampleCount) target ≤\n 2 * shrinkage sampleCount ^ 2 *\n expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2) ∧\n ((fep_fep022.FEP022.fep022_brierScore target\n (laplaceEstimate (successes selected) sampleCount) =\n target * (1 - target) +\n (laplaceEstimate (successes selected) sampleCount - target) ^ 2) ∧\n fep_fep036.FEP036.fep036_smoothedRate\n (successes selected) sampleCount =\n ((successes selected : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2))", "statement_sha256": "35974c85ad2832a0206e28e653389230ba46b1dc3eb4f8ecae1c05538a3bd16f" }, @@ -189279,7 +189279,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep127_laplaceConcentration_combines_fep036_fep114", "source_line": 169, - "source_owner": "src/fep_lean/formal/compositions/risk_calibration.lean", + "source_owner": "src/fep_formal/formal/compositions/risk_calibration.lean", "statement": "theorem fep127_laplaceConcentration_combines_fep036_fep114\n {Ω : Type*} [Fintype Ω] [MeasurableSpace Ω]\n (successes : Ω → ℕ) (sampleCount : ℕ)\n (target error : ℝ) (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) (selected : Ω)\n (nativeLaw : Measure Ω)\n (observables : Fin sampleCount → Ω → ℝ)\n (independent : iIndepFun observables nativeLaw)\n (proxyVariance : Fin sampleCount → ℝ≥0)\n (subGaussian : ∀ index,\n HasSubgaussianMGF (observables index) (proxyVariance index) nativeLaw)\n (deviation : ℝ) (deviationNonnegative : 0 ≤ deviation) :\n (laplaceBadEvent successes sampleCount target error ⊆\n empiricalBadEvent successes sampleCount target error) ∧\n ((fep_fep036.FEP036.fep036_smoothedRate\n (successes selected) sampleCount =\n ((successes selected : ℝ) / sampleCount) *\n ((sampleCount : ℝ) / (sampleCount + 2)) +\n 1 / ((sampleCount : ℝ) + 2)) ∧\n nativeLaw.real {outcome |\n (sampleCount : ℝ) * deviation ≤\n ∑ index, observables index outcome} ≤\n Real.exp\n (-((sampleCount : ℝ) * deviation) ^ 2 /\n (2 * ∑ index, proxyVariance index)))", "statement_sha256": "be442a435ef80c6d104d6bc14cd658898153dca94c8ccde1599e237991614631" }, @@ -189440,7 +189440,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep128_policyTreeRecursion_extends_fep071", "source_line": 25, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep128_policyTreeRecursion_extends_fep071\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (action : Action)\n (continuation : Observation → PolicyTree Action Observation depth)\n (belief : Belief)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (policyTreeValue (depth := depth + 1) treeModel (action, continuation) belief =\n treeModel.stageCost depth belief action +\n ∑ observation,\n treeModel.observationLaw belief action observation *\n policyTreeValue treeModel (continuation observation)\n (treeModel.update belief action observation)) ∧\n (sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation))", "statement_sha256": "cd326b9e9c19cddc2d147215a89cc329f60c8ec0f5b93d5f64cadfbc41596fda" }, @@ -189648,7 +189648,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep129_policyTreeBellman_extends_fep033", "source_line": 61, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep129_policyTreeBellman_extends_fep033\n {Belief Action Observation OldState : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief)\n (discount : ENNReal) (oldStageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldDepth : ℕ) (oldState : OldState)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (optimalTreeValue treeModel (depth + 1) belief =\n treeModel.stageCost depth belief (optimalTreeAction treeModel depth belief) +\n ∑ observation,\n treeModel.observationLaw belief\n (optimalTreeAction treeModel depth belief) observation *\n optimalTreeValue treeModel depth\n (treeModel.update belief\n (optimalTreeAction treeModel depth belief) observation)) ∧\n ((fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost (oldDepth + 1) oldState =\n oldStageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost oldDepth (step oldState)) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "b598b56436cb73afe75a59ca70390748750a78e2b1a63a9400a5955c6d089ae4" }, @@ -189759,7 +189759,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep130_attaining_tree_dominates_fep131_embedded_plans", "source_line": 255, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep130_attaining_tree_dominates_fep131_embedded_plans\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation) (depth : ℕ) (belief : Belief) :\n ∃ tree : PolicyTree Action Observation depth,\n policyTreeValue model tree belief = optimalTreeValue model depth belief ∧\n ∀ plan : OpenLoopPlan Action depth,\n policyTreeValue model tree belief ≤ openLoopValue model plan belief", "statement_sha256": "d30d55fc2485bbefd1b2d09e3ca8dc7c3b8d21193570768ece6a703e431e8604" }, @@ -189936,7 +189936,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep130_optimalPolicyTree_extends_fep008", "source_line": 106, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep130_optimalPolicyTree_extends_fep008\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief)\n (policies : Finset fep_fep008.FEP008.Policy)\n (policiesNonempty : policies.Nonempty)\n (objective : fep_fep008.FEP008.Policy → ℝ)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (∃ tree : PolicyTree Action Observation depth,\n policyTreeValue treeModel tree belief =\n optimalTreeValue treeModel depth belief ∧\n ∀ alternative : PolicyTree Action Observation depth,\n policyTreeValue treeModel tree belief ≤\n policyTreeValue treeModel alternative belief) ∧\n ((∃ policy ∈ policies, ∀ alternative ∈ policies,\n objective policy ≤ objective alternative) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "06107dac56b617111243368508051e45a7bf19855dafe0701c78418052fd9ac8" }, @@ -190154,7 +190154,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep131_openLoopEmbedding_extends_fep033", "source_line": 147, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep131_openLoopEmbedding_extends_fep033\n {Belief Action Observation OldState : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief)\n (discount : ENNReal) (oldStageCost : OldState → ENNReal)\n (step : OldState → OldState) (terminalCost : OldState → ENNReal)\n (oldDepth : ℕ) (oldState : OldState)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (policyTreeValue treeModel\n (openLoopEmbedding (Observation := Observation) plan) belief =\n openLoopValue treeModel plan belief) ∧\n ((fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost (oldDepth + 1) oldState =\n oldStageCost oldState + discount *\n fep_fep033.FEP033.fep033_value\n discount oldStageCost step terminalCost oldDepth (step oldState)) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "87826d53c0ae6c0deb464944ca6ef456aed371f27321da04b6a916c050d743ad" }, @@ -190285,7 +190285,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep132_closedLoopDominance_extends_fep071", "source_line": 188, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep132_closedLoopDominance_extends_fep071\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (treeModel : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief)\n (fixedBooleanAction : Bool) :\n (optimalTreeValue treeModel depth belief ≤\n openLoopValue treeModel plan belief) ∧\n (twoStageFeedbackExpectedCost <\n twoStageOpenLoopExpectedCost fixedBooleanAction)", "statement_sha256": "ac0062eeacefd4d57fdc5da331945df1b2c222df30334ce0cb540f8b632fbad4" }, @@ -190472,7 +190472,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep133_treewiseEFE_extends_fep021", "source_line": 206, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep133_treewiseEFE_extends_fep021\n {Belief State Action Observation : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action]\n [Fintype Observation] [Nonempty Action]\n (treeModel : EFEPolicyTreeModel Belief State Action Observation)\n {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief)\n {pragmaticCost epistemicValue : ENNReal}\n (epistemicAtMostPragmatic : epistemicValue ≤ pragmaticCost)\n (sophisticatedModel : SophisticatedEFEModel Belief Action Observation)\n (sophisticatedDepth : ℕ) (sophisticatedBelief : Belief) :\n (policyTreeValue (efePolicyTreeModel treeModel) tree belief =\n policyTreeValue (riskAmbiguityPolicyTreeModel treeModel) tree belief) ∧\n ((fep_fep021.FEP021.fep021_expectedFreeEnergy\n pragmaticCost epistemicValue + epistemicValue = pragmaticCost) ∧\n sophisticatedEFEValue sophisticatedModel\n (sophisticatedDepth + 1) sophisticatedBelief =\n sophisticatedModel.stageEFE sophisticatedDepth sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) +\n ∑ observation,\n sophisticatedModel.observationLaw sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel sophisticatedDepth\n sophisticatedBelief) observation *\n sophisticatedEFEValue sophisticatedModel sophisticatedDepth\n (sophisticatedModel.update sophisticatedBelief\n (sophisticatedEFEAction sophisticatedModel\n sophisticatedDepth sophisticatedBelief) observation))", "statement_sha256": "cf74beafafd94a1606147c02617687c768f70af57cff772d8553ab125fbbbfed" }, @@ -190519,7 +190519,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep134_feedbackWitness_extends_fep071", "source_line": 244, - "source_owner": "src/fep_lean/formal/compositions/policy_trees.lean", + "source_owner": "src/fep_formal/formal/compositions/policy_trees.lean", "statement": "theorem fep134_feedbackWitness_extends_fep071 (action : Bool) :\n (policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2 ∧\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false) ∧\n (twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action)", "statement_sha256": "542a0179672aba77d1cc55d50a065368ba59bf60c950a0cf5dbb6b79cd553923" }, @@ -190657,7 +190657,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep135_embeddedLaw_extends_fep017", "source_line": 31, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep135_embeddedLaw_extends_fep017\n {State Observation : Type*}\n [Fintype State] [Fintype Observation] [Nonempty State]\n [MeasurableSpace State] [MeasurableSpace Observation]\n [DiscreteMeasurableSpace State] [DiscreteMeasurableSpace Observation]\n (law : FiniteLaw State) (kernel : FiniteKernel State Observation)\n (observation : Observation) :\n embeddedLaw law Set.univ = 1 ∧\n fep_fep017.FEP017.fep017_posterior\n (embeddedKernel kernel) (embeddedLaw law) observation Set.univ = 1", "statement_sha256": "252d74cdf1777e241537ee4239f364474356e5f1acbf8656e7b33339c6865335" }, @@ -190784,7 +190784,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep136_embeddedExpectation_extends_fep015", "source_line": 48, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep136_embeddedExpectation_extends_fep015\n {State : Type*} [Fintype State]\n [MeasurableSpace State] [DiscreteMeasurableSpace State]\n (law : FiniteLaw State)\n (energy logApproximation logGenerative : State → ℝ)\n (energyMeasurable : Measurable energy)\n (approximationMeasurable : Measurable logApproximation)\n (generativeMeasurable : Measurable logGenerative) :\n (∫ state,\n fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative state ∂embeddedLaw law) =\n ∑ state, law state *\n fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative state ∧\n Measurable\n (fep_fep015.FEP015.fep015_variationalIntegrand\n energy logApproximation logGenerative)", "statement_sha256": "ca466817282444e6fc3a9f993b5560e481de7b528bef7a1010c776b47bf83dbe" }, @@ -190904,7 +190904,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep137_embeddedPredictive_extends_fep019", "source_line": 74, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep137_embeddedPredictive_extends_fep019\n {Input Output : Type*} [Fintype Input] [Fintype Output]\n [MeasurableSpace Input] [MeasurableSpace Output]\n [DiscreteMeasurableSpace Input] [DiscreteMeasurableSpace Output]\n (prior : FiniteLaw Input) (kernel : FiniteKernel Input Output) :\n embeddedLaw (kernel.predictive prior) =\n embeddedKernel kernel ∘ₘ embeddedLaw prior ∧\n fep_fep019.FEP019.fep019_priorPredictive\n (embeddedKernel kernel) (embeddedLaw prior) Set.univ = 1", "statement_sha256": "313461519c783353cd95212112a297a7d5f94c6d6e14687c910a3ac6d7877a5e" }, @@ -191094,7 +191094,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep138_rectangleFactorization_extends_fep079", "source_line": 90, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep138_rectangleFactorization_extends_fep079\n {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]\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) ∧\n conditionalMutualInformation (ofStaticModel model) = 0", "statement_sha256": "a14a4b11ad13e2fe6e967dc87677da1f2dafc23753050ef4558a5b81038c86ab" }, @@ -191270,7 +191270,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep139_nativeCondIndep_connects_fep009_fep079", "source_line": 119, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep139_nativeCondIndep_connects_fep009_fep079\n {Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [Nonempty Internal] [Nonempty External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace 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)) ∧\n (CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap internalCoordinate inferInstance)\n (MeasurableSpace.comap externalCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)) →\n CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap externalCoordinate inferInstance)\n (MeasurableSpace.comap internalCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)))", "statement_sha256": "d0532db8a77090aa05140a1197c3cec2f466332556883499c36b334e4fae0e77" }, @@ -191504,7 +191504,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep140_measurableCoarsening_extends_fep009", "source_line": 159, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep140_measurableCoarsening_extends_fep009\n {Internal Sensory Active External InternalImage ExternalImage : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [Nonempty Internal] [Nonempty External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [MeasurableSpace InternalImage] [MeasurableSpace ExternalImage]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]\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)) ∧\n (CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap (internalImage ∘ internalCoordinate) inferInstance)\n (MeasurableSpace.comap (externalImage ∘ externalCoordinate) inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)) →\n CondIndep\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n (MeasurableSpace.comap (externalImage ∘ externalCoordinate) inferInstance)\n (MeasurableSpace.comap (internalImage ∘ internalCoordinate) inferInstance)\n blanketCoordinate_measurable.comap_le\n (embeddedLaw (staticJoint model)))", "statement_sha256": "8d473bc9565030f7825ad70d72ccd80ff7c110b36f921565aaaf2094c6dbb7d5" }, @@ -191731,7 +191731,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep141_blanketTransition_extends_fep080", "source_line": 209, - "source_owner": "src/fep_lean/formal/compositions/native_blanket_transfer.lean", + "source_owner": "src/fep_formal/formal/compositions/native_blanket_transfer.lean", "statement": "theorem fep141_blanketTransition_extends_fep080\n {Internal Sensory Active External : Type*}\n [Fintype Internal] [Fintype Sensory] [Fintype Active] [Fintype External]\n [Nonempty Internal] [Nonempty External]\n [MeasurableSpace Internal] [MeasurableSpace Sensory]\n [MeasurableSpace Active] [MeasurableSpace External]\n [DiscreteMeasurableSpace Internal] [DiscreteMeasurableSpace Sensory]\n [DiscreteMeasurableSpace Active] [DiscreteMeasurableSpace External]\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External)\n (weight : ℝ) (weightNonnegative : 0 ≤ weight) (weightAtMostOne : weight ≤ 1)\n (left right : FiniteLaw (Blanket Sensory Active)) :\n CondIndepFun\n (MeasurableSpace.comap blanketCoordinate inferInstance)\n blanketCoordinate_measurable.comap_le\n internalCoordinate externalCoordinate\n (embeddedLaw (staticJoint (nextStaticModel dynamics current))) ∧\n (conditionalPairKernel (nextStaticModel dynamics current)).joint\n (mixLaw weight weightNonnegative weightAtMostOne left right) =\n mixLaw weight weightNonnegative weightAtMostOne\n ((conditionalPairKernel (nextStaticModel dynamics current)).joint left)\n ((conditionalPairKernel (nextStaticModel dynamics current)).joint right)", "statement_sha256": "0d8b9e99a4587e7a1524509bc1b92e9b1a7dfa614ff6416b939bc0b24409b765" }, @@ -191858,7 +191858,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep142_exponentialNormalization_extends_fep031", "source_line": 30, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep142_exponentialNormalization_extends_fep031\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (parameter beta : ℝ)\n (size : ℕ) (energy : Fin size → ℝ) (support : Finset (Fin size))\n (hSupport : support.Nonempty) :\n (∑ outcome, family.law parameter outcome = 1) ∧\n (∑ state ∈ support,\n fep_fep031.FEP031.fep031_gibbsProbability\n beta size energy support state = 1)", "statement_sha256": "d9893c81eaa55f7d7341ffee887c3d7aef10851df2776fdb35d15ada651cc992" }, @@ -191986,7 +191986,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep143_logDensityRatio_extends_fep026", "source_line": 46, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep143_logDensityRatio_extends_fep026\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome)\n (left right : ℝ) (outcome : Outcome)\n {numerator denominator : ℝ} (hNumerator : 0 < numerator)\n (hDenominator : 0 < denominator) :\n (Real.log (family.law left outcome / family.law right outcome) =\n (left - right) * family.statistic outcome -\n (family.logPartition left - family.logPartition right)) ∧\n Real.log (numerator / denominator) =\n Real.log numerator - Real.log denominator", "statement_sha256": "6aa613b84c2c696d9d6671cae9ac3872614a1bd4939bfa0931f6d200f601c121" }, @@ -192092,7 +192092,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep144_logPartitionGradient_extends_fep040", "source_line": 64, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep144_logPartitionGradient_extends_fep040\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n {variance : ℝ} (hVariance : 0 < variance) :\n HasDerivAt family.logPartition (family.mean parameter) parameter ∧\n HasDerivAt fep_fep040.FEP040.fep040_gaussianEntropy\n (1 / (2 * variance)) variance", "statement_sha256": "a2ea0855c3c5090a4c2bd16f0a13c9ed5c65becd0fe9ece386ff6c69916825d3" }, @@ -192218,7 +192218,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep145_centeredScore_extends_fep038", "source_line": 77, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep145_centeredScore_extends_fep038\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) {probability : ℝ}\n (hProbabilityPositive : 0 < probability)\n (hProbabilityBelowOne : probability < 1) :\n (family.score parameter outcome =\n family.statistic outcome - family.mean parameter) ∧\n (∑ state : Bool,\n fep_fep038.FEP038.fep038_bernoulliMass probability state *\n fep_fep038.FEP038.fep038_score probability state = 0)", "statement_sha256": "28a299ccba52fc1fd7c2741d79205f6cf60198816d699ba828bf04c781779dc1" }, @@ -192354,7 +192354,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep146_fisherVariance_extends_fep100", "source_line": 96, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep146_fisherVariance_extends_fep100\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n {dimension : ℕ}\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (carrier : CategoricalFisherCarrier dimension)\n (tangent : Fin dimension → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n family.fisher parameter = family.variance parameter ∧\n 0 < fisherMetric carrier.model tangent tangent", "statement_sha256": "b5c8021746e1556bf170276a11000e5d6dc6f4056a099de01f0e44fc44e0076e" }, @@ -192457,7 +192457,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep146_positive_fisher_supplies_fep148_mean_injectivity", "source_line": 147, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep146_positive_fisher_supplies_fep148_mean_injectivity\n {Outcome : Type*} [Fintype Outcome] [Nonempty Outcome]\n (family : ScalarExponentialFamily Outcome) (lower upper : ℝ)\n (hFisher : ∀ parameter ∈ Set.Icc lower upper, 0 < family.fisher parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper) ∧\n Set.InjOn family.mean (Set.Icc lower upper)", "statement_sha256": "52a98dc44826c852c7d6c77eb870e28a8e37ef5d0da727d9e4f59359efef6e6c" }, @@ -192564,7 +192564,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep147_KLBregman_connects_fep014_fep104", "source_line": 112, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep147_KLBregman_connects_fep014_fep104\n {Outcome Native : Type*} [Fintype Outcome] [Nonempty Outcome]\n [MeasurableSpace Native]\n (family : ScalarExponentialFamily Outcome) (left right : ℝ)\n (nativeLeft nativeRight : Measure Native) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right ∧\n 0 ≤ InformationTheory.klDiv nativeLeft nativeRight", "statement_sha256": "5d205854b6de2b4a05754fba8c4347f148bb556513354f1e06004b4042b7503a" }, @@ -192726,7 +192726,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep148_meanCoordinate_extends_fep103", "source_line": 127, - "source_owner": "src/fep_lean/formal/compositions/exponential_family.lean", + "source_owner": "src/fep_formal/formal/compositions/exponential_family.lean", "statement": "theorem fep148_meanCoordinate_extends_fep103\n {Outcome Native : Type*} [Fintype Outcome] [Nonempty Outcome]\n [Fintype Native] {dimension : ℕ}\n (family : ScalarExponentialFamily Outcome) {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter)\n (model : ScoreModel Native dimension) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin dimension) (Fin dimension) ℝ)\n [Invertible jacobian] (covector : Fin dimension → ℝ) :\n Set.InjOn family.mean (Set.Icc lower upper) ∧\n chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector", "statement_sha256": "c385a08f4f2f6fd985bee14e950978060ca76549319a7cd4741aead5b1235320" }, @@ -192795,7 +192795,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep149_continuousKernel_extends_fep020", "source_line": 25, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep149_continuousKernel_extends_fep020\n (rates : TwoStateRates) (time switching : ℝ)\n (source discreteSource : Bool) :\n (∑ target, rates.transition time source target = 1) ∧\n (∑ target : Bool,\n fep_fep020.FEP020.fep020_transition switching discreteSource target =\n 1)", "statement_sha256": "5617d3d5112c948ce4ae885b23cf7d66750d323885d6a819726202bc9cfe71cf" }, @@ -192873,7 +192873,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep150_semigroupZero_extends_fep006", "source_line": 39, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep150_semigroupZero_extends_fep006\n {State : Type*} (rates : TwoStateRates) (source target : Bool)\n (step : State → State) :\n (rates.transition 0 source target = if source = target then 1 else 0) ∧\n fep_fep006.FEP006.fep006_iterateFlow step 0 = id", "statement_sha256": "50d1fb6d5897e7166d9a37310d384facfd013768e84251f810de3e00fa3a14b2" }, @@ -192983,7 +192983,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep151_semigroupAdd_extends_fep006", "source_line": 50, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep151_semigroupAdd_extends_fep006\n {State : Type*} (rates : TwoStateRates) (left right : ℝ)\n (source target : Bool) (step : State → State) (m n : ℕ)\n (state : State) :\n (rates.transition (left + right) source target =\n ∑ middle,\n rates.transition left source middle *\n rates.transition right middle target) ∧\n (fep_fep006.FEP006.fep006_iterateFlow step (m + n) state =\n fep_fep006.FEP006.fep006_iterateFlow step m\n (fep_fep006.FEP006.fep006_iterateFlow step n state))", "statement_sha256": "2af612a4017a9373e45d57ec1ddca5eeec5dd71b7153f34f57731c8c6ae84821" }, @@ -193062,7 +193062,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep152_masterEquation_extends_fep020", "source_line": 68, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep152_masterEquation_extends_fep020\n (rates : TwoStateRates) (time : ℝ) (source target : Bool)\n (switching probability : ℝ) :\n HasDerivAt (fun candidate ↦ rates.transition candidate source target)\n (∑ middle,\n rates.generator source middle * rates.transition time middle target)\n time ∧\n (fep_fep020.FEP020.fep020_evolve switching probability =\n switching + (1 - 2 * switching) * probability)", "statement_sha256": "d11ad54198d9079e141dbb0761714895bf7678bf0d3a587e083b4852b93a47e7" }, @@ -193158,7 +193158,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep153_continuousDetailedBalance_extends_fep010", "source_line": 84, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep153_continuousDetailedBalance_extends_fep010\n {Native : Type*} [MeasurableSpace Native]\n (rates : TwoStateRates) (time : ℝ) (source target : Bool)\n (nativeLaw : Measure Native) :\n (rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source) ∧\n Kernel.IsReversible (Kernel.id : Kernel Native Native) nativeLaw", "statement_sha256": "2599ed548534fe05db1847c79d054ee58c42ead1bf3d0372e45990b9d7632d0d" }, @@ -193236,7 +193236,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep154_continuousRelaxation_extends_fep020", "source_line": 98, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep154_continuousRelaxation_extends_fep020\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ)\n (switching probability : ℝ) :\n (rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)) ∧\n (fep_fep020.FEP020.fep020_evolve switching probability - 1 / 2 =\n (1 - 2 * switching) * (probability - 1 / 2))", "statement_sha256": "0eef538b352e7190b9c9c0f3af82ea1fa5712493eab98133e624c222e0bbc7f4" }, @@ -193313,7 +193313,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep154_nonstationary_relaxation_supplies_fep155_strict_decay", "source_line": 126, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep154_nonstationary_relaxation_supplies_fep155_strict_decay\n (rates : TwoStateRates) (initial : FiniteLaw Bool)\n (nonstationary : initial true ≠ rates.stationaryTrue) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time ∧\n -2 * rates.decayRate * rates.lyapunov initial time < 0", "statement_sha256": "c3006fd0569c8c4c76a4461a6901c71900eb2407f6532e3857bc9f91a88f72c4" }, @@ -193412,7 +193412,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep155_lyapunovDecay_extends_fep032", "source_line": 111, - "source_owner": "src/fep_lean/formal/compositions/continuous_time.lean", + "source_owner": "src/fep_formal/formal/compositions/continuous_time.lean", "statement": "theorem fep155_lyapunovDecay_extends_fep032\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ)\n {step center state : ℝ} (hStepNonnegative : 0 ≤ step)\n (hStepAtMostTwo : step ≤ 2) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time ∧\n (fep_fep032.FEP032.fep032_quadraticUpdate step center state - center) ^ 2 ≤\n (state - center) ^ 2", "statement_sha256": "12d2e5febb72d3d584da9285f5e7c595d87d480248b5eba0b37fb944fa83660c" }, @@ -193547,7 +193547,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep156_boltzmannControlPosterior_extends_fep021_efeBalance", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/efe_policy_selection.lean", + "source_owner": "src/fep_formal/formal/compositions/efe_policy_selection.lean", "statement": "theorem fep156_boltzmannControlPosterior_extends_fep021_efeBalance\n {Action : Type*} [Fintype Action]\n (prior : FiniteLaw Action) (prior_pos : ∀ policy, 0 < prior policy)\n (γ : ℝ) (hγ : 0 < γ) (cost : Action → ℝ) (Q : FiniteLaw Action)\n {pragmaticCost epistemicValue : ENNReal}\n (hBalance : epistemicValue ≤ pragmaticCost) :\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)) ∧\n (fep_fep021.FEP021.fep021_expectedFreeEnergy pragmaticCost epistemicValue +\n epistemicValue =\n pragmaticCost)", "statement_sha256": "1e598cfb8ea399455add6d673e054f82030dc82c9380ee336644db89e070555d" }, @@ -193716,7 +193716,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep157_loopInvariant_extends_fep065_controlledKernel", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/perception_action_loop.lean", + "source_owner": "src/fep_formal/formal/compositions/perception_action_loop.lean", "statement": "theorem fep157_loopInvariant_extends_fep065_controlledKernel\n {Policy State Outcome Action : Type*}\n [Fintype Policy] [Fintype State] [Fintype Outcome] [Fintype Action]\n [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (support : FullSupport (withInitialState model\n (filteredBelief model belief outcome hEvidence)))\n (controlledTransition : ControlledKernel State Action)\n (controlledAction : Action) (controlledState : State) :\n (-Real.log (model.likelihood.predictive belief outcome) ≤\n perceptionVFE model belief outcome hEvidence belief ∧\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence) ∧\n expectedFreeEnergy\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) =\n risk (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) +\n ambiguity\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence))) ∧\n (∑ nextState, controlledTransition controlledAction controlledState nextState =\n 1)", "statement_sha256": "5e767fc634eaf3c9518336995a63919cea56153d26074b5a4cd460c9023c3ef3" }, @@ -193891,7 +193891,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep158_masked_evidence_supplies_fep117_reduced_odds", "source_line": 46, - "source_owner": "src/fep_lean/formal/compositions/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/compositions/bayesian_model_reduction.lean", "statement": "theorem fep158_masked_evidence_supplies_fep117_reduced_odds\n {Parameter Evidence : Type*} [Fintype Parameter] [Fintype Evidence]\n (prior : FiniteLaw Parameter) (weight : Parameter → ℝ)\n (kernel : FiniteKernel Parameter Evidence) (data : Evidence)\n (hw : ∀ x, 0 ≤ weight x) (hZ : 0 < ∑ x, weight x * prior x)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (favored reference : Parameter) (hwref : 0 < weight reference)\n (hpref : 0 < prior reference) (hlref : 0 < kernel reference data) :\n ∃ hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data,\n FEP.LearningTheory.posteriorOdds (maskedPrior prior weight hw hZ) kernel data hy favored reference =\n ((weight favored * prior favored) / (weight reference * prior reference)) *\n (kernel favored data / kernel reference data)", "statement_sha256": "bc3bdb35c2adb9f51cb57764fa1438c9e307705aa24497e9a3094cae0598e059" }, @@ -194035,7 +194035,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/bayesian_model_reduction.lean", + "source_owner": "src/fep_formal/formal/compositions/bayesian_model_reduction.lean", "statement": "theorem fep158_reductionFreeEnergy_extends_fep058_gibbsLowerBound\n {Parameter Evidence : Type*} [Fintype Parameter] [Fintype Evidence]\n (prior : FiniteLaw Parameter) (weight : Parameter → ℝ)\n (kernel : FiniteKernel Parameter Evidence) (data : Evidence)\n (hw1 : ∀ x, weight x ≤ 1)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (certificate : GibbsCertificate Parameter)\n (candidate : FiniteLaw Parameter) :\n (evidenceFreeEnergy (kernel.predictive prior data) ≤\n evidenceFreeEnergy (maskedEvidence prior weight kernel data)) ∧\n (-certificate.logPartition ≤\n gibbsFreeEnergy certificate candidate)", "statement_sha256": "f6874d9a42144af78d37ebf6449ef35700aa5fb1b8c90fd7d856b6cb14b232de" }, @@ -194121,7 +194121,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep159_epistemicGain_extends_fep153_stationary", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/efe_time_scale_separation.lean", + "source_owner": "src/fep_formal/formal/compositions/efe_time_scale_separation.lean", "statement": "theorem fep159_epistemicGain_extends_fep153_stationary\n (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) (time : ℝ) (target : Bool) :\n (finiteKL belief rates.stationaryLaw ≤\n productionRate rates belief / rates.decayRate) ∧\n ((∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target)", "statement_sha256": "4fee79d1881e6003c9ade444c347ad1e461d80e780258914ff6ce0419189cec9" }, @@ -194203,7 +194203,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep160_aoNess_extends_fep025_current", "source_line": 29, - "source_owner": "src/fep_lean/formal/compositions/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/formal/compositions/helmholtz_ao_ness.lean", "statement": "theorem fep160_aoNess_extends_fep025_current\n (generator : FiniteRateGenerator (Fin 3)) (law : FiniteLaw (Fin 3))\n (hSupport : ∀ i, 0 < law i) (hStat : generator.IsStationary law) :\n (∀ i j : Fin 3,\n generator.probabilityCurrent law i j =\n 2 * law i * circulationPart generator.rate law i j) ∧\n (∀ i : Fin 3,\n ∑ j, generator.probabilityCurrent law j i = 0) ∧\n (fep_fep025.FEP025.fep025_cycleCurrent 0 1 ≠ 0)", "statement_sha256": "8b30ead2b4cc6581c8e764b4eccf177904f7c68e559dfab48ab31eae8beb8311" }, @@ -194338,7 +194338,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep161_skewCancellation_extends_fep160_aoNess", "source_line": 27, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep161_skewCancellation_extends_fep160_aoNess\n {n : ℕ} (Q H : Fin n → Fin n → ℝ) (hQ : SkewSymmetric Q)\n (hH : SymmetricOf H) (g : Fin n → ℝ)\n {rate : Fin n → Fin n → ℝ} {law : FiniteLaw (Fin n)}\n (hSupport : ∀ i, 0 < law i) (i j : Fin n) :\n (traceOf (mulOf Q H) = 0 ∧ dot g (mulVec Q g) = 0) ∧\n (law i * fep_fep160.FEP160.fep160_circulationPart rate law i j =\n -(law j * fep_fep160.FEP160.fep160_circulationPart rate law j i))", "statement_sha256": "224e2d560c5d8ee4319acee3a80871cd1e63a602ab16e25bf2b6ecf3cf857851" }, @@ -194406,7 +194406,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep162_clairautSymmetrize_extends_fep161_skewCancellation", "source_line": 42, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep162_clairautSymmetrize_extends_fep161_skewCancellation\n {n : ℕ} (Q H : Fin n → Fin n → ℝ) (hQ : SkewSymmetric Q) :\n (SymmetricOf (FEP.GeometricMechanics.symmetrize H) ∧\n traceOf (mulOf Q (FEP.GeometricMechanics.symmetrize H)) = 0)", "statement_sha256": "2dbc5586c2493f24b766f4c116ad7da303c3b5fdb13218e6d3df6fb9c0ac0e40" }, @@ -194536,7 +194536,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep163_solenoidalExpansion_extends_fep025_current", "source_line": 56, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep163_solenoidalExpansion_extends_fep025_current\n {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hcoup : ∀ i, dlogp i = -g i)\n {stationary : Fin n → ℝ} {transition : Matrix (Fin n) (Fin n) ℝ}\n (hrow : ∀ i, ∑ j, transition i j = 1)\n (hstat : ∀ j, ∑ i, stationary i * transition i j = stationary j)\n (i : Fin n) :\n (FEP.GeometricMechanics.weightedDivergence Q H DQ g dlogp\n = FEP.GeometricMechanics.traceOf (FEP.GeometricMechanics.mulOf Q H)\n - FEP.GeometricMechanics.dot g (FEP.GeometricMechanics.mulVec Q g)\n + FEP.GeometricMechanics.dot (FEP.GeometricMechanics.divQ DQ) g) ∧\n (fep_fep025.FEP025.fep025_divergence\n (fep_fep025.FEP025.fep025_transitionCurrent stationary transition) i\n = 0)", "statement_sha256": "0303123125cec0d088ef98845c968be20410691595fa57f2dd4cc8efe5c885c4" }, @@ -194633,7 +194633,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep164_graphCurrent_extends_fep025_current", "source_line": 78, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep164_graphCurrent_extends_fep025_current\n {n : ℕ} (Q : Fin n → Fin n → ℝ) (g : Fin n → ℝ) (hQ : SkewSymmetric Q)\n (flow : Matrix (Fin n) (Fin n) ℝ) (i : Fin n) :\n (FEP.GeometricMechanics.nodeDiv (FEP.GeometricMechanics.currentOf Q g) i\n = FEP.GeometricMechanics.mulVec Q g i\n + g i * FEP.GeometricMechanics.rowSum Q i) ∧\n (∀ a b : Fin n,\n fep_fep025.FEP025.fep025_probabilityCurrent flow a b =\n -fep_fep025.FEP025.fep025_probabilityCurrent flow b a)", "statement_sha256": "3e861c73f4eec19265ccb2f9163a2c776425dbded429149f8049e4a6c6c9c625" }, @@ -194669,7 +194669,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep165_necessityWitness_extends_fep025_current", "source_line": 94, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep165_necessityWitness_extends_fep025_current :\n (FEP.GeometricMechanics.nodeDiv\n (FEP.GeometricMechanics.currentOf FEP.GeometricMechanics.witnessQ\n FEP.GeometricMechanics.witnessG) 0\n = 1) ∧\n (fep_fep025.FEP025.fep025_divergence\n fep_fep025.FEP025.fep025_cycleCurrent 0 = 0)", "statement_sha256": "f3a218697ac2229d801ddadfe44001089f6081e4c992d13fb14682724333fb21" }, @@ -194796,7 +194796,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep166_splitUnique_extends_fep160_aoNess", "source_line": 50, - "source_owner": "src/fep_lean/formal/compositions/helmholtz_ao_ness.lean", + "source_owner": "src/fep_formal/formal/compositions/helmholtz_ao_ness.lean", "statement": "theorem fep166_splitUnique_extends_fep160_aoNess\n {State : Type*} [Fintype State] {rate S A : State → State → ℝ}\n {law : FiniteLaw State}\n (hSupport : ∀ i, 0 < law i)\n (hS : ∀ i j, law i * S i j = law j * S j i)\n (hA : ∀ i j, law i * A i j = -(law j * A j i))\n (hSum : ∀ i j, rate i j = S i j + A i j) (i j : State) :\n (S = symmetricPart rate law ∧ A = circulationPart rate law) ∧\n (rate i j = symmetricPart rate law i j + circulationPart rate law i j)", "statement_sha256": "efe59b6d3139a58f83ea4a7b71999fb1c55266d9179c884b6b16a76d28a41980" }, @@ -194870,7 +194870,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep167_frobeniusProjection_extends_fep162_clairautSymmetrize", "source_line": 110, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep167_frobeniusProjection_extends_fep162_clairautSymmetrize\n {n : ℕ} (H S : Fin n → Fin n → ℝ) (hS : SymmetricOf S) :\n (frobeniusSq (H - S)\n = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)) ∧\n (frobeniusSq (H - symmetrize H) ≤ frobeniusSq (H - S)) ∧\n SymmetricOf (FEP.GeometricMechanics.symmetrize H)", "statement_sha256": "85d1ea9a1f218e1e1059edf15759dcaf72edf15ed644115de3ccadbfb3f81412" }, @@ -194970,7 +194970,7 @@ "preceding_scope_directives": [], "qualified_name": "FEPComposed.fep168_remainderBound_extends_fep163_solenoidalExpansion", "source_line": 125, - "source_owner": "src/fep_lean/formal/compositions/geometric_mechanics.lean", + "source_owner": "src/fep_formal/formal/compositions/geometric_mechanics.lean", "statement": "theorem fep168_remainderBound_extends_fep163_solenoidalExpansion\n {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) (hcoup : ∀ i, dlogp i = -g i) :\n (weightedDivergence Q H DQ g dlogp\n = FEP.GeometricMechanics.traceOf (FEP.GeometricMechanics.mulOf Q H)\n - FEP.GeometricMechanics.dot g (FEP.GeometricMechanics.mulVec Q g)\n + FEP.GeometricMechanics.dot (FEP.GeometricMechanics.divQ DQ) g) ∧\n ((weightedDivergence Q H DQ g dlogp) ^ 2\n ≤ FEP.GeometricMechanics.dot (FEP.GeometricMechanics.divQ DQ)\n (FEP.GeometricMechanics.divQ DQ)\n * FEP.GeometricMechanics.dot g g)", "statement_sha256": "b7b24a6183f32de6c136e738d82daba7b9b00683d69e3c602199195f6fa00507" }, @@ -195039,7 +195039,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep001.FEP001.fep001_variationalGap_eq_zero_iff", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep001_variationalGap_eq_zero_iff\n (approximation posterior : Measure α)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior] :\n fep001_variationalGap approximation posterior = 0 ↔\n approximation = posterior", "statement_sha256": "c102b47647ef8e443a8c99fa83044ae9e5d61d27e2e4cf04334f8aeab7e59728" }, @@ -195135,7 +195135,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep001.FEP001.fep001_variationalUpperBound_eq_iff", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep001_variationalUpperBound_eq_iff\n (approximation posterior : Measure α)\n [IsFiniteMeasure approximation] [IsFiniteMeasure posterior]\n {surprisal : ENNReal} (hsurprisal : surprisal ≠ ∞) :\n fep001_variationalUpperBound approximation posterior surprisal = surprisal ↔\n approximation = posterior", "statement_sha256": "83d2d174aa3e01c427f597450727adad4c31a05963a067760d31ef4c17491704" }, @@ -195198,7 +195198,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep001.FEP001.fep001_variationalUpperBound_ge", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep001_variationalUpperBound_ge\n (approximation posterior : Measure α) (surprisal : ENNReal) :\n surprisal ≤\n fep001_variationalUpperBound approximation posterior surprisal", "statement_sha256": "4677cf6214d5e8d6fca593ee26e3e10d12b8bfff0e0417d56708248415c8bde5" }, @@ -195273,7 +195273,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_elbo_bound", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_elbo_bound (logEvidence freeEnergy klDiv : ℝ)\n (h_decomp : logEvidence = freeEnergy + klDiv)\n (h_kl_nonneg : 0 ≤ klDiv) :\n freeEnergy ≤ logEvidence", "statement_sha256": "db020ea80f99e8ba43e8ff9bee30a0a116f4cfe1eaa2621991107465268129f5" }, @@ -195364,7 +195364,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_prob_compl", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_prob_compl (μ : Measure α) [IsProbabilityMeasure μ] {s : Set α}\n (hs : MeasurableSet s) (hfin : μ s ≠ ⊤) :\n μ sᶜ = 1 - μ s", "statement_sha256": "cd4963fdc4b74032d43247bf6e59bd3efd9418c8933b732074208fba176abdb6" }, @@ -195425,7 +195425,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_prob_measure_univ", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_prob_measure_univ (μ : Measure α) [IsProbabilityMeasure μ] :\n μ Set.univ = 1", "statement_sha256": "d2ce528fbc2ce407740825166639e8e41d106e803bbf4ebc137d65b99316e41f" }, @@ -195496,7 +195496,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_vfe_exact_at_posterior", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_vfe_exact_at_posterior (posterior : Measure α)\n [SigmaFinite posterior] (surprisal : ENNReal) :\n fep002_variationalFreeEnergy posterior posterior surprisal = surprisal", "statement_sha256": "97e5f161b572f6bb522381cbf33dcaf0bc393eef8b94f2e38ae05470941d8ade" }, @@ -195560,7 +195560,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep002.FEP002.fep002_vfe_ge_surprisal", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep002_vfe_ge_surprisal (q posterior : Measure α) (surprisal : ENNReal) :\n surprisal ≤ fep002_variationalFreeEnergy q posterior surprisal", "statement_sha256": "e95e01d2bc68b126578aaf703c13ebb4685cba10353671819f26a2f3c697b214" }, @@ -195619,7 +195619,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_horizon_succ", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_horizon_succ\n (discount : ENNReal) (stageCost : ℕ → ENNReal) (horizon : ℕ) :\n fep003_pragmaticCost discount stageCost horizon ≤\n fep003_pragmaticCost discount stageCost (horizon + 1)", "statement_sha256": "8ccd558a076362372669eeb79acc45a5cc06179838ca6a4cdba8e18551325578" }, @@ -195682,7 +195682,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_mono", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_mono\n (discount : ENNReal) {cost₁ cost₂ : ℕ → ENNReal}\n (hcost : ∀ t, cost₁ t ≤ cost₂ t) (horizon : ℕ) :\n fep003_pragmaticCost discount cost₁ horizon ≤\n fep003_pragmaticCost discount cost₂ horizon", "statement_sha256": "8584a4b91ef7561ec8f7443e52d4dba489fb7396672b2f07307d815e60530e8f" }, @@ -195734,7 +195734,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_succ", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_succ\n (discount : ENNReal) (stageCost : ℕ → ENNReal) (horizon : ℕ) :\n fep003_pragmaticCost discount stageCost (horizon + 1) =\n fep003_pragmaticCost discount stageCost horizon +\n discount ^ horizon * stageCost horizon", "statement_sha256": "ac4b0c6a93d8cf5efaba86bb31bb85f00bddbb4146a534d0bb524d7d39e4d411" }, @@ -195776,7 +195776,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep003.FEP003.fep003_pragmaticCost_zero", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep003_pragmaticCost_zero\n (discount : ENNReal) (stageCost : ℕ → ENNReal) :\n fep003_pragmaticCost discount stageCost 0 = 0", "statement_sha256": "4f140e9625cf2711d487d03be79f37605b611ed04f43955b8d6aef9f3b97157f" }, @@ -195838,7 +195838,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep004.FEP004.fep004_fisherMetric_eq_zero_iff", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep004_fisherMetric_eq_zero_iff {ι : Type*} [Fintype ι]\n (information v : ι → ℝ) (hinformation : ∀ i, 0 < information i) :\n fep004_fisherMetric information v v = 0 ↔ ∀ i, v i = 0", "statement_sha256": "e6a524204301e666d9ede4a615465fd3088b32289014bca59189bc62dc7e1c79" }, @@ -195900,7 +195900,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep004.FEP004.fep004_fisherMetric_nonneg", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep004_fisherMetric_nonneg {ι : Type*} [Fintype ι]\n (information v : ι → ℝ) (hinformation : ∀ i, 0 ≤ information i) :\n 0 ≤ fep004_fisherMetric information v v", "statement_sha256": "482161255cf2e642f82fcc0d6f6552b67b48e11b392f9d234b5a4c3b45147548" }, @@ -195953,7 +195953,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep004.FEP004.fep004_fisherMetric_symm", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep004_fisherMetric_symm {ι : Type*} [Fintype ι]\n (information u v : ι → ℝ) :\n fep004_fisherMetric information u v =\n fep004_fisherMetric information v u", "statement_sha256": "2387918709d4eaa9574f6465bdf429c54d271556dbcddac7a80afb8abaa14e04" }, @@ -196007,7 +196007,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_disjoint", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_disjoint (assign : Fin 20 → BlkPart) (i j : BlkPart) (hij : i ≠ j) :\n Disjoint (fep005_partitionCover assign i) (fep005_partitionCover assign j)", "statement_sha256": "1d6d8abdd8ae1d5aa3a0b9c40268a8a0f0afe2d4628c6a29c616037591b4e553" }, @@ -196057,7 +196057,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_existsUnique_block", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_existsUnique_block (assign : Fin 20 → BlkPart) (s : Fin 20) :\n ∃! k : BlkPart, s ∈ fep005_partitionCover assign k", "statement_sha256": "e301d3df168a1394c8083808987bcfb18a277b6df6971c6f088d2842dbbc4051" }, @@ -196110,7 +196110,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_mem_iff", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_mem_iff (assign : Fin 20 → BlkPart) (s : Fin 20) (k : BlkPart) :\n s ∈ fep005_partitionCover assign k ↔ assign s = k", "statement_sha256": "fc549ae30574276626b54dc5d8faba1907ec41777ece60abac3cf31ce7dfd125" }, @@ -196143,7 +196143,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep005.FEP005.fep005_total_cover", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep005_total_cover (assign : Fin 20 → BlkPart) :\n ∀ s : Fin 20, ∃ k : BlkPart, s ∈ fep005_partitionCover assign k", "statement_sha256": "d51ebac3eab6d3000639abee2af6f66ca3c323fa2d651053727be43fb03d7b19" }, @@ -196209,7 +196209,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_add", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_add (step : α → α) (m n : ℕ) (state : α) :\n fep006_iterateFlow step (m + n) state =\n fep006_iterateFlow step m (fep006_iterateFlow step n state)", "statement_sha256": "2e251f5a4666144a9c2843a6d226db497856836266d2d8a0730885be5ea13f89" }, @@ -196284,7 +196284,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_fixed", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_fixed\n (step : α → α) {state : α} (hfixed : Function.IsFixedPt step state)\n (time : ℕ) :\n fep006_iterateFlow step time state = state", "statement_sha256": "2c095b1b38929419af7f2a8eecb4482b32273982e71614d0f4353c7e9ec15dab" }, @@ -196357,7 +196357,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_measurable", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_measurable\n [MeasurableSpace α] {step : α → α} (hstep : Measurable step) (time : ℕ) :\n Measurable (fep006_iterateFlow step time)", "statement_sha256": "a7b6dabfe4c1e04a796c36b4ba2efd91b9f2bca53829219d80b438bb714e10e1" }, @@ -196402,7 +196402,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep006.FEP006.fep006_iterateFlow_zero", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep006_iterateFlow_zero (step : α → α) :\n fep006_iterateFlow step 0 = id", "statement_sha256": "490866fac82f68c500525ab61e38dc2fdff955d12fdf86f8112833852a65e5cb" }, @@ -196467,7 +196467,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_factorProduct_nonneg", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_factorProduct_nonneg (ψ : Node → Node → ℝ) (i j : Node)\n (hψ : 0 ≤ ψ i j) (hj : 0 ≤ ψ j i) : 0 ≤ ψ i j * ψ j i", "statement_sha256": "ca3b9a77d4ae9a6cdc9fd551a9e9981dacd9c56e9b89355a203977dc7a6c1ecb" }, @@ -196561,7 +196561,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_messageNormalizer_pos", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_messageNormalizer_pos\n (ψ : Node → Node → ℝ) (incoming : Node → ℝ)\n (neighbors : Finset Node) (i : Node)\n (hne : neighbors.Nonempty)\n (hψ : ∀ j ∈ neighbors, 0 < ψ i j)\n (hincoming : ∀ j ∈ neighbors, 0 < incoming j) :\n 0 < fep007_messageNormalizer ψ incoming neighbors i", "statement_sha256": "5e6a1c01b9818f345183a64872c4935bde36869eb2ba1e213dfb9765236e0b4a" }, @@ -196646,7 +196646,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_message_agg_mono", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_message_agg_mono (ψ : Node → Node → ℝ) (m₁ m₂ : Node → ℝ)\n (N : Finset Node) (i : Node)\n (hψ : ∀ j, 0 ≤ ψ i j) (h : ∀ j ∈ N, m₁ j ≤ m₂ j) :\n ∑ j ∈ N, ψ i j * m₁ j ≤ ∑ j ∈ N, ψ i j * m₂ j", "statement_sha256": "2b22ed42c126920135c2133464cc303cc09602a8f9b7a2f148505f967dca3911" }, @@ -196730,7 +196730,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_message_agg_nonneg", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_message_agg_nonneg (ψ : Node → Node → ℝ) (msg : Node → ℝ)\n (N : Finset Node) (i : Node)\n (hψ : ∀ j, 0 ≤ ψ i j) (hm : ∀ j, 0 ≤ msg j) :\n 0 ≤ ∑ j ∈ N, ψ i j * msg j", "statement_sha256": "2e14323c1c0e6d543289ed40208fa5d7654d14dda41329702388be5036e6cebb" }, @@ -196832,7 +196832,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_normalizedMessage_nonneg", "source_line": 73, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_normalizedMessage_nonneg\n (ψ : Node → Node → ℝ) (incoming : Node → ℝ)\n (neighbors : Finset Node) (i j : Node)\n (hne : neighbors.Nonempty)\n (hψ : ∀ k ∈ neighbors, 0 < ψ i k)\n (hincoming : ∀ k ∈ neighbors, 0 < incoming k) :\n 0 ≤ fep007_normalizedMessage ψ incoming neighbors i j", "statement_sha256": "f5fe2098410f7165bfdc2a7ab29d430b5ec82edec6d042c98d5cac9266e16cbb" }, @@ -196933,7 +196933,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_normalizedMessage_sum_one", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_normalizedMessage_sum_one\n (ψ : Node → Node → ℝ) (incoming : Node → ℝ)\n (neighbors : Finset Node) (i : Node)\n (hne : neighbors.Nonempty)\n (hψ : ∀ j ∈ neighbors, 0 < ψ i j)\n (hincoming : ∀ j ∈ neighbors, 0 < incoming j) :\n ∑ j ∈ neighbors,\n fep007_normalizedMessage ψ incoming neighbors i j = 1", "statement_sha256": "1671525aef941319d36be131abac89402984d450d9316b43bd93b20dcc591ad8" }, @@ -196987,7 +196987,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep007.FEP007.fep007_zero_msg", "source_line": 34, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep007_zero_msg (ψ : Node → Node → ℝ) (N : Finset Node) (i : Node) :\n ∑ j ∈ N, ψ i j * (0 : ℝ) = 0", "statement_sha256": "cf7a905f1769cddacf87297ba97c6f3140ffcec24ce60ad22c9637f9295e1402" }, @@ -197041,7 +197041,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_exists_maxG", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_exists_maxG (policies : Finset Policy) (hne : policies.Nonempty) (G : Policy → ℝ) :\n ∃ p ∈ policies, ∀ p' ∈ policies, G p' ≤ G p", "statement_sha256": "aec4f41843e88420f676bcb9ddbb7579d9dd8ae71b0dd9c7f90621b93a4e2ce1" }, @@ -197095,7 +197095,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_exists_minG", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_exists_minG (policies : Finset Policy) (hne : policies.Nonempty) (G : Policy → ℝ) :\n ∃ p ∈ policies, ∀ p' ∈ policies, G p ≤ G p'", "statement_sha256": "cb1cab225b8cd31b35013e6d54ab674ede6955975d4ee6f5ae80eeaa5db3c32a" }, @@ -197200,7 +197200,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_min_agrees_on_value", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_min_agrees_on_value (policies : Finset Policy) (_hne : policies.Nonempty) (G : Policy → ℝ)\n (p p' : Policy) (hp : p ∈ policies) (hp' : p' ∈ policies)\n (hmin : ∀ p'' ∈ policies, G p ≤ G p'') (hmin' : ∀ p'' ∈ policies, G p' ≤ G p'') :\n G p = G p'", "statement_sha256": "eecbf588e2ed12d71745bf9230e39175da69f0f83ed4155d50aa1a1e038d6836" }, @@ -197274,7 +197274,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep008.FEP008.fep008_min_is_lb", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep008_min_is_lb (policies : Finset Policy) (G : Policy → ℝ)\n (p : Policy) (_hp : p ∈ policies)\n (hmin : ∀ p' ∈ policies, G p ≤ G p') :\n ∀ p' ∈ policies, G p ≤ G p'", "statement_sha256": "29f7645a78cab5319fab8e684f1246aeb4e8a43ccfc568e7c068aff3e4fab380" }, @@ -197365,7 +197365,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_condIndep_bot_right", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_condIndep_bot_right\n (m' m₁ : MeasurableSpace Ω) (hm' : m' ≤ mΩ)\n (μ : @Measure Ω mΩ) [IsFiniteMeasure μ] :\n CondIndep m' m₁ ⊥ hm' μ", "statement_sha256": "aac07e4e052be6eb37ff68848f306a7e9160f84a2d39fb8a69e04ac3097d7859" }, @@ -197467,7 +197467,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_condIndep_symm", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_condIndep_symm\n (m' m₁ m₂ : MeasurableSpace Ω) (hm' : m' ≤ mΩ)\n (μ : @Measure Ω mΩ) [IsFiniteMeasure μ]\n (h : CondIndep m' m₁ m₂ hm' μ) :\n CondIndep m' m₂ m₁ hm' μ", "statement_sha256": "bc5adce9c7bf4f6311d4034b78fd2a10176525c43b705de0a5d089327df4dd7f" }, @@ -197557,7 +197557,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_empty_zero", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_empty_zero (μ : Measure α) : μ ∅ = 0", "statement_sha256": "9edb5d642193cd237e036a77c05e6b1fd0373e2962e3c82192c8e8d2ce9b52e0" }, @@ -197677,7 +197677,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_joint_product_nonneg", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_joint_product_nonneg (μ : Measure α) (ν : Measure β) (s : Set α) (t : Set β) :\n 0 ≤ μ s * ν t", "statement_sha256": "6789b905ba56ebaaf4f0d4366f7b83d3b2d21783efefbede40af248c1106f7fb" }, @@ -197788,7 +197788,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_likelihood_mono", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_likelihood_mono {μ : Measure α} {s t : Set α} (h : s ⊆ t) :\n μ s ≤ μ t", "statement_sha256": "42e73b3a15f9d19459834b2d0eaa8630dd87710969291c9cb13c7f250d5063b0" }, @@ -197908,7 +197908,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_map_nonneg", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_map_nonneg (μ : Measure α) {f : α → β} (_hf : Measurable f) (s : Set β) :\n 0 ≤ μ.map f s", "statement_sha256": "8c57c68c87ea957b390373b6cbdad4d50fde700c67f18b5c1c04d522e1e1fb8c" }, @@ -198009,7 +198009,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep009.FEP009.fep009_union_le", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep009_union_le (μ : Measure α) (s t : Set α) :\n μ (s ∪ t) ≤ μ s + μ t", "statement_sha256": "7a70c3ec6b06e341f76dc75eb5d98c46751a59da6a69dceeeb870ec07218f0d2" }, @@ -198074,7 +198074,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_identity_invariant", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_identity_invariant (π : Measure α) :\n Kernel.Invariant (Kernel.id : Kernel α α) π", "statement_sha256": "7666786e7efc4f909127d46ff8666a705256e3f50af4ab8fcbc3ad552165151d" }, @@ -198126,7 +198126,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_identity_reversible", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_identity_reversible (π : Measure α) :\n Kernel.IsReversible (Kernel.id : Kernel α α) π", "statement_sha256": "6cbce932e69063b6bcc205b2d78e05dc5551db5cc647562608679c5c479bff8f" }, @@ -198209,7 +198209,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_invariant_comp", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_invariant_comp (κ η : Kernel α α) (π : Measure α)\n (hκ : Kernel.Invariant κ π) (hη : Kernel.Invariant η π) :\n Kernel.Invariant (κ ∘ₖ η) π", "statement_sha256": "7a56b9aaed29f22b2736241f2675d025f4b2595cfd0018ba1f724c6511d1c3ca" }, @@ -198281,7 +198281,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_invariant_def", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_invariant_def (κ : Kernel α α) (π : Measure α)\n (hinv : Kernel.Invariant κ π) :\n π.bind κ = π", "statement_sha256": "10cf267bba9d5747b43c60d7101f11ff6e02e41f621495f932324ecf6a364766" }, @@ -198361,7 +198361,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep010.FEP010.fep010_reversible_invariant", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep010_reversible_invariant (κ : Kernel α α) (π : Measure α)\n [IsMarkovKernel κ] (hrev : Kernel.IsReversible κ π) :\n Kernel.Invariant κ π", "statement_sha256": "a38367c979919df2d77b454fba7180f48afb6a2b29aba6c6b73107905fff5eac" }, @@ -198402,7 +198402,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_log_nonneg_on_ge_one", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_log_nonneg_on_ge_one {x : ℝ} (hx : 1 ≤ x) : 0 ≤ Real.log x", "statement_sha256": "b5be70097274b200c08180c6a7cf3dd17385b3f69267d7308b594bc1ecb929b0" }, @@ -198454,7 +198454,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_additive", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_additive {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n fep011_surprise (a * b) = fep011_surprise a + fep011_surprise b", "statement_sha256": "a72604951ec2bea59c882475ff576a14f68393235b232a705f892702b6be0c2e" }, @@ -198474,7 +198474,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_cert", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_cert : fep011_surprise 1 = 0", "statement_sha256": "3a901bc65b35a4503aa98a631d45c30a16b8ac42f3c31efe85134c5799e6647e" }, @@ -198522,7 +198522,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_eq_zero_iff", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_eq_zero_iff {p : ℝ} (hp : 0 < p) :\n fep011_surprise p = 0 ↔ p = 1", "statement_sha256": "8564076d5cb9efe4ca3e9bf67a9189d51f75e91d174c73d9582f6edd6858f19b" }, @@ -198574,7 +198574,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_mono", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_mono {p q : ℝ} (hp : 0 < p) (h : p ≤ q) :\n fep011_surprise q ≤ fep011_surprise p", "statement_sha256": "1adbcf1602f54ce957a4af76a1d6cdd8ab81ef319881aa59d1adb4b50f1528b1" }, @@ -198625,7 +198625,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_nonneg", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_nonneg {u : ℝ} (hu : 0 < u) (hu1 : u ≤ 1) :\n 0 ≤ fep011_surprise u", "statement_sha256": "af52f9d07a24ba4484563d35c78bec81a371d16797ca35dfaf61d30b31d61ff0" }, @@ -198677,7 +198677,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep011.FEP011.fep011_surprise_strictAnti", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep011_surprise_strictAnti {p q : ℝ} (hp : 0 < p) (hpq : p < q) :\n fep011_surprise q < fep011_surprise p", "statement_sha256": "7ff02a81e0d8f369097324110248459a9915bd435db7f17867f92461150d11a5" }, @@ -198749,7 +198749,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_entropyRegularizedCost_le_expectedCost", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_entropyRegularizedCost_le_expectedCost\n (q cost : Policy → ℝ) (τ : ℝ)\n (hτ : 0 ≤ τ) (hq : ∀ p, q p ∈ Set.Icc (0 : ℝ) 1) :\n fep012_entropyRegularizedCost q cost τ ≤ fep012_expectedCost q cost", "statement_sha256": "882d58a6cc3083475f4dac35215496c799a69e6451d773914c49d7ed3f594b4e" }, @@ -198784,7 +198784,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_entropyRegularizedCost_zeroTemperature", "source_line": 51, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_entropyRegularizedCost_zeroTemperature\n (q cost : Policy → ℝ) :\n fep012_entropyRegularizedCost q cost 0 = fep012_expectedCost q cost", "statement_sha256": "6c3c291f36999ada63d84cfe4d1b8b4f97f5c28b5dd397a8a98c4115caad7022" }, @@ -198828,7 +198828,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_gibbsPartition_nonneg", "source_line": 57, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_gibbsPartition_nonneg (G : Policy → ℝ) (s : Finset Policy) :\n 0 ≤ ∑ p ∈ s, Real.exp (-G p)", "statement_sha256": "63d5b7a70c9eb822a31254ca0f04f1c60c4f1db6f22694e01adb375175aed884" }, @@ -198882,7 +198882,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_gibbsPartition_pos", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_gibbsPartition_pos (G : Policy → ℝ) (s : Finset Policy) (hne : s.Nonempty) :\n 0 < ∑ p ∈ s, Real.exp (-G p)", "statement_sha256": "f8b57651e5252944386bc0d6b0b9aa8ff255403c9ada29760113912ad5e3c7f5" }, @@ -198937,7 +198937,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_gibbs_mono", "source_line": 67, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_gibbs_mono (G₁ G₂ : Policy) (G : Policy → ℝ) (h : G G₁ ≤ G G₂) :\n Real.exp (-G G₂) ≤ Real.exp (-G G₁)", "statement_sha256": "167f120b561961db2a92a070b492b2e6194979a3d046874b088c98e26c51fe9a" }, @@ -198981,7 +198981,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_policyEntropy_nonneg", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_policyEntropy_nonneg (q : Policy → ℝ)\n (hq : ∀ p, q p ∈ Set.Icc (0 : ℝ) 1) :\n 0 ≤ fep012_policyEntropy q", "statement_sha256": "5f2b090f422d3ef38d6732c882b447caa6c53e30bebb762f8046fc98c212fc7a" }, @@ -199015,7 +199015,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep012.FEP012.fep012_policyEntropy_pointMass", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep012_policyEntropy_pointMass (chosen : Policy) :\n fep012_policyEntropy (fun p => if p = chosen then 1 else 0) = 0", "statement_sha256": "1bc6736216c9a7d2ae8a8c81a723459945357a1e0fd03c8be6f0e54e95b79e11" }, @@ -199054,7 +199054,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_delta_F", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_delta_F (U₁ U₂ T S₁ S₂ : ℝ) :\n fep013_helmholtz U₂ T S₂ - fep013_helmholtz U₁ T S₁ = (U₂ - U₁) - T * (S₂ - S₁)", "statement_sha256": "7149d5ee7aae5722bae3c2179aea8222ab949b3631cbaf1babb56b62502f3a6b" }, @@ -199090,7 +199090,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_at_zero_temp", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_at_zero_temp (U S : ℝ) : fep013_helmholtz U 0 S = U", "statement_sha256": "fc1a64572320ff00081e3428d27e85e8dfc79c89989b90a5cd2222bbab7e9a98" }, @@ -199175,7 +199175,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_derivative_eq_neg_entropy", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_derivative_eq_neg_entropy\n {U S : ℝ → ℝ} {U' S' T : ℝ}\n (hU : HasDerivAt U U' T) (hS : HasDerivAt S S' T)\n (hfirstLaw : U' = T * S') :\n HasDerivAt (fun t => fep013_helmholtz (U t) t (S t)) (-S T) T", "statement_sha256": "ab2adb496858aed3ae648e7cb8403cb84287cd62e6e15e556ad372e7c2a982ea" }, @@ -199243,7 +199243,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_hasDerivAt", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_hasDerivAt\n {U S : ℝ → ℝ} {U' S' T : ℝ}\n (hU : HasDerivAt U U' T) (hS : HasDerivAt S S' T) :\n HasDerivAt (fun t => fep013_helmholtz (U t) t (S t))\n (U' - (S T + T * S')) T", "statement_sha256": "ffd3d76c1141e399198a52a434feef7fcd8bc3ce79f5c235b59f1cecdfb2a605" }, @@ -199291,7 +199291,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_mono_U", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_mono_U (U₁ U₂ T S : ℝ) (h : U₁ ≤ U₂) :\n fep013_helmholtz U₁ T S ≤ fep013_helmholtz U₂ T S", "statement_sha256": "39e17a837dd2c57b8dcd5bba4a05fb416a18d00925499b423ff85e3c5e36cb78" }, @@ -199358,7 +199358,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep013.FEP013.fep013_helmholtz_mono_entropy", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep013_helmholtz_mono_entropy (U T : ℝ) (S₁ S₂ : ℝ) (hT : 0 < T) (h : S₁ ≤ S₂) :\n fep013_helmholtz U T S₂ ≤ fep013_helmholtz U T S₁", "statement_sha256": "5a82158088304de617089a2f178ce0215ef032667a09fc8841399df7054c505d" }, @@ -199473,7 +199473,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_chain_rule", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_chain_rule (μ ν : Measure α) (κ η : Kernel α β)\n [IsFiniteMeasure μ] [IsFiniteMeasure ν]\n [IsMarkovKernel κ] [IsMarkovKernel η] :\n InformationTheory.klDiv (μ ⊗ₘ κ) (ν ⊗ₘ η) =\n InformationTheory.klDiv μ ν +\n InformationTheory.klDiv (μ ⊗ₘ κ) (μ ⊗ₘ η)", "statement_sha256": "21969566091dad4228853573b68000098b7f09e09acc9979d7c1922fa8bbd78f" }, @@ -199542,7 +199542,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_eq_zero_iff", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_eq_zero_iff (μ ν : Measure α)\n [IsFiniteMeasure μ] [IsFiniteMeasure ν] :\n InformationTheory.klDiv μ ν = 0 ↔ μ = ν", "statement_sha256": "e6ae048d0e591874cf8022fe5ac59c993e22104a1168728dcdcf642ddfea2604" }, @@ -199595,7 +199595,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_nonneg", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_nonneg (μ ν : Measure α) :\n 0 ≤ InformationTheory.klDiv μ ν", "statement_sha256": "02a1f0cfb1273a022df57ce4c8fbdb0e9386a6f68ef98306f8ecccd2ed066be5" }, @@ -199655,7 +199655,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep014.FEP014.fep014_kl_self", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep014_kl_self (μ : Measure α) [SigmaFinite μ] :\n InformationTheory.klDiv μ μ = 0", "statement_sha256": "4f43be26972138d270a03033cbf290f8b79f121a3236dc1f7fab2ca7bd0641af" }, @@ -199756,7 +199756,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep015.FEP015.fep015_variationalIntegrand_add_const_measurable", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep015_variationalIntegrand_add_const_measurable\n {energy logApproximation logGenerative : α → ℝ}\n (henergy : Measurable energy)\n (happroximation : Measurable logApproximation)\n (hgenerative : Measurable logGenerative) (baseline : ℝ) :\n Measurable (fun state =>\n fep015_variationalIntegrand energy logApproximation logGenerative state +\n baseline)", "statement_sha256": "6a830ea3e9ff95896a81c6048272e994c3904c5bd497193940af7126b171c433" }, @@ -199885,7 +199885,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep015.FEP015.fep015_variationalIntegrand_comp_measurable", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep015_variationalIntegrand_comp_measurable\n {β : Type*} [MeasurableSpace β]\n {energy logApproximation logGenerative : α → ℝ}\n {reparameterize : β → α}\n (henergy : Measurable energy)\n (happroximation : Measurable logApproximation)\n (hgenerative : Measurable logGenerative)\n (hreparameterize : Measurable reparameterize) :\n Measurable\n (fep015_variationalIntegrand energy logApproximation logGenerative ∘\n reparameterize)", "statement_sha256": "57c234c31fbd4d7ff28294506d227c2e4322ad60a798d0953c600de76e1eab62" }, @@ -199969,7 +199969,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep015.FEP015.fep015_variationalIntegrand_measurable", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep015_variationalIntegrand_measurable\n {energy logApproximation logGenerative : α → ℝ}\n (henergy : Measurable energy)\n (happroximation : Measurable logApproximation)\n (hgenerative : Measurable logGenerative) :\n Measurable\n (fep015_variationalIntegrand energy logApproximation logGenerative)", "statement_sha256": "5338152efc2f76fc6815a88f002d0fb350fd4b1d0ae8eb0642eb7aa21d2df606" }, @@ -200010,7 +200010,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_laplaceKernel_integrable", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_laplaceKernel_integrable\n {precision : ℝ} (hprecision : 0 < precision) :\n MeasureTheory.Integrable (fep016_laplaceKernel precision)", "statement_sha256": "28a558ee189d4acd7d867fb67721b48cb5a9ad9c691b519dd1b0bfcc7fb7a572" }, @@ -200058,7 +200058,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_laplaceKernel_integral", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_laplaceKernel_integral\n {precision : ℝ} (hprecision : 0 < precision) :\n (∫ x : ℝ, fep016_laplaceKernel precision x) =\n Real.sqrt (Real.pi / (precision / 2))", "statement_sha256": "74a4a09fd65f75f60d189a3cb4781b809bf31ad6c3adb805627fd45f05ffb7d0" }, @@ -200101,7 +200101,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_precision_weighted", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_precision_weighted (prec x μ : ℝ) (hp : 0 ≤ prec) :\n 0 ≤ prec * (x - μ) ^ 2", "statement_sha256": "7327fd388ae4acc4d82dc1a5502d6d9d0d17e2b0e9a454d931617d25510458fb" }, @@ -200132,7 +200132,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_at_mode", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_at_mode (μ : ℝ) : (μ - μ) ^ 2 = 0", "statement_sha256": "eb07a3821f0ffb6160a8a9760d12d495a25baf8ac03682ec492e4a1a57fe207e" }, @@ -200164,7 +200164,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_expand", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_expand (x μ : ℝ) :\n (x - μ) ^ 2 = x ^ 2 - 2 * μ * x + μ ^ 2", "statement_sha256": "e7203d4c4590996d507597e858e71c487e602e850b7b55c64e7c09d63854d551" }, @@ -200195,7 +200195,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_min", "source_line": 6, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_min (x : ℝ) : 0 ≤ x ^ 2", "statement_sha256": "6933f3766380150d7ca92470ac94f102ec26d07e3c403b664e21a0683df9c75c" }, @@ -200227,7 +200227,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep016.FEP016.fep016_quadratic_sym", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep016_quadratic_sym (x μ : ℝ) : (x - μ) ^ 2 = (μ - x) ^ 2", "statement_sha256": "4ddd8e8515ac0772cfec97b1405868070701922ced49f806d6c76a2a87130b44" }, @@ -200354,7 +200354,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_bayes_density", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_bayes_density\n [Countable Ω] [StandardBorelSpace Ω] [Nonempty Ω]\n [StandardBorelSpace 𝓧] [Nonempty 𝓧]\n (κ : Kernel Ω 𝓧) (μ : Measure Ω) [IsFiniteMeasure μ] [IsFiniteKernel κ] :\n ∀ᵐ x ∂(κ ∘ₘ μ),\n fep017_posterior κ μ x =\n μ.withDensity (fun ω ↦ (κ ω).rnDeriv (κ ∘ₘ μ) x)", "statement_sha256": "169cb8effd7a1bf2625e2bd1ae416ca1ba1aa111ae861c14c4565d87a630bf10" }, @@ -200457,7 +200457,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_joint_reconstruction", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_joint_reconstruction\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel κ] :\n (κ ∘ₘ μ) ⊗ₘ fep017_posterior κ μ = (μ ⊗ₘ κ).map Prod.swap", "statement_sha256": "98d008210ab0bfc3b28e0e2ce3f17f731ca0371d30f0c3da808c1896232f0294" }, @@ -200570,7 +200570,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_mass_one", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_mass_one\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel κ]\n (x : 𝓧) :\n fep017_posterior κ μ x Set.univ = 1", "statement_sha256": "8c8d364150dad52d0a5a0cd12c7ba8949e8be092f582c83e82bc5ff5a829dff2" }, @@ -200673,7 +200673,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep017.FEP017.fep017_posterior_recovers_prior", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep017_posterior_recovers_prior\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsMarkovKernel κ] :\n fep017_posterior κ μ ∘ₘ κ ∘ₘ μ = μ", "statement_sha256": "4c24d332fcc2f674c76b47fcf7cdf89b2ed4480bfedc9be5b1e70608f35e29a5" }, @@ -200728,7 +200728,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_eq_zero_iff", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_eq_zero_iff\n {p q : ℝ} (hp : p ∈ Set.Icc (0 : ℝ) 1) (hq : q ∈ Set.Icc (0 : ℝ) 1) :\n fep018_fisherRaoDistance p q = 0 ↔ p = q", "statement_sha256": "5797f41428eb3b76fa381501d77d768715c2b599471b529626b6b6865078b731" }, @@ -200763,7 +200763,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_nonneg", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_nonneg (p q : ℝ) :\n 0 ≤ fep018_fisherRaoDistance p q", "statement_sha256": "6fb79c4b1c42ea9343559552b7b4dbe541e26c5b450b5f8d290e09ba4950db26" }, @@ -200798,7 +200798,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_symm", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_symm (p q : ℝ) :\n fep018_fisherRaoDistance p q = fep018_fisherRaoDistance q p", "statement_sha256": "ebc6e1679960dfc52109b81b89b8a208bfb21bc2f0c902e088bf6e297a4e695b" }, @@ -200834,7 +200834,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep018.FEP018.fep018_fisherRaoDistance_triangle", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep018_fisherRaoDistance_triangle (p q r : ℝ) :\n fep018_fisherRaoDistance p r ≤\n fep018_fisherRaoDistance p q + fep018_fisherRaoDistance q r", "statement_sha256": "eafb9a9b28c4acbff6dcf6bcb46e2d94ea8584f4c15350bb71668b95ae2d3f46" }, @@ -200925,7 +200925,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep019.FEP019.fep019_priorPredictive_assoc", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep019_priorPredictive_assoc\n (κ : Kernel Ω 𝓧) (η : Kernel 𝓧 𝓨) (μ : Measure Ω) :\n η ∘ₘ fep019_priorPredictive κ μ =\n fep019_priorPredictive (η ∘ₖ κ) μ", "statement_sha256": "9096a12c54c1851213746b784002d8a980eb3de206602b80408b7025fc4cac9d" }, @@ -201014,7 +201014,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep019.FEP019.fep019_priorPredictive_mass", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep019_priorPredictive_mass\n (κ : Kernel Ω 𝓧) (μ : Measure Ω) [IsMarkovKernel κ] :\n fep019_priorPredictive κ μ Set.univ = μ Set.univ", "statement_sha256": "bf35f10bfb5954ef8f60e7bd0a8fdc2fbf6fd8bc4ac1abd218434fa9517d2849" }, @@ -201111,7 +201111,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep019.FEP019.fep019_priorPredictive_mass_one", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep019_priorPredictive_mass_one\n (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [IsProbabilityMeasure μ] [IsMarkovKernel κ] :\n fep019_priorPredictive κ μ Set.univ = 1", "statement_sha256": "c4ced010d8e364853f22c7c5ed656127d74a1f1d60db3080ab45438acdfc4a90" }, @@ -201154,7 +201154,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_deviation_step", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_deviation_step (α p : ℝ) :\n fep020_evolve α p - 1 / 2 = (1 - 2 * α) * (p - 1 / 2)", "statement_sha256": "b803d763810b98307b6da4d9f63cb29ddcc7e19dd3f12991331f8e5e2e9a3a84" }, @@ -201190,7 +201190,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_evolve_affine", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_evolve_affine (α p : ℝ) :\n fep020_evolve α p = α + (1 - 2 * α) * p", "statement_sha256": "21241ee2bc4576d664d00bfffbeb1f43668341ce066ada1c559fac0ef016bf5a" }, @@ -201243,7 +201243,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_iterate_deviation", "source_line": 51, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_iterate_deviation (α p : ℝ) (n : ℕ) :\n ((fep020_evolve α)^[n]) p - 1 / 2 =\n (1 - 2 * α) ^ n * (p - 1 / 2)", "statement_sha256": "aa1369acb4e8acb9f56ffdb252ef199fd090da156348872ad1aa15bcae0be4ae" }, @@ -201315,7 +201315,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_tendsto_uniform", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_tendsto_uniform\n {α : ℝ} (hα0 : 0 < α) (hα1 : α < 1) (p : ℝ) :\n Filter.Tendsto (fun n => ((fep020_evolve α)^[n]) p)\n Filter.atTop (nhds (1 / 2 : ℝ))", "statement_sha256": "ea9b253ed3e0487b52718633214d3e8591d4e0c20dd02051433da426e083ca2a" }, @@ -201381,7 +201381,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_transition_nonneg", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_transition_nonneg\n {α : ℝ} (hα0 : 0 ≤ α) (hα1 : α ≤ 1) (source target : Bool) :\n 0 ≤ fep020_transition α source target", "statement_sha256": "1afa475daf8b0ff28a264e9c0c390d56a5be1d0bc6cc3430c56084f5c8963b5c" }, @@ -201426,7 +201426,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_transition_sum_one", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_transition_sum_one (α : ℝ) (source : Bool) :\n ∑ target : Bool, fep020_transition α source target = 1", "statement_sha256": "63d4097e740efbbe05e6de5f10c91a768d79d4058aa5283ee682d2d4039fc511" }, @@ -201468,7 +201468,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep020.FEP020.fep020_uniform_stationary", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep020_uniform_stationary (α : ℝ) :\n fep020_evolve α (1 / 2 : ℝ) = 1 / 2", "statement_sha256": "fd8fae96849d425861735909b4490f07dc6db131f3abddf0dff883422e6b34d0" }, @@ -201511,7 +201511,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_antitone_epistemic", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_antitone_epistemic\n {pragmaticCost epistemic₁ epistemic₂ : ENNReal}\n (hepistemic : epistemic₁ ≤ epistemic₂) :\n fep021_expectedFreeEnergy pragmaticCost epistemic₂ ≤\n fep021_expectedFreeEnergy pragmaticCost epistemic₁", "statement_sha256": "f0ea4dd8aec89b53649158020ef44560e6bcf8f1e09bfe630472abebc454ec5f" }, @@ -201553,7 +201553,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_epistemic_balance", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_epistemic_balance\n {pragmaticCost epistemicValue : ENNReal}\n (hvalue : epistemicValue ≤ pragmaticCost) :\n fep021_expectedFreeEnergy pragmaticCost epistemicValue + epistemicValue =\n pragmaticCost", "statement_sha256": "e01503efc6588b941eef1d04ca71dade6171ff361f1e709b36e1dd7e7ff42268" }, @@ -201585,7 +201585,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_eq_zero_iff", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_eq_zero_iff\n (pragmaticCost epistemicValue : ENNReal) :\n fep021_expectedFreeEnergy pragmaticCost epistemicValue = 0 ↔\n pragmaticCost ≤ epistemicValue", "statement_sha256": "05df3a7d4fd1822895fe4a8bfcbc78a1be0f8690ae4208f05172f76ca7509122" }, @@ -201628,7 +201628,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_mono_pragmatic", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_mono_pragmatic\n {pragmatic₁ pragmatic₂ epistemicValue : ENNReal}\n (hpragmatic : pragmatic₁ ≤ pragmatic₂) :\n fep021_expectedFreeEnergy pragmatic₁ epistemicValue ≤\n fep021_expectedFreeEnergy pragmatic₂ epistemicValue", "statement_sha256": "142a67d9575d826eb65f78de0be258af9a2bd557b900d1e226720e36fba02cdd" }, @@ -201660,7 +201660,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep021.FEP021.fep021_efe_nonneg", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep021_efe_nonneg (pragmaticCost epistemicValue : ENNReal) :\n 0 ≤ fep021_expectedFreeEnergy pragmaticCost epistemicValue", "statement_sha256": "d4584685e159113207864b4a9f38024f73b5cae78bc49c412bed5fcf80536d39" }, @@ -201734,7 +201734,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_brier_decomposition", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_brier_decomposition (p q : ℝ) :\n fep022_brierScore p q = p * (1 - p) + (q - p) ^ 2", "statement_sha256": "b66386f69496c402330a26779a7c17dd009082ca27edf7b2d51ccb842b6695d5" }, @@ -201815,7 +201815,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_brier_eq_optimum_iff", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_brier_eq_optimum_iff (p q : ℝ) :\n fep022_brierScore p q = p * (1 - p) ↔ q = p", "statement_sha256": "323b7587b11abb8e5e3b000386076a62da101d438585d49df49697c6c50870e3" }, @@ -201924,7 +201924,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_posteriorPredictive_mass_one", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_posteriorPredictive_mass_one\n (posterior : Kernel 𝓒 Ω) (likelihood : Kernel Ω 𝓧)\n [IsMarkovKernel posterior] [IsMarkovKernel likelihood] (c : 𝓒) :\n fep022_posteriorPredictive posterior likelihood c Set.univ = 1", "statement_sha256": "7bde76acf8a27d7965664a93d9b644e9f9378a78296374e9b72ebe62b65e964a" }, @@ -202034,7 +202034,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep022.FEP022.fep022_predictive_brier_decomposition", "source_line": 53, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep022_predictive_brier_decomposition\n (posterior : Kernel 𝓒 Ω) (likelihood : Kernel Ω Bool) (c : 𝓒) (p : ℝ) :\n fep022_brierScore p (fep022_predictiveTrueMass posterior likelihood c) =\n p * (1 - p) +\n (fep022_predictiveTrueMass posterior likelihood c - p) ^ 2", "statement_sha256": "05649407bd4f5405b89a8501712aceeb82b65cf60505719a9f9dbb50bfcbfa5e" }, @@ -202117,7 +202117,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_policy_reachable", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_policy_reachable\n (policies : Set Policy) (law : Policy → Measure Outcome)\n {policy : Policy} (hpolicy : policy ∈ policies) :\n law policy ∈ fep023_reachableLaws policies law", "statement_sha256": "cdbe6c09c9c9e71dca7835b0901bda037aa504520369584f4d8bb7e9e6b6b2ea" }, @@ -202170,7 +202170,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_reachable_empty", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_reachable_empty (law : Policy → Measure Outcome) :\n fep023_reachableLaws (∅ : Set Policy) law = ∅", "statement_sha256": "d4738af48d48a3630d3f69710cdd21df5e1b05250f69ed074ef1f3ab8f09b120" }, @@ -202244,7 +202244,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_reachable_mono", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_reachable_mono\n {policies₁ policies₂ : Set Policy} (law : Policy → Measure Outcome)\n (hpolicies : policies₁ ⊆ policies₂) :\n fep023_reachableLaws policies₁ law ⊆\n fep023_reachableLaws policies₂ law", "statement_sha256": "707c48c41f04436accbb622a29830d945e04d274e5bb5068f04561f13d436ace" }, @@ -202337,7 +202337,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep023.FEP023.fep023_reachable_normalized", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep023_reachable_normalized\n (policies : Set Policy) (law : Policy → Measure Outcome)\n (hlaw : ∀ policy ∈ policies, law policy Set.univ = 1)\n {μ : Measure Outcome} (hμ : μ ∈ fep023_reachableLaws policies law) :\n μ Set.univ = 1", "statement_sha256": "dad693d336fd1c27b5508f362dcd41738b904647d1a71cd1c1fe77e6779ab703" }, @@ -202408,7 +202408,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_exact", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_exact\n (base weight : ENNReal) (prior : Measure α) [SigmaFinite prior] :\n fep024_klRegularizedObjective base weight prior prior = base", "statement_sha256": "88e181d986953546a2cb889f0701fb7f2e4a4712090d7ba257b686338e03ef6d" }, @@ -202472,7 +202472,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_ge", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_ge\n (base weight : ENNReal) (approximation prior : Measure α) :\n base ≤ fep024_klRegularizedObjective base weight approximation prior", "statement_sha256": "d0294abe077c55b34cdb5ddcad1206fe3be518280a0b4e342575e5fc23115e5f" }, @@ -202556,7 +202556,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_monoWeight", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_monoWeight\n (base : ENNReal) {weight₁ weight₂ : ENNReal}\n (hweight : weight₁ ≤ weight₂) (approximation prior : Measure α) :\n fep024_klRegularizedObjective base weight₁ approximation prior ≤\n fep024_klRegularizedObjective base weight₂ approximation prior", "statement_sha256": "dfdee81098cdb3d1773391e0c38b0a8780890823c7fb69b6ac76021d53a89840" }, @@ -202619,7 +202619,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep024.FEP024.fep024_klRegularizedObjective_zeroWeight", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep024_klRegularizedObjective_zeroWeight\n (base : ENNReal) (approximation prior : Measure α) :\n fep024_klRegularizedObjective base 0 approximation prior = base", "statement_sha256": "fc9215490ff6d9b6efa7e17472bcd658ce16511a93d921c1e2aeac242905c1e9" }, @@ -202645,7 +202645,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleCurrent_nonzero", "source_line": 104, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleCurrent_nonzero : fep025_cycleCurrent 0 1 ≠ 0", "statement_sha256": "a383cb469a34cd61a1540db2c5d343442af1701c6e116206c0a267f59863d33b" }, @@ -202701,7 +202701,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleCurrent_stationary", "source_line": 97, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleCurrent_stationary (i : Fin 3) :\n fep025_divergence fep025_cycleCurrent i = 0", "statement_sha256": "f6fd56c8eb7633711097a7ca302e721ec1605b3bcea45246d79b423435748acc" }, @@ -202738,7 +202738,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleStationary_invariant", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleStationary_invariant (j : Fin 3) :\n ∑ i, fep025_cycleStationary i * fep025_cycleTransition i j =\n fep025_cycleStationary j", "statement_sha256": "795d5248ee6ccc5ef11b4f5e3e1d18844a7504a542dde9ec09ce5123e77722f8" }, @@ -202775,7 +202775,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_cycleTransition_row", "source_line": 86, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_cycleTransition_row (i : Fin 3) :\n ∑ j, fep025_cycleTransition i j = 1", "statement_sha256": "d46ebcedb4bcc0c88eac344c6e1fa720571f4851c45ecd19e546e26b85ce756d" }, @@ -202833,7 +202833,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_probabilityCurrent_antisymm", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_probabilityCurrent_antisymm {n : ℕ}\n (flow : Matrix (Fin n) (Fin n) ℝ) (i j : Fin n) :\n fep025_probabilityCurrent flow i j =\n -fep025_probabilityCurrent flow j i", "statement_sha256": "bcfde817f4d3004f1d73cc32967cc28dfc195901cf918c4645cdd2809eaaaff6" }, @@ -202890,7 +202890,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_probabilityCurrent_diag_zero", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_probabilityCurrent_diag_zero {n : ℕ}\n (flow : Matrix (Fin n) (Fin n) ℝ) (i : Fin n) :\n fep025_probabilityCurrent flow i i = 0", "statement_sha256": "4ab9d4a59720d00370352e6b3a32182fb36ecff14d4f95c53dd7e4f64b419bc1" }, @@ -202947,7 +202947,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_total_divergence_zero", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_total_divergence_zero {n : ℕ}\n (current : Matrix (Fin n) (Fin n) ℝ)\n (hcurrent : ∀ i j, current i j = -current j i) :\n ∑ i, fep025_divergence current i = 0", "statement_sha256": "3d6d2961d46dcdfb4be8a62107aeaff711ed8569e298b45d5925c109e1f24de2" }, @@ -203034,7 +203034,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep025.FEP025.fep025_transitionCurrent_stationary", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep025_transitionCurrent_stationary {n : ℕ}\n (stationary : Fin n → ℝ) (transition : Matrix (Fin n) (Fin n) ℝ)\n (hrow : ∀ i, ∑ j, transition i j = 1)\n (hstationary : ∀ j, ∑ i, stationary i * transition i j = stationary j)\n (i : Fin n) :\n fep025_divergence (fep025_transitionCurrent stationary transition) i = 0", "statement_sha256": "d18de9b804e8822aa4f907f55a9b1a02d336f31d1ba6e24a206d82e1344faa06" }, @@ -203086,7 +203086,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_complexity_additive", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_complexity_additive {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n fep026_priorComplexity (a * b) =\n fep026_priorComplexity a + fep026_priorComplexity b", "statement_sha256": "5ca23b0e17ee85dd62276883a2804e923d47effe2e93cfc2be9f1ca6b52c0eba" }, @@ -203148,7 +203148,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_complexity_increases", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_complexity_increases {p q : ℝ} (hp : 0 < p) (_hq : 0 < q) (h : p ≤ q) :\n fep026_priorComplexity q ≤ fep026_priorComplexity p", "statement_sha256": "0a44784b1a5c13021fa98922adca7d59e8bd4d7a13575c24a42db62b38ac4227" }, @@ -203168,7 +203168,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_complexity_zero_at_one", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_complexity_zero_at_one : fep026_priorComplexity 1 = 0", "statement_sha256": "d225b799f91768e3feadd8b9d3e6b1fd4e790b7ce530c7f11310577044778fb3" }, @@ -203220,7 +203220,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_log_div", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_log_div {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n Real.log (a / b) = Real.log a - Real.log b", "statement_sha256": "b624f0621bf3b38057194b5134f2274e6d7eb50e5ada69d99628a8b887548a32" }, @@ -203272,7 +203272,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_log_monotone", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_log_monotone {a b : ℝ} (ha : 0 < a) (hab : a ≤ b) :\n Real.log a ≤ Real.log b", "statement_sha256": "2731f765c90a8729f44433d61f3054d214c17758653eab9b828d32722df2c490" }, @@ -203320,7 +203320,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_priorComplexity_eq_zero_iff", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_priorComplexity_eq_zero_iff {p : ℝ} (hp : 0 < p) :\n fep026_priorComplexity p = 0 ↔ p = 1", "statement_sha256": "2f55a76ffda7abc6b9462730fa359b976e87e327fbc1fd525eadcb2dca1ccbc0" }, @@ -203372,7 +203372,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep026.FEP026.fep026_priorComplexity_strictAnti", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep026_priorComplexity_strictAnti\n {p q : ℝ} (hp : 0 < p) (hpq : p < q) :\n fep026_priorComplexity q < fep026_priorComplexity p", "statement_sha256": "42aa23af4f54079730350c3ae6e18d4afddef24461c3d993b95b94046640282a" }, @@ -203463,7 +203463,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_assoc", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_assoc\n (μ : Measure α) (κ : Kernel α β) (η : Kernel (α × β) γ) :\n (fep027_hierarchicalJoint μ κ ⊗ₘ η).map MeasurableEquiv.prodAssoc =\n fep027_hierarchicalJoint μ (κ ⊗ₖ η)", "statement_sha256": "1cbf2cff0592bb7862c062b00c0ecb48cd071f7d06ceebeab5f98ba782575b0a" }, @@ -203560,7 +203560,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_fst", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_fst\n (μ : Measure α) (κ : Kernel α β) [SFinite μ] [IsMarkovKernel κ] :\n (fep027_hierarchicalJoint μ κ).fst = μ", "statement_sha256": "cb8d6d867101e44bf79f6c6404d7da99914715e2901d8dfda6fd2da9757db2eb" }, @@ -203657,7 +203657,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_mass_one", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_mass_one\n (μ : Measure α) (κ : Kernel α β)\n [IsProbabilityMeasure μ] [IsMarkovKernel κ] :\n fep027_hierarchicalJoint μ κ Set.univ = 1", "statement_sha256": "a0810d78bdd114d1c0bed56280df4b7fd3287089da1337c20606eb08236916c0" }, @@ -203754,7 +203754,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep027.FEP027.fep027_hierarchical_snd", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep027_hierarchical_snd\n (μ : Measure α) (κ : Kernel α β) [SFinite μ] [IsSFiniteKernel κ] :\n (fep027_hierarchicalJoint μ κ).snd = κ ∘ₘ μ", "statement_sha256": "7f20c07447b029942882498718b66c5af33c26ce60c21b3aae98aa6f8b74d2e8" }, @@ -203816,7 +203816,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_denominator_pos", "source_line": 93, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_denominator_pos (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy)\n (hne : policies.Nonempty) :\n 0 < ∑ p' ∈ policies, Real.exp (-γ * G p')", "statement_sha256": "78ab42315b066326b279ca23c060bd024fc23f3de5f797005a86eac1245fa2a2" }, @@ -203868,7 +203868,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_numerator_pos", "source_line": 88, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_numerator_pos (γ : ℝ) (G : Policy → ℝ) (p : Policy) :\n 0 < Real.exp (-γ * G p)", "statement_sha256": "729fda24d5ebe55796b607bbd30978b48da105dd6c2d93272c758e64d6df7853" }, @@ -203940,7 +203940,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_le_one", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_le_one\n (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy) (p : Policy)\n (hne : policies.Nonempty) :\n fep028_softmax γ G policies p ≤ 1", "statement_sha256": "88d0926b41a7bd0ee458856bd1c6787425239b2a2c89c805bebaf1896cc66b66" }, @@ -204012,7 +204012,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_nonneg", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_nonneg (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy) (p : Policy)\n (hne : policies.Nonempty) : 0 ≤ fep028_softmax γ G policies p", "statement_sha256": "98fbb25adc928fabc952cea3e5e5cbfbfc53c317fb8fca75ebd79f76a14d73b6" }, @@ -204074,7 +204074,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_probs_sum_one", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_probs_sum_one (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy)\n (hne : policies.Nonempty) :\n ∑ p ∈ policies, fep028_softmax γ G policies p = 1", "statement_sha256": "e62903985f3dd75abf92fda5c35271fff1a3cbc7e547e4b499f9938382d6c843" }, @@ -204149,7 +204149,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_sum_univ", "source_line": 73, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_sum_univ\n (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy)\n (hne : policies.Nonempty) :\n ∑ p : Policy, fep028_softmax γ G policies p = 1", "statement_sha256": "995efdad40c6bf57c4fd3fff19757c06a8d28a7a787c41e69495e3efcf0ef4a1" }, @@ -204221,7 +204221,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep028.FEP028.fep028_softmax_support", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep028_softmax_support\n (γ : ℝ) (G : Policy → ℝ) (policies : Finset Policy) {p : Policy}\n (hp : p ∉ policies) :\n fep028_softmax γ G policies p = 0", "statement_sha256": "a702168a24f3c82a5419abc10d97b6b8e189bd0781d996188969d7ffdcc4cf4c" }, @@ -204263,7 +204263,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_bregman_quadratic_nonneg", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_bregman_quadratic_nonneg (x y : ℝ) :\n 0 ≤ fep029_quadraticBregman x y", "statement_sha256": "4aae72d54186c3f13e8d376fe60715101a5e81872c294e711b4f934a4d1a34c6" }, @@ -204298,7 +204298,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_combo_t_one", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_combo_t_one (a b : ℝ) : (1 - 1) * a + 1 * b = b", "statement_sha256": "b12220b22a45b91eb180fd60294f796e8ef78ff01660e1d4249c3e32464866fe" }, @@ -204333,7 +204333,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_combo_t_zero", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_combo_t_zero (a b : ℝ) : (1 - 0) * a + 0 * b = a", "statement_sha256": "6ffcd7b678793b1204ff31f8ff761ea18ecfae64189c889795a3984864bb07e7" }, @@ -204399,7 +204399,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_convex_combo_bound", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_convex_combo_bound (a b t : ℝ) (_ht0 : 0 ≤ t) (ht1 : t ≤ 1) (hab : a ≤ b) :\n (1 - t) * a + t * b ≤ b", "statement_sha256": "c989726cd367c8306c3de8cecf1ea88a04750fdbd2770c106eac8138ce086eb4" }, @@ -204434,7 +204434,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_quadraticBregman_eq_sq", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_quadraticBregman_eq_sq (x y : ℝ) :\n fep029_quadraticBregman x y = (x - y) ^ 2", "statement_sha256": "e1cc9244acaa8b6706636f2fed48abe78c029d6133aea756e32639113f7f9b83" }, @@ -204476,7 +204476,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_quadraticBregman_eq_zero_iff", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_quadraticBregman_eq_zero_iff (x y : ℝ) :\n fep029_quadraticBregman x y = 0 ↔ x = y", "statement_sha256": "fdf491d9e1c72de1235bf6da2d7d553aa1034f55a8963dd1f3e467d2de6e37d7" }, @@ -204542,7 +204542,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep029.FEP029.fep029_secant_ineq", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep029_secant_ineq (a b t : ℝ) (ht0 : 0 ≤ t) (_ht1 : t ≤ 1) (hab : a ≤ b) :\n (1 - t) * a + t * b ≥ a", "statement_sha256": "683c64e8e9b7a092dc8a2c1888eca15b0f7b98df9e4073bdfd6119fce8960491" }, @@ -204578,7 +204578,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_binaryEntropy_eq_max_iff", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_binaryEntropy_eq_max_iff (p : ℝ) :\n Real.binEntropy p = Real.log 2 ↔ p = (2 : ℝ)⁻¹", "statement_sha256": "77ebe8551a0c42fad4e500797699e287c035548c6c8baa02102fca9fcb62102e" }, @@ -204614,7 +204614,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_binaryEntropy_max", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_binaryEntropy_max (p : ℝ) :\n Real.binEntropy p ≤ Real.log 2", "statement_sha256": "f7529755c96704b732e96ec78ed9eba2a9fe6f0ee12ac1026950fcf9dbd0cb90" }, @@ -204667,7 +204667,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_entropy_eq_log", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_entropy_eq_log (n : ℕ) (hn : 0 < n) :\n -∑ _ ∈ Finset.range n, (1 : ℝ) / n * Real.log ((1 : ℝ) / n)\n = Real.log n", "statement_sha256": "ca53841e3992dab95b95ba5874eedf399402717209232ca5bc139e1f5adee5c1" }, @@ -204713,7 +204713,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_log_card_nonneg", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_log_card_nonneg (n : ℕ) (hn : 1 ≤ n) : 0 ≤ Real.log n", "statement_sha256": "fadf8b9fa2aca47a8ac5ffd2c8db04c943889b34753c3d2ab208945243fb785c" }, @@ -204759,7 +204759,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_uniform_nonneg", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_uniform_nonneg (n : ℕ) (_hn : 0 < n) : 0 ≤ (1 : ℝ) / n", "statement_sha256": "0be5bdd6c6896b9f67de03d33c86460e2b39d603ca11a49e69b5b0297dab66d9" }, @@ -204805,7 +204805,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep030.FEP030.fep030_uniform_sum_one", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep030_uniform_sum_one (n : ℕ) (hn : 0 < n) :\n ∑ _ ∈ Finset.range n, (1 : ℝ) / n = 1", "statement_sha256": "72e43364e4455ca3933b948a05910c0fc8d39b38fa5f6dbe1278cda7ed48dbc3" }, @@ -204893,7 +204893,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbsProbability_nonneg", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbsProbability_nonneg (β : ℝ) (n : ℕ) (E : Fin n → ℝ)\n (S : Finset (Fin n)) (hS : S.Nonempty) (i : Fin n) :\n 0 ≤ fep031_gibbsProbability β n E S i", "statement_sha256": "4f662edbca072ab8774f0e97eaf27f75d8d31c1799a042a2f66b1e8084a83ef7" }, @@ -204971,7 +204971,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbsProbability_sum_one", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbsProbability_sum_one (β : ℝ) (n : ℕ) (E : Fin n → ℝ)\n (S : Finset (Fin n)) (hS : S.Nonempty) :\n ∑ i ∈ S, fep031_gibbsProbability β n E S i = 1", "statement_sha256": "b820482b0d83d31084b607ac3d22b896ff7a6f121b7fa6dd3bf7a325353013b9" }, @@ -205024,7 +205024,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbs_mono", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbs_mono (β E₁ E₂ : ℝ) (hβ : 0 < β) (hE : E₁ ≤ E₂) :\n Real.exp (-β * E₂) ≤ Real.exp (-β * E₁)", "statement_sha256": "fc35e9c573397d28cb93a3b84f9962fc3724c03967dd3dddbf0d82a7d71f0f89" }, @@ -205056,7 +205056,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_gibbs_weight_pos", "source_line": 6, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_gibbs_weight_pos (β E : ℝ) : 0 < Real.exp (-β * E)", "statement_sha256": "dd211b08b469046168812acda14c9e882c3aa19a6de9750d41117cec8b00fdf6" }, @@ -205127,7 +205127,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep031.FEP031.fep031_partition_pos", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep031_partition_pos (β : ℝ) (n : ℕ) (E : Fin n → ℝ)\n (S : Finset (Fin n)) (hS : S.Nonempty) :\n 0 < ∑ i ∈ S, Real.exp (-β * E i)", "statement_sha256": "18fbd3a0b69a887c017a7334675df0e9f138eb66fc0c28b767e3572a25c35d43" }, @@ -205189,7 +205189,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticEnergy_descent", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticEnergy_descent\n {step center x : ℝ} (hstep0 : 0 ≤ step) (hstep2 : step ≤ 2) :\n (fep032_quadraticUpdate step center x - center) ^ 2 ≤\n (x - center) ^ 2", "statement_sha256": "f8b6eb29502f29afba4ef52ef56d2353be0865196414ced8bdb94d2131455970" }, @@ -205224,7 +205224,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_deviation", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_deviation (step center x : ℝ) :\n fep032_quadraticUpdate step center x - center =\n (1 - step) * (x - center)", "statement_sha256": "440b8f0651cf505f6a3148132e0daf551535bfc4e699cf43a32d035974fa2c65" }, @@ -205258,7 +205258,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_fixed", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_fixed (step center : ℝ) :\n fep032_quadraticUpdate step center center = center", "statement_sha256": "926cfc16e6797dd756546f47cb39635c6ad3eb91375e11805f47569005571f11" }, @@ -205310,7 +205310,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_iterate", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_iterate (step center x : ℝ) (n : ℕ) :\n ((fep032_quadraticUpdate step center)^[n]) x - center =\n (1 - step) ^ n * (x - center)", "statement_sha256": "7531a0c7243246f6946a88f1a764805da86cdd53ac05ddae51b0674b52137650" }, @@ -205381,7 +205381,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep032.FEP032.fep032_quadraticUpdate_tendsto", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep032_quadraticUpdate_tendsto\n {step : ℝ} (hstep0 : 0 < step) (hstep2 : step < 2)\n (center x : ℝ) :\n Filter.Tendsto\n (fun n => ((fep032_quadraticUpdate step center)^[n]) x)\n Filter.atTop (nhds center)", "statement_sha256": "b3d9e259e8854cf5dc05ca196133519555f2fee14075b1b9c10b0c45c1bb8def" }, @@ -205472,7 +205472,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_bellman", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_bellman {State : Type*}\n (discount : ENNReal) (stageCost : State → ENNReal)\n (step : State → State) (terminalCost : State → ENNReal)\n (horizon : ℕ) (state : State) :\n fep033_value discount stageCost step terminalCost (horizon + 1) state =\n stageCost state + discount *\n fep033_value discount stageCost step terminalCost horizon (step state)", "statement_sha256": "f1f99c501f3a44fe60e283cf6d65bf3e646ced830f863c9ec189c92449c6adf2" }, @@ -205576,7 +205576,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_value_mono", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_value_mono {State : Type*}\n (discount : ENNReal) {stage₁ stage₂ terminal₁ terminal₂ : State → ENNReal}\n (step : State → State) (hstage : ∀ state, stage₁ state ≤ stage₂ state)\n (hterminal : ∀ state, terminal₁ state ≤ terminal₂ state)\n (horizon : ℕ) (state : State) :\n fep033_value discount stage₁ step terminal₁ horizon state ≤\n fep033_value discount stage₂ step terminal₂ horizon state", "statement_sha256": "7db750b9e5dc189beacc04f0db0473103ca233a6d55c551fadaad479272cb1b9" }, @@ -205647,7 +205647,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_zeroCost", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_zeroCost {State : Type*}\n (discount : ENNReal) (step : State → State) (horizon : ℕ) (state : State) :\n fep033_value discount (fun _ => 0) step (fun _ => 0) horizon state = 0", "statement_sha256": "7314877bbdd4354ba23c93d39de7c90b38ccab2e13034992c62bd8c3f5d8adec" }, @@ -205728,7 +205728,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep033.FEP033.fep033_zeroDiscount", "source_line": 51, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep033_zeroDiscount {State : Type*}\n (stageCost : State → ENNReal) (step : State → State)\n (terminalCost : State → ENNReal) (horizon : ℕ) (state : State) :\n fep033_value 0 stageCost step terminalCost (horizon + 1) state =\n stageCost state", "statement_sha256": "4af84d11495623ae1c036bc134a7194511f6bc3cadd17a984f681ffc3b336ced" }, @@ -205849,7 +205849,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_filter_joint_reconstruction", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_filter_joint_reconstruction\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] :\n (κ ∘ₘ fep034_predictivePrior τ μ) ⊗ₘ fep034_filter τ κ μ =\n (fep034_predictivePrior τ μ ⊗ₘ κ).map Prod.swap", "statement_sha256": "2ea67c17ce32ff9e753b090e5e1969d08ffe6a6da264020e15ad374cc069ca48" }, @@ -205980,7 +205980,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_filter_mass_one", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_filter_mass_one\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsFiniteKernel κ] (x : 𝓧) :\n fep034_filter τ κ μ x Set.univ = 1", "statement_sha256": "713261c03c6bd9994a93423c352666a83498e99655fe4707fcdcf3e9eff9ad6a" }, @@ -206101,7 +206101,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_filter_recovers_prediction", "source_line": 54, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_filter_recovers_prediction\n (τ : Kernel Ω Ω) (κ : Kernel Ω 𝓧) (μ : Measure Ω)\n [StandardBorelSpace Ω] [Nonempty Ω]\n [IsFiniteMeasure μ] [IsFiniteKernel τ] [IsMarkovKernel κ] :\n fep034_filter τ κ μ ∘ₘ κ ∘ₘ fep034_predictivePrior τ μ =\n fep034_predictivePrior τ μ", "statement_sha256": "ac90a558192c5e589418d22965b56a615a4496f870acb80ee0cc6f2e60f29431" }, @@ -206180,7 +206180,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep034.FEP034.fep034_predictive_mass", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep034_predictive_mass\n (τ : Kernel Ω Ω) (μ : Measure Ω) [IsMarkovKernel τ] :\n fep034_predictivePrior τ μ Set.univ = μ Set.univ", "statement_sha256": "9077885ed84339b50186b04fc5611ba21a54f7f14b0c8c28fc7cfd92f22fcdbc" }, @@ -206211,7 +206211,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_exp", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_exp (x : ℝ) : Real.log (Real.exp x) = x", "statement_sha256": "af33de5ad365f59a196c1076f6069b0ef242cdda8c6b2a005359a2accc11e345" }, @@ -206305,7 +206305,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_jensen_two_strict", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_jensen_two_strict\n {x y a b : ℝ} (hx : 0 < x) (hy : 0 < y) (hxy : x ≠ y)\n (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) :\n a * Real.log x + b * Real.log y < Real.log (a * x + b * y)", "statement_sha256": "7c6c7866cc148a246815692523c27e33f72535c893bacf416a9fee050835aab5" }, @@ -206357,7 +206357,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_mono", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_mono {a b : ℝ} (ha : 0 < a) (h : a ≤ b) :\n Real.log a ≤ Real.log b", "statement_sha256": "0c08ff7f5a7cada55c7b1efe31b4e6f39e1bc75626c7d7649f629fa4a73df974" }, @@ -206409,7 +206409,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_mul", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_mul {a b : ℝ} (ha : 0 < a) (hb : 0 < b) :\n Real.log (a * b) = Real.log a + Real.log b", "statement_sha256": "64dcf63b5a9706a13131a8e3a4791cade0afe6c1a0152e4cd8ea59d4f86335db" }, @@ -206429,7 +206429,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_one", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_one : Real.log (1 : ℝ) = 0", "statement_sha256": "af910b4ddb459b7c2906a3dfafe85e19e503404ed5ebafa31a2d61d09d272261" }, @@ -206480,7 +206480,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_pow", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_pow {a : ℝ} (_ha : 0 < a) (n : ℕ) : Real.log (a ^ n) = n * Real.log a", "statement_sha256": "f6ca393ee4e05aa24536a7c7457ef40f013ae883a892f72321ead1a9ddfe9716" }, @@ -206500,7 +206500,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep035.FEP035.fep035_log_strictConcave", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep035_log_strictConcave :\n StrictConcaveOn ℝ (Set.Ioi 0) Real.log", "statement_sha256": "dfb88592150a3f001a7c7011761fe2330cb3ea4ed972308cb7df732f8f257938" }, @@ -206568,7 +206568,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_binomialModel_apply", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_binomialModel_apply (p : NNReal) (hp : p ≤ 1) (trials : ℕ)\n (sample : ℕ) :\n (fep036_binomialModel p hp trials).real {sample} =\n (trials.choose sample : ℝ) * (p : ℝ) ^ sample *\n (1 - (p : ℝ)) ^ (trials - sample)", "statement_sha256": "451e6323e24f6c3a15c1fa85997284e403ffcfa7bc34537fe098d44784b8fd3c" }, @@ -206623,7 +206623,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_empiricalPrior_mem_Ioo", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_empiricalPrior_mem_Ioo\n (trials : ℕ) (sample : Fin (trials + 1)) :\n fep036_empiricalPrior trials sample ∈ Set.Ioo (0 : ℝ) 1", "statement_sha256": "04cf220d9c248677ca115be64dbca39826b58e030757668b532cce5fe218265f" }, @@ -206672,7 +206672,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_eq_shrunkEmpirical", "source_line": 78, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_eq_shrunkEmpirical\n {successes trials : ℕ} (htrials : 0 < trials) :\n fep036_smoothedRate successes trials =\n ((successes : ℝ) / trials) * ((trials : ℝ) / (trials + 2)) +\n 1 / ((trials : ℝ) + 2)", "statement_sha256": "a9728e927eca5af7bb83af0a1a4c2fe40523f7aae43b7708cef9ba84eb103d8a" }, @@ -206721,7 +206721,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_lt_one", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_lt_one\n {successes trials : ℕ} (h : successes ≤ trials) :\n fep036_smoothedRate successes trials < 1", "statement_sha256": "8fab4f95ba975d876d909eab426e16ffe5332b00b1bd6c3556aa2c80be27aa25" }, @@ -206783,7 +206783,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_mem_Ioo", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_mem_Ioo\n {successes trials : ℕ} (h : successes ≤ trials) :\n fep036_smoothedRate successes trials ∈ Set.Ioo (0 : ℝ) 1", "statement_sha256": "86a182c801c4eb415fca212bbbafe2e9df78c7f0260d01c96692f55017547a8e" }, @@ -206833,7 +206833,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_mono", "source_line": 70, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_mono\n {s₁ s₂ trials : ℕ} (h : s₁ ≤ s₂) :\n fep036_smoothedRate s₁ trials ≤ fep036_smoothedRate s₂ trials", "statement_sha256": "5fb3871fc187ae922d912c8a235b27f1a48ca7a179a3e7bac33937efb73bef77" }, @@ -206872,7 +206872,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_pos", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_pos (successes trials : ℕ) :\n 0 < fep036_smoothedRate successes trials", "statement_sha256": "c05133d4e33ed22f6824184972d6518f1849c89e35e3b179daad0e9f7fabf707" }, @@ -206937,7 +206937,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep036.FEP036.fep036_smoothedRate_tendsto_of_empiricalRate", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep036_smoothedRate_tendsto_of_empiricalRate\n (successes : ℕ → ℕ) (p : ℝ)\n (hraw : Filter.Tendsto (fun n : ℕ => (successes n : ℝ) / n)\n Filter.atTop (nhds p)) :\n Filter.Tendsto (fun n : ℕ => fep036_smoothedRate (successes n) n)\n Filter.atTop (nhds p)", "statement_sha256": "fe4522100bb6c684258cb0fa0a0438a91419d8f6bd4100110d09d9d476729160" }, @@ -206982,7 +206982,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_autocorrelation_recurrence", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_autocorrelation_recurrence (α variance : ℝ) (n : ℕ) :\n fep037_autocorrelation α variance (n + 1) =\n fep037_relaxation α * fep037_autocorrelation α variance n", "statement_sha256": "ab44e1cead2ae18b45c34d8983f97d91e164e3ef3dcd96795f1a077c504c3403" }, @@ -207046,7 +207046,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_autocorrelation_tendsto_zero", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_autocorrelation_tendsto_zero\n {α : ℝ} (hα0 : 0 < α) (hα1 : α < 1) (variance : ℝ) :\n Filter.Tendsto (fep037_autocorrelation α variance)\n Filter.atTop (nhds 0)", "statement_sha256": "c17105605d3f51de0288cebc4f578b23db5715b744d524ed0b489979464d332e" }, @@ -207099,7 +207099,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_response_eq", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_response_eq (β α variance : ℝ) (n : ℕ) :\n fep037_response β α variance n =\n 2 * β * α * variance * fep037_relaxation α ^ n", "statement_sha256": "b37da70a8d36ba4119953b0f63dfe43dfba1a9e0c9916de13bedbece172a7a39" }, @@ -207192,7 +207192,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_response_nonneg", "source_line": 54, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_response_nonneg\n {β α variance : ℝ} (hβ : 0 ≤ β) (hα0 : 0 ≤ α) (hαhalf : α ≤ 1 / 2)\n (hvariance : 0 ≤ variance) (n : ℕ) :\n 0 ≤ fep037_response β α variance n", "statement_sha256": "e31044259bd67696fe88a2a1e89829c4b9994d8fafd61749446adb6d474da385" }, @@ -207264,7 +207264,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep037.FEP037.fep037_response_tendsto_zero", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep037_response_tendsto_zero\n {α : ℝ} (hα0 : 0 < α) (hα1 : α < 1) (β variance : ℝ) :\n Filter.Tendsto (fun n => fep037_response β α variance n)\n Filter.atTop (nhds 0)", "statement_sha256": "87719c7cd261f9ee0aba2f045705def2c5566aae12f7d0a9fbf97e5273ffb43b" }, @@ -207313,7 +207313,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_bernoulliMass_hasDerivAt", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_bernoulliMass_hasDerivAt (p : ℝ) (b : Bool) :\n HasDerivAt (fun q => fep038_bernoulliMass q b)\n (fep038_bernoulliMassDeriv b) p", "statement_sha256": "2d3fa7aac8f872e47995d2b958c1bed2990b8d43dad764af7ce8d007a3c4ba82" }, @@ -207352,7 +207352,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_bernoulliMass_sum_one", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_bernoulliMass_sum_one (p : ℝ) :\n ∑ b : Bool, fep038_bernoulliMass p b = 1", "statement_sha256": "95b0dbc4f8796ddc695a2c17f4e51533ce68777eafabbc27980265265bff5ee0" }, @@ -207411,7 +207411,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_expectedScore_zero", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_expectedScore_zero {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :\n ∑ b : Bool, fep038_bernoulliMass p b * fep038_score p b = 0", "statement_sha256": "10bb87130d8123bb924df23c7a7412a617c1807de0129f8596f8034404013b1e" }, @@ -207470,7 +207470,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherInformation_eq", "source_line": 61, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherInformation_eq {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_fisherInformation p = 1 / (p * (1 - p))", "statement_sha256": "02c1d95fd632491952c1583ecfc90ddffd87b7e1cf980fc46bdca53c0c817b24" }, @@ -207536,7 +207536,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherMetric_coordinate", "source_line": 104, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherMetric_coordinate {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_coordinateJacobian p ^ 2 = fep038_fisherInformation p", "statement_sha256": "dab8270b573e610ce8644ef9d63b5fd1742f4708938ec80e09fd37af0ac2d14a" }, @@ -207613,7 +207613,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherMetric_pos", "source_line": 75, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherMetric_pos {p v : ℝ} (hp0 : 0 < p) (hp1 : p < 1)\n (hv : v ≠ 0) :\n 0 < fep038_fisherMetric p v v", "statement_sha256": "c3b631f6c0638763f0f62e4da75c76ef5dd4b23b4afd4f11709bd6ee2923056e" }, @@ -207681,7 +207681,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_fisherMetric_pullback", "source_line": 111, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_fisherMetric_pullback {p v w : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_fisherMetric p v w =\n (fep038_coordinateJacobian p * v) *\n (fep038_coordinateJacobian p * w)", "statement_sha256": "8cd8ed95f945b53aa2949297128d75eb782809dbbcd60109825c215714aae24b" }, @@ -207748,7 +207748,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep038.FEP038.fep038_naturalGradient_duality", "source_line": 89, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep038_naturalGradient_duality {p gradient : ℝ}\n (hp0 : 0 < p) (hp1 : p < 1) :\n fep038_fisherInformation p * fep038_naturalGradient p gradient = gradient", "statement_sha256": "74080fdc7eab69e200d9e310cf452fa5525f7a092ad660942df77f55e455a49c" }, @@ -207782,7 +207782,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_add", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_add (f g : Fin 4 → ℝ) :\n fep039_global_fe (fun i => f i + g i) = fep039_global_fe f + fep039_global_fe g", "statement_sha256": "16d8ccf6103c8ad40d5e87415c2329b4350fd689996ae02b74a56dfae7a47440" }, @@ -207825,7 +207825,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_eq_zero_iff", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_eq_zero_iff (local_fe : Fin 4 → ℝ)\n (hnonneg : ∀ i, 0 ≤ local_fe i) :\n fep039_global_fe local_fe = 0 ↔ ∀ i, local_fe i = 0", "statement_sha256": "98a43d97d725e0ee2ce7a3951e0b66a7a7867703b7f0a6ae5730eeedf36459f5" }, @@ -207869,7 +207869,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_mono", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_mono (f g : Fin 4 → ℝ) (h : ∀ i, f i ≤ g i) :\n fep039_global_fe f ≤ fep039_global_fe g", "statement_sha256": "7bba26671c7fdd60add4de5eece136ff8b89b76f199cb794ccef375fb7937a54" }, @@ -207912,7 +207912,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_nonneg", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_nonneg (local_fe : Fin 4 → ℝ) (h : ∀ i, 0 ≤ local_fe i) :\n 0 ≤ fep039_global_fe local_fe", "statement_sha256": "de339ac3e0d1861fde3d5fa659d5f6764a084388ad750e7a9ba3472441487ce6" }, @@ -207934,7 +207934,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep039.FEP039.fep039_global_zero", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep039_global_zero : fep039_global_fe (fun _ => 0) = 0", "statement_sha256": "2a74383f051d3f28bcf6b3c1cc0c7996a55aed979f9affce8af7fc22a7104990" }, @@ -207980,7 +207980,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussianEntropy_hasDerivAt", "source_line": 49, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussianEntropy_hasDerivAt\n {v : ℝ} (hv : 0 < v) :\n HasDerivAt fep040_gaussianEntropy (1 / (2 * v)) v", "statement_sha256": "9e53a1713a76d6081357c43efa31f7558233944e2f4e565a22c525a8c22b9c6c" }, @@ -208037,7 +208037,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussianEntropy_strictMono", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussianEntropy_strictMono\n {v₁ v₂ : ℝ} (hv₁ : 0 < v₁) (hv : v₁ < v₂) :\n fep040_gaussianEntropy v₁ < fep040_gaussianEntropy v₂", "statement_sha256": "131b5abb6a58ff1610ca39f8fe4f17d0a8e57112efcf9bf76a140cb397a9f20e" }, @@ -208083,7 +208083,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussian_mass_one", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussian_mass_one (mean : ℝ) (variance : NNReal) :\n fep040_gaussianLaw mean variance Set.univ = 1", "statement_sha256": "a58439ef9330b2dae0967ed1e26e1d12f012cfd70244db5ae8f5a2f4e2797dce" }, @@ -208129,7 +208129,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussian_mean", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussian_mean (mean : ℝ) (variance : NNReal) :\n ∫ x, x ∂fep040_gaussianLaw mean variance = mean", "statement_sha256": "a3a849b9d176fa9f2aa135a18458cfc3a558b8360378633d9dcb354841a4cb1f" }, @@ -208175,7 +208175,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_gaussian_variance", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_gaussian_variance (mean : ℝ) (variance : NNReal) :\n ProbabilityTheory.variance id (fep040_gaussianLaw mean variance) = variance", "statement_sha256": "41d43a1ddb06ed9be4ea5e2e0d4b23f95cc43f45fc000c3ab4505973a15e5c03" }, @@ -208221,7 +208221,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_heatCapacity_eq_half", "source_line": 106, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_heatCapacity_eq_half {T : ℝ} (hT : 0 < T) :\n fep040_heatCapacity T = 1 / 2", "statement_sha256": "5477ab18412c5f9b0d7cef81e5ef2d3bad6ad5adb3f79a383bb674b7ea715013" }, @@ -208285,7 +208285,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep040.FEP040.fep040_thermalEntropy_hasDerivAt", "source_line": 78, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep040_thermalEntropy_hasDerivAt\n {κ T : ℝ} (hκ : 0 < κ) (hT : 0 < T) :\n HasDerivAt (fep040_thermalEntropy κ) (1 / (2 * T)) T", "statement_sha256": "262b8ea6a1dd324986f0ad97cbcaa25ee44a67c047f856978caed0cceb6642e4" }, @@ -208386,7 +208386,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep041.FEP041.fep041_expectedInformationGain_zero", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep041_expectedInformationGain_zero\n (predictive : Measure Obs)\n (posterior : Obs → Measure State)\n (prior : Measure State) [SigmaFinite prior]\n (hposterior : ∀ᵐ observation ∂predictive, posterior observation = prior) :\n fep041_expectedInformationGain predictive posterior prior = 0", "statement_sha256": "b73f62ca41fb9ae8d23147d39cf2be99c1c7b51b9c8514d453e75f8e175d97ac" }, @@ -208466,7 +208466,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep041.FEP041.fep041_informationGain_eq_zero_iff", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep041_informationGain_eq_zero_iff\n (posterior prior : Measure State)\n [IsFiniteMeasure posterior] [IsFiniteMeasure prior] :\n fep041_informationGain posterior prior = 0 ↔ posterior = prior", "statement_sha256": "ccfcac80e5e27b10451912731a140ebb801b0317980e603836c54eeac02355e8" }, @@ -208530,7 +208530,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep041.FEP041.fep041_informationGain_nonneg", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep041_informationGain_nonneg (posterior prior : Measure State) :\n 0 ≤ fep041_informationGain posterior prior", "statement_sha256": "7dcba7723e84c978116423c66562107d3d0bd17ee49f4d676f8a7ee0dfde7958" }, @@ -208591,7 +208591,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep042.FEP042.fep042_likelihood_eq_of_stat_eq", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep042_likelihood_eq_of_stat_eq\n (p : ℝ) (xs ys : List Bool)\n (h : fep042_sufficientStatistic xs = fep042_sufficientStatistic ys) :\n fep042_bernoulliLikelihood p xs = fep042_bernoulliLikelihood p ys", "statement_sha256": "0b31f9c72d114da240237a4fcd3b204fbfd0f187e3014be2dd938b6e68e74e9f" }, @@ -208634,7 +208634,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep042.FEP042.fep042_likelihood_factorizes", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep042_likelihood_factorizes (p : ℝ) (data : List Bool) :\n fep042_bernoulliLikelihood p data =\n p ^ fep042_successCount data * (1 - p) ^ fep042_failureCount data", "statement_sha256": "c5eef7004e228bf540cf093ed08a511b98d513e52a0db4a101a120cdcdb69e88" }, @@ -208691,7 +208691,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_localMin_deriv_zero", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_localMin_deriv_zero\n {f : ℝ → ℝ} {x₀ : ℝ} (hmin : IsLocalMin f x₀) :\n deriv f x₀ = 0", "statement_sha256": "bc582107356c19123aefb4eab872a416265e14b74b7e578160095ea75049832d" }, @@ -208730,7 +208730,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadraticGradient_hasDerivAt", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadraticGradient_hasDerivAt (a x₀ x : ℝ) :\n HasDerivAt (fep043_quadraticGradient a x₀) (2 * a) x", "statement_sha256": "9347def9fc3da535de6f52c23edc5de3e577870ef6902186c34135a4e6a6c0ec" }, @@ -208787,7 +208787,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_critical_iff", "source_line": 53, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_critical_iff\n {a x₀ c x : ℝ} (ha : 0 < a) :\n deriv (fep043_quadraticFreeEnergy a x₀ c) x = 0 ↔ x = x₀", "statement_sha256": "03ecb9afb5b2cff4bc6144539eae1e8bf2b00ad25cf70bfa6be2d6c5d8564652" }, @@ -208827,7 +208827,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_hasDerivAt", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_hasDerivAt (a x₀ c x : ℝ) :\n HasDerivAt (fep043_quadraticFreeEnergy a x₀ c)\n (fep043_quadraticGradient a x₀ x) x", "statement_sha256": "56f4e7724c047694513fd9e4ee0c2fe6a03fa832e47a0a3cd082a836b4b8d6d2" }, @@ -208874,7 +208874,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_hessian_pos", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_hessian_pos {a : ℝ} (ha : 0 < a) :\n 0 < 2 * a", "statement_sha256": "5ef0587ade969e6e3f7df1b9704ead0115e970ca974333622248014bb6f4f558" }, @@ -208924,7 +208924,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep043.FEP043.fep043_quadratic_unique_min", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep043_quadratic_unique_min\n {a x₀ c x : ℝ} (ha : 0 < a) :\n fep043_quadraticFreeEnergy a x₀ c x =\n fep043_quadraticFreeEnergy a x₀ c x₀ ↔\n x = x₀", "statement_sha256": "1bef06e22d5cf4d6ab9c52328c2771d4dcac08a0d195bab719ec7e4141e5d6da" }, @@ -208959,7 +208959,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_complement", "source_line": 45, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_complement (p q : ℝ) :\n fep044_hellingerSq (1 - p) (1 - q) = fep044_hellingerSq p q", "statement_sha256": "7b02357564ba37a72561aaa6d81cbb9c0305edea6fb8a12ca9c1c33bd468bb6c" }, @@ -209014,7 +209014,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_eq_zero_iff", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_eq_zero_iff\n {p q : ℝ} (hp : p ∈ Set.Icc (0 : ℝ) 1) (hq : q ∈ Set.Icc (0 : ℝ) 1) :\n fep044_hellingerSq p q = 0 ↔ p = q", "statement_sha256": "9156ee48c34ef31f943eefc08b19e01af8a6a183b6f260580f26c04fafcc4abe" }, @@ -209049,7 +209049,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_nonneg", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_nonneg (p q : ℝ) :\n 0 ≤ fep044_hellingerSq p q", "statement_sha256": "4a70ec79ecaa3acc0e679e812b53ab77be896f264547f0a01b1dbe9247d664ff" }, @@ -209084,7 +209084,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep044.FEP044.fep044_hellingerSq_symm", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "statement": "theorem fep044_hellingerSq_symm (p q : ℝ) :\n fep044_hellingerSq p q = fep044_hellingerSq q p", "statement_sha256": "792eaa9b2b8dea04df9b0f86e23173f94f47b66b8772fd16e4c76de8fbaa5c27" }, @@ -209141,7 +209141,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_bernoulli_posterior_closed", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_bernoulli_posterior_closed\n {p l₀ l₁ : ℝ} (hZ : fep045_evidence p l₀ l₁ ≠ 0) (b : Bool) :\n fep045_bernoulliMass (fep045_posteriorParameter p l₀ l₁) b =\n fep045_bernoulliMass p b * fep045_binaryLikelihood l₀ l₁ b /\n fep045_evidence p l₀ l₁", "statement_sha256": "f98b85e18c1887c931d7d2f7fe44fde19f3988b9cb0e62e8e5991383ed9c283b" }, @@ -209218,7 +209218,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_evidence_pos", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_evidence_pos\n {p l₀ l₁ : ℝ} (hp₀ : 0 < p) (hp₁ : p < 1)\n (hl₀ : 0 < l₀) (hl₁ : 0 < l₁) :\n 0 < fep045_evidence p l₀ l₁", "statement_sha256": "a099e05f23a8e329ca84a459e7598d67ee5297349e047a67d0f6a5c8dcbf9fed" }, @@ -209302,7 +209302,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_posteriorParameter_mem_unit", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_posteriorParameter_mem_unit\n {p l₀ l₁ : ℝ} (hp₀ : 0 < p) (hp₁ : p < 1)\n (hl₀ : 0 < l₀) (hl₁ : 0 < l₁) :\n 0 ≤ fep045_posteriorParameter p l₀ l₁ ∧\n fep045_posteriorParameter p l₀ l₁ ≤ 1", "statement_sha256": "562f7782a59e7dc3b04555e8f4a8fa403d054af621974b3a5d67e8b51b1d1bd9" }, @@ -209339,7 +209339,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep045.FEP045.fep045_posterior_mass_one", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep045_posterior_mass_one (p l₀ l₁ : ℝ) :\n ∑ b : Bool, fep045_bernoulliMass (fep045_posteriorParameter p l₀ l₁) b = 1", "statement_sha256": "f1e7223b249418248556274c50aa5bda976b62d4103281622993d9738ffa9445" }, @@ -209373,7 +209373,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep046.FEP046.fep046_mass_conservation", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep046_mass_conservation (breaks : List ℝ) :\n (fep046_stickWeights breaks).sum + fep046_remainder breaks = 1", "statement_sha256": "1060012a8289a11ff44b50822f4d778cf3fb1a0228b6e9169fc1cbaf155548da" }, @@ -209424,7 +209424,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep046.FEP046.fep046_remainder_le_one", "source_line": 58, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep046_remainder_le_one (breaks : List ℝ)\n (hbreaks : ∀ v ∈ breaks, v ∈ Set.Icc (0 : ℝ) 1) :\n fep046_remainder breaks ≤ 1", "statement_sha256": "cbeee33f1f00cd0cc4e40ab370b31af67becb2d0a8cdcbca4c1f2d5075997310" }, @@ -209468,7 +209468,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep046.FEP046.fep046_remainder_nonneg", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "statement": "theorem fep046_remainder_nonneg (breaks : List ℝ)\n (hbreaks : ∀ v ∈ breaks, v ∈ Set.Icc (0 : ℝ) 1) :\n 0 ≤ fep046_remainder breaks", "statement_sha256": "4f7223cd8f9400e330f62f677531dc69f49d165c7dcae9aacddc98ae19559601" }, @@ -209511,7 +209511,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_forward_compose", "source_line": 50, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_forward_compose\n (outer inner : Factor) (incoming : State → ℝ) :\n fep047_forward outer (fep047_forward inner incoming) =\n fep047_forward (outer * inner) incoming", "statement_sha256": "7acc9063c0579c11b0aa5832b5edfe1e76809a10ee5378a0378d9e0cde1eaf8c" }, @@ -209584,7 +209584,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_forward_mono", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_forward_mono\n (factor : Factor) (incoming₁ incoming₂ : State → ℝ)\n (hfactor : ∀ x y, 0 ≤ factor x y)\n (hincoming : ∀ y, incoming₁ y ≤ incoming₂ y) (x : State) :\n fep047_forward factor incoming₁ x ≤\n fep047_forward factor incoming₂ x", "statement_sha256": "7f695764846b5598fd1f82a9b337da09e787c925d4735d221663d4a718d6804b" }, @@ -209656,7 +209656,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_forward_nonneg", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_forward_nonneg\n (factor : Factor) (incoming : State → ℝ)\n (hfactor : ∀ x y, 0 ≤ factor x y)\n (hincoming : ∀ y, 0 ≤ incoming y) (x : State) :\n 0 ≤ fep047_forward factor incoming x", "statement_sha256": "9b1c66c38e2ad9f48b340be3472f54b04e91698dfdf97ae2ca60e50e31910c32" }, @@ -209688,7 +209688,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_identity", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_identity (incoming : State → ℝ) :\n fep047_forward (1 : Factor) incoming = incoming", "statement_sha256": "7b158fcece6a4efccb8304ac7827e83cc88d2526d8ea042fbca044cae10ee8c9" }, @@ -209720,7 +209720,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep047.FEP047.fep047_zero_in", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_active_inference.py", "statement": "theorem fep047_zero_in (factor : Factor) :\n fep047_forward factor (fun _ => 0) = 0", "statement_sha256": "4c00e1928ce74896ea71dee71507fdacfb02fac55d46977a028ed249a8ff2457" }, @@ -209774,7 +209774,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_add_mono", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_add_mono (f g : ℝ → ℝ) (hf : Monotone f) (hg : Monotone g) :\n Monotone (fun x => f x + g x)", "statement_sha256": "50df6bbf6fd1c9e1a43992f0af02b51b69115a21c6bcf532d196d6d268705201" }, @@ -209828,7 +209828,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_async_mono", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_async_mono (f g : ℝ → ℝ) (hf : Monotone f) (hg : Monotone g) :\n Monotone (g ∘ f)", "statement_sha256": "2c2367bd2b131b8806dde50b1f82ba4144c0a45c07a22834b2b9857e7da2dbe2" }, @@ -209912,7 +209912,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_contraction_unique", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_contraction_unique (f : ℝ → ℝ) (c : NNReal)\n (hcontract : ContractingWith c f) (x y : ℝ)\n (hfx : Function.IsFixedPt f x) (hfy : Function.IsFixedPt f y) : x = y", "statement_sha256": "bc2b9944b737f7fdcca45094efe2b0785d329c0debc042c08aaed3aa12e4e485" }, @@ -209934,7 +209934,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_halfUpdate_contracts", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_halfUpdate_contracts :\n ContractingWith (1 / 2 : NNReal) fep048_halfUpdate", "statement_sha256": "e587582505104569bc0e74d4bb38aa4ee35c20f26bc42729e632130a1eaa6d83" }, @@ -209974,7 +209974,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_halfUpdate_iterates_converge", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_halfUpdate_iterates_converge (x : ℝ) :\n Filter.Tendsto (fun n ↦ fep048_halfUpdate^[n] x) Filter.atTop (𝓝 0)", "statement_sha256": "c6aaf651c9abe58a55b0457eb26c84ff5e18339028b99998acfe87da5923b145" }, @@ -210017,7 +210017,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_halfUpdate_unique_fixed_point", "source_line": 40, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_halfUpdate_unique_fixed_point (x : ℝ)\n (hx : Function.IsFixedPt fep048_halfUpdate x) : x = 0", "statement_sha256": "395ac9e55d0d92cc4c75b6392e4c25c71658f139b1e1ec98b898d281d72dce61" }, @@ -210039,7 +210039,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_id_mono", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_id_mono : Monotone (id : ℝ → ℝ)", "statement_sha256": "9984fd6d28830cbc4a087e294673bcb1923772a1375bd1e439eb54a967441bd6" }, @@ -210093,7 +210093,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep048.FEP048.fep048_sync_nonneg", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_free_energy.py", "statement": "theorem fep048_sync_nonneg (a b : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) : 0 ≤ a + b", "statement_sha256": "9ebd7b42bb37e2d2bd44aca14df01fa38847ef7359c97b0988247ccb288a9373" }, @@ -210148,7 +210148,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_edgeProduction_eq_zero_iff", "source_line": 80, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_edgeProduction_eq_zero_iff\n {forward reverse : ℝ} (hforward : 0 < forward) (hreverse : 0 < reverse) :\n fep049_edgeProduction forward reverse = 0 ↔ forward = reverse", "statement_sha256": "e9a518f6b2a62d7839294215ba973efb9ac0d0722baf7ec67709238aef9cc306" }, @@ -210203,7 +210203,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_edgeProduction_nonneg", "source_line": 67, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_edgeProduction_nonneg\n {forward reverse : ℝ} (hforward : 0 < forward) (hreverse : 0 < reverse) :\n 0 ≤ fep049_edgeProduction forward reverse", "statement_sha256": "018f2faa2ef0592417ded22b3a916906f6ae8e77e937a7b3fc8653d0257bd9ad" }, @@ -210266,7 +210266,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_entropyProduction_eq_zero_iff", "source_line": 40, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_entropyProduction_eq_zero_iff {ι : Type*} [Fintype ι]\n (conductance force : ι → ℝ)\n (hconductance : ∀ i, 0 < conductance i) :\n fep049_entropyProduction conductance force = 0 ↔\n ∀ i, force i = 0", "statement_sha256": "3d529e0d1010a2fbccd19146222795117af8ae5aa38e462da61e155946e51ee3" }, @@ -210329,7 +210329,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_entropyProduction_nonneg", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_entropyProduction_nonneg {ι : Type*} [Fintype ι]\n (conductance force : ι → ℝ)\n (hconductance : ∀ i, 0 ≤ conductance i) :\n 0 ≤ fep049_entropyProduction conductance force", "statement_sha256": "5049821a33ca3169116f28b1a0f0f3b1d6941baeb6e65be31b1cec4d16815aa8" }, @@ -210382,7 +210382,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep049.FEP049.fep049_flux_force_identity", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep049_flux_force_identity {ι : Type*} [Fintype ι]\n (conductance force : ι → ℝ) :\n (∑ i, force i * fep049_linearFlux conductance force i) =\n fep049_entropyProduction conductance force", "statement_sha256": "4a45b94fd98236f4dc25713d35c732c2deb3cf283218aaf64d11b02ee57fd149" }, @@ -210416,7 +210416,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_erasureEntropyLoss_eq", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_erasureEntropyLoss_eq (kB : ℝ) :\n fep050_erasureEntropyLoss kB = kB * Real.log 2", "statement_sha256": "8d39b479810cb3643ec99f43cb464276b1865fc025a21c0cf92f0ac9cf2b6540" }, @@ -210439,7 +210439,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_erasure_not_injective", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_erasure_not_injective :\n ¬Function.Injective fep050_erasure", "statement_sha256": "d63f2c8edf98ceb3d8518c69ee13ef9723bd377f189f9ed3a3331c114926869c" }, @@ -210529,7 +210529,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_generalized_landauer_heat_bound", "source_line": 69, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_generalized_landauer_heat_bound\n {Path : Type*} [Fintype Path]\n (model : FEP.PathThermodynamics.ErasureModel Path)\n {kB T : ℝ} (hBeta : model.beta = (kB * T)⁻¹)\n (hReset : model.IsReset) :\n kB * T * Real.binEntropy (model.prior true) ≤ model.meanHeat", "statement_sha256": "4d1871d771f99256f7001fc50cc61920fadb9c413a8f54ddc30ddb50b209a93a" }, @@ -210584,7 +210584,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauerBound_pos", "source_line": 107, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauerBound_pos\n {kB T : ℝ} (hkB : 0 < kB) (hT : 0 < T) :\n 0 < fep050_landauerBound kB T", "statement_sha256": "00abd1258736b3629df941b0dc52389b75008dfd6825817656f05f0794ef649b" }, @@ -210704,7 +210704,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_heat_bound", "source_line": 84, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_heat_bound\n {Path : Type*} [Fintype Path]\n (model : FEP.PathThermodynamics.ErasureModel Path)\n {kB T : ℝ} (_hkB : 0 < kB) (_hT : 0 < T)\n (hBeta : model.beta = (kB * T)⁻¹)\n (hReset : model.IsReset) (hFair : model.prior true = 1 / 2) :\n fep050_landauerBound kB T ≤ model.meanHeat", "statement_sha256": "dc3696ab5148488ddc614978c44a6ff6293efe3e0ea423ea8a379047c9ddbd0d" }, @@ -210767,7 +210767,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_heat_bound_of_entropy_balance", "source_line": 44, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_heat_bound_of_entropy_balance\n {Q T kB : ℝ} (hT : 0 < T)\n (hsecondLaw : 0 ≤ fep050_totalEntropyChange Q T kB) :\n fep050_landauerBound kB T ≤ Q", "statement_sha256": "5f310077fbbb4bdada913dc8092655d955012e4b2196b77524ca85fa57fb5396" }, @@ -210898,7 +210898,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_work_bound", "source_line": 96, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_work_bound\n {Path : Type*} [Fintype Path]\n (model : FEP.PathThermodynamics.ErasureModel Path)\n {W kB T : ℝ} (hkB : 0 < kB) (hT : 0 < T)\n (hBeta : model.beta = (kB * T)⁻¹)\n (hReset : model.IsReset) (hFair : model.prior true = 1 / 2)\n (hworkHeat : model.meanHeat ≤ W) :\n fep050_landauerBound kB T ≤ W", "statement_sha256": "44ae51f8652eb46d44c591470a9806c0f5fadd16729db884caba5bb1f2415d4f" }, @@ -210972,7 +210972,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep050.FEP050.fep050_landauer_work_bound_of_entropy_balance", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "statement": "theorem fep050_landauer_work_bound_of_entropy_balance\n {W Q T kB : ℝ} (hT : 0 < T)\n (hsecondLaw : 0 ≤ fep050_totalEntropyChange Q T kB)\n (hworkHeat : Q ≤ W) :\n fep050_landauerBound kB T ≤ W", "statement_sha256": "f82e28c62426eef3fd44a43ee553aa85b947e3751ff63f486c87b35b5b687aca" }, @@ -211050,7 +211050,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep051.FEP051.fep051_likelihoodRatio_reconstruction", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep051_likelihoodRatio_reconstruction\n (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference]\n (h_ac : target ≪ reference) :\n reference.withDensity (target.rnDeriv reference) = target", "statement_sha256": "f2280d1314067b91c06989d581f44a40f94fb379420e17fca181edfc2a3be27d" }, @@ -211118,7 +211118,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep051.FEP051.fep051_reconstruction_iff_absoluteContinuous", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep051_reconstruction_iff_absoluteContinuous\n (target reference : Measure Ω)\n [target.HaveLebesgueDecomposition reference] :\n reference.withDensity (target.rnDeriv reference) = target ↔\n target ≪ reference", "statement_sha256": "a8d9d6595832b595d49e0615dc24fdfa2628c7be55d385ccb1c14b05e6eaf09f" }, @@ -211271,7 +211271,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep052.FEP052.fep052_countable_posterior_density_tilt", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep052_countable_posterior_density_tilt\n {Parameter : Type*} [Countable Parameter] [MeasurableSpace Parameter]\n [Nonempty Parameter] [StandardBorelSpace Parameter]\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n ∀ᵐ observation ∂likelihood ∘ₘ prior,\n (likelihood†prior) observation =\n prior.withDensity (fun parameter =>\n (likelihood parameter).rnDeriv (likelihood ∘ₘ prior) observation)", "statement_sha256": "18e3f79bc13d56ebee1922e1c25d36f26d1e5380c955cd05a6c03fac2adcf399" }, @@ -211399,7 +211399,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep052.FEP052.fep052_posterior_density_tilt", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep052_posterior_density_tilt\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood]\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 Parameter (likelihood ∘ₘ prior))\n parameter observation)", "statement_sha256": "ca2e74c6bd7ba9a5d569327fcc36f63a5ceef7808b0ed396286234dd1e579450" }, @@ -211550,7 +211550,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep053.FEP053.fep053_finiteBayes_atom_reconstruction", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep053_finiteBayes_atom_reconstruction\n {FiniteParameter FiniteEvidence : Type*}\n [Fintype FiniteParameter] [Fintype FiniteEvidence]\n (prior : FiniteLaw FiniteParameter)\n (likelihood : FiniteKernel FiniteParameter FiniteEvidence)\n (evidence : FiniteEvidence)\n (hEvidence : 0 < likelihood.predictive prior evidence)\n (parameter : FiniteParameter) :\n likelihood.posterior prior evidence hEvidence parameter *\n likelihood.predictive prior evidence =\n prior parameter * likelihood parameter evidence", "statement_sha256": "e541892b85247991d25fb7226677157a01f5d0ad0982edc11709ed77f2ea06ff" }, @@ -211660,7 +211660,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep053.FEP053.fep053_kernelBayes_joint_reconstruction", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep053_kernelBayes_joint_reconstruction\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation) [IsFiniteKernel likelihood] :\n (likelihood ∘ₘ prior) ⊗ₘ likelihood†prior =\n (prior ⊗ₘ likelihood).map Prod.swap", "statement_sha256": "ceb431dc832f15dbe315a2b2700a5fd017624f12405e7f84c28f677150c667ac" }, @@ -211794,7 +211794,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep054.FEP054.fep054_bayes_involution", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep054_bayes_involution\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation)\n [StandardBorelSpace Observation] [Nonempty Observation]\n [IsFiniteKernel likelihood] [IsMarkovKernel likelihood] :\n (likelihood†prior)†(likelihood ∘ₘ prior) =ᵐ[prior] likelihood", "statement_sha256": "1e6e23b084226dac19e371e7311750e0e66475071c9b69d697f1cd9c9419d62d" }, @@ -211912,7 +211912,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep054.FEP054.fep054_posterior_reconstructs_prior", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep054_posterior_reconstructs_prior\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (likelihood : Kernel Parameter Observation)\n [IsFiniteKernel likelihood] [IsMarkovKernel likelihood] :\n likelihood†prior ∘ₘ likelihood ∘ₘ prior = prior", "statement_sha256": "6bb0f0a95b48341e3541d7ecafe5168ed3140a61e6cd9fd17e41f7b0738d7db3" }, @@ -212065,7 +212065,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep055.FEP055.fep055_compositeKernel_bayesInversion", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep055_compositeKernel_bayesInversion\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n [StandardBorelSpace Parameter] [Nonempty Parameter]\n [StandardBorelSpace Intermediate] [Nonempty Intermediate]\n (earlier : Kernel Parameter Intermediate) [IsFiniteKernel earlier]\n (later : Kernel Intermediate Observation) [IsFiniteKernel later] :\n (later ∘ₖ earlier)†prior =ᵐ[later ∘ₘ earlier ∘ₘ prior]\n earlier†prior ∘ₖ later†(earlier ∘ₘ prior)", "statement_sha256": "b72f53864a521fa1a2d74ef0671ac24aff39ccf167e5161b633d30e35122ca4b" }, @@ -212179,7 +212179,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep055.FEP055.fep055_compositePredictive_associativity", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep055_compositePredictive_associativity\n (prior : Measure Parameter) [IsFiniteMeasure prior]\n (earlier : Kernel Parameter Intermediate) [IsFiniteKernel earlier]\n (later : Kernel Intermediate Observation) [IsFiniteKernel later] :\n (later ∘ₖ earlier) ∘ₘ prior = later ∘ₘ earlier ∘ₘ prior", "statement_sha256": "5768e172d9b367db78b47933b137447f2bffa659eaa7fb591e41c899f25f3681" }, @@ -212274,7 +212274,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep056.FEP056.fep056_standardBorel_condKernel_mass_one", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep056_standardBorel_condKernel_mass_one\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n (conditioning : Conditioning) :\n joint.condKernel conditioning Set.univ = 1", "statement_sha256": "6e871329e7a3ff3c85feb7e19cac307e3d3626e258c494289ea605762c5a9484" }, @@ -212366,7 +212366,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep056.FEP056.fep056_standardBorel_condKernel_reconstruction", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep056_standardBorel_condKernel_reconstruction\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint] :\n joint.fst ⊗ₘ joint.condKernel = joint", "statement_sha256": "63be4bdabdd40473e12a7157085b220dce9074ccf3793a9c57f30ada27f7df47" }, @@ -212478,7 +212478,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep057.FEP057.fep057_conditionalExpectation_tower", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep057_conditionalExpectation_tower\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n {observable : Conditioning × Conditioned → ℝ}\n (hintegrable : Integrable observable joint) :\n (∫ conditioning,\n ∫ conditioned, observable (conditioning, conditioned)\n ∂joint.condKernel conditioning ∂joint.fst) =\n ∫ pair, observable pair ∂joint", "statement_sha256": "5f0c5f1f873b7101932a5c8da0ed75c954712f1db13138fea228007da961a1a4" }, @@ -212583,7 +212583,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep057.FEP057.fep057_conditionalLIntegral_tower", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "source_owner": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "statement": "theorem fep057_conditionalLIntegral_tower\n (joint : Measure (Conditioning × Conditioned)) [IsFiniteMeasure joint]\n {observable : Conditioning × Conditioned → ℝ≥0∞}\n (hmeasurable : Measurable observable) :\n (∫⁻ conditioning,\n ∫⁻ conditioned, observable (conditioning, conditioned)\n ∂joint.condKernel conditioning ∂joint.fst) =\n ∫⁻ pair, observable pair ∂joint", "statement_sha256": "db9e05ce06134c08d72ae091924825a50d4607b35f9e1aba50037d46bb77be6a" }, @@ -212654,7 +212654,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep058.FEP058.fep058_gibbsVariational_lower_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep058_gibbsVariational_lower_bound\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :\n -certificate.logPartition ≤\n gibbsFreeEnergy certificate candidate", "statement_sha256": "90670984964379cd407d54b2d287518bc0b85f3dbd51cecdd097dbe36fd3fb68" }, @@ -212715,7 +212715,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep058.FEP058.fep058_gibbsVariational_optimizer", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep058_gibbsVariational_optimizer\n (certificate : GibbsCertificate State) :\n gibbsFreeEnergy certificate certificate.optimizer =\n -certificate.logPartition", "statement_sha256": "913c94aa2cf4eb5c87a94263a41f4bf941997dec5ff7b07d41d740aac3eea7aa" }, @@ -212774,7 +212774,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep058.FEP058.fep058_uniformGibbs_nonvacuity", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep058_uniformGibbs_nonvacuity [Nonempty State] :\n dvObjective (uniformZeroPotentialGibbs (α := State))\n (uniformZeroPotentialGibbs (α := State)).optimizer = 0", "statement_sha256": "9e0400b32dae961889e5feb4dc79bb3cdfbc12d3af3d700741573b93997163e4" }, @@ -212845,7 +212845,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep059.FEP059.fep059_donskerVaradhan_equality_iff", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep059_donskerVaradhan_equality_iff\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :\n dvObjective certificate candidate = certificate.logPartition ↔\n candidate = certificate.optimizer", "statement_sha256": "f16f2f8b1b067f9a47f2773f4cd0288ead8a1cf3d04ee1bd5f3a3a74a2db0ed6" }, @@ -212906,7 +212906,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep059.FEP059.fep059_donskerVaradhan_optimizer", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep059_donskerVaradhan_optimizer\n (certificate : GibbsCertificate State) :\n dvObjective certificate certificate.optimizer =\n certificate.logPartition", "statement_sha256": "9fba5eb122016882be62ba958b9695412ab521e8b6e9dc4e703490709158250b" }, @@ -212977,7 +212977,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep059.FEP059.fep059_donskerVaradhan_upper_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep059_donskerVaradhan_upper_bound\n (certificate : GibbsCertificate State) (candidate : FiniteLaw State) :\n dvObjective certificate candidate ≤ certificate.logPartition", "statement_sha256": "d7abe568d4cf2e915b220a93d15fee92844de769c4bd4cdd2bfde0d9eb736cbf" }, @@ -213079,7 +213079,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep060.FEP060.fep060_coordinateELBO_decomposition", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep060_coordinateELBO_decomposition\n (actualPrior referencePrior : FiniteLaw Latent)\n (actualKernel referenceKernel : FiniteKernel Latent Observation)\n (hprior : ∀ latent, 0 < referencePrior latent)\n (hkernel : ∀ latent observation,\n 0 < referenceKernel latent observation) :\n jointELBO actualPrior referencePrior actualKernel referenceKernel =\n -finiteKL actualPrior referencePrior -\n conditionalKL actualPrior actualKernel referenceKernel", "statement_sha256": "78da89f659fc9a59050c042b31a9887180d1a95315984d3ecc38a1b1b32cc37b" }, @@ -213160,7 +213160,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep060.FEP060.fep060_coordinateKL_nonnegative", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep060_coordinateKL_nonnegative\n (prior : FiniteLaw Latent)\n (actual reference : FiniteKernel Latent Observation) :\n 0 ≤ conditionalKL prior actual reference", "statement_sha256": "fdf1cdf631fd4fd52ed1d0e2f733eb74e1f35a804d6d9778d34229c44e912cbc" }, @@ -213261,7 +213261,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep061.FEP061.fep061_meanFieldCoordinate_optimum_iff", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep061_meanFieldCoordinate_optimum_iff\n (fixed : FiniteLaw Fixed) (candidate target : FiniteLaw Coordinate)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target = 0 ↔\n candidate = target", "statement_sha256": "1253260e7cd3c458aa7ffe535d5b10af48afe3f9fbf7ca6578ad118a9a97a1eb" }, @@ -213362,7 +213362,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep061.FEP061.fep061_meanFieldCoordinate_reduction", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep061_meanFieldCoordinate_reduction\n (fixed : FiniteLaw Fixed) (candidate target : FiniteLaw Coordinate)\n (hfixed : ∀ x, 0 < fixed x) (htarget : ∀ y, 0 < target y) :\n meanFieldCoordinateFreeEnergy fixed candidate target =\n FEP.FiniteInformation.finiteKL candidate target", "statement_sha256": "0c11789a4a53841ef5e6015a04f810c1ca566a6141c758a8eee2f92062b15672" }, @@ -213452,7 +213452,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep062.FEP062.fep062_expectedImportanceWeight_positive", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep062_expectedImportanceWeight_positive\n [Nonempty Sample]\n (sampling : FiniteLaw Sample) (weight : Sample → ℝ)\n (hsampling : ∀ sample, 0 < sampling sample)\n (hweight : ∀ sample, 0 < weight sample) :\n 0 < ∑ sample, sampling sample * weight sample", "statement_sha256": "1ab01df246751e38554c42036156b33100b3b3de14c31531005b56b5836e961f" }, @@ -213533,7 +213533,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep062.FEP062.fep062_fixedSample_importanceJensen", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep062_fixedSample_importanceJensen\n (sampling : FiniteLaw Sample) (weight : Sample → ℝ)\n (hweight : ∀ sample, 0 < weight sample) :\n ∑ sample, sampling sample * Real.log (weight sample) ≤\n Real.log (∑ sample, sampling sample * weight sample)", "statement_sha256": "5c09f91bca011f2d6c43726ccbafed5f8b1bc9671c003b7e25ab13cc4888556f" }, @@ -213632,7 +213632,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep062.FEP062.fep062_iidProduct_importanceJensen", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep062_iidProduct_importanceJensen\n (base : FiniteLaw Sample) (sampleCount : ℕ) [NeZero sampleCount]\n (weight : Sample → ℝ) (hweight : ∀ sample, 0 < weight sample) :\n ∑ sampleTuple, iidProductLaw base sampleCount sampleTuple *\n Real.log (sampleMeanWeight sampleCount weight sampleTuple) ≤\n Real.log (∑ sampleTuple, iidProductLaw base sampleCount sampleTuple *\n sampleMeanWeight sampleCount weight sampleTuple)", "statement_sha256": "d074283706e0cc8cbade659fed8eac94e7c6aa11beb83c134b4ec38df23cdb9b" }, @@ -213733,7 +213733,7 @@ ], "qualified_name": "fep_fep063.FEP063.fep063_constantChannel_strict", "source_line": 65, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_constantChannel_strict\n (actual reference : FiniteLaw Input) (hne : actual ≠ reference) :\n finiteKL\n ((FiniteKernel.deterministic (fun _ : Input => ())).predictive actual)\n ((FiniteKernel.deterministic (fun _ : Input => ())).predictive reference) <\n finiteKL actual reference", "statement_sha256": "17d00f6a908d6dd2dfba2b0977e37851323662d13e66e2ca9864e2f729c7bd40" }, @@ -213853,7 +213853,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_finiteChannel_klDataProcessing\n (actual reference : FiniteLaw Input)\n (channel : FiniteKernel Input Output)\n (hactual : ∀ input, 0 < actual input)\n (hreference : ∀ input, 0 < reference input)\n (hchannel : ∀ input output, 0 < channel input output) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "statement_sha256": "b76a3f5ec35a4fe78a23abbc7a1351005cd3d24318fbb0babdfbc6a6049c4763" }, @@ -213978,7 +213978,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep063.FEP063.fep063_finiteChannel_klDataProcessing_of_relativeSupport", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_finiteChannel_klDataProcessing_of_relativeSupport\n {Input Output : Type*} [Fintype Input] [Fintype Output]\n (actual reference : FiniteLaw Input) (channel : FiniteKernel Input Output)\n (hsupport : ∀ x, actual x ≠ 0 → 0 < reference x) :\n finiteKL (channel.predictive actual) (channel.predictive reference) ≤\n finiteKL actual reference", "statement_sha256": "6ef1088f19fa411c2aec429fce6fdd24f82daa35fe88d2658259818e16e68eb7" }, @@ -214072,7 +214072,7 @@ ], "qualified_name": "fep_fep063.FEP063.fep063_identityChannel_preservesKL", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_identityChannel_preservesKL [DecidableEq Input]\n (actual reference : FiniteLaw Input) :\n finiteKL (FiniteKernel.identity.predictive actual)\n (FiniteKernel.identity.predictive reference) = finiteKL actual reference", "statement_sha256": "6461cfff20ecb0ef65115b382205311a795711334ec16f068d040e40b3409efe" }, @@ -214182,7 +214182,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep063.FEP063.fep063_referencePredictive_fullSupport", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep063_referencePredictive_fullSupport\n (reference : FiniteLaw Input)\n (channel : FiniteKernel Input Output)\n (hreference : ∀ input, 0 < reference input)\n (hchannel : ∀ input output, 0 < channel input output)\n (output : Output) :\n 0 < channel.predictive reference output", "statement_sha256": "81ecd3bbf6bcc60fccb2e2eeee0d08528e1f320a2ac0f646c7a4ff0a8dfdceb7" }, @@ -214280,7 +214280,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_dual_zeroMultiplier", "source_line": 58, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_dual_zeroMultiplier [Nonempty Code]\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ) (budget : ℝ) :\n rateDistortionDualValue source distortion budget 0 = 0", "statement_sha256": "d9f2759552ef000ba2220081b8bccdca05814109b0cac56f53b52061542da745" }, @@ -214339,7 +214339,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_halfBudget_nonunique", "source_line": 82, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_halfBudget_nonunique :\n ∃ left right : FiniteLaw (Bool × Bool), left ≠ right ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) left ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation left ≤ mutualInformation candidate) ∧\n (RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 2) right ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 2) candidate → mutualInformation right ≤ mutualInformation candidate)", "statement_sha256": "0569a1ee2d09ecdadbe742a886708db52a084b41985b8921c513ae21f1091414" }, @@ -214449,7 +214449,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_negativeBudget_infeasible", "source_line": 64, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_negativeBudget_infeasible\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ) (budget : ℝ)\n (hdistortion : ∀ x y, 0 ≤ distortion x y) (hbudget : budget < 0) :\n ¬ ∃ joint, RateDistortionFeasible source distortion budget joint", "statement_sha256": "934990f1cb3a2861a4deeccd75eb0f221984079fc916b2876f2cfc9d09171900" }, @@ -214508,7 +214508,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_quarterBudget_informative_optimum", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_quarterBudget_informative_optimum :\n ∃ optimizer : FiniteLaw (Bool × Bool),\n RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion (1 / 4) optimizer ∧\n 0 < mutualInformation optimizer ∧\n ∀ candidate, RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion\n (1 / 4) candidate → mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "5b2e4d44f09f615c54c3dba7b15afe7c4d4a744c57a1a4cd1d6b6568764c0506" }, @@ -214639,7 +214639,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_rateDistortion_dual_lower_bound", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_rateDistortion_dual_lower_bound\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ)\n (budget multiplier : ℝ) (hdistortion : ∀ x y, 0 ≤ distortion x y)\n (hmultiplier : 0 ≤ multiplier) (joint : FiniteLaw (Source × Code))\n (hjoint : RateDistortionFeasible source distortion budget joint) :\n rateDistortionDualValue source distortion budget multiplier ≤ mutualInformation joint", "statement_sha256": "a3d4f2de684d742f91d76fd8ae37e2f2d4254ffa9bbc5a07569182128bb8cf63" }, @@ -214739,7 +214739,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_rateDistortion_exists_minimizer", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_rateDistortion_exists_minimizer\n (source : FiniteLaw Source) (distortion : Source → Code → ℝ) (budget : ℝ)\n (hfeasible : ∃ joint, RateDistortionFeasible source distortion budget joint) :\n ∃ optimizer : FiniteLaw (Source × Code),\n RateDistortionFeasible source distortion budget optimizer ∧\n ∀ candidate : FiniteLaw (Source × Code),\n RateDistortionFeasible source distortion budget candidate →\n mutualInformation optimizer ≤ mutualInformation candidate", "statement_sha256": "f0f98989a433d8b17c67e96559f8f738909eb2bf96889a30896722f69a3347f1" }, @@ -214861,7 +214861,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_rateDistortion_weakDuality", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_rateDistortion_weakDuality\n (joint : FiniteLaw (Source × Code))\n (distortion : Source → Code → ℝ)\n (multiplier rateLower distortionLower : ℝ)\n (hmultiplier : 0 ≤ multiplier)\n (hrate : rateLower ≤ mutualInformation joint)\n (hdistortion :\n distortionLower ≤ expectedDistortion joint distortion) :\n rateLower + multiplier * distortionLower ≤\n rateDistortionLagrangian joint distortion multiplier", "statement_sha256": "fec46716b7f73754cf4a5af3887f46f19ac7b7b019a2e33d01bd2e8a25f35fc4" }, @@ -214941,7 +214941,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_zeroBudget_unique", "source_line": 94, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_zeroBudget_unique\n (joint : FiniteLaw (Bool × Bool))\n (hjoint : RateDistortionFeasible FiniteLaw.uniform boolHammingDistortion 0 joint) :\n joint = boolZeroDistortionJoint", "statement_sha256": "3dbcd49957afff0bb494ff5173517253fccf39365ea9bda7e72f4c9f3c94464f" }, @@ -215012,7 +215012,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep064.FEP064.fep064_zeroMultiplier_boundary", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/variational_duality.py", + "source_owner": "src/fep_formal/catalogue/bodies/variational_duality.py", "statement": "theorem fep064_zeroMultiplier_boundary\n (joint : FiniteLaw (Source × Code))\n (distortion : Source → Code → ℝ) :\n rateDistortionLagrangian joint distortion 0 =\n mutualInformation joint", "statement_sha256": "4879ae9b82ddc4c9040d45228e1802010e1a0eb91083b3c9df09f4dab9fe416b" }, @@ -215102,7 +215102,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep065.FEP065.fep065_controlledKernel_normalization", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep065_controlledKernel_normalization\n (transition : ControlledKernel State Action)\n (action : Action) (state : State) :\n ∑ nextState, transition action state nextState = 1", "statement_sha256": "a53b95fd123d60bb187fbd0162698f723a360b9b84ede8c4c225fc03b672f223" }, @@ -215241,7 +215241,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep066.FEP066.fep066_actionConditioned_bayes_reconstruction", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep066_actionConditioned_bayes_reconstruction\n (prior : FiniteLaw State) (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": "2b4f767e4fd0fcd97bd9f996a1799b57900086f3439568e46f6f568b5d9a5da6" }, @@ -215370,7 +215370,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep066.FEP066.fep066_actionConditioned_update_normalized", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep066_actionConditioned_update_normalized\n (prior : FiniteLaw State) (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": "d1c83c16e6f5b94a38e6175bc18e1469c6731678c8319383c6f807c1b0985030" }, @@ -215499,7 +215499,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep066.FEP066.fep066_zero_evidence_boundary", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep066_zero_evidence_boundary\n (prior : FiniteLaw State) (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": "d9fdbfa7544d370b233eee34a3f411a9a3cf3c46df2ab00c17585120e024a5d4" }, @@ -215607,7 +215607,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep067.FEP067.fep067_bool_reachable_update", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep067_bool_reachable_update\n (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": "f088466768d215e3832093ddc0b78678cf84c8faa562f86c1e1d6c9ff785d3c0" }, @@ -215743,7 +215743,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep067.FEP067.fep067_reachableBelief_policyValue_equivalence", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep067_reachableBelief_policyValue_equivalence\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": "1aef3337b8edd0d3b642a358876b7a55b0521aec70311676207c1db6ed116919" }, @@ -215887,7 +215887,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep068.FEP068.fep068_softBellman_recursion", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep068_softBellman_recursion (temperature : ℝ)\n (hTemperature : 0 < 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))) ∧\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)))) ∧\n ∀ action,\n softBellmanValue temperature stageCost transition (horizon + 1) state ≤\n softBellmanActionEnergy temperature stageCost transition\n horizon state action", "statement_sha256": "44a13873120679abcae0379c77e5738abe833724965e1c5550e81741754f9a87" }, @@ -215979,7 +215979,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep069.FEP069.fep069_desirability_nonnegative", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep069_desirability_nonnegative\n (passive : FiniteKernel State State) (stateCost desirability : State → ℝ)\n (hDesirability : ∀ state, 0 ≤ desirability state) (state : State) :\n 0 ≤ desirabilityStep passive stateCost desirability state", "statement_sha256": "e3d5ef2afd94ccbaa2018fecdef848ada90f61ced48b3c8e944388ed899f1ffc" }, @@ -216052,7 +216052,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep069.FEP069.fep069_desirability_recursion", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep069_desirability_recursion\n (passive : FiniteKernel State State) (stateCost desirability : State → ℝ)\n (state : State) :\n desirabilityStep passive stateCost desirability state =\n Real.exp (-stateCost state) *\n ∑ nextState, passive state nextState * desirability nextState", "statement_sha256": "92234e1f5be335aecf271887af24bcb24350674955a3bd5a62964221d6e5b07a" }, @@ -216123,7 +216123,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep069.FEP069.fep069_zeroCost_unitDesirability", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep069_zeroCost_unitDesirability\n (passive : FiniteKernel State State) (state : State) :\n desirabilityStep passive (fun _ => 0) (fun _ => 1) state = 1", "statement_sha256": "d7dd8b2647963aa385eb45c0a00b93efda25c7e90d32b22f3f7833e1090295ff" }, @@ -216204,7 +216204,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep070.FEP070.fep070_controlPosterior_normalized", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep070_controlPosterior_normalized (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) :\n ∑ action, controlPosterior prior precision cost action = 1", "statement_sha256": "aff2bbac12afd922a275a609b7bc6f9d959bcd286f5d882e9be09d15686d0786" }, @@ -216295,7 +216295,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep070.FEP070.fep070_controlPosterior_reconstruction", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep070_controlPosterior_reconstruction (prior : FiniteLaw Action)\n (precision : ℝ) (cost : Action → ℝ) (action : Action) :\n controlPosterior prior precision cost action *\n boltzmannPartition prior (fun candidate => precision * cost candidate) =\n boltzmannWeight prior (fun candidate => precision * cost candidate) action", "statement_sha256": "121dad9850d786dca80496f4fd410e07b1d23e5b2842942c5ea972bebbb536e9" }, @@ -216366,7 +216366,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep070.FEP070.fep070_zeroCost_posterior_eq_prior", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep070_zeroCost_posterior_eq_prior (prior : FiniteLaw Action)\n (precision : ℝ) :\n controlPosterior prior precision (fun _ => 0) = prior", "statement_sha256": "5accaab6171020c0ee094a1ea596919fa7edcd3a538cc7b357caaf775311f565" }, @@ -216473,7 +216473,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep071.FEP071.fep071_sophisticatedEFE_backward_step", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep071_sophisticatedEFE_backward_step\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": "e080f58291f7e403fc4e8032cc6c92d748955736bcdd6dda891041216a6a30cd" }, @@ -216549,7 +216549,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep071.FEP071.fep071_twoStage_feedback_changes_action", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep071_twoStage_feedback_changes_action :\n twoStageFeedback false ≠ twoStageFeedback true", "statement_sha256": "d5cbcc2ddb8a9c0642569efa7b32ce18c578628a0f994c30428a5f328cc27a70" }, @@ -216636,7 +216636,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep071.FEP071.fep071_twoStage_feedback_strictly_better", "source_line": 34, - "source_owner": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "source_owner": "src/fep_formal/catalogue/bodies/controlled_markov.py", "statement": "theorem fep071_twoStage_feedback_strictly_better (action : Bool) :\n twoStageFeedbackExpectedCost < twoStageOpenLoopExpectedCost action", "statement_sha256": "66042c62dff1ca75fe0b25c0f6ece6c0d6ab2220461f8b1a88ae2e565fad04cf" }, @@ -216695,7 +216695,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep072.FEP072.fep072_bool_forward_mass", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep072_bool_forward_mass : boolForwardFilter true = 20 / 23", "statement_sha256": "a3d40d0c02d5177c788e4ce12049391dfe5fd117dda44929d770bf2225bd94f8" }, @@ -216815,7 +216815,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep072.FEP072.fep072_forward_filtering_recursion", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep072_forward_filtering_recursion (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hEvidence : 0 < forwardEvidence prior transition emission observation)\n (state : State) :\n forwardFilter prior transition emission observation hEvidence state *\n forwardEvidence prior transition emission observation =\n forwardPrediction prior transition state * emission state observation", "statement_sha256": "03e4766ce38807cdef8ff2bf7559da71e2c407c9a40e34cb585e9d4d3d8b656f" }, @@ -216925,7 +216925,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep072.FEP072.fep072_zero_evidence_boundary", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep072_zero_evidence_boundary (prior : FiniteLaw State)\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (hZero : forwardEvidence prior transition emission observation = 0) :\n ¬0 < forwardEvidence prior transition emission observation", "statement_sha256": "b104b32a15c65b8df28f4dc99e163207b11e121eb3ecac0e2eed371d645f2508" }, @@ -217045,7 +217045,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep073.FEP073.fep073_backward_message_nonnegative", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep073_backward_message_nonnegative\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (nextMessage : State → ℝ) (hMessage : ∀ state, 0 ≤ nextMessage state)\n (state : State) :\n 0 ≤ backwardMessageStep transition emission observation nextMessage state", "statement_sha256": "077b0e28d1a8c3def210746d7303a8a07e3e77f6728e9c841fc94172e73d9c23" }, @@ -217155,7 +217155,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep073.FEP073.fep073_backward_message_recursion", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep073_backward_message_recursion\n (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation)\n (future : List Observation) (state : State) :\n backwardMessage transition emission (observation :: future) state =\n backwardMessageStep transition emission observation\n (backwardMessage transition emission future) state", "statement_sha256": "bc80c3dabf2a7b422de746e07218bbbab213225b939507b382d9a3c5d5ce04b9" }, @@ -217256,7 +217256,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep074.FEP074.fep074_forwardBackward_smoothing_factorization", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep074_forwardBackward_smoothing_factorization\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) (state : State) :\n forwardBackwardSmoothing filtered backward hBackward hNormalizer state *\n smoothingNormalizer filtered backward =\n filtered state * backward state", "statement_sha256": "dba4ebde6156a7fdcff1dffa41dc012226e88b9211edf6f2169db9f50febd640" }, @@ -217365,7 +217365,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep074.FEP074.fep074_forward_backward_evidence_agreement", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep074_forward_backward_evidence_agreement\n {Observation : Type*} [Fintype Observation]\n (prior : FiniteLaw State) (transition : FiniteKernel State State)\n (emission : FiniteKernel State Observation) (observation : Observation) :\n forwardEvidence prior transition emission observation =\n backwardEvidence prior transition emission observation", "statement_sha256": "60645a5025eccc276fe4e3f15d0e791749a75c99e526a26fa7153ee9c732af85" }, @@ -217415,7 +217415,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep075.FEP075.fep075_bool_smoothing_normalization", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep075_bool_smoothing_normalization :\n boolSmoothing false + boolSmoothing true = 1", "statement_sha256": "f2065d85788d162570f20bb57de6b5a0b415c52b57f7df455f4c47cadbe85667" }, @@ -217506,7 +217506,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep075.FEP075.fep075_smoothing_marginal_normalization", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep075_smoothing_marginal_normalization\n (filtered : FiniteLaw State) (backward : State → ℝ)\n (hBackward : ∀ state, 0 ≤ backward state)\n (hNormalizer : 0 < smoothingNormalizer filtered backward) :\n ∑ state, forwardBackwardSmoothing filtered backward hBackward hNormalizer state =\n 1", "statement_sha256": "9109242bf170373a368e03b08d2abf96007cf64be958e63ed41943ddbac114a0" }, @@ -217587,7 +217587,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep075.FEP075.fep075_zero_normalizer_boundary", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep075_zero_normalizer_boundary (filtered : FiniteLaw State)\n (backward : State → ℝ) (hZero : smoothingNormalizer filtered backward = 0) :\n ¬0 < smoothingNormalizer filtered backward", "statement_sha256": "122b81c4c123d515aa56f8be965fd3f5670a567b21f12dfa18302d103b1a663a" }, @@ -217658,7 +217658,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep076.FEP076.fep076_variational_state_update_normalized", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep076_variational_state_update_normalized\n (prior : FiniteLaw State) (energy : State → ℝ) :\n ∑ state, variationalStateUpdate prior energy state = 1", "statement_sha256": "0127795b7196ffc1398cd27a2072f17e5eaa185867208f0a668494bf9d287593" }, @@ -217739,7 +217739,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep076.FEP076.fep076_variational_state_update_reconstruction", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep076_variational_state_update_reconstruction\n (prior : FiniteLaw State) (energy : State → ℝ) (state : State) :\n variationalStateUpdate prior energy state * boltzmannPartition prior energy =\n boltzmannWeight prior energy state", "statement_sha256": "9646ebf494779ec227d901517c146c34f7ec62236f37b43905242ce16edd5a1f" }, @@ -217800,7 +217800,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep076.FEP076.fep076_zeroEnergy_update_eq_prior", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep076_zeroEnergy_update_eq_prior (prior : FiniteLaw State) :\n variationalStateUpdate prior (fun _ => 0) = prior", "statement_sha256": "0c3b1460e33b54f233b0375a88395b9378b5c0b514dd26919ddb3bbb42742734" }, @@ -217899,7 +217899,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep077.FEP077.fep077_hierarchical_predictive_factorization", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep077_hierarchical_predictive_factorization\n (top : FiniteLaw Upper) (upperKernel : FiniteKernel Upper Middle)\n (lowerKernel : FiniteKernel Middle Observation) :\n hierarchicalPredictive top upperKernel lowerKernel =\n (FiniteKernel.comp lowerKernel upperKernel).predictive top", "statement_sha256": "5dabdb1a38fec9299f193a4e1c7f856b6bf16f3931ef9761708ca099fc23c858" }, @@ -217958,7 +217958,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep078.FEP078.fep078_bool_modelAverage_true_mass", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep078_bool_modelAverage_true_mass :\n modelAverage boolInitialLaw boolAccurateEmission true = 13 / 20", "statement_sha256": "10e07f2063816c682c096128cfd54058140080b237293768ea71980f157bb7a4" }, @@ -218038,7 +218038,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep078.FEP078.fep078_modelAverage_normalized", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep078_modelAverage_normalized (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation) :\n ∑ observation, modelAverage modelPrior modelPredictive observation = 1", "statement_sha256": "ff0d94d3422d579aaf27132237dda3db328e38985e808956e035a5ce956cd38e" }, @@ -218128,7 +218128,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep078.FEP078.fep078_modelAverage_predictive_law", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/temporal_inference.py", "statement": "theorem fep078_modelAverage_predictive_law (modelPrior : FiniteLaw Model)\n (modelPredictive : FiniteKernel Model Observation)\n (observation : Observation) :\n modelAverage modelPrior modelPredictive observation =\n ∑ model, modelPrior model * modelPredictive model observation", "statement_sha256": "058f3d1bd35626341aec6edeaa890c2a421000745116097e446aebd8bb8ad8b8" }, @@ -218235,7 +218235,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep079.FEP079.fep079_blanketFactorization_iff_conditionalMutualInformation_zero", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep079_blanketFactorization_iff_conditionalMutualInformation_zero\n (model : ConditionalBlanketModel Blanket Internal External)\n (hBlanket : ∀ blanket, 0 < model.blanketLaw blanket) :\n conditionalMutualInformation model = 0 ↔ Factorizes model", "statement_sha256": "6e61e6292be755525881652eb9d4f7981846a3bba01a4b1474ee1c6d5373f17a" }, @@ -218332,7 +218332,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep079.FEP079.fep079_staticBlanket_conditionalMutualInformation_zero", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep079_staticBlanket_conditionalMutualInformation_zero\n (model : StaticModel Internal Sensory Active External) :\n conditionalMutualInformation (ofStaticModel model) = 0", "statement_sha256": "cc898b5cd9b36350569c213ecbb3de83afbedf61cfe46bf6538aa0629cbcac09" }, @@ -218399,7 +218399,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep080.FEP080.fep080_boolHalfMixture_nonvacuity", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep080_boolHalfMixture_nonvacuity :\n boolHalfMixture false = 1 / 2 ∧ boolHalfMixture true = 1 / 2", "statement_sha256": "7f3e9f69ac8cbce0c777570c2650662f2ee9aff4bcf304c9f868e1e8231c1d5e" }, @@ -218510,7 +218510,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep080.FEP080.fep080_sharedConditional_mixture_preservation", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep080_sharedConditional_mixture_preservation\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": "9fe94cdcd9a2d5d0b3f4583a6132220259faafe90e061d7a74db294dd8a10412" }, @@ -218613,7 +218613,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep081.FEP081.fep081_correlatedBlanket_nonvacuity", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep081_correlatedBlanket_nonvacuity :\n correlatedBoolBlanket (false, false) = 1 / 2 ∧\n correlatedBoolBlanket (true, true) = 1 / 2 ∧\n 0 < mutualInformation correlatedBoolBlanket", "statement_sha256": "4ecd61c034004b17d6eaec2e679d958454cf3c7572adcd4411671d1b7191491d" }, @@ -218769,7 +218769,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep081.FEP081.fep081_coupledSubsystem_blanketComposition", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep081_coupledSubsystem_blanketComposition\n (blanketLaw : FiniteLaw (Blanket₁ × Blanket₂))\n (internal₁ : FiniteKernel Blanket₁ Internal₁)\n (internal₂ : FiniteKernel Blanket₂ Internal₂)\n (external₁ : FiniteKernel Blanket₁ External₁)\n (external₂ : FiniteKernel Blanket₂ External₂)\n (blanket : Blanket₁ × Blanket₂) :\n mutualInformation\n (conditionalJoint\n (coupledBlanketModel blanketLaw internal₁ internal₂ external₁ external₂)\n blanket) = 0", "statement_sha256": "94f88ef0673e924c601f9a1af1e5a7c71eb6a79d004cf3bb7f5e0080ca2668a1" }, @@ -218857,7 +218857,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep082.FEP082.fep082_interventionKernel_chosen_mass", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep082_interventionKernel_chosen_mass\n (chosen : Value) (context : Context) :\n interventionKernel (Context := Context) chosen context chosen = 1", "statement_sha256": "765893fa662c6389594391e1db5c80bf95d51e5e93d3964ac4fc803519b8915f" }, @@ -218945,7 +218945,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep082.FEP082.fep082_interventionKernel_normalization", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep082_interventionKernel_normalization\n (chosen : Value) (context : Context) :\n ∑ value, interventionKernel (Context := Context) chosen context value = 1", "statement_sha256": "69e697e392ad139e3e8675d2b2436e4edfb01e751f21ddafaae863933b802f8c" }, @@ -219044,7 +219044,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep082.FEP082.fep082_interventionKernel_other_mass", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep082_interventionKernel_other_mass\n (chosen other : Value) (hOther : other ≠ chosen) (context : Context) :\n interventionKernel (Context := Context) chosen context other = 0", "statement_sha256": "8a9a4b11ccadfaa6c69247f5a2eedb934872c045e5fbc3d1524ae693be8aee3e" }, @@ -219145,7 +219145,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep083.FEP083.fep083_fourNode_descendantChange_nonDescendantPreservation", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep083_fourNode_descendantChange_nonDescendantPreservation :\n mediatorMarginal (interventionalJoint boolOrderedModel false) true = 0 ∧\n mediatorMarginal (interventionalJoint boolOrderedModel true) true = 1 ∧\n nonDescendantMarginal (interventionalJoint boolOrderedModel false) =\n nonDescendantMarginal (interventionalJoint boolOrderedModel true)", "statement_sha256": "4935b16f09d47aaf395f9848517ac285e817d7ef643288e6ef95e2f3e1d10a12" }, @@ -219251,7 +219251,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep083.FEP083.fep083_nonDescendant_intervention_invariance", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep083_nonDescendant_intervention_invariance\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) :\n nonDescendantMarginal (interventionalJoint model root) =\n model.nonDescendantLaw", "statement_sha256": "d856b05442975fb2f1b37a79ee0fe8df1adac437152de66e9cb93f514f401e14" }, @@ -219379,7 +219379,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep084.FEP084.fep084_orderedFiniteCausal_factorization", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep084_orderedFiniteCausal_factorization\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (root : Root) (nonDescendant : NonDescendant)\n (mediator : Mediator) (outcome : Outcome) :\n orderedJoint model (((root, nonDescendant), mediator), outcome) =\n ((model.rootLaw root * model.nonDescendantLaw nonDescendant) *\n model.mediatorGivenRoot root mediator) *\n model.outcomeGivenParents (nonDescendant, mediator) outcome", "statement_sha256": "bde53dac18d8ea8f5c99817b40f7007aa08b229820a639b92e1263f865cd470f" }, @@ -219467,7 +219467,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep084.FEP084.fep084_orderedFiniteCausal_normalization", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep084_orderedFiniteCausal_normalization\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome) :\n ∑ state, orderedJoint model state = 1", "statement_sha256": "4973ae53c1c70b8ab11ee1bd4445ef80a3414a672776aa7e71d74ba18faf22e8" }, @@ -219560,7 +219560,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_bool_localMarkov_nonvacuity", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_bool_localMarkov_nonvacuity :\n mutualInformation\n (localMarkovConditional boolOrderedModel false true\n (by rw [boolMediatorEvidence_true]; norm_num)) = 0", "statement_sha256": "98d2d173fd5f0dd198a8fa91a26236ec2f0101ff3745673fe0615f3874e675ed" }, @@ -219678,7 +219678,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_localMarkov_factorization_from_ordered", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_localMarkov_factorization_from_ordered\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n localMarkovConditional model nonDescendant mediator hEvidence =\n (model.mediatorGivenRoot.posterior model.rootLaw mediator hEvidence).product\n (model.outcomeGivenParents.row (nonDescendant, mediator))", "statement_sha256": "8f17b9d12ca096fedbc5d118763d6ebd0be809ccf86560ca934280c715fb797f" }, @@ -219796,7 +219796,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_localMarkov_mutualInformation_zero", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_localMarkov_mutualInformation_zero\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (nonDescendant : NonDescendant) (mediator : Mediator)\n (hEvidence : 0 < mediatorEvidence model mediator) :\n mutualInformation\n (localMarkovConditional model nonDescendant mediator hEvidence) = 0", "statement_sha256": "9eb9eaef95821b331571e186ca4093bd89010cf381fcff21571b50fcc6adf47f" }, @@ -219904,7 +219904,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep085.FEP085.fep085_zeroEvidence_boundary", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "source_owner": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "statement": "theorem fep085_zeroEvidence_boundary\n (model : OrderedFourNodeModel Root NonDescendant Mediator Outcome)\n (mediator : Mediator) (hZero : mediatorEvidence model mediator = 0) :\n ¬0 < mediatorEvidence model mediator", "statement_sha256": "58074eacceb290c3015df43e2ff373b76c9eab8c4bde4bf45f4e52b2f2effc06" }, @@ -219965,7 +219965,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep086.FEP086.fep086_precisionWeighted_predictionError_nonnegative", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep086_precisionWeighted_predictionError_nonnegative\n {precision : ℝ} (hPrecision : 0 ≤ precision)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy precision observation estimate", "statement_sha256": "3d171c4355b1e0642ec20057b15e5229950bf261d2d58d5f3c74af5ecfbec225" }, @@ -220026,7 +220026,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep086.FEP086.fep086_precisionWeighted_zero_iff_exactPrediction", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep086_precisionWeighted_zero_iff_exactPrediction\n {precision : ℝ} (hPrecision : 0 < precision)\n (observation estimate : ℝ) :\n precisionEnergy precision observation estimate = 0 ↔\n estimate = observation", "statement_sha256": "4882d23ad237e39eb1066ebe1fde705d0366d5dcaea4937ba61b74ad26623802" }, @@ -220046,7 +220046,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep086.FEP086.fep086_unitError_nonvacuity", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep086_unitError_nonvacuity : precisionEnergy 2 1 0 = 1", "statement_sha256": "8e19cdf8cb9a7936a090c296bb3cf5100cf6d55cf9620da83508f2ee0c957ffa" }, @@ -220097,7 +220097,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_decomposition", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep087_hierarchicalPredictiveCoding_decomposition {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": "b475f867789cbd28994d51f4a330aabc85958e4d8abf85d2b1deed20c0292fb7" }, @@ -220166,7 +220166,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep087.FEP087.fep087_hierarchicalPredictiveCoding_nonnegative", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep087_hierarchicalPredictiveCoding_nonnegative\n {Level : Type*} [Fintype Level]\n (precision error : Level → ℝ)\n (hPrecision : ∀ level, 0 ≤ precision level) :\n 0 ≤ hierarchicalEnergy precision error", "statement_sha256": "05d5539957e11769398f64ab055ac2aad69c30917ef15ba8c0072c75d6440870" }, @@ -220195,7 +220195,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep087.FEP087.fep087_twoLevel_decomposition_nonvacuity", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep087_twoLevel_decomposition_nonvacuity :\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": "f23e2ee868b649d466453396cba2e7a626549c0e464c23b098efec2206d5803a" }, @@ -220215,7 +220215,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep088.FEP088.fep088_gradient_nonvacuity", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep088_gradient_nonvacuity :\n precisionEnergyGradient 2 1 0 = -2", "statement_sha256": "e284adeb11e87cc3c53a00ae97c9b3d913dec931a8c1cf8e39b5cf4e2ec674ed" }, @@ -220257,7 +220257,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep088.FEP088.fep088_namedGradient_hasDerivAt", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep088_namedGradient_hasDerivAt\n (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (precisionEnergyGradient precision observation estimate) estimate", "statement_sha256": "0a98432ed3390997a3084821eaacb967efeddfa7a77a8c3615555240d918115c" }, @@ -220299,7 +220299,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep088.FEP088.fep088_predictionError_gradient_identity", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep088_predictionError_gradient_identity\n (precision observation estimate : ℝ) :\n HasDerivAt (fun candidate => precisionEnergy precision observation candidate)\n (-precision * predictionError observation estimate) estimate", "statement_sha256": "ab942b09f63c0366ec52cd71db85fdbf8b1d72263aa2648b73c26f43a043ac97" }, @@ -220360,7 +220360,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep089.FEP089.fep089_finiteJet_shift_semigroup", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep089_finiteJet_shift_semigroup {order : ℕ}\n (first second : ℕ) (jet : FiniteJet order) :\n shift (first + second) jet = shift first (shift second jet)", "statement_sha256": "455c3dd521e185f794a49fb284d91b5389c24e04b623d4c8bb8ee7a8443add30" }, @@ -220410,7 +220410,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep089.FEP089.fep089_finiteJet_terminal_boundary", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep089_finiteJet_terminal_boundary {order : ℕ}\n (jet : FiniteJet order) :\n (shift 1 jet).coefficient order = 0", "statement_sha256": "912938a476be18faf3b440ac26ab7264a1610f036556edf673abd703547505a4" }, @@ -220451,7 +220451,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep089.FEP089.fep089_firstOrder_shift_nonvacuity", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep089_firstOrder_shift_nonvacuity (value velocity : ℝ) :\n (shift 1 (firstOrderJet value velocity)).coefficient 0 = velocity ∧\n (shift 1 (firstOrderJet value velocity)).coefficient 1 = 0", "statement_sha256": "4a25503e41bdc021e98a68c5a65936a283213fd2e3b29614fbed67e08f60f8e0" }, @@ -220522,7 +220522,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_finiteJet_coordinateGradient_hasDerivAt", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_finiteJet_coordinateGradient_hasDerivAt\n {order : ℕ} (precision : ℕ → ℝ)\n (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": "eafe9b4e116f842fa6ab2a36450fdfea15e69cabc5de92a81d22e9f7ba6c0b69" }, @@ -220603,7 +220603,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_finiteJet_generalizedFiltering_correctionEquation", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_finiteJet_generalizedFiltering_correctionEquation\n {order : ℕ} (stepSize : ℝ) (precision : ℕ → ℝ)\n (target estimate : FiniteJet order) (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": "aa289d5f7810c0d4518eb04910fa11cccd445a89a6834fa965475ba52762bed8" }, @@ -220664,7 +220664,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_finiteJet_truncation_visible", "source_line": 33, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_finiteJet_truncation_visible\n {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": "132051b419ba15fead73f4e608607294feb99e5921143a2677c6c0d610a50bf4" }, @@ -220693,7 +220693,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep090.FEP090.fep090_firstOrder_correction_nonvacuity", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep090_firstOrder_correction_nonvacuity :\n let corrected := generalizedFilteringStep (1 / 2 : ℝ) (fun _ => 1)\n (firstOrderJet 2 0) (firstOrderJet 0 1)\n corrected.coefficient 0 = 3 / 2 ∧ corrected.coefficient 1 = 1 / 2", "statement_sha256": "4e80ffd71bbe6ffb36ba73dae9e0ce1af9820202be7b236055091a7db21b977e" }, @@ -220722,7 +220722,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep091.FEP091.fep091_doubledPrecision_nonvacuity", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep091_doubledPrecision_nonvacuity :\n precisionEnergy 2 1 0 = 2 * precisionEnergy 1 1 0 ∧\n precisionEnergy 1 1 0 < precisionEnergy 2 1 0", "statement_sha256": "319a7424a4987d4f54450a3aac03c9855d8d7d4af886d21db28e5ca672dc002a" }, @@ -220794,7 +220794,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep091.FEP091.fep091_precisionModulation_energy_mono", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep091_precisionModulation_energy_mono\n {lower upper : ℝ} (hLowerNonneg : 0 ≤ lower)\n (hPrecision : lower ≤ upper)\n (observation estimate : ℝ) :\n 0 ≤ precisionEnergy lower observation estimate ∧\n precisionEnergy lower observation estimate ≤\n precisionEnergy upper observation estimate", "statement_sha256": "cdeb5542b50d53a05aaf4cf874280d7479f27334794b8b06cd36666cf615b1dc" }, @@ -220837,7 +220837,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep091.FEP091.fep091_precisionModulation_gradient_scale", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep091_precisionModulation_gradient_scale\n (scale precision observation estimate : ℝ) :\n precisionEnergyGradient (scale * precision) observation estimate =\n scale * precisionEnergyGradient precision observation estimate", "statement_sha256": "cc8390f4230266070bc3984e9b08992ed4e15045d88d343e5ee7a10ea861a441" }, @@ -220866,7 +220866,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_halfStep_decrease_nonvacuity", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_halfStep_decrease_nonvacuity :\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": "28546bd641959a981ed6b8b1d6f1a142f4b2f27ca4ade3628db6d59af4f4fe54" }, @@ -220909,7 +220909,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_quadraticPredictiveCoding_contraction", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_quadraticPredictiveCoding_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": "c081801ecfdf5a1ccb44d83222ed54a7d8448382f88a118e017b025ccaf26856" }, @@ -220980,7 +220980,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_quadraticPredictiveCoding_error_tendsto_zero", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_quadraticPredictiveCoding_error_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": "4eebc560141da18383bcaf516b0c4f1eb7105e3b4d44ab250a1ad13339dfee49" }, @@ -221063,7 +221063,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep092.FEP092.fep092_quadraticPredictiveCoding_strictDecrease", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "source_owner": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "statement": "theorem fep092_quadraticPredictiveCoding_strictDecrease\n {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": "b84f8193cfd3a830c5352e9ce837b0175eae9b759f2001b95ac5da52704f97fe" }, @@ -221144,7 +221144,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep093.FEP093.fep093_forward_reverse_pathLaw_ratio", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep093_forward_reverse_pathLaw_ratio\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": "d9bd59ca90aa7dca2f3a372bf81e0d154acd7e0fc724f56ad1fb133099ac8ec8" }, @@ -221205,7 +221205,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep093.FEP093.fep093_pathLaws_normalized", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep093_pathLaws_normalized\n (protocol : FinitePathProtocol Path) :\n (∑ path, protocol.forward path = 1) ∧\n ∑ path, protocol.reverseAligned path = 1", "statement_sha256": "d7e28bf7beaaf204158be3bda5facdffa29e75ac1673c31c3d24bd60678ab9eb" }, @@ -221276,7 +221276,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep093.FEP093.fep093_pathReversal_involutive", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep093_pathReversal_involutive\n (protocol : FinitePathProtocol Path) (path : Path) :\n protocol.reversal (protocol.reversal path) = path", "statement_sha256": "79de21e25caee770f7a8fbe0a9ef8b5eef4234360b879174bc6c79e836a8ce85" }, @@ -221328,7 +221328,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep094.FEP094.fep094_entropyProduction_as_pathKL", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep094_entropyProduction_as_pathKL\n (protocol : FinitePathProtocol Path) :\n entropyProduction protocol =\n finiteKL protocol.forward protocol.reverseAligned", "statement_sha256": "dfbc2ceca9ae3e2f0cdef4e46671b80761a7a73c6508218a904c7de408a7b15f" }, @@ -221409,7 +221409,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep094.FEP094.fep094_entropyProduction_expected_logRatio", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep094_entropyProduction_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": "87b8ad43484f5cfcaf981afc458cb74354697ff8c83ca40ef2c628bf89fdec37" }, @@ -221471,7 +221471,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep094.FEP094.fep094_entropyProduction_nonnegative", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep094_entropyProduction_nonnegative\n (protocol : FinitePathProtocol Path) :\n 0 ≤ entropyProduction protocol", "statement_sha256": "855cd17290c9b387b1f745e15960e7f07c9f7ae37aea01009b455d83fe76dae2" }, @@ -221562,7 +221562,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep095.FEP095.fep095_detailedFluctuation_symmetry", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep095_detailedFluctuation_symmetry\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": "bb7351a9144564779a9152fea17f631d33a78e4e569ec4bc5914dae6954ee47d" }, @@ -221673,7 +221673,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep095.FEP095.fep095_entropyProduction_reversal_antisymmetry", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep095_entropyProduction_reversal_antisymmetry\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) = protocol.reverseAligned path)\n (hExchangeReverse : ∀ path,\n protocol.reverseAligned (protocol.reversal path) = protocol.forward path)\n (path : Path) :\n pathwiseEntropyProduction protocol (protocol.reversal path) =\n -pathwiseEntropyProduction protocol path", "statement_sha256": "adc6650bc85d38e2bdf3ce539f15468f16dcfcd76e196f8b20394d07651ccab5" }, @@ -221754,7 +221754,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep096.FEP096.fep096_integralFluctuation_theorem", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep096_integralFluctuation_theorem\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": "3b11546769bf446eaebebe7cfde4e63602787f6bb3b110f16a9fddd48dd5d3eb" }, @@ -221846,7 +221846,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep097.FEP097.fep097_finiteJarzynski_equality", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep097_finiteJarzynski_equality\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": "dde76533df2c63b5c344035d8ca0901aa37d32f729d5921923f26bc7d503b8bc" }, @@ -221938,7 +221938,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep098.FEP098.fep098_localDetailedBalance_currentCancellation", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep098_localDetailedBalance_currentCancellation\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": "231a346ec9052f7a01161826338ddd6b7acf186c9a1068b3c110d7d4295f69d6" }, @@ -222030,7 +222030,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep098.FEP098.fep098_zeroReverseRate_boundary", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep098_zeroReverseRate_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": "5e7a555e8939dc7bbcafd20ea3817ed7274acebf6a6082f117eb0fac0104b966" }, @@ -222080,7 +222080,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep099.FEP099.fep099_irreversiblePositiveProduction_witness", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep099_irreversiblePositiveProduction_witness :\n 0 < entropyProduction irreversibleBoolProtocol", "statement_sha256": "c24e95b6a87629a529d0443e7f9dd3f0709cd8a62b901b52050feffc4f4c4ecd" }, @@ -222200,7 +222200,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep099.FEP099.fep099_reversibleChain_oneStep_KL_dissipation", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep099_reversibleChain_oneStep_KL_dissipation\n [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": "2228d0602ecea43d7fede48e56bf282cebe6a360c9fc6222673dde3e41c5e5fd" }, @@ -222270,7 +222270,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep099.FEP099.fep099_reversibleEquality_boundary", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "statement": "theorem fep099_reversibleEquality_boundary [DecidableEq State]\n (actual stationary : FiniteLaw State) :\n finiteKL\n ((FiniteKernel.identity : FiniteKernel State State).predictive actual)\n stationary = finiteKL actual stationary", "statement_sha256": "686b118e6c6785b900e7ab8051ceb964515e3739f96365bc5efaa26ca88c0fef" }, @@ -222353,7 +222353,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_categoricalFisher_simplexTangent_positivity", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_categoricalFisher_simplexTangent_positivity\n (carrier : CategoricalFisherCarrier d)\n (tangent : Fin d → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric carrier.model tangent tangent", "statement_sha256": "eddf08868ba5eeac6eba0283ece75ad02874db34b3bfe0dfe4c74c996d80c9d2" }, @@ -222395,7 +222395,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_fullRank_categorical_example", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_fullRank_categorical_example :\n IsSimplexTangent twoCategoricalTangent ∧\n twoCategoricalTangent ≠ 0 ∧\n fisherMetric twoCategoricalFisherCarrier.model\n twoCategoricalTangent twoCategoricalTangent = 4", "statement_sha256": "f735c486e0f6ea69b398f02388a7154fe0979433e7222507f1b1e24d68dcd6f5" }, @@ -222437,7 +222437,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_rankDeficient_nullDirection_example", "source_line": 43, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_rankDeficient_nullDirection_example :\n duplicatedScoreNullTangent ≠ 0 ∧\n fisherMetric duplicatedFairBernoulliScoreModel\n duplicatedScoreNullTangent duplicatedScoreNullTangent = 0", "statement_sha256": "787c2204b78b69ab14846be63937fb5c798c160a67d241d804fd52f6074af625" }, @@ -222510,7 +222510,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_twoCategorical_simplexMetric_fullRank", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_twoCategorical_simplexMetric_fullRank\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent)\n (hNonzero : tangent ≠ 0) :\n 0 < fisherMetric twoCategoricalFisherCarrier.model tangent tangent", "statement_sha256": "406cd33fa429b80326df87fb4db0e6fb861153c4ed938d05db05956948fdecc4" }, @@ -222573,7 +222573,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep100.FEP100.fep100_twoCategorical_tangent_spanning", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep100_twoCategorical_tangent_spanning\n (tangent : Fin 2 → ℝ) (hTangent : IsSimplexTangent tangent) :\n tangent = fun coordinate ↦\n tangent 0 * twoCategoricalTangent coordinate", "statement_sha256": "3248ef67a2d28421eff787eb4eacc986c2071243805f0d6de65fc43ee0cc6b96" }, @@ -222666,7 +222666,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep101.FEP101.fep101_fisherPullback_nonnegative", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep101_fisherPullback_nonnegative\n (model : ScoreModel Outcome d)\n (jacobian : Matrix (Fin d) (Fin k) ℝ) (tangent : Fin k → ℝ) :\n 0 ≤ pullbackMetric model jacobian tangent tangent", "statement_sha256": "005007091a34505f610dd61337c1eddbeb11289c76cc270e64da5e2d69bbab05" }, @@ -222770,7 +222770,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep101.FEP101.fep101_fisherPullback_reparameterization", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep101_fisherPullback_reparameterization\n (model : ScoreModel Outcome d)\n (outer : Matrix (Fin d) (Fin k) ℝ)\n (inner : Matrix (Fin k) (Fin d) ℝ)\n (left right : Fin d → ℝ) :\n pullbackMetric model (outer * inner) left right =\n pullbackMetric model outer (inner.mulVec left) (inner.mulVec right)", "statement_sha256": "39075e92e670dbe4fc410780da0a282f0afde3c06d659efae89f772c684f60bb" }, @@ -222861,7 +222861,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep102.FEP102.fep102_unbiasedScalar_cramerRao", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep102_unbiasedScalar_cramerRao\n (model : ScoreModel Outcome 1) (estimator : Outcome → ℝ)\n (target : ℝ)\n (certificate : ScalarCramerRaoCertificate model estimator target) :\n 1 ≤ estimatorVariance model.law estimator target * scalarFisher model", "statement_sha256": "5246413d1a88c1d2d5d190b6177bc9eb4acd6c67f700b1fcb90d59bd7d4952c5" }, @@ -222969,7 +222969,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep103.FEP103.fep103_naturalGradient_equivariance", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep103_naturalGradient_equivariance\n (model : ScoreModel Outcome d) [Invertible (fisherMatrix model)]\n (jacobian : Matrix (Fin d) (Fin d) ℝ) [Invertible jacobian]\n (covector : Fin d → ℝ) :\n chartPullbackLower model jacobian\n (chartCoordinates jacobian (naturalGradient model covector)) =\n chartCovector jacobian covector", "statement_sha256": "010a2159f70563c04db0ae72aec5b25a12fd3fd2c07322b851fdcb232c62a3cf" }, @@ -223062,7 +223062,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep103.FEP103.fep103_weightedCauchySchwarz_proofSpike", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep103_weightedCauchySchwarz_proofSpike\n (law : FiniteLaw Outcome) (left right : Outcome → ℝ)\n (hRight : 0 < ∑ outcome, law outcome * right outcome ^ 2) :\n (∑ outcome, law outcome * left outcome * right outcome) ^ 2 ≤\n (∑ outcome, law outcome * left outcome ^ 2) *\n ∑ outcome, law outcome * right outcome ^ 2", "statement_sha256": "cbc5a2dfe66c5cb211231b4b167f7ec4f0c5c53030c2f95c007a7b73f7980480" }, @@ -223137,7 +223137,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep104.FEP104.fep104_mirrorDescent_threePoint_identity", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep104_mirrorDescent_threePoint_identity\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (left middle right : Fin d → ℝ) :\n bregmanDivergence potential gradient left right -\n bregmanDivergence potential gradient left middle -\n bregmanDivergence potential gradient middle right =\n coordinatePairing\n (fun coordinate ↦\n gradient middle coordinate - gradient right coordinate)\n (fun coordinate ↦ left coordinate - middle coordinate)", "statement_sha256": "390eec210f9de37001adcb624fe1f9133c47276e3d9adeb88974a683d296043d" }, @@ -223242,7 +223242,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep105.FEP105.fep105_affineProjection_bregmanPythagorean", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep105_affineProjection_bregmanPythagorean\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet) :\n bregmanDivergence potential gradient candidate base =\n bregmanDivergence potential gradient candidate projection +\n bregmanDivergence potential gradient projection base", "statement_sha256": "a34e8f3f86f3df474b5e312a8450ace17f86708a5b09714c24b742ccbe759d83" }, @@ -223357,7 +223357,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep105.FEP105.fep105_affineProjection_minimizes", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep105_affineProjection_minimizes\n (potential : (Fin d → ℝ) → ℝ)\n (gradient : (Fin d → ℝ) → Fin d → ℝ)\n (affineSet : Set (Fin d → ℝ))\n (base projection candidate : Fin d → ℝ)\n (hProjection : AffineBregmanProjection potential gradient affineSet\n base projection)\n (hCandidate : candidate ∈ affineSet)\n (hNonnegative :\n 0 ≤ bregmanDivergence potential gradient candidate projection) :\n bregmanDivergence potential gradient projection base ≤\n bregmanDivergence potential gradient candidate base", "statement_sha256": "d41f896fb1518ed045eee3b1f2fb939637a1905d91f61d4464ae1c7bc97e585e" }, @@ -223420,7 +223420,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep106.FEP106.fep106_replicator_massConservation", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep106_replicator_massConservation\n (law : FiniteLaw (Fin d)) (fitness : Fin d → ℝ) :\n ∑ coordinate, replicatorVector law fitness coordinate = 0", "statement_sha256": "43edbff5e8921366c748850c66a857a2f778b51c9e083ea1d85b71af0a15f1a2" }, @@ -223483,7 +223483,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep106.FEP106.fep106_replicator_naturalGradient_equivalence", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep106_replicator_naturalGradient_equivalence\n (carrier : CategoricalFisherCarrier d) (fitness : Fin d → ℝ) :\n IsNaturalGradient carrier.model\n (fun coordinate ↦ fitness coordinate - meanFitness carrier.law fitness)\n (replicatorVector carrier.law fitness)", "statement_sha256": "1bdcb1e0f579c38916ee2ddb0356d1e696a313d33a9a62f0b78c257775603332" }, @@ -223525,7 +223525,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep106.FEP106.fep106_twoCategorical_nonzero_replicator_witness", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "statement": "theorem fep106_twoCategorical_nonzero_replicator_witness :\n twoCategoricalFitness 0 ≠ twoCategoricalFitness 1 ∧\n replicatorVector twoCategoricalLaw twoCategoricalFitness ≠ 0 ∧\n IsNaturalGradient twoCategoricalFisherCarrier.model\n (fun coordinate ↦\n twoCategoricalFitness coordinate -\n meanFitness twoCategoricalLaw twoCategoricalFitness)\n (replicatorVector twoCategoricalLaw twoCategoricalFitness)", "statement_sha256": "ec4a4a691660f4862377237b993e790ee116ffabcbdbdabd682e6617f555bcb3" }, @@ -223681,7 +223681,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep107.FEP107.fep107_productAgent_generative_mass", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep107_productAgent_generative_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 (FEP.CollectiveInference.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": "a98f380c4fc3a8f5c6bf681c90dcc7044457be433ba1d3e68b34e8fd2483e225" }, @@ -223787,7 +223787,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep107.FEP107.fep107_productKernel_normalized", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep107_productKernel_normalized\n (left : FiniteKernel State₁ Observation₁)\n (right : FiniteKernel State₂ Observation₂)\n (state : State₁ × State₂) :\n ∑ observation,\n FEP.CollectiveInference.productKernel left right state observation = 1", "statement_sha256": "ec8435ab83208a5308b7362c8557fe17e6eb937f8ada445936a870c538825cd8" }, @@ -223907,7 +223907,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep108.FEP108.fep108_collectiveVFE_additive", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep108_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 FEP.CollectiveInference.collectiveVFE\n actualLeft referenceLeft actualRight referenceRight leftCost rightCost =\n FEP.CollectiveInference.variationalFreeEnergy\n actualLeft referenceLeft leftCost +\n FEP.CollectiveInference.variationalFreeEnergy\n actualRight referenceRight rightCost", "statement_sha256": "c91b8b0f94d40985009f8909ee557d8e80d62e6f1f02a1202e64e4deac953e36" }, @@ -224005,7 +224005,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep108.FEP108.fep108_productCost_additive", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep108_productCost_additive\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (leftCost : State₁ → ℝ) (rightCost : State₂ → ℝ) :\n FEP.CollectiveInference.expectedCost (FiniteLaw.product left right)\n (fun state => leftCost state.1 + rightCost state.2) =\n FEP.CollectiveInference.expectedCost left leftCost +\n FEP.CollectiveInference.expectedCost right rightCost", "statement_sha256": "519fe37fd0456055822f63d896f251e1fcb9046fb8a9cf3369046b8635695235" }, @@ -224103,7 +224103,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep109.FEP109.fep109_additiveAmbiguity_expectation", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep109_additiveAmbiguity_expectation\n (left : FiniteLaw State₁) (right : FiniteLaw State₂)\n (ambiguityLeft : State₁ → ℝ) (ambiguityRight : State₂ → ℝ) :\n FEP.CollectiveInference.expectedCost (FiniteLaw.product left right)\n (fun state => ambiguityLeft state.1 + ambiguityRight state.2) =\n FEP.CollectiveInference.expectedCost left ambiguityLeft +\n FEP.CollectiveInference.expectedCost right ambiguityRight", "statement_sha256": "b9cb8fe30706976817b7d3988a567c35faff690484596609f2cc2e375902cad5" }, @@ -224223,7 +224223,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep109.FEP109.fep109_independentEFE_additive", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep109_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 FEP.CollectiveInference.independentCollectiveEFE\n predictiveLeft preferenceLeft predictiveRight preferenceRight\n ambiguityLeft ambiguityRight =\n FEP.CollectiveInference.expectedFreeEnergy\n predictiveLeft preferenceLeft ambiguityLeft +\n FEP.CollectiveInference.expectedFreeEnergy\n predictiveRight preferenceRight ambiguityRight", "statement_sha256": "c930ee14325395e0479436269b9fde0852e88716bb48aff7806897148ab87a28" }, @@ -224296,7 +224296,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_mass", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep110_unitWeightProductOfExpertsPool_mass\n (left right : FiniteLaw State)\n (normalizerPositive :\n 0 < FEP.CollectiveInference.productOfExpertsNormalizer left right)\n (state : State) :\n FEP.CollectiveInference.unitWeightProductOfExpertsPool\n left right normalizerPositive state =\n left state * right state /\n FEP.CollectiveInference.productOfExpertsNormalizer left right", "statement_sha256": "8638effcda20a7b2b3d67c140de9d0c3e63d6396f847fd8625acbd0b19b13273" }, @@ -224366,7 +224366,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep110.FEP110.fep110_unitWeightProductOfExpertsPool_normalized", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep110_unitWeightProductOfExpertsPool_normalized\n (left right : FiniteLaw State)\n (normalizerPositive :\n 0 < FEP.CollectiveInference.productOfExpertsNormalizer left right) :\n ∑ state,\n FEP.CollectiveInference.unitWeightProductOfExpertsPool\n left right normalizerPositive state = 1", "statement_sha256": "2b351f91ec79b2d8601620143eba0868c4b371ddcf249726838d85d020c991e2" }, @@ -224436,7 +224436,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep111.FEP111.fep111_consensus_pointwise_mass_conserved", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep111_consensus_pointwise_mass_conserved\n (left right : FiniteLaw State) (state : State) :\n FEP.CollectiveInference.consensusLeft left right state +\n FEP.CollectiveInference.consensusRight left right state =\n left state + right state", "statement_sha256": "e7100f1644930343c4795fe08cf3dc590bf66acaadee5c1567b12822544d3165" }, @@ -224489,7 +224489,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep111.FEP111.fep111_consensus_total_mass_two", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep111_consensus_total_mass_two\n (left right : FiniteLaw State) :\n (∑ state, FEP.CollectiveInference.consensusLeft left right state) +\n ∑ state, FEP.CollectiveInference.consensusRight left right state = 2", "statement_sha256": "764c64fc4f510a8434eeb6e24ff350b3ae9e397855f9daa59e7fb9c34ae0cb1e" }, @@ -224537,7 +224537,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep112.FEP112.fep112_bool_nonzero_strict_witness", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep112_bool_nonzero_strict_witness :\n FEP.CollectiveInference.beliefGap\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true = 1 ∧\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (FEP.CollectiveInference.consensusRight\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false)) true = 1 / 2 ∧\n 0 < FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (FEP.CollectiveInference.consensusRight\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false)) true ∧\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false))\n (FEP.CollectiveInference.consensusRight\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false)) true <\n FEP.CollectiveInference.beliefGap\n (FiniteLaw.pointMass true) (FiniteLaw.pointMass false) true", "statement_sha256": "53229cd727c698c799c844667566edf2eacdde8ec50079f97dfbfa24c21f3cde" }, @@ -224607,7 +224607,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep112.FEP112.fep112_consensus_converges", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep112_consensus_converges\n (left right : FiniteLaw State) (state : State) :\n Tendsto\n (fun iterations =>\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusIterate\n (left, right) iterations).1\n (FEP.CollectiveInference.consensusIterate\n (left, right) iterations).2 state)\n atTop (nhds 0)", "statement_sha256": "7f4668d9c9d8eb1fa7390d9b36adc4d6bd453afc815063994497d9d4edad1036" }, @@ -224677,7 +224677,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep112.FEP112.fep112_consensus_half_contraction", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep112_consensus_half_contraction\n (left right : FiniteLaw State) (state : State) :\n FEP.CollectiveInference.beliefGap\n (FEP.CollectiveInference.consensusLeft left right)\n (FEP.CollectiveInference.consensusRight left right) state =\n (1 / 2 : ℝ) *\n FEP.CollectiveInference.beliefGap left right state", "statement_sha256": "10ddc2507e5c8791de31401c5113e4c6008ff3a2659b8a7662ab29730344dff1" }, @@ -224747,7 +224747,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep113.FEP113.fep113_coupledPotential_contracts", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep113_coupledPotential_contracts\n (left right : FiniteLaw State) (state : State) :\n FEP.CollectiveInference.coupledPotential\n (FEP.CollectiveInference.consensusLeft left right)\n (FEP.CollectiveInference.consensusRight left right) state =\n (1 / 4 : ℝ) *\n FEP.CollectiveInference.coupledPotential left right state", "statement_sha256": "489b27b8fd47aa3605a2aaef2f21c34ca86c161d81691150d66a26527b70eaa0" }, @@ -224827,7 +224827,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep113.FEP113.fep113_coupledPotential_strict_descent", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/collective_inference.py", + "source_owner": "src/fep_formal/catalogue/bodies/collective_inference.py", "statement": "theorem fep113_coupledPotential_strict_descent\n (left right : FiniteLaw State) (state : State)\n (separated : left state ≠ right state) :\n FEP.CollectiveInference.coupledPotential\n (FEP.CollectiveInference.consensusLeft left right)\n (FEP.CollectiveInference.consensusRight left right) state <\n FEP.CollectiveInference.coupledPotential left right state", "statement_sha256": "49e37a199a1763644433e23ee58a8d4802535c9fb24eae93b24454063e591a64" }, @@ -224888,7 +224888,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep114.FEP114.fep114_empiricalMean_definition", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep114_empiricalMean_definition\n {Ω : Type*} {sampleCount : ℕ}\n (observables : Fin sampleCount → Ω → ℝ) (outcome : Ω) :\n FEP.LearningTheory.empiricalMean observables outcome =\n (∑ index, observables index outcome) / sampleCount", "statement_sha256": "a6346225bffac40c3b4481a9a099229f26219ff49b8925c366cc28d648f931d2" }, @@ -225014,7 +225014,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep114.FEP114.fep114_subGaussian_empiricalMean_tail", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep114_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": "f19575efac2722be8f87efecc2cf1f4c6e8504c40336922f62460a6f333541bb" }, @@ -225130,7 +225130,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep115.FEP115.fep115_frequencyDeviationEvent_membership", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep115_frequencyDeviationEvent_membership\n {Ω Alphabet : Type*} [Fintype Alphabet] [DecidableEq Alphabet]\n {sampleCount : ℕ} [NeZero sampleCount]\n (sample : Ω → Fin sampleCount → Alphabet)\n (target : Alphabet → ℝ) (deviation : ℝ)\n (symbol : Alphabet) (outcome : Ω) :\n outcome ∈ FEP.LearningTheory.frequencyDeviationEvent\n sample target deviation symbol ↔\n deviation ≤\n |FEP.LearningTheory.empiricalFrequency\n (sample outcome) symbol - target symbol|", "statement_sha256": "75c6a63329bc06a8a2cd140abd255a3cef41176175e2eca8b40f7c0a8a6537a9" }, @@ -225270,7 +225270,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep115.FEP115.fep115_simultaneous_frequency_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep115_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\n (FEP.LearningTheory.frequencyDeviationEvent\n sample target deviation symbol) ≤ perSymbolFailure) :\n μ.real (⋃ symbol,\n FEP.LearningTheory.frequencyDeviationEvent\n sample target deviation symbol) ≤\n Fintype.card Alphabet * perSymbolFailure", "statement_sha256": "3d7904332709f5bec5b23a15b69d6c46499a0c6e1dfdffe9b0a8dc5c3826a3a1" }, @@ -225428,7 +225428,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep116.FEP116.fep116_finitePACBayes_with_confidence", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep116_finitePACBayes_with_confidence\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior posterior : FiniteLaw Hypothesis)\n (certificate : FEP.VariationalDuality.GibbsCertificate Hypothesis)\n (referenceIsPrior : certificate.reference = prior)\n (empiricalLoss populationLoss : Hypothesis → ℝ)\n (inverseTemperature : ℝ)\n (inverseTemperaturePositive : 0 < inverseTemperature)\n (potentialIsLossGap : ∀ hypothesis,\n certificate.potential hypothesis = inverseTemperature *\n (populationLoss hypothesis - empiricalLoss hypothesis))\n (confidence : ℝ)\n (confidencePositive : 0 < confidence)\n (confidenceBelowOne : confidence < 1)\n (logMGFBound : certificate.logPartition ≤ Real.log confidence⁻¹) :\n FEP.VariationalDuality.expectation posterior populationLoss ≤\n FEP.VariationalDuality.expectation posterior empiricalLoss +\n (FEP.FiniteInformation.finiteKL posterior prior +\n Real.log confidence⁻¹) / inverseTemperature", "statement_sha256": "f8202c2ab9913fea9fac00fbff3532196b2926400367a3fe65fd6fc3ccc273cd" }, @@ -225497,7 +225497,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep116.FEP116.fep116_prior_support_nonzero", "source_line": 38, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep116_prior_support_nonzero\n {Hypothesis : Type*} [Fintype Hypothesis]\n (prior : FiniteLaw Hypothesis)\n (priorPositive : ∀ hypothesis, 0 < prior hypothesis)\n (hypothesis : Hypothesis) :\n prior hypothesis ≠ 0", "statement_sha256": "5e6b7789b74dc9b17cb99126be474bbf69c64657b1cdaaf59e6f8020e0d1be25" }, @@ -225623,7 +225623,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep117.FEP117.fep117_posteriorOdds_recursion", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep117_posteriorOdds_recursion\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence)\n (evidencePositive : 0 < likelihood.predictive prior evidence)\n (favored reference : Hypothesis)\n (referencePriorPositive : 0 < prior reference)\n (referenceLikelihoodPositive : 0 < likelihood reference evidence) :\n FEP.LearningTheory.posteriorOdds\n prior likelihood evidence evidencePositive favored reference =\n (prior favored / prior reference) *\n (likelihood favored evidence / likelihood reference evidence)", "statement_sha256": "ad2c9e2823e16376a440c29ae7be9571a639eb15ec88e2ad3b37ec9945247fb8" }, @@ -225738,7 +225738,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep117.FEP117.fep117_zero_prior_boundary", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep117_zero_prior_boundary\n {Hypothesis Evidence : Type*} [Fintype Hypothesis] [Fintype Evidence]\n (prior : FiniteLaw Hypothesis)\n (likelihood : FiniteKernel Hypothesis Evidence)\n (evidence : Evidence)\n (evidencePositive : 0 < likelihood.predictive prior evidence)\n (hypothesis : Hypothesis) (priorZero : prior hypothesis = 0) :\n likelihood.posterior prior evidence evidencePositive hypothesis = 0", "statement_sha256": "d427b877fdbadcf9f355dcd6547767801c174ecc4cde1dad05aad21ecee1343c" }, @@ -225850,7 +225850,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep118.FEP118.fep118_posteriorGap_concentration", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep118_posteriorGap_concentration\n (priorGood priorBad likelihoodGood likelihoodBad likelihoodGap : ℝ)\n (sampleCount : ℕ)\n (priorGoodPositive : 0 < priorGood)\n (priorBadNonnegative : 0 ≤ priorBad)\n (likelihoodGoodPositive : 0 < likelihoodGood)\n (likelihoodBadNonnegative : 0 ≤ likelihoodBad)\n (likelihoodGapNonnegative : 0 ≤ likelihoodGap)\n (gapBound :\n likelihoodBad ≤ Real.exp (-likelihoodGap) * likelihoodGood) :\n FEP.LearningTheory.twoHypothesisPosteriorBad\n priorGood priorBad likelihoodGood likelihoodBad sampleCount ≤\n (priorBad / priorGood) *\n Real.exp (-((sampleCount : ℝ) * likelihoodGap))", "statement_sha256": "677ba3a2f3a232174aad0054e2067b7ae2f562713499238f2c00f0a751ff0036" }, @@ -225877,7 +225877,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep118.FEP118.fep118_twoHypothesis_witness", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep118_twoHypothesis_witness :\n FEP.LearningTheory.twoHypothesisPosteriorBad\n (1 / 2) (1 / 2) (3 / 4) (1 / 4) 2 = 1 / 10", "statement_sha256": "40dbf772b856fa50581b6402a164328a2579e7fd703441e554ae081de2336c87" }, @@ -225966,7 +225966,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep119.FEP119.fep119_mixtureEvidence_lower_bound", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep119_mixtureEvidence_lower_bound\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis) :\n prior selected * likelihood selected ≤\n FEP.LearningTheory.mixtureEvidence prior likelihood", "statement_sha256": "23da0fd96647c533a264bfcb377a3b2626513c72f060eae9a1a85f4f73321ab8" }, @@ -226075,7 +226075,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep119.FEP119.fep119_mixtureLogLoss_regret", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep119_mixtureLogLoss_regret\n (prior : FiniteLaw Hypothesis) (likelihood : Hypothesis → ℝ)\n (likelihoodNonnegative : ∀ hypothesis, 0 ≤ likelihood hypothesis)\n (selected : Hypothesis)\n (priorPositive : 0 < prior selected)\n (likelihoodPositive : 0 < likelihood selected) :\n -Real.log (FEP.LearningTheory.mixtureEvidence prior likelihood) ≤\n -Real.log (likelihood selected) - Real.log (prior selected)", "statement_sha256": "f9099f72066898aad9ccb696ccb48816ba33cc5888628896f902e8a4a2fa2fb5" }, @@ -226137,7 +226137,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep120.FEP120.fep120_bayesFactor_multiplicative_update", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep120_bayesFactor_multiplicative_update\n (priorOdds firstFavored firstReference secondFavored secondReference : ℝ)\n (firstReferenceNonzero : firstReference ≠ 0)\n (secondReferenceNonzero : secondReference ≠ 0) :\n FEP.LearningTheory.bayesFactor\n (firstFavored * secondFavored) (firstReference * secondReference) =\n FEP.LearningTheory.bayesFactor firstFavored firstReference *\n FEP.LearningTheory.bayesFactor secondFavored secondReference ∧\n FEP.LearningTheory.updatedModelOdds priorOdds\n (firstFavored * secondFavored) (firstReference * secondReference) =\n FEP.LearningTheory.updatedModelOdds\n (FEP.LearningTheory.updatedModelOdds\n priorOdds firstFavored firstReference)\n secondFavored secondReference", "statement_sha256": "9c919e910ee2fdf648997c151f8ad8e36ced28c1963c1b18e329c4fe4ea9c973" }, @@ -226164,7 +226164,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep120.FEP120.fep120_twoHypothesis_evidence_witness", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep120_twoHypothesis_evidence_witness :\n FEP.LearningTheory.bayesFactor (3 / 4) (1 / 4) = 3 ∧\n FEP.LearningTheory.updatedModelOdds 1 (3 / 4) (1 / 4) = 3", "statement_sha256": "af06b407e7224c681b2ccc0f46517881e82378edfcccb5aa0712d08967ebf06f" }, @@ -226202,7 +226202,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep120.FEP120.fep120_zero_evidence_boundary", "source_line": 35, - "source_owner": "src/fep_lean/catalogue/bodies/learning_theory.py", + "source_owner": "src/fep_formal/catalogue/bodies/learning_theory.py", "statement": "theorem fep120_zero_evidence_boundary (favored : ℝ) :\n FEP.LearningTheory.bayesFactor favored 0 = 0", "statement_sha256": "b4039a6f7b9e9820828993a103269383e1d86acac1d42fdc8334fc1ef02cac5d" }, @@ -226283,7 +226283,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep121.FEP121.fep121_laplaceError_identity", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep121_laplaceError_identity\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n laplaceEstimate successes sampleCount - target =\n shrinkage sampleCount * (empiricalRate successes sampleCount - target) +\n laplaceBias sampleCount target", "statement_sha256": "ed107055b5246e0ef533113f1d083e89769d6001cecf16ea46d5f3176b7a4f75" }, @@ -226331,7 +226331,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep121.FEP121.fep121_shrinkage_mem_unitInterval", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep121_shrinkage_mem_unitInterval (sampleCount : ℕ) :\n shrinkage sampleCount ∈ Set.Icc (0 : ℝ) 1", "statement_sha256": "7470ad3f1a381f23ea38813276ae6066dd3e0a998884fb50f15eca375d1f3810" }, @@ -226391,7 +226391,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep122.FEP122.fep122_laplaceBias_abs_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep122_laplaceBias_abs_le (sampleCount : ℕ) (target : ℝ)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n |laplaceBias sampleCount target| ≤\n 1 / ((sampleCount : ℝ) + 2)", "statement_sha256": "b103ec3c6e0cefa9c67c09e4326b5be21f3bd13312f504c909cc662b7582dfe4" }, @@ -226420,7 +226420,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep122.FEP122.fep122_nonzero_boundary_witness", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep122_nonzero_boundary_witness :\n laplaceBias 2 0 = 1 / 4 ∧ laplaceBias 2 0 ≠ 0", "statement_sha256": "0ed30035806d95181bb449659d92228c0fcc5496cdc9d8e640bdf8c8e01ae2df" }, @@ -226473,7 +226473,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep123.FEP123.fep123_error_nonnegative", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep123_error_nonnegative\n (successes sampleCount : ℕ) (target error : ℝ)\n (empiricalErrorBound :\n |empiricalRate successes sampleCount - target| ≤ error) :\n 0 ≤ error", "statement_sha256": "9a9a395c84b42696f74365baf7361ff7e7a5c8a1b6344609f398940a9376052b" }, @@ -226565,7 +226565,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep123.FEP123.fep123_laplaceAbsoluteError_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep123_laplaceAbsoluteError_le\n (successes sampleCount : ℕ) (target error : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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": "9b7567663dc895b120f3d65e0ce919711cb0bee5a507867a10cd24e2be6a709f" }, @@ -226646,7 +226646,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep124.FEP124.fep124_laplaceSquaredError_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep124_laplaceSquaredError_le\n (successes sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : successes ≤ 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": "bb11673b1709d518db4541f183cee6bbb0767af6f4d8b2cdde6236d95801fd50" }, @@ -226764,7 +226764,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep124.FEP124.fep124_laplaceSquaredRisk_le", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep124_laplaceSquaredRisk_le\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ) (target : ℝ)\n (sampleCountPositive : 0 < sampleCount)\n (successesAtMost : ∀ outcome, successes outcome ≤ sampleCount)\n (targetBounds : target ∈ Set.Icc (0 : ℝ) 1) :\n FEP.VariationalDuality.expectation sampling (fun outcome =>\n (laplaceEstimate (successes outcome) sampleCount - target) ^ 2) ≤\n 2 * shrinkage sampleCount ^ 2 *\n FEP.VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "statement_sha256": "7a2a8a0bad10a89973e447e39e0b03e39d728536029430c43aff83062931ca23" }, @@ -226805,7 +226805,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep125.FEP125.fep125_brierExcess_eq_sqError", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep125_brierExcess_eq_sqError (target forecast : ℝ) :\n bernoulliBrierScore target forecast - bernoulliBrierScore target target =\n (forecast - target) ^ 2", "statement_sha256": "fac45ecc2d144c57967b82df5d060d946dde1aa4a0fac8f823dc64a4648990d8" }, @@ -226836,7 +226836,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep125.FEP125.fep125_brierExcess_self", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep125_brierExcess_self (target : ℝ) :\n bernoulliBrierScore target target - bernoulliBrierScore target target = 0", "statement_sha256": "5dc89fb89a81fc0d7d39601311a165e70413b589a5b4466a6e7edd5a7edf502a" }, @@ -226954,7 +226954,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep126.FEP126.fep126_laplaceBrierRisk_le", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep126_laplaceBrierRisk_le\n {Ω : Type*} [Fintype Ω] (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 FEP.VariationalDuality.expectation sampling (fun outcome =>\n (empiricalRate (successes outcome) sampleCount - target) ^ 2) +\n 2 * (1 / ((sampleCount : ℝ) + 2)) ^ 2", "statement_sha256": "8468d801f26dffb26c27484cce65673b8716c1ff50eece26a13d6753f86af984" }, @@ -227003,7 +227003,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep126.FEP126.fep126_sampling_mass_one", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep126_sampling_mass_one\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω) :\n ∑ outcome, sampling outcome = 1", "statement_sha256": "f1646c282ce1af02feac037a87b397c3b55df0620e7f76dc89316eadee397623" }, @@ -227133,7 +227133,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep127.FEP127.fep127_laplaceBadEvent_probability_le", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep127_laplaceBadEvent_probability_le\n {Ω : Type*} [Fintype Ω] (sampling : FiniteLaw Ω)\n (successes : Ω → ℕ) (sampleCount : ℕ)\n (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": "8d4cff52f290b168a154e9aa83c2f67475c8d36734822046ecbd844978a10bb7" }, @@ -227242,7 +227242,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep127.FEP127.fep127_laplaceBadEvent_subset", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "source_owner": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "statement": "theorem fep127_laplaceBadEvent_subset\n {Ω : Type*} [Fintype Ω] (successes : Ω → ℕ)\n (sampleCount : ℕ) (target error : ℝ)\n (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": "020746b334eeaa62092972d1a6360475f771725857e1200ebe9f999ae570a75f" }, @@ -227319,7 +227319,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep128.FEP128.fep128_policyTreeValue_leaf", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep128_policyTreeValue_leaf\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n (model : PolicyTreeModel Belief Action Observation) (belief : Belief) :\n policyTreeValue (depth := 0) model\n (PUnit.unit : PolicyTree Action Observation 0) belief = 0", "statement_sha256": "1341f5359a0f7773323fb41a718bab836bba59230bdb68ef4f1b454a249c16fc" }, @@ -227435,7 +227435,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep128.FEP128.fep128_policyTreeValue_node", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep128_policyTreeValue_node\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (action : Action)\n (continuation : Observation → PolicyTree Action Observation depth)\n (belief : Belief) :\n policyTreeValue (depth := depth + 1) model (action, continuation) belief =\n model.stageCost depth belief action +\n ∑ observation,\n model.observationLaw belief action observation *\n policyTreeValue model (continuation observation)\n (model.update belief action observation)", "statement_sha256": "50c0d7737436c2c6b584012f0c4d344c62ad2c18c85d8eba649d5cbcc8c85a7a" }, @@ -227549,7 +227549,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep129.FEP129.fep129_optimalTreeAction_le", "source_line": 26, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep129_optimalTreeAction_le\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) (alternative : Action) :\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation) ≤\n model.stageCost depth belief alternative +\n ∑ observation,\n model.observationLaw belief alternative observation *\n optimalTreeValue model depth\n (model.update belief alternative observation)", "statement_sha256": "825786501c04665076e2443fc1dff7027d2435d4753fa6b8c5425e4cf10d6ce8" }, @@ -227653,7 +227653,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep129.FEP129.fep129_optimalTreeValue_eq_min", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep129_optimalTreeValue_eq_min\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue model (depth + 1) belief =\n model.stageCost depth belief (optimalTreeAction model depth belief) +\n ∑ observation,\n model.observationLaw belief (optimalTreeAction model depth belief)\n observation *\n optimalTreeValue model depth\n (model.update belief (optimalTreeAction model depth belief)\n observation)", "statement_sha256": "21fa255572345e1ee58d45700e5f7320ff64acaff1b86400ebda69bcd17f99c7" }, @@ -227757,7 +227757,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep130.FEP130.fep130_exists_optimalPolicyTree", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep130_exists_optimalPolicyTree\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n (depth : ℕ) (belief : Belief) :\n ∃ tree : PolicyTree Action Observation depth,\n policyTreeValue model tree belief = optimalTreeValue model depth belief ∧\n ∀ alternative : PolicyTree Action Observation depth,\n policyTreeValue model tree belief ≤\n policyTreeValue model alternative belief", "statement_sha256": "ae826d6fce59dee31885385d2b44e907f4069b3e24df597cbded1453281cf22e" }, @@ -227815,7 +227815,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep130.FEP130.fep130_policyTree_carrier_finite", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep130_policyTree_carrier_finite\n {Action Observation : Type*}\n [Fintype Action] [Fintype Observation] (depth : ℕ) :\n Finite (PolicyTree Action Observation depth)", "statement_sha256": "c6b040db26c8a1df346ad0495a282db370a162368087902ad344ed289a9b9dc8" }, @@ -227847,7 +227847,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep131.FEP131.fep131_openLoopEmbedding_leaf", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep131_openLoopEmbedding_leaf\n {Action Observation : Type*} :\n openLoopEmbedding (depth := 0) (Action := Action) (Observation := Observation)\n (PUnit.unit : OpenLoopPlan Action 0) =\n (PUnit.unit : PolicyTree Action Observation 0)", "statement_sha256": "939acb2b34c59c57498d9059c087d3f8ea4668f6d77b21dc009a8cff520be749" }, @@ -227953,7 +227953,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep131.FEP131.fep131_openLoopEmbedding_value", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep131_openLoopEmbedding_value\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief) :\n policyTreeValue model\n (openLoopEmbedding (Observation := Observation) plan) belief =\n openLoopValue model plan belief", "statement_sha256": "a4ff4bec2f98588a459cdba6c5892dfb2bcc71f8c7a419de461702744cb47f11" }, @@ -227984,7 +227984,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep132.FEP132.fep132_finite_horizon_depth", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep132_finite_horizon_depth (depth : ℕ) : depth < depth + 1", "statement_sha256": "a1950ecf01112c92a6da9ef70f4ce96e0f8947c188990511da774cca320826e1" }, @@ -228098,7 +228098,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep132.FEP132.fep132_optimalTree_le_openLoop", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep132_optimalTree_le_openLoop\n {Belief Action Observation : Type*}\n [Fintype Belief] [Fintype Action] [Fintype Observation] [Nonempty Action]\n (model : PolicyTreeModel Belief Action Observation)\n {depth : ℕ} (plan : OpenLoopPlan Action depth) (belief : Belief) :\n optimalTreeValue model depth belief ≤ openLoopValue model plan belief", "statement_sha256": "3735afccbf7bbe0b3f37ba520c998888923da4fa3ea2f2241f773e4667b9653c" }, @@ -228211,7 +228211,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep133.FEP133.fep133_optimalValues_agree", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep133_optimalValues_agree\n {Belief State Action Observation : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation]\n [Nonempty Action]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n (depth : ℕ) (belief : Belief) :\n optimalTreeValue (efePolicyTreeModel model) depth belief =\n optimalTreeValue (riskAmbiguityPolicyTreeModel model) depth belief", "statement_sha256": "3f7fecf8ebc49bf2ec663a9cfd78294fe7bff81eb5fe931783d3199d808dc5e8" }, @@ -228326,7 +228326,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep133.FEP133.fep133_policyTree_efe_eq_risk_add_ambiguity", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep133_policyTree_efe_eq_risk_add_ambiguity\n {Belief State Action Observation : Type*}\n [Fintype Belief] [Fintype State] [Fintype Action] [Fintype Observation]\n (model : EFEPolicyTreeModel Belief State Action Observation)\n {depth : ℕ} (tree : PolicyTree Action Observation depth)\n (belief : Belief) :\n policyTreeValue (efePolicyTreeModel model) tree belief =\n policyTreeValue (riskAmbiguityPolicyTreeModel model) tree belief", "statement_sha256": "cef8627be99f4d7a06190a6d672655f5f677b617ee0a5145fb36270498e289c3" }, @@ -228382,7 +228382,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep134.FEP134.fep134_boolFeedback_strictlyBetter", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep134_boolFeedback_strictlyBetter (action : Bool) :\n policyTreeValue boolFeedbackModel boolFeedbackTree false = 0 ∧\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false = 1 / 2 ∧\n policyTreeValue boolFeedbackModel boolFeedbackTree false <\n openLoopValue boolFeedbackModel (boolOpenLoopPlan action) false", "statement_sha256": "4a14745f1ceb8623a76f90c97e459d1adefcfe4929e18a55c860e79eef2bd2ae" }, @@ -228402,7 +228402,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep134.FEP134.fep134_feedback_continuation_changes", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "source_owner": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "statement": "theorem fep134_feedback_continuation_changes :\n (boolFeedbackTree.2 false).1 ≠ (boolFeedbackTree.2 true).1", "statement_sha256": "2c921b09381fdfc66124d0f8ec770fe71c79ce74365fb037edf571310d47575c" }, @@ -228487,7 +228487,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep135.FEP135.fep135_embeddedLaw_apply_singleton", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep135_embeddedLaw_apply_singleton\n (law : FiniteLaw State) (state : State) :\n FEP.NativeBlanket.embeddedLaw law {state} = ENNReal.ofReal (law state)", "statement_sha256": "91faa79dff9e9cba887f3d349bff60e6d80468f80b2e1e9c4ab5757257482a16" }, @@ -228562,7 +228562,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep135.FEP135.fep135_embeddedLaw_normalized", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep135_embeddedLaw_normalized (law : FiniteLaw State) :\n FEP.NativeBlanket.embeddedLaw law Set.univ = 1", "statement_sha256": "4a7b86c077f5566cc25dbe22976bfe7ef0a062c835a90b3610a8923f9077b47b" }, @@ -228647,7 +228647,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep136.FEP136.fep136_embeddedLaw_expectation", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep136_embeddedLaw_expectation\n (law : FiniteLaw State) (observable : State → ℝ) :\n ∫ state, observable state ∂FEP.NativeBlanket.embeddedLaw law =\n ∑ state, law state * observable state", "statement_sha256": "0c100004a5b0174e9afa2ef7fccafc91bfe8ff5b3fbd4e964ba2f6aa3d545aca" }, @@ -228711,7 +228711,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep136.FEP136.fep136_embeddedLaw_injective", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep136_embeddedLaw_injective :\n Function.Injective\n (FEP.NativeBlanket.embeddedLaw : FiniteLaw State → Measure State)", "statement_sha256": "1b89737a68a32fe74fac38e86a8999fd0831963f32f04597719b028ce23cf9ca" }, @@ -228821,7 +228821,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep137.FEP137.fep137_embeddedPredictive_eq_comp", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep137_embeddedPredictive_eq_comp\n (prior : FiniteLaw Input) (kernel : FiniteKernel Input Output) :\n FEP.NativeBlanket.embeddedLaw (kernel.predictive prior) =\n FEP.NativeBlanket.embeddedKernel kernel ∘ₘ\n FEP.NativeBlanket.embeddedLaw prior", "statement_sha256": "4b8fd2ec0e2035b7d275d1a03fd8b28d3cb0b2ff8d9945ed8b32f15024636f81" }, @@ -229001,7 +229001,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep138.FEP138.fep138_staticJoint_rectangle_factorization", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep138_staticJoint_rectangle_factorization\n (model : StaticModel Internal Sensory Active External)\n (blanket : Blanket Sensory Active) (internal : Internal)\n (external : External) :\n FEP.NativeBlanket.embeddedLaw (staticJoint model)\n (FEP.NativeBlanket.blanketCoordinate ⁻¹' {blanket} ∩\n FEP.NativeBlanket.internalCoordinate ⁻¹' {internal} ∩\n FEP.NativeBlanket.externalCoordinate ⁻¹' {external}) =\n ENNReal.ofReal (model.blanketLaw blanket) *\n ENNReal.ofReal (model.internalGiven blanket internal) *\n ENNReal.ofReal (model.externalGiven blanket external)", "statement_sha256": "7315ac00d3c4dc9158de424dd0bf81d0ad8b5104c85861fedb7361264839f12f" }, @@ -229156,7 +229156,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep139.FEP139.fep139_correlatedBlanket_nonvacuous", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep139_correlatedBlanket_nonvacuous :\n letI : MeasurableSpace Bool := ⊤\n CondIndepFun\n (MeasurableSpace.comap FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n FEP.NativeBlanket.internalCoordinate\n FEP.NativeBlanket.externalCoordinate\n (FEP.NativeBlanket.embeddedLaw\n (staticJoint FEP.NativeBlanket.correlatedBlanketModel)) ∧\n staticJoint FEP.NativeBlanket.correlatedBlanketModel\n (((false, false), false), false) = 1 / 2 ∧\n staticJoint FEP.NativeBlanket.correlatedBlanketModel\n (((true, true), true), true) = 1 / 2 ∧\n staticJoint FEP.NativeBlanket.correlatedBlanketModel\n (((false, true), false), false) ≠ 1 / 2", "statement_sha256": "4902114c5ed24f575f046e85f6bafca1e14f2de0742aa01faffcad11c63bd358" }, @@ -229322,7 +229322,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep139.FEP139.fep139_staticJoint_condIndepFun", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep139_staticJoint_condIndepFun\n (model : StaticModel Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n FEP.NativeBlanket.internalCoordinate\n FEP.NativeBlanket.externalCoordinate\n (FEP.NativeBlanket.embeddedLaw (staticJoint model))", "statement_sha256": "5f07d04f71194ee3898cb7f036073a14347891e41e68072e20765a400de2d8d5" }, @@ -229555,7 +229555,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep140.FEP140.fep140_condIndepFun_measurableImages", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep140_condIndepFun_measurableImages\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 FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n (internalImage ∘ FEP.NativeBlanket.internalCoordinate)\n (externalImage ∘ FEP.NativeBlanket.externalCoordinate)\n (FEP.NativeBlanket.embeddedLaw (staticJoint model))", "statement_sha256": "8f1d3d43d43e65e7b9eb686f790751b0f7ba674e87f893318183fdb611fe031e" }, @@ -229731,7 +229731,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep141.FEP141.fep141_prediction_preserves_nativeBlanket", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "source_owner": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "statement": "theorem fep141_prediction_preserves_nativeBlanket\n (dynamics : Dynamics Internal Sensory Active External)\n (current : DynamicState Internal Sensory Active External) :\n CondIndepFun\n (MeasurableSpace.comap FEP.NativeBlanket.blanketCoordinate inferInstance)\n FEP.NativeBlanket.blanketCoordinate_measurable.comap_le\n FEP.NativeBlanket.internalCoordinate\n FEP.NativeBlanket.externalCoordinate\n (FEP.NativeBlanket.embeddedLaw\n (staticJoint (nextStaticModel dynamics current)))", "statement_sha256": "c642ab9be26cd9491e9c062dd0bf7df8d3863593a3e8e10fbeda5c6cee65aa40" }, @@ -229811,7 +229811,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep142.FEP142.fep142_exponentialFamily_pointwise_pos", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep142_exponentialFamily_pointwise_pos\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) :\n 0 < family.law parameter outcome", "statement_sha256": "98c54365f1dce582a3787f94c5eae48ace16575b1533be11f01ff32f04be9456" }, @@ -229881,7 +229881,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep142.FEP142.fep142_exponentialFamily_sum_one", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep142_exponentialFamily_sum_one\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n ∑ outcome, family.law parameter outcome = 1", "statement_sha256": "2c6a5bbdf1383df2da2230f35b0bb47413b38a76462070fa266a8add76a2a29c" }, @@ -229962,7 +229962,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep143.FEP143.fep143_logDensityRatio_eq", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep143_logDensityRatio_eq\n (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": "485d40c679cc88bf9ddbbe513516d0a46b0077fae3a24bb38550444b5f0041c5" }, @@ -230032,7 +230032,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep144.FEP144.fep144_logPartition_hasDerivAt", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep144_logPartition_hasDerivAt\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.logPartition (family.mean parameter) parameter", "statement_sha256": "537ddb500e88078866997639cc3787dbe3d37fdc1301c31c00dcc175b3a4454e" }, @@ -230118,7 +230118,7 @@ ], "qualified_name": "fep_fep145.FEP145.fep145_score_eq_statistic_sub_mean", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep145_score_eq_statistic_sub_mean\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) :\n family.score parameter outcome =\n family.statistic outcome - family.mean parameter", "statement_sha256": "11d5c6466849fd69bd7e82d016854bfa45d541bf78a45ceb8af853403d2367b3" }, @@ -230194,7 +230194,7 @@ ], "qualified_name": "fep_fep145.FEP145.fep145_score_mean_zero", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep145_score_mean_zero\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n ∑ outcome,\n family.law parameter outcome * family.score parameter outcome = 0", "statement_sha256": "e09fcb01e89d61f122a64948f24388b434b78ed330c6df20cf1af351e5ddfce5" }, @@ -230275,7 +230275,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_constantStatistic_zero_boundary", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_constantStatistic_zero_boundary\n (base : Outcome → ℝ) (hBase : ∀ outcome, 0 < base outcome)\n (constant parameter : ℝ) :\n (ScalarExponentialFamily.constantStatisticFamily base hBase constant).fisher\n parameter = 0", "statement_sha256": "7d0498e5430e26c87941930ef14685381fba91a656dfea62f398bbf80fc1b826" }, @@ -230345,7 +230345,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_fisher_eq_variance", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_fisher_eq_variance\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n family.fisher parameter = family.variance parameter", "statement_sha256": "d6f43d313ca9334bf5678a9fd60ab66a3ababafc294908ea42cee31823cea1d3" }, @@ -230415,7 +230415,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_logPartition_secondDeriv_eq_variance", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_logPartition_secondDeriv_eq_variance\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ) :\n HasDerivAt family.mean (family.variance parameter) parameter", "statement_sha256": "5c08230fa5b758448eff3d0f9608f00f22c4ae1837682f1d523c5e29487096a0" }, @@ -230464,7 +230464,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep146.FEP146.fep146_threeState_variance_positive", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep146_threeState_variance_positive :\n 0 < ScalarExponentialFamily.threeStateFamily.variance 0", "statement_sha256": "ee06e5ff46a4691279b6799d47759c5312fb569a6b0ec9f20e3112602ca50ea9" }, @@ -230535,7 +230535,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep147.FEP147.fep147_exponentialFamily_KL_eq_bregman", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep147_exponentialFamily_KL_eq_bregman\n (family : ScalarExponentialFamily Outcome) (left right : ℝ) :\n finiteKL (family.law left) (family.law right) =\n family.logPartitionBregman left right", "statement_sha256": "577c4809f7bd4f06b5b30f84dd2854c730d263bf943bef8387765abf47ccbb83" }, @@ -230615,7 +230615,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep147.FEP147.fep147_exponentialFamily_fullSupport", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep147_exponentialFamily_fullSupport\n (family : ScalarExponentialFamily Outcome) (parameter : ℝ)\n (outcome : Outcome) :\n 0 < family.law parameter outcome", "statement_sha256": "230a5f414967870cc9f3ea933a02a8a036a7a82b7320e08f939e0ab87e606614" }, @@ -230696,7 +230696,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep148.FEP148.fep148_meanParameter_injective", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep148_meanParameter_injective\n (family : ScalarExponentialFamily Outcome) {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": "3642b84053853a49eea2b9cfe65600750113b027eaa3adaaf04d1746edf9ac7f" }, @@ -230777,7 +230777,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep148.FEP148.fep148_meanParameter_strictMono", "source_line": 11, - "source_owner": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "source_owner": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "statement": "theorem fep148_meanParameter_strictMono\n (family : ScalarExponentialFamily Outcome) {lower upper : ℝ}\n (hVariance : ∀ parameter ∈ Set.Icc lower upper,\n 0 < family.variance parameter) :\n StrictMonoOn family.mean (Set.Icc lower upper)", "statement_sha256": "2386b608a85ad06337d6e227a56efb6e954ccaa7f31fa841be0ebec5f8e46493" }, @@ -230797,7 +230797,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep149.FEP149.fep149_benchmarkRates_exact", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep149_benchmarkRates_exact :\n TwoStateRates.benchmarkRates.forward = 0.7 ∧\n TwoStateRates.benchmarkRates.backward = 0.3", "statement_sha256": "0074e0e391a7be78f41761a9e2932aca09db97b3a9c705d62b0079a830a89378" }, @@ -230859,7 +230859,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep149.FEP149.fep149_twoStateSemigroup_nonnegative", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep149_twoStateSemigroup_nonnegative\n (rates : TwoStateRates) {time : ℝ} (hTime : 0 ≤ time)\n (source target : Bool) :\n 0 ≤ rates.transition time source target", "statement_sha256": "3af121c235fd13a44a365b7df52715524e33f5e90bfbc33be9203a003572a875" }, @@ -230910,7 +230910,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep149.FEP149.fep149_twoStateSemigroup_rowSum", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep149_twoStateSemigroup_rowSum\n (rates : TwoStateRates) (time : ℝ) (source : Bool) :\n ∑ target, rates.transition time source target = 1", "statement_sha256": "b7ee1ba49a8a773f5b2a62f99724ca45555e8a156cb7cc6a9fcf4652c5e1c824" }, @@ -230952,7 +230952,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep150.FEP150.fep150_twoStateSemigroup_zero", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep150_twoStateSemigroup_zero\n (rates : TwoStateRates) (source target : Bool) :\n rates.transition 0 source target = if source = target then 1 else 0", "statement_sha256": "93e5df3d1d1db00493b38a4a0b3bbe2184ed78ecbfd9de755f3fbb526932b66d" }, @@ -231005,7 +231005,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep151.FEP151.fep151_twoStateSemigroup_add", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep151_twoStateSemigroup_add\n (rates : TwoStateRates) (left right : ℝ) (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": "a4467057b3fa962f265b1e642db38676920731c7cd2868e689f4259e3f6c1ebb" }, @@ -231057,7 +231057,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep152.FEP152.fep152_twoStateSemigroup_hasDerivAt", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep152_twoStateSemigroup_hasDerivAt\n (rates : TwoStateRates) (time : ℝ) (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": "4dd0da2b184ebac3bfb95a163753ac1ad66460d10bfc719b6e85784e4b6f5f66" }, @@ -231109,7 +231109,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep153.FEP153.fep153_twoStateSemigroup_detailedBalance", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep153_twoStateSemigroup_detailedBalance\n (rates : TwoStateRates) (time : ℝ) (source target : Bool) :\n rates.stationaryLaw source * rates.transition time source target =\n rates.stationaryLaw target * rates.transition time target source", "statement_sha256": "dc3ff53a03e4afbe7b3ed465ef3cdc272cfab3b051634147ffbfb4221909afff" }, @@ -231160,7 +231160,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep153.FEP153.fep153_twoStateSemigroup_stationary", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep153_twoStateSemigroup_stationary\n (rates : TwoStateRates) (time : ℝ) (target : Bool) :\n (∑ source,\n rates.stationaryLaw source * rates.transition time source target) =\n rates.stationaryLaw target", "statement_sha256": "e2942d429f630b0cdb62591f2ae5d64facbcd0fb4eaed647c00b5504b373e48e" }, @@ -231180,7 +231180,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep154.FEP154.fep154_benchmarkInitial_nonstationary", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep154_benchmarkInitial_nonstationary :\n TwoStateRates.benchmarkInitial true ≠\n TwoStateRates.benchmarkRates.stationaryTrue", "statement_sha256": "c963ea99a69a9e612166b530159d837241a2e99c90804e97e6cb747d1679762c" }, @@ -231231,7 +231231,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep154.FEP154.fep154_twoStateRelaxation_exact", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep154_twoStateRelaxation_exact\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :\n rates.trueMass initial time - rates.stationaryTrue =\n rates.rho time * (initial true - rates.stationaryTrue)", "statement_sha256": "b3e8e19848c4a5cb8c923fe882fb24259c610d1f1c616725d11a36a011532a0c" }, @@ -231251,7 +231251,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep155.FEP155.fep155_benchmarkLyapunov_strictlyDecreasing", "source_line": 25, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep155_benchmarkLyapunov_strictlyDecreasing :\n -2 * TwoStateRates.benchmarkRates.decayRate *\n TwoStateRates.benchmarkRates.lyapunov\n TwoStateRates.benchmarkInitial 0 < 0", "statement_sha256": "493971e4771c756cf9a5ec96ced716c2a0e44915de19a8b8cb01299c3a978935" }, @@ -231302,7 +231302,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep155.FEP155.fep155_twoStateLyapunov_exact", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep155_twoStateLyapunov_exact\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :\n rates.lyapunov initial time =\n rates.rho time ^ 2 *\n (initial true - rates.stationaryTrue) ^ 2", "statement_sha256": "086618cb9fcd16ed6bc31eabf24b681a35e9c14b1e28829da05a4d77fd0d03a4" }, @@ -231353,7 +231353,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep155.FEP155.fep155_twoStateLyapunov_hasDerivAt", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "source_owner": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "statement": "theorem fep155_twoStateLyapunov_hasDerivAt\n (rates : TwoStateRates) (initial : FiniteLaw Bool) (time : ℝ) :\n HasDerivAt (rates.lyapunov initial)\n (-2 * rates.decayRate * rates.lyapunov initial time) time", "statement_sha256": "c91d356bcb73f0348df78ccb839b9916233c8e267ec50740ff262c2b4c2dc701" }, @@ -231477,7 +231477,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_argminEFE_eq_risk_add_ambiguity", "source_line": 71, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "fd2e9424d038ccdecf61782d6d04ac263148ac8e18bb051583cba6839dfcc2d8" }, @@ -231621,7 +231621,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimal_value", "source_line": 30, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "23af393336570f87cd57abe8efd005733fa86771d7f004bc8ad69b8b723a72f3" }, @@ -231775,7 +231775,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_boltzmann_control_posterior_minimizes_efe", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "c0908aa4276132837913ff79174d26dbc64763295a709038ff2061ff94ea8fbb" }, @@ -231929,7 +231929,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_efeControlObjective_eq_gibbsFreeEnergy", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "e90a9994abcf9174ee783c98254db5bff4df9b95b86b22d6ecbb81a85d5c6912" }, @@ -232083,7 +232083,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_efeControlObjective_eq_kl_sub_logPartition", "source_line": 49, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "7b36d36524cbfba2b74c931c9e177da3a52390f950c0bb781c386625869d8247" }, @@ -232237,7 +232237,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_efeControlObjective_sub_eq_kl", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "0c5d166f8f03e106ef8694be90bb5afdfd3b35834a3e0667a69b2e7346f8d06e" }, @@ -232349,7 +232349,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_exists_EFE_minimizing_policy", "source_line": 94, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "ce04ebd9b77162c985f7ab4cef2019388a0c33b554483d9204aaed4e9abebd6f" }, @@ -232481,7 +232481,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_finiteArgminEFE_minimizes_risk_add_ambiguity", "source_line": 84, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "bdb96df5583cf7ee8487d045e541973ef31d74577ddd7f7578ffa9e857ccfc43" }, @@ -232613,7 +232613,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep156.FEP156.fep156_policyTree_value_agreement", "source_line": 104, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep156_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": "da8c784e4e4dd371890e47f86de803171f3bd9588f75e5a07fb42c6a385d9e31" }, @@ -232736,7 +232736,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_filteredBelief_eq_forwardFilter", "source_line": 147, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_filteredBelief_eq_forwardFilter [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n filteredBelief model belief outcome hEvidence =\n forwardFilter belief FiniteKernel.identity model.likelihood outcome\n (identity_forwardEvidence belief outcome FiniteKernel.identity rfl\n model.likelihood hEvidence)", "statement_sha256": "86127cf410a7bf8fecf0f92eaa80793c7d459c939ee2e32a44d4f30558d05f4a" }, @@ -232853,7 +232853,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_loop_fixed_point_is_boltzmann", "source_line": 129, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_loop_fixed_point_is_boltzmann (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) (energy : ℝ)\n (hflat : ∀ policy, expectedFreeEnergy model policy = energy) :\n policyPosterior precision model support = model.policyPrior", "statement_sha256": "96a369c3e73ee70da36ac672c8a16f18502b2c843e406cf7e6185cf6a2eaea8d" }, @@ -232978,7 +232978,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_loop_invariant_surprisal_bound", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_loop_invariant_surprisal_bound [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome)\n (support : FullSupport (withInitialState model\n (filteredBelief model belief outcome hEvidence))) :\n -Real.log (model.likelihood.predictive belief outcome) ≤\n perceptionVFE model belief outcome hEvidence belief ∧\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence) ∧\n expectedFreeEnergy\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) =\n risk (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence)) +\n ambiguity\n (withInitialState model (filteredBelief model belief outcome hEvidence))\n (selectedPolicy model (filteredBelief model belief outcome hEvidence))", "statement_sha256": "298db1292b9c9a86781b2a62ba64881d7727ac80b090a154ab74d6927d0fd6a9" }, @@ -233111,7 +233111,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perceptionActionKernel_apply", "source_line": 170, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perceptionActionKernel_apply [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (hEvidence : ∀ o : Outcome, 0 < model.likelihood.predictive belief o)\n (outcome : Outcome) (state : State) :\n perceptionActionKernel model belief hEvidence outcome state =\n perceptionActionStep model belief outcome (hEvidence outcome) state", "statement_sha256": "36d327bcc1c4fad33bf3d1c3a5db9f1427b023a09aad502adff899428e66ba2d" }, @@ -233234,7 +233234,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perceptionActionStep_eq", "source_line": 159, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perceptionActionStep_eq [Nonempty Policy] [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionActionStep model belief outcome hEvidence =\n (model.transition (selectedPolicy model\n (filteredBelief model belief outcome hEvidence))).predictive\n (filteredBelief model belief outcome hEvidence)", "statement_sha256": "626c057faa432bac843c3a703e3fb71018ea6c36bd969d609fcea399bcb5da2c" }, @@ -233341,7 +233341,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perceptionVFE_gap", "source_line": 108, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perceptionVFE_gap\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (outcome : Outcome)\n (hEvidence : 0 < model.likelihood.predictive belief outcome) :\n perceptionVFE model belief outcome hEvidence belief =\n -Real.log (model.likelihood.predictive belief outcome) +\n finiteKL belief (filteredBelief model belief outcome hEvidence)", "statement_sha256": "0431ec5156934ae64b5ffec6a68c93b89a0563ede9f3a81bd6e949f6fcad5cb9" }, @@ -233457,7 +233457,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perception_kl_decomposition", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perception_kl_decomposition\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n finiteKL actual reference =\n finiteKL (model.likelihood.predictive actual)\n (model.likelihood.predictive reference) +\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o))", "statement_sha256": "8d80fc2bc81d6fe7624a46ad437c551b8e9086a8924dcffd81ee906cbd2105b7" }, @@ -233577,7 +233577,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perception_native_kl_nonincrease", "source_line": 78, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perception_native_kl_nonincrease\n [MeasurableSpace State] [MeasurableSpace Outcome]\n [DiscreteMeasurableSpace State] [DiscreteMeasurableSpace Outcome]\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State) :\n InformationTheory.klDiv\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive actual))\n (FEP.NativeBlanket.embeddedLaw (model.likelihood.predictive reference)) ≤\n InformationTheory.klDiv (FEP.NativeBlanket.embeddedLaw actual)\n (FEP.NativeBlanket.embeddedLaw reference)", "statement_sha256": "f2c42b78cdc39651c0f191f1991c52cd445294de19226755e817369bb4a5d4de" }, @@ -233693,7 +233693,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_perception_step_kl_nonincrease", "source_line": 62, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_perception_step_kl_nonincrease\n (model : GenerativeModel Policy State Outcome)\n (actual reference : FiniteLaw State)\n (hReference : ∀ s, 0 < reference s)\n (hLikelihood : ∀ s o, 0 < model.likelihood s o) :\n ∑ o : Outcome, model.likelihood.predictive actual o *\n finiteKL\n (filteredBelief model actual o\n (predictive_pos_of_fullLikelihood model actual hLikelihood o))\n (filteredBelief model reference o\n (predictive_pos_of_fullLikelihood model reference hLikelihood o)) ≤\n finiteKL actual reference", "statement_sha256": "f450a5fb4a5c9f04af3f7afce795c89de33883423aad3463c089bea08c39e8b4" }, @@ -233790,7 +233790,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_policyPosterior_eq_controlPosterior", "source_line": 119, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_policyPosterior_eq_controlPosterior (precision : ℝ)\n (model : GenerativeModel Policy State Outcome)\n (support : FullSupport model) :\n policyPosterior precision model support =\n controlPosterior model.policyPrior precision (expectedFreeEnergy model)", "statement_sha256": "912187d1d1b7e655eb64438b6537df13e4106f8faf6649a5f9f7a7e0610e1481" }, @@ -233907,7 +233907,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_posteriorKernel_joint_eq_swap", "source_line": 180, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_posteriorKernel_joint_eq_swap\n (model : GenerativeModel Policy State Outcome) (prior : FiniteLaw State)\n (hEvidence : ∀ o, 0 < model.likelihood.predictive prior o)\n (o : Outcome) (s : State) :\n (posteriorKernel model prior hEvidence).joint\n (model.likelihood.predictive prior) (o, s) =\n (model.likelihood.joint prior) (s, o)", "statement_sha256": "0e50cb2cc7c108d5f54e5f02b8e2263d0a7a24b8cc108bf776a17b594d7bf998" }, @@ -234033,7 +234033,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_prediction_dobrushin_contraction", "source_line": 93, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_prediction_dobrushin_contraction [DecidableEq State]\n (model : GenerativeModel Policy State Outcome) (policy : Policy)\n {coefficient : ℝ}\n (hBound : FEP.FiniteMarkovDynamics.HasDobrushinBound\n (model.transition policy) coefficient)\n (left right : FiniteLaw State) :\n FEP.FiniteMarkovDynamics.totalVariation\n ((model.transition policy).predictive left)\n ((model.transition policy).predictive right) ≤\n coefficient * FEP.FiniteMarkovDynamics.totalVariation left right", "statement_sha256": "c8b90eeb6a44ac35e54b08e5904ad2e5354d9a407d1e833ae42fcf31095d3c6a" }, @@ -234138,7 +234138,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep157.FEP157.fep157_selectedPolicy_minimizes", "source_line": 137, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep157_selectedPolicy_minimizes [Nonempty Policy]\n (model : GenerativeModel Policy State Outcome) (belief : FiniteLaw State)\n (alternative : Policy) :\n expectedFreeEnergy (withInitialState model belief)\n (selectedPolicy model belief) ≤\n expectedFreeEnergy (withInitialState model belief) alternative", "statement_sha256": "f8c07c67ad067c1b9d5518f39caddf89cb8048aa3db60bb903a947e47e8744c2" }, @@ -234217,7 +234217,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_gaussianLogBayesFactor_eq", "source_line": 114, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_gaussianLogBayesFactor_eq (family : FixedVarianceGaussian)\n (natural x : ℝ) :\n Real.log\n (gaussianPDFReal (family.naturalToMean natural) family.variance x /\n gaussianPDFReal 0 family.variance x) =\n natural * x - family.naturalLogPartition natural", "statement_sha256": "82af48b2a7acb042df9855062cf8ce2d66d835f229e7118238f56be9ed496ec1" }, @@ -234295,7 +234295,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_gibbsFreeEnergy_eq_neg_dvObjective", "source_line": 87, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_gibbsFreeEnergy_eq_neg_dvObjective (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand = -dvObjective c cand", "statement_sha256": "cb232f4ceedafce42896d8ab149d560deb030ab5d1637a430fad486a93fc6fc7" }, @@ -234403,7 +234403,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_maskedEvidence_le_predictive", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_maskedEvidence_le_predictive (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1) :\n maskedEvidence prior weight kernel data ≤ kernel.predictive prior data", "statement_sha256": "27aa48f00de3d4e3021f96ad758029eb954fdee873e72e6bdbfe37374f8b1d9d" }, @@ -234521,7 +234521,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_maskedPrior_predictive_eq", "source_line": 32, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_maskedPrior_predictive_eq (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x) :\n kernel.predictive (maskedPrior prior weight hw hZ) data =\n maskedEvidence prior weight kernel data / ∑ y, weight y * prior y", "statement_sha256": "48295afb4c2ed087dc62e1dbc20cac7695cc26abe832fbf18d261a7991a21808" }, @@ -234679,7 +234679,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduced_posterior_reconstructs", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduced_posterior_reconstructs (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hP : 0 < kernel.predictive prior data)\n (hE : 0 < maskedEvidence prior weight kernel data)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x =\n FiniteKernel.posterior prior kernel data hP x * weight x *\n (kernel.predictive prior data /\n maskedEvidence prior weight kernel data)", "statement_sha256": "63b37ee05cf03ad300e55a3d65335e76de050f533328dcb77e43ef927a0fc864" }, @@ -234757,7 +234757,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_free_energy_change_eq_kl", "source_line": 94, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_free_energy_change_eq_kl (c : GibbsCertificate Parameter)\n (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c cand - gibbsFreeEnergy c c.optimizer =\n finiteKL cand c.optimizer", "statement_sha256": "2b041b09ea067b0bd4025bba3d601920fab15d471eb7e7dcc9182175baf021d4" }, @@ -234875,7 +234875,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_free_energy_monotone", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_free_energy_monotone (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw1 : ∀ x, weight x ≤ 1)\n (hE : 0 < maskedEvidence prior weight kernel data) :\n evidenceFreeEnergy (kernel.predictive prior data) ≤\n evidenceFreeEnergy (maskedEvidence prior weight kernel data)", "statement_sha256": "a3f9effd459c88bb8702bff10e61e4d3288d040f57bf2a6181ca8bdcd3c010a8" }, @@ -234953,7 +234953,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_free_energy_monotone_gibbs", "source_line": 103, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_free_energy_monotone_gibbs\n (c : GibbsCertificate Parameter) (cand : FiniteLaw Parameter) :\n gibbsFreeEnergy c c.optimizer ≤ gibbsFreeEnergy c cand", "statement_sha256": "7fdf866afb3b222cf0ca7cd8daeca74fe8246c47e5758ffca81e946752929643" }, @@ -235092,7 +235092,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_posterior_odds", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_posterior_odds (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x y : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n (weight y * prior y * kernel y data) =\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy y *\n (weight x * prior x * kernel x data)", "statement_sha256": "bd2c2ae2e3e00ad2b9c7814b7ee1e2328c9ad31cf43fd346cb0b79abaafeb19a" }, @@ -235230,7 +235230,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep158.FEP158.fep158_reduction_posterior_reconstruction", "source_line": 42, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep158_reduction_posterior_reconstruction (prior : FiniteLaw Parameter)\n (weight : Parameter → ℝ) (kernel : FiniteKernel Parameter Evidence)\n (data : Evidence) (hw : ∀ x, 0 ≤ weight x)\n (hZ : 0 < ∑ x, weight x * prior x)\n (hy : 0 < kernel.predictive (maskedPrior prior weight hw hZ) data)\n (x : Parameter) :\n FiniteKernel.posterior (maskedPrior prior weight hw hZ) kernel data hy x *\n maskedEvidence prior weight kernel data =\n weight x * prior x * kernel x data", "statement_sha256": "c59f9e9b51d740e3fde42e5f3a462c1e47238c19938be3513ad3846a30158d87" }, @@ -235308,7 +235308,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_beliefAffinity_eq_localAffinity", "source_line": 82, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_beliefAffinity_eq_localAffinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 < time) :\n beliefAffinity rates belief =\n localAffinity belief (rates.certifiedSemigroup.kernel time hTime.le) false true", "statement_sha256": "2b972a1c69d8094df913a3b95e759465af9f99fec47213d17fd42829fd2ab007" }, @@ -235396,7 +235396,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_epistemicGain_rateScaling", "source_line": 106, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_epistemicGain_rateScaling (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (time : ℝ) (hTime : 0 ≤ time) (eps : ℝ) (heps : 0 < eps) :\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤\n Real.exp (-(rates.decayRate / eps) * time) ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "3de3b9596a49894b25aa26186e7ee65a8339fcc4bfc5a4b915235c299efd4448" }, @@ -235454,7 +235454,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_epistemic_gain_bounded_by_affinity", "source_line": 13, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_epistemic_gain_bounded_by_affinity (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i) :\n finiteKL belief rates.stationaryLaw ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "a6d4d8fc041fc51da373de78f7cabf8ef9ebcdce587ef8d264e9675e12b9df9d" }, @@ -235542,7 +235542,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_expectedFreeEnergy_le_productionRate_div_decayRate", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_expectedFreeEnergy_le_productionRate_div_decayRate (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy ≤\n productionRate rates belief / rates.decayRate", "statement_sha256": "8e33948d73eecf0b41180d75da0e5eb4c5bd2ad7c9c415376f1c8d4d602e5122" }, @@ -235610,7 +235610,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_fastRelaxation_epistemic_vanishes", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_fastRelaxation_epistemic_vanishes (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps : ℝ, 0 < eps ∧ ∀ (hTime : 0 ≤ time) (heps : 0 < eps),\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "b71babe02b1abe824e2f6f01e9b4a02f4c0e3e18976bd29d5cd67cfed8858300" }, @@ -235678,7 +235678,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_fastRelaxation_eventually_small", "source_line": 54, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_fastRelaxation_eventually_small (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n ∀ δ : ℝ, 0 < δ → ∃ eps0 : ℝ, 0 < eps0 ∧\n ∀ eps : ℝ, ∀ heps : 0 < eps, eps ≤ eps0 → ∀ hTime : 0 ≤ time,\n epistemicGain (scaledRates rates eps heps) belief time hTime ≤ δ", "statement_sha256": "b5ac80d4e0b48c03c030b1957e227c551507650b56fe4e22d75e7fed8e94ac87" }, @@ -235746,7 +235746,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_fastRelaxation_tendsto", "source_line": 63, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_fastRelaxation_tendsto (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hpos : 0 < time) :\n Filter.Tendsto (FEP.TimeScaleEFE.positiveScaledEpistemicGain rates belief time hpos.le)\n (nhdsWithin 0 (Set.Ioi 0)) (nhds 0)", "statement_sha256": "861665b71c349a5e7ce8fdaa7557f76911ec534792e67bfc967fca18dfb1fae7" }, @@ -235804,7 +235804,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_productionRate_nonneg", "source_line": 90, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_productionRate_nonneg (rates : TwoStateRates) (belief : FiniteLaw Bool)\n (hSupport : ∀ i, 0 < belief i) : 0 ≤ productionRate rates belief", "statement_sha256": "453786c738c321086a841db3194af7f56501d38e580cc36a35b9b46edab2adba" }, @@ -235892,7 +235892,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_slicePath_entropyProduction_eq", "source_line": 73, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_slicePath_entropyProduction_eq (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (hpos : 0 < time) :\n entropyProduction (slicePathProtocol rates belief time hTime)\n = (1 - rates.rho time) * productionRate rates belief / rates.decayRate", "statement_sha256": "8aa7956815c2eb359a396b8bbb6e375c90d3d4423981516e46ac6f1c93b34372" }, @@ -235960,7 +235960,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_slow_fast_separation_statement", "source_line": 34, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_slow_fast_separation_statement (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (time : ℝ) (hTime : 0 ≤ time) :\n epistemicGain rates belief time hTime ≤\n rates.rho time ^ 2 *\n ((belief true - rates.stationaryTrue) ^ 2 /\n (rates.stationaryTrue * rates.stationaryFalse))", "statement_sha256": "46f41ab66397c6bab5e391658ad50e72dab03708dc1f4f26a08cc3f9727d976c" }, @@ -236048,7 +236048,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep159.FEP159.fep159_twoStateModel_expectedFreeEnergy", "source_line": 97, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep159_twoStateModel_expectedFreeEnergy (rates : TwoStateRates)\n (belief : FiniteLaw Bool) (hSupport : ∀ i, 0 < belief i)\n (time : ℝ) (hTime : 0 ≤ time) (policy : Bool) :\n expectedFreeEnergy (twoStateModel rates belief time hTime) policy =\n epistemicGain rates belief time hTime", "statement_sha256": "856221f3f073fc3dff4400e1ef3b1299a2742fae5826ae065bf606bc0b74e25e" }, @@ -236138,7 +236138,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_aoDecomposition", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_aoDecomposition {rate : State → State → ℝ}\n {law : FiniteLaw State} (hSupport : ∀ i, 0 < law i) (i j : State) :\n rate i j = symmetricPart rate law i j + circulationPart rate law i j", "statement_sha256": "04c0daa50dc47a82ba9fdba2e77a485f5bd055d60841fda323db08cb4b04ea55" }, @@ -236228,7 +236228,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_circulationPart_skew", "source_line": 56, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_circulationPart_skew {rate : State → State → ℝ}\n {law : FiniteLaw State} (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": "4fee811292ddeccbd962c64d62afa740f6a7fbce594fa39e71467757d61a1c9e" }, @@ -236327,7 +236327,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_circulation_divergence_zero", "source_line": 115, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "99c8b64e7ce5c1da1a5f3fb5e4a74d6d1b8ee5a5b211d9666bd649b7f17a6c98" }, @@ -236417,7 +236417,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_current_eq_twice_circulation", "source_line": 72, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "bab1cc4e34e66826c1e768336d0fd36e75b03d01074a5784514ac39ffa5b89de" }, @@ -236465,7 +236465,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_cycle_ao_ness", "source_line": 126, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "aa5b880f2cf5c1407fe6a5fe89cea4ace10e14c022c04c315a3f0b4b3850e1f1" }, @@ -236544,7 +236544,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_detailedBalanced_iff_circulation_eq_zero", "source_line": 88, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_detailedBalanced_iff_circulation_eq_zero\n {rate : State → State → ℝ} {law : FiniteLaw State}\n (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": "d1c875431b0a0fc5bbbd43fcde5b8de4634d2f2dd21c4280f3eab9e51c8911a3" }, @@ -236654,7 +236654,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_forceSplit", "source_line": 96, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "ea56f2f3352b6e5170ae72915af259038daccf1d3d83a07bb3a8510729430d2a" }, @@ -236744,7 +236744,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_probabilityCurrent_eq_twice_circulation", "source_line": 47, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "aafc52e1b9df3cc9490024ac1978241bc1c09def4e17db99f455f88880e9614f" }, @@ -236826,7 +236826,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_skewQuadratic_eq_zero", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_skewQuadratic_eq_zero {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0", "statement_sha256": "8ffe30fbe5bb4b5840a0139be708c42ce5afe63284365b0fdae7ee8c5b28af7d" }, @@ -236909,7 +236909,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_skewTrace_eq_zero", "source_line": 18, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_skewTrace_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0", "statement_sha256": "535583c333d49863f3ebe6a6e91ec0ab2cbfa36a894eaa6a32a66c5c5224a42d" }, @@ -236998,7 +236998,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_stationaryCurrent_divergence_zero", "source_line": 107, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "a1431b0e9235dc82c5f75c69f06705adc408f0709b343bbd5d28481fa753f580" }, @@ -237088,7 +237088,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_symmetricPart_current_eq_zero", "source_line": 79, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "63c3653bd8e2d56f8563da8096f6f3b23ad765ddf89dd7cdfb753cffbb2f5be4" }, @@ -237178,7 +237178,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep160.FEP160.fep160_symmetricPart_reversible", "source_line": 64, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep160_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": "1e57633728e377993ddb3ee6fade21497153b120bc2d3739da1233a86fd56df6" }, @@ -237246,7 +237246,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep161.FEP161.fep161_skewQuadratic_eq_zero", "source_line": 16, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep161_skewQuadratic_eq_zero {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) (hQ : SkewSymmetric Q) : dot g (mulVec Q g) = 0", "statement_sha256": "d7efecb5e02404db4fe7d261f083faa0a98d6382c5f5f51782dd518a6c765679" }, @@ -237315,7 +237315,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep161.FEP161.fep161_skewTrace_eq_zero", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep161_skewTrace_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H) : traceOf (mulOf Q H) = 0", "statement_sha256": "0ca4766d398444a5f032eb5d8fd1c585307cde58b548af65d788c8ec26810096" }, @@ -237374,7 +237374,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep162.FEP162.fep162_skewTrace_symmetrize_eq_zero", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep162_skewTrace_symmetrize_eq_zero {n : ℕ} (Q H : Fin n → Fin n → ℝ)\n (hQ : SkewSymmetric Q) : traceOf (mulOf Q (symmetrize H)) = 0", "statement_sha256": "a93cfa7fdbc54095d83c890d1ba0c5ed1ebd19d29118d098fcd7be1695a30fee" }, @@ -237432,7 +237432,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep162.FEP162.fep162_symmetrize_of_symmetric", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep162_symmetrize_of_symmetric {n : ℕ} (H : Fin n → Fin n → ℝ)\n (hH : SymmetricOf H) : symmetrize H = H", "statement_sha256": "697f68427df410ed3ceca6c59c998bb0efb23eb9215399039d5fa7f520a52dcf" }, @@ -237480,7 +237480,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep162.FEP162.fep162_symmetrize_symmetric", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep162_symmetrize_symmetric {n : ℕ} (H : Fin n → Fin n → ℝ) :\n SymmetricOf (symmetrize H)", "statement_sha256": "c3138af5005b583c951acd659ef499b88d88fa5e7dd5b02b2880585adf9e0d64" }, @@ -237507,7 +237507,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_expansion_remainder_witness", "source_line": 48, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_expansion_remainder_witness :\n dot (divQ remainderDQ) remainderG = 1", "statement_sha256": "a0fae5d70187366b7140060950d949281dc691e8f349c1b1c8a087ff14503c68" }, @@ -237608,7 +237608,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_solenoidal_drop_of_constantQ", "source_line": 39, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_solenoidal_drop_of_constantQ {n : ℕ}\n (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (hconst : ∀ k l, DQ k l = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "15d04b0bad580094eb81b125561d9997e2b3e1403bd3eccf3b8379483f9f0018" }, @@ -237709,7 +237709,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_solenoidal_drop_of_orthogonal", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_solenoidal_drop_of_orthogonal {n : ℕ}\n (Q H DQ : Fin n → Fin n → ℝ) (g dlogp : Fin n → ℝ)\n (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) (horth : dot (divQ DQ) g = 0) :\n weightedDivergence Q H DQ g dlogp = 0", "statement_sha256": "0d793207941c37db5f55cca9bc84987df31168879cb91706b358acf4a63cc38b" }, @@ -237780,7 +237780,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_solenoidal_expansion", "source_line": 23, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_solenoidal_expansion {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) - dot g (mulVec Q g) + dot (divQ DQ) g", "statement_sha256": "ab74fca348286803a73d1a002578f7ac1ec0662faef978075ded5c63875f80fe" }, @@ -237841,7 +237841,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep163.FEP163.fep163_weightedDivergence_eq", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep163_weightedDivergence_eq {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) :\n weightedDivergence Q H DQ g dlogp\n = traceOf (mulOf Q H) + dot (divQ DQ) g + dot (mulVec Q g) dlogp", "statement_sha256": "fe2eecf2b95ded4efa72fdaec50a266350a85488a010081f371523e8b7f62056" }, @@ -237919,7 +237919,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_graphDecomposition", "source_line": 15, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_graphDecomposition {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) (hQ : SkewSymmetric Q) (i : Fin n) :\n nodeDiv (currentOf Q g) i = mulVec Q g i + g i * rowSum Q i", "statement_sha256": "630038c783a28e35eff4ef8f338eb0254f1b6c4d88b0b42bc5970a8b380e9b92" }, @@ -237987,7 +237987,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_nodeDiv_skew", "source_line": 9, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_nodeDiv_skew {n : ℕ} {Q : Fin n → Fin n → ℝ} (hQ : SkewSymmetric Q)\n (i : Fin n) : nodeDiv Q i = 2 * rowSum Q i", "statement_sha256": "f2ab8df235c07793dea48c82e8c7d6fe5ac65004f8bd9ff68e9e967e1b98b7a4" }, @@ -238085,7 +238085,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_weightedCurrent_div_eq", "source_line": 28, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_weightedCurrent_div_eq {n : ℕ} (Q : Fin n → Fin n → ℝ)\n (g : Fin n → ℝ) {p : Fin n → ℝ} (hQ : SkewSymmetric Q)\n (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p (currentOf Q g) i\n = mulVec Q g i + g i * rowSum Q i\n + g i * ∑ j, (1 - p j / p i) * Q j i", "statement_sha256": "2b8a445ffab880a4a23d3e3983a28bc3e55123353fe47f6ab9df863fc902995b" }, @@ -238163,7 +238163,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep164.FEP164.fep164_weightedNodeDiv_eq", "source_line": 21, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep164_weightedNodeDiv_eq {n : ℕ} (W : Fin n → Fin n → ℝ)\n {p : Fin n → ℝ} (hp : ∀ i, 0 < p i) (i : Fin n) :\n weightedNodeDiv p W i =\n nodeDiv W i + ∑ j, (1 - p j / p i) * W j i", "statement_sha256": "36e439231660d226bff44108d250768e4a129bbff476fcb12c141f2a6f74173e" }, @@ -238190,7 +238190,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witnessQ_skew", "source_line": 8, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witnessQ_skew : SkewSymmetric witnessQ", "statement_sha256": "c129d477327cc57dec588e30ab7921d6011c0035a29071107d7f97ab2849cf72" }, @@ -238217,7 +238217,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_current", "source_line": 12, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_current :\n mulVec witnessQ witnessG = fun i => if i = 0 then 0 else -1", "statement_sha256": "5f1c303c8fd161b2a32114d29a6b32e31fdffdf73ab24cf65d193665b3974e12" }, @@ -238244,7 +238244,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_divQ", "source_line": 17, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_divQ :\n nodeDiv witnessQ = fun i => if i = 0 then 2 else -2", "statement_sha256": "78658c1371acac8e2b84350e63296f1d6ff056df8a002c52b3f61c95776fde6d" }, @@ -238271,7 +238271,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_divergence", "source_line": 22, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_divergence :\n nodeDiv (currentOf witnessQ witnessG) = fun i => if i = 0 then 1 else -1", "statement_sha256": "3d75acfa6a7bbae81a62f8e44f21d147940201f55f571d3b063a256824a811f5" }, @@ -238298,7 +238298,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep165.FEP165.fep165_witness_drop_fails", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep165_witness_drop_fails : nodeDiv (currentOf witnessQ witnessG) 0 = 1", "statement_sha256": "574a92e35ffcc5eaf3daea03a05126909401309ebf4916e6a0f6da811819456d" }, @@ -238389,7 +238389,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_reversible_split_unique", "source_line": 24, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_reversible_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hRev : ∀ i j, law i * rate i j = law j * rate j i) :\n rate = symmetricPart rate law ∧ (∀ i j, circulationPart rate law i j = 0)", "statement_sha256": "bd869503b42c518a6caee9ca156220d44fc778750ed39cf53c6cf6b04004b006" }, @@ -238500,7 +238500,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_split_unique", "source_line": 14, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_split_unique\n (hSupport : ∀ i, 0 < law i)\n (hS : ∀ i j, law i * S i j = law j * S j i)\n (hA : ∀ i j, law i * A i j = -(law j * A j i))\n (hSum : ∀ i j, rate i j = S i j + A i j) :\n S = symmetricPart rate law ∧ A = circulationPart rate law", "statement_sha256": "384b4d16d47da2ea364315da5e73e0f800de1831dd266cc9838b58e8733fdd69" }, @@ -238570,7 +238570,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_circulation_negative", "source_line": 59, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_circulation_negative :\n circulationPart twoByTwoW twoByTwoLaw (1 : Fin 2) (0 : Fin 2) = -1 / 4", "statement_sha256": "fb5a68d1af0f50f44b3ee545bf24468b33892d5df3f698b6115a66b0a79c0aed" }, @@ -238640,7 +238640,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_circulation_nonzero", "source_line": 53, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_circulation_nonzero :\n circulationPart twoByTwoW twoByTwoLaw (0 : Fin 2) (1 : Fin 2) = 1 / 2", "statement_sha256": "61e1a1ac08c14a9977fcdd5d6907712c101d9b6bee77103513414370e62c7bfd" }, @@ -238710,7 +238710,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_predicates", "source_line": 37, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_predicates :\n (∀ i j : Fin 2, twoByTwoLaw i * twoByTwoS i j = twoByTwoLaw j * twoByTwoS j i) ∧\n (∀ i j : Fin 2,\n twoByTwoLaw i * twoByTwoA i j = -(twoByTwoLaw j * twoByTwoA j i)) ∧\n (∀ i j : Fin 2, twoByTwoW i j = twoByTwoS i j + twoByTwoA i j)", "statement_sha256": "9a58e18759e5e2286d87e0d555507bf38eace98d2af7d775262fdb45b29c8583" }, @@ -238780,7 +238780,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_split_canonical", "source_line": 46, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_split_canonical :\n twoByTwoS = symmetricPart twoByTwoW twoByTwoLaw ∧\n twoByTwoA = circulationPart twoByTwoW twoByTwoLaw", "statement_sha256": "b258b36eb7fdb83ccb452d2d867a667383ed1310e6ae9fa30573c2532ad24c85" }, @@ -238861,7 +238861,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep166.FEP166.fep166_twoByTwo_support", "source_line": 31, - "source_owner": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "source_owner": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "statement": "theorem fep166_twoByTwo_support (i : Fin 2) :\n 0 < twoByTwoLaw i", "statement_sha256": "751c58faff79bc4fb257043cf3db2cdbf9c9e6753fdddedd5a7fdc2855f0c4eb" }, @@ -238920,7 +238920,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_frobenius_pythagoras", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_frobenius_pythagoras {n : ℕ} (H S : Fin n → Fin n → ℝ)\n (hS : SymmetricOf S) :\n frobeniusSq (H - S)\n = frobeniusSq (H - symmetrize H) + frobeniusSq (symmetrize H - S)", "statement_sha256": "20643519ee3062d2daf404f20834a1394b2f8500ea0cc52e11fda70b8bab2ddb" }, @@ -238989,7 +238989,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_projection_unique", "source_line": 27, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_projection_unique {n : ℕ} (H S : Fin n → Fin n → ℝ)\n (hS : SymmetricOf S)\n (hmin : ∀ T : Fin n → Fin n → ℝ, SymmetricOf T →\n frobeniusSq (H - S) ≤ frobeniusSq (H - T)) :\n S = symmetrize H", "statement_sha256": "7205da507b35213a8f9a84407c895823a0af1a9156fb458e5efeac702f278a8d" }, @@ -239016,7 +239016,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_residual_example", "source_line": 36, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_residual_example :\n frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) = 1 / 2\n ∧ frobeniusSq (fep167ResidualH - symmetrize fep167ResidualH) ≠ 0", "statement_sha256": "665290b728f4e7c76b0ef6d0818f9b56790663129ed8de6d6fb62915c225f150" }, @@ -239075,7 +239075,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep167.FEP167.fep167_symmetrize_minimizes", "source_line": 19, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep167_symmetrize_minimizes {n : ℕ} (H S : Fin n → Fin n → ℝ)\n (hS : SymmetricOf S) :\n frobeniusSq (H - symmetrize H) ≤ frobeniusSq (H - S)\n ∧ (frobeniusSq (H - symmetrize H) = frobeniusSq (H - S) ↔ S = symmetrize H)", "statement_sha256": "00a3f91ffe4f1c79f57a239b6ee7819c8e2381f3a4ef8d458651ed50eb68e426" }, @@ -239166,7 +239166,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_absolute_budget", "source_line": 29, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_absolute_budget {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n abs (weightedDivergence Q H DQ g dlogp) * abs (weightedDivergence Q H DQ g dlogp)\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "093fb0825622b2fceea4cfdb410ae8145162f383dc1d535c49b44642f09e4acb" }, @@ -239193,7 +239193,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_equality_attained", "source_line": 41, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_equality_attained :\n (weightedDivergence witnessQ fep168AlignedH remainderDQ fep168AlignedG\n (fun i => -fep168AlignedG i)) ^ 2\n = dot (divQ remainderDQ) (divQ remainderDQ) * dot fep168AlignedG fep168AlignedG\n ∧ dot fep168AlignedG fep168AlignedG ≠ 0", "statement_sha256": "ca3efc39495b2a44d1fd3b0d77f1f5ee5964e78db900d02ee2e4fbac06bc797f" }, @@ -239284,7 +239284,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_remainder_sq_budget", "source_line": 20, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_remainder_sq_budget {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n (weightedDivergence Q H DQ g dlogp) ^ 2\n ≤ dot (divQ DQ) (divQ DQ) * dot g g", "statement_sha256": "439e0cde26cbcb40f2712cb501453691314966628e4603addfd7b9b1611a63f4" }, @@ -239375,7 +239375,7 @@ "preceding_scope_directives": [], "qualified_name": "fep_fep168.FEP168.fep168_weightedDivergence_eq_remainderDot", "source_line": 10, - "source_owner": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "source_owner": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "statement": "theorem fep168_weightedDivergence_eq_remainderDot {n : ℕ} (Q H DQ : Fin n → Fin n → ℝ)\n (g dlogp : Fin n → ℝ) (hQ : SkewSymmetric Q) (hH : SymmetricOf H)\n (hcoup : ∀ i, dlogp i = -g i) :\n weightedDivergence Q H DQ g dlogp = dot (divQ DQ) g", "statement_sha256": "727f8b080ba12460389afbff0a1dc76a49857551340cf7e538ed588fb87ff9b8" } @@ -239387,7 +239387,7 @@ { "aggregate_namespace": "fep_fep001.FEP001", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 3, "canonical_body_sha256": "08f829c94658a4fff1a9eef73e245f5c641da6e46a8ea6db8b580612221ba892", "canonical_namespace": "FEP001", @@ -239437,7 +239437,7 @@ { "aggregate_namespace": "fep_fep002.FEP002", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 5, "canonical_body_sha256": "b71cc98895024671592846057d44e3826f45e353e1e32707363636d1f504dbb3", "canonical_namespace": "FEP002", @@ -239491,7 +239491,7 @@ { "aggregate_namespace": "fep_fep003.FEP003", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "c9cfdfab87c9b5613f8fd2e08ca8c1f80681fd239001aaa6494c1e52194e0d68", "canonical_namespace": "FEP003", @@ -239542,7 +239542,7 @@ { "aggregate_namespace": "fep_fep004.FEP004", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 3, "canonical_body_sha256": "9101abb2cf0073571db62dc6adef6b77623434c4d2a25c6ae8241b393d470d95", "canonical_namespace": "FEP004", @@ -239592,7 +239592,7 @@ { "aggregate_namespace": "fep_fep005.FEP005", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "746b2db5f9e11f4b38445a085d58a4d756e97e1daa3f03b952729d61cf99ebf4", "canonical_namespace": "FEP005", @@ -239643,7 +239643,7 @@ { "aggregate_namespace": "fep_fep006.FEP006", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 4, "canonical_body_sha256": "b91bbe2b61ff3a354d6af75df90f9c3d492d9e6a01063e85822d1fb92dbd9eff", "canonical_namespace": "FEP006", @@ -239695,7 +239695,7 @@ { "aggregate_namespace": "fep_fep007.FEP007", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 7, "canonical_body_sha256": "0428730d3463363420087da0b8bddd28114d53e470ab8903731637253d143281", "canonical_namespace": "FEP007", @@ -239752,7 +239752,7 @@ { "aggregate_namespace": "fep_fep008.FEP008", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "0589ed42d0d6faa9899658c9a86b40f7a7ed759b3d2a11094a884d6dd7054920", "canonical_namespace": "FEP008", @@ -239804,7 +239804,7 @@ { "aggregate_namespace": "fep_fep009.FEP009", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 7, "canonical_body_sha256": "c350ce4b0b5d2a759d1891d7ff36f7e4e55389b1d668bbfa5703b1817274979c", "canonical_namespace": "FEP009", @@ -239861,7 +239861,7 @@ { "aggregate_namespace": "fep_fep010.FEP010", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 5, "canonical_body_sha256": "83a256f871bca849bef9c01effef893bc7f375b2a4fa66801dfae9039d3d7422", "canonical_namespace": "FEP010", @@ -239914,7 +239914,7 @@ { "aggregate_namespace": "fep_fep011.FEP011", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "79a1af603c1e4bfff4cf715cd3b723d2112f3a8f6c3a4e81d3710338d9dcf03c", "canonical_namespace": "FEP011", @@ -239972,7 +239972,7 @@ { "aggregate_namespace": "fep_fep012.FEP012", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "8fd07baaeb4ce29f5bbeb8257c4b3867614e34bcd7a0f1cf06632fd7ddf25eb4", "canonical_namespace": "FEP012", @@ -240030,7 +240030,7 @@ { "aggregate_namespace": "fep_fep013.FEP013", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 6, "canonical_body_sha256": "6b9c69e6301ea55700f2915cb829f3a104becbca4d5f874a4d079aca68bb7fa9", "canonical_namespace": "FEP013", @@ -240086,7 +240086,7 @@ { "aggregate_namespace": "fep_fep014.FEP014", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "800cd64392da359f1df69785fcf1d08403ae3d7c2a89119b10091b2c3128d0ee", "canonical_namespace": "FEP014", @@ -240138,7 +240138,7 @@ { "aggregate_namespace": "fep_fep015.FEP015", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 3, "canonical_body_sha256": "d0af067922e62342d9b8701bb70f8d0295bd825bd772559a1cee5678215e51d4", "canonical_namespace": "FEP015", @@ -240188,7 +240188,7 @@ { "aggregate_namespace": "fep_fep016.FEP016", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "5338337e544aa5e5df57b196dfba20f437f86d137b41d8dd73c278525fe326c5", "canonical_namespace": "FEP016", @@ -240246,7 +240246,7 @@ { "aggregate_namespace": "fep_fep017.FEP017", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "72bcf690afc832b46642161d2e750b001aaeca7a965a91d9c12dd37e13378677", "canonical_namespace": "FEP017", @@ -240297,7 +240297,7 @@ { "aggregate_namespace": "fep_fep018.FEP018", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "3c9455cc9264f076d9937f80d8579de977590dc3a8c292a6fd58dfc287f59df3", "canonical_namespace": "FEP018", @@ -240349,7 +240349,7 @@ { "aggregate_namespace": "fep_fep019.FEP019", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 3, "canonical_body_sha256": "7891e99d767d03ce42f0d3d3dc11a2cda282ba161374b5e1a7bf3dcc33ad9b81", "canonical_namespace": "FEP019", @@ -240398,7 +240398,7 @@ { "aggregate_namespace": "fep_fep020.FEP020", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 7, "canonical_body_sha256": "b5c555d2f2bfdf84c99c999b69964554e197fd88409705f6436f1fb7e982e2fd", "canonical_namespace": "FEP020", @@ -240455,7 +240455,7 @@ { "aggregate_namespace": "fep_fep021.FEP021", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 5, "canonical_body_sha256": "30f289cfabde0d1a266ef3af689df32cf30f37451d5251db89aa59f0b603a42f", "canonical_namespace": "FEP021", @@ -240508,7 +240508,7 @@ { "aggregate_namespace": "fep_fep022.FEP022", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "64ec7d1fbe3616faf40bdfa7048e14694f4f9ffddbccf88420ff761bfd251226", "canonical_namespace": "FEP022", @@ -240559,7 +240559,7 @@ { "aggregate_namespace": "fep_fep023.FEP023", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "d9c39e4ee529d530374a45ce3907cf39a57438d932ba9933149b1aec9e10e7df", "canonical_namespace": "FEP023", @@ -240610,7 +240610,7 @@ { "aggregate_namespace": "fep_fep024.FEP024", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "640c98f38ede2f124f5bfd8d1b6f9601c88984bf3bd810ca4b175251bdace224", "canonical_namespace": "FEP024", @@ -240662,7 +240662,7 @@ { "aggregate_namespace": "fep_fep025.FEP025", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 8, "canonical_body_sha256": "5382a7d47f047ad802abbcbb51a8f8c5bc6c20e588b8c6cefcdf65fca85220bb", "canonical_namespace": "FEP025", @@ -240722,7 +240722,7 @@ { "aggregate_namespace": "fep_fep026.FEP026", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "93dfa116f821e97d2be49cee3c840440b6627303c5c4780d59a6ee5f07fb4485", "canonical_namespace": "FEP026", @@ -240780,7 +240780,7 @@ { "aggregate_namespace": "fep_fep027.FEP027", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "6641bcc8ae5f5e6c5aa4097dc5f49ddddd0397cfb72be69710cddb4bc4741e40", "canonical_namespace": "FEP027", @@ -240831,7 +240831,7 @@ { "aggregate_namespace": "fep_fep028.FEP028", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 7, "canonical_body_sha256": "5ae2158c63599c3e944c9f85e33f9d0366902f95ec373fd564ed964544eb5b7b", "canonical_namespace": "FEP028", @@ -240889,7 +240889,7 @@ { "aggregate_namespace": "fep_fep029.FEP029", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 7, "canonical_body_sha256": "252b9c9d4a43eefb0e355236c7d8de08a455965bf672b7e35fcc15f53df72c32", "canonical_namespace": "FEP029", @@ -240947,7 +240947,7 @@ { "aggregate_namespace": "fep_fep030.FEP030", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 6, "canonical_body_sha256": "fb11ed74476648eb35a4f13f48aa86d161e17574a545796cf80b2c6cb0a43237", "canonical_namespace": "FEP030", @@ -241003,7 +241003,7 @@ { "aggregate_namespace": "fep_fep031.FEP031", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 5, "canonical_body_sha256": "5de120eff03a8808f57cdf1684184c7f4b4f4c5d3000138929475e13068ebf63", "canonical_namespace": "FEP031", @@ -241057,7 +241057,7 @@ { "aggregate_namespace": "fep_fep032.FEP032", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 5, "canonical_body_sha256": "1bf2b95276564dbd264f61fa3ed22714c6c6c443ab50eaa9d18fb84894098ed0", "canonical_namespace": "FEP032", @@ -241111,7 +241111,7 @@ { "aggregate_namespace": "fep_fep033.FEP033", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "22d8834abebd06272bb9f6ecb05115d12a9f66c909c2891ff2cb2a1bd6c34873", "canonical_namespace": "FEP033", @@ -241162,7 +241162,7 @@ { "aggregate_namespace": "fep_fep034.FEP034", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 4, "canonical_body_sha256": "2e0ec525b1051ff0f60db9f6e47742ffbbb4eb01db58bca27dc2de0c190d5575", "canonical_namespace": "FEP034", @@ -241213,7 +241213,7 @@ { "aggregate_namespace": "fep_fep035.FEP035", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 7, "canonical_body_sha256": "d82e138b6a35d8c686c8a6a6cda7c32b22282c10977fee68820f21637893b5e7", "canonical_namespace": "FEP035", @@ -241271,7 +241271,7 @@ { "aggregate_namespace": "fep_fep036.FEP036", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 8, "canonical_body_sha256": "757cedd5596fd9ece529cbae72329ef49d23e3aa7b75c2580585b45a69cf4037", "canonical_namespace": "FEP036", @@ -241330,7 +241330,7 @@ { "aggregate_namespace": "fep_fep037.FEP037", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 5, "canonical_body_sha256": "0897ab9e69cc189affd862863f4e88308f2c8429825a02a019b621b42fdc6813", "canonical_namespace": "FEP037", @@ -241384,7 +241384,7 @@ { "aggregate_namespace": "fep_fep038.FEP038", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 8, "canonical_body_sha256": "011667f26dd6249c84ea21f41b135a652a453e2d77e9dc152015c6b64f0b1ff5", "canonical_namespace": "FEP038", @@ -241444,7 +241444,7 @@ { "aggregate_namespace": "fep_fep039.FEP039", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 5, "canonical_body_sha256": "b3f3e090e905d7897a29d04425b64c403a79d14edd337405422a2263af40e4a8", "canonical_namespace": "FEP039", @@ -241498,7 +241498,7 @@ { "aggregate_namespace": "fep_fep040.FEP040", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 7, "canonical_body_sha256": "7f207e3839ce385a29843570df449c3b593af5418c01e2f1f16732c97139d97b", "canonical_namespace": "FEP040", @@ -241555,7 +241555,7 @@ { "aggregate_namespace": "fep_fep041.FEP041", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "7d410c814f0a372bea01d601bf0a4c9204b87daae951230748109de8706fca8f", "canonical_namespace": "FEP041", @@ -241604,7 +241604,7 @@ { "aggregate_namespace": "fep_fep042.FEP042", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 2, "canonical_body_sha256": "63669d5063789c1b2dfe2f763cb08239bf57927f01cdca428e1d13d37692d0c1", "canonical_namespace": "FEP042", @@ -241651,7 +241651,7 @@ { "aggregate_namespace": "fep_fep043.FEP043", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 6, "canonical_body_sha256": "47589d8dfa79d34e3ce9c1113e02a9edd6c6fecbf9ae02ebe3b6deed32e9c3ac", "canonical_namespace": "FEP043", @@ -241707,7 +241707,7 @@ { "aggregate_namespace": "fep_fep044.FEP044", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/core_information_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/core_information_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "2ccd0ff00667bcc811c24cce39f19fd4ab916fb55cafe479b605be889d136e19", "canonical_namespace": "FEP044", @@ -241759,7 +241759,7 @@ { "aggregate_namespace": "fep_fep045.FEP045", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "a1a2a072db600b245fed50f6a05f657240788fd64c081a883daa96917ae7af6a", "canonical_namespace": "FEP045", @@ -241810,7 +241810,7 @@ { "aggregate_namespace": "fep_fep046.FEP046", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/core_bayesian_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_bayesian_mechanics.py", "body_theorem_count": 3, "canonical_body_sha256": "4d114a8250d9d2a26110000b6e8bbabfb2cb899c03864f735afd0d5fa06836fd", "canonical_namespace": "FEP046", @@ -241859,7 +241859,7 @@ { "aggregate_namespace": "fep_fep047.FEP047", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/core_active_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/core_active_inference.py", "body_theorem_count": 5, "canonical_body_sha256": "93711805d5fc510cd1636358cadfbb4415fd5deb75d58bb71819e893a04aa397", "canonical_namespace": "FEP047", @@ -241912,7 +241912,7 @@ { "aggregate_namespace": "fep_fep048.FEP048", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/core_free_energy.py", + "body_source": "src/fep_formal/catalogue/bodies/core_free_energy.py", "body_theorem_count": 8, "canonical_body_sha256": "cad7c99c83719b89c85b04f2944c3ef9c2530725ced1e966a42ad6f98fd91269", "canonical_namespace": "FEP048", @@ -241973,7 +241973,7 @@ { "aggregate_namespace": "fep_fep049.FEP049", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 5, "canonical_body_sha256": "2fd0eef749e0748d6d4ba966b812156208ee2ef065b45bd04ad094ee49e91b27", "canonical_namespace": "FEP049", @@ -242027,7 +242027,7 @@ { "aggregate_namespace": "fep_fep050.FEP050", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/core_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/core_thermodynamics.py", "body_theorem_count": 8, "canonical_body_sha256": "36d02b8ec12a34ff9fd84f7b06483dd93124d85a0b54b37ed2303c16bbcfeb54", "canonical_namespace": "FEP050", @@ -242087,7 +242087,7 @@ { "aggregate_namespace": "fep_fep051.FEP051", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "69d3a3b9bfe3e2a2147c8834cb9ba01a5ff0a6e134e40633e5aea3b6e84b65b7", "canonical_namespace": "FEP051", @@ -242131,7 +242131,7 @@ { "aggregate_namespace": "fep_fep052.FEP052", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "7ec23a6ec39f54a70cf17249e4c8f29a4629d4da1cd5611039c23e2b3bede48b", "canonical_namespace": "FEP052", @@ -242175,7 +242175,7 @@ { "aggregate_namespace": "fep_fep053.FEP053", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "f633c7378054747edeaadd505a506e8d333b350bf50b582ff5248802ea30472e", "canonical_namespace": "FEP053", @@ -242219,7 +242219,7 @@ { "aggregate_namespace": "fep_fep054.FEP054", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "09b78485b8c2de5eaf4cf8b5d36778f699043c5f60a540a948d298a2654e2272", "canonical_namespace": "FEP054", @@ -242263,7 +242263,7 @@ { "aggregate_namespace": "fep_fep055.FEP055", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "29d74f89a6fad82937063ea46c61a42ff3f2e42a62188096a57139e600c757ad", "canonical_namespace": "FEP055", @@ -242308,7 +242308,7 @@ { "aggregate_namespace": "fep_fep056.FEP056", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "6a90db534b1a624825d6f7f6a259f9f11df03933576711e21387cfd6d45e32f0", "canonical_namespace": "FEP056", @@ -242352,7 +242352,7 @@ { "aggregate_namespace": "fep_fep057.FEP057", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/measure_bayesian_inversion.py", + "body_source": "src/fep_formal/catalogue/bodies/measure_bayesian_inversion.py", "body_theorem_count": 2, "canonical_body_sha256": "ea658b3f3ffb2b3828634b9aca03f8b170f40d74faa5b4d69f021dbb67c6ac14", "canonical_namespace": "FEP057", @@ -242396,7 +242396,7 @@ { "aggregate_namespace": "fep_fep058.FEP058", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 3, "canonical_body_sha256": "8eec4c60aed8f6e7ae5975beeb885b24a77fc35239dfafa7842048d2ac9bed5b", "canonical_namespace": "FEP058", @@ -242445,7 +242445,7 @@ { "aggregate_namespace": "fep_fep059.FEP059", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 3, "canonical_body_sha256": "4dd690815465e76752b3b69049a44f2476844dfa5f50e8d3a91da4da9e5c2425", "canonical_namespace": "FEP059", @@ -242495,7 +242495,7 @@ { "aggregate_namespace": "fep_fep060.FEP060", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 2, "canonical_body_sha256": "62bed4fd171c81e0330258e6f5afdec7ee1420a68883c6499d6242cb8810c959", "canonical_namespace": "FEP060", @@ -242542,7 +242542,7 @@ { "aggregate_namespace": "fep_fep061.FEP061", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 2, "canonical_body_sha256": "b404e1c8150d1419091e69edbc9d836c5354964015dc918650cf78a2535bfb94", "canonical_namespace": "FEP061", @@ -242589,7 +242589,7 @@ { "aggregate_namespace": "fep_fep062.FEP062", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 3, "canonical_body_sha256": "242ece14b9c6bdc6b4b49e7287261ce2c2979baeb55d33eaef3c96df1e32df20", "canonical_namespace": "FEP062", @@ -242639,7 +242639,7 @@ { "aggregate_namespace": "fep_fep063.FEP063", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 5, "canonical_body_sha256": "2360d671345a61fc4b2ec9745a48ed67c6b0367dd4e9407e3b16d3501b18123c", "canonical_namespace": "FEP063", @@ -242695,7 +242695,7 @@ { "aggregate_namespace": "fep_fep064.FEP064", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/variational_duality.py", + "body_source": "src/fep_formal/catalogue/bodies/variational_duality.py", "body_theorem_count": 9, "canonical_body_sha256": "1b7e1cdb1008511f4a8f33cb10e9b6f47f68de2c43640307cde988d44fdcf83d", "canonical_namespace": "FEP064", @@ -242759,7 +242759,7 @@ { "aggregate_namespace": "fep_fep065.FEP065", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 1, "canonical_body_sha256": "14d986ce3fc6f5ac7219381aa2af50c714055771b586081679ed0d3f33b8592d", "canonical_namespace": "FEP065", @@ -242801,7 +242801,7 @@ { "aggregate_namespace": "fep_fep066.FEP066", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "6963cc0827cb5b98ecd36458ecf2c9dd023f27ef037b4bf3586da8ec16df2c3c", "canonical_namespace": "FEP066", @@ -242851,7 +242851,7 @@ { "aggregate_namespace": "fep_fep067.FEP067", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 2, "canonical_body_sha256": "059e5e3a9af34633c57895921125bfc5592c408b8919571094af5ab528972134", "canonical_namespace": "FEP067", @@ -242898,7 +242898,7 @@ { "aggregate_namespace": "fep_fep068.FEP068", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 1, "canonical_body_sha256": "5e755435f08a876255f0e565319964db1f23bdb42fef8d59844845f73ca9e1a7", "canonical_namespace": "FEP068", @@ -242941,7 +242941,7 @@ { "aggregate_namespace": "fep_fep069.FEP069", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "9e2d36fb9f76dc8a232f6ad651fff63ff2358930d56f6ad5d200e133d2157d85", "canonical_namespace": "FEP069", @@ -242992,7 +242992,7 @@ { "aggregate_namespace": "fep_fep070.FEP070", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "41817001ec4cc01413cb840d65dfad778e4b98e4b767ebf0806715c36b4e06d0", "canonical_namespace": "FEP070", @@ -243043,7 +243043,7 @@ { "aggregate_namespace": "fep_fep071.FEP071", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/controlled_markov.py", + "body_source": "src/fep_formal/catalogue/bodies/controlled_markov.py", "body_theorem_count": 3, "canonical_body_sha256": "d2eee21437db05e9a1591954a29e0788c29689c4199ac6b00443e6a062ecf224", "canonical_namespace": "FEP071", @@ -243091,7 +243091,7 @@ { "aggregate_namespace": "fep_fep072.FEP072", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "9dc171b1f1ed3c5706b012a61677bbe893200065b8c8453e0e7cae6fc2567473", "canonical_namespace": "FEP072", @@ -243139,7 +243139,7 @@ { "aggregate_namespace": "fep_fep073.FEP073", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "c3bf75f1cc45c498a2e8a4241338b7db349745abdaca37872795980e8113ff1a", "canonical_namespace": "FEP073", @@ -243183,7 +243183,7 @@ { "aggregate_namespace": "fep_fep074.FEP074", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "a041a9b16c71a9f2137a19010cd342ffc1dc6c95f24897d72a3e391ca6602c6c", "canonical_namespace": "FEP074", @@ -243227,7 +243227,7 @@ { "aggregate_namespace": "fep_fep075.FEP075", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "1318c59e3a8433e3191d772f43ccaea2b4ccef34b346825838736fb2de316b39", "canonical_namespace": "FEP075", @@ -243275,7 +243275,7 @@ { "aggregate_namespace": "fep_fep076.FEP076", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "4aadcb088846b867ff9b70fcc3bd1680516fc773fec2bb5b99c97a326fbe9b2a", "canonical_namespace": "FEP076", @@ -243324,7 +243324,7 @@ { "aggregate_namespace": "fep_fep077.FEP077", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 1, "canonical_body_sha256": "4d0f361ba64f7afa8a55e5be20f398cffc8ee3706b4720fa8211da231b5a9743", "canonical_namespace": "FEP077", @@ -243364,7 +243364,7 @@ { "aggregate_namespace": "fep_fep078.FEP078", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/temporal_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/temporal_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "84c4d2c9cecdfdf8554a18137bd3e74ad9ef0322ad8cf049c4f28edbd62a7bc5", "canonical_namespace": "FEP078", @@ -243411,7 +243411,7 @@ { "aggregate_namespace": "fep_fep079.FEP079", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "d4cab6ebf78ca38987b75bad41a00a20d4ce8a5f5e201dd056bc24957b0dbbbc", "canonical_namespace": "FEP079", @@ -243457,7 +243457,7 @@ { "aggregate_namespace": "fep_fep080.FEP080", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "ea01e6504a75cac38b53c9d0c7df4d30e9bbd1dd9847e544971f7d5caa901006", "canonical_namespace": "FEP080", @@ -243502,7 +243502,7 @@ { "aggregate_namespace": "fep_fep081.FEP081", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "2b145cce117b01ffa47a461e61dc9eef1fea57bec98f1c25f51d5e36b03ce4c5", "canonical_namespace": "FEP081", @@ -243548,7 +243548,7 @@ { "aggregate_namespace": "fep_fep082.FEP082", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 3, "canonical_body_sha256": "cb51f81e10ff9ba0aa3e3fbe79d9f4cbde504dcca51a7fc8a0ea026b22a683df", "canonical_namespace": "FEP082", @@ -243597,7 +243597,7 @@ { "aggregate_namespace": "fep_fep083.FEP083", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "1fe7dda498e7396623a92ba7d5f0ee8a651567c3885e3e2861542bf9637982bb", "canonical_namespace": "FEP083", @@ -243642,7 +243642,7 @@ { "aggregate_namespace": "fep_fep084.FEP084", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 2, "canonical_body_sha256": "695dc1c5e662577dfbc2128badfb1e83165ca8a17a9ee1165892a3b8b186bb8d", "canonical_namespace": "FEP084", @@ -243687,7 +243687,7 @@ { "aggregate_namespace": "fep_fep085.FEP085", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/causal_blankets_interventions.py", + "body_source": "src/fep_formal/catalogue/bodies/causal_blankets_interventions.py", "body_theorem_count": 4, "canonical_body_sha256": "4a5dbac8f48fbcc8c98577aa0f5efb22129e8ce480bf8d6b7cabbb935b2ff9bd", "canonical_namespace": "FEP085", @@ -243739,7 +243739,7 @@ { "aggregate_namespace": "fep_fep086.FEP086", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "0b23e2affbc6962b69f77c4c408d8c65d59fc6194e9da1520925011e46d7826c", "canonical_namespace": "FEP086", @@ -243786,7 +243786,7 @@ { "aggregate_namespace": "fep_fep087.FEP087", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "1ea75a42a0b7b8d8b5e0fb2f52291c119fd0db979ad6807bd83967698eb2b630", "canonical_namespace": "FEP087", @@ -243833,7 +243833,7 @@ { "aggregate_namespace": "fep_fep088.FEP088", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "3119580a8e1de5fff3d1c1a042d07fc8c796b0bde9df7419d6b14ae5b86b2459", "canonical_namespace": "FEP088", @@ -243880,7 +243880,7 @@ { "aggregate_namespace": "fep_fep089.FEP089", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "15cc89956aa7b9518c16368621ea98e998b771cce93455ab29359a964f5864a0", "canonical_namespace": "FEP089", @@ -243929,7 +243929,7 @@ { "aggregate_namespace": "fep_fep090.FEP090", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 4, "canonical_body_sha256": "2386ba8cf67e112184b2a4a3b7a18d7ea7e24eaadeb5b07b8d8d98d89c9056f9", "canonical_namespace": "FEP090", @@ -243981,7 +243981,7 @@ { "aggregate_namespace": "fep_fep091.FEP091", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 3, "canonical_body_sha256": "bf6852e497ffe025aa59bad662bb71777760c8d8e918e828abb93b6f15e4e300", "canonical_namespace": "FEP091", @@ -244028,7 +244028,7 @@ { "aggregate_namespace": "fep_fep092.FEP092", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/predictive_coding_generalized.py", + "body_source": "src/fep_formal/catalogue/bodies/predictive_coding_generalized.py", "body_theorem_count": 4, "canonical_body_sha256": "9a68fbb6dc65ccae2de83661319d204e6d54ced9e71bb6e5ebe0ec5127f3fab9", "canonical_namespace": "FEP092", @@ -244077,7 +244077,7 @@ { "aggregate_namespace": "fep_fep093.FEP093", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "b548d065443ea48dea3b209905c3b04a2dc35c9059d70c1123421eb30588d08f", "canonical_namespace": "FEP093", @@ -244126,7 +244126,7 @@ { "aggregate_namespace": "fep_fep094.FEP094", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "1bc841201a47800e61451b394038ca7feccf9f8719a77caad41c74698abfdc3d", "canonical_namespace": "FEP094", @@ -244174,7 +244174,7 @@ { "aggregate_namespace": "fep_fep095.FEP095", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "e6f5748da3b24f4a676529860817adf6a537d3a01ac721e6f0f03e0308620f21", "canonical_namespace": "FEP095", @@ -244221,7 +244221,7 @@ { "aggregate_namespace": "fep_fep096.FEP096", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "d131f1f1349e311c2c9afe46d3fb99050722b0dad4e2f6973c72906f9308a02b", "canonical_namespace": "FEP096", @@ -244264,7 +244264,7 @@ { "aggregate_namespace": "fep_fep097.FEP097", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "049daa7481266c47ce6f8341c42e494466419da61cf5b93d0ac015561c5f85f4", "canonical_namespace": "FEP097", @@ -244307,7 +244307,7 @@ { "aggregate_namespace": "fep_fep098.FEP098", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "268a7a347d7f635eb31ccc607d423b924431eb8332f94fc9ec6bd9a388baddd6", "canonical_namespace": "FEP098", @@ -244354,7 +244354,7 @@ { "aggregate_namespace": "fep_fep099.FEP099", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/path_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/path_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "3df41a1d1403ef1db884407279c6aee1d70fbd7fd6dfa8d2ae2d48cd6a356331", "canonical_namespace": "FEP099", @@ -244405,7 +244405,7 @@ { "aggregate_namespace": "fep_fep100.FEP100", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 5, "canonical_body_sha256": "f2cf68dc1367c14b7993e10bd396876280979b6b07efe9e9d51a2ae98ebc880d", "canonical_namespace": "FEP100", @@ -244461,7 +244461,7 @@ { "aggregate_namespace": "fep_fep101.FEP101", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 2, "canonical_body_sha256": "579787b453128fd06ce83488609f6edc1ef6c8cf0e8169892092ba7670afadc4", "canonical_namespace": "FEP101", @@ -244509,7 +244509,7 @@ { "aggregate_namespace": "fep_fep102.FEP102", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 1, "canonical_body_sha256": "e5c47a3f7f253c1bf614de67fdff78703bbc802bf734842613f5d36314ef0759", "canonical_namespace": "FEP102", @@ -244553,7 +244553,7 @@ { "aggregate_namespace": "fep_fep103.FEP103", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 2, "canonical_body_sha256": "ef756e160ff8dc4b02f3813393b04b9e30ddf53fca1496ea738d09cd173b849c", "canonical_namespace": "FEP103", @@ -244601,7 +244601,7 @@ { "aggregate_namespace": "fep_fep104.FEP104", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 1, "canonical_body_sha256": "20c47da0b559cf308ad4ff6d69881c1f2669a0816c209df3d3bfbb98e2da4475", "canonical_namespace": "FEP104", @@ -244645,7 +244645,7 @@ { "aggregate_namespace": "fep_fep105.FEP105", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 2, "canonical_body_sha256": "1133e67cc54d0da143630427c0812ebf11891f6bb40ee64f8fcc3547895a15cb", "canonical_namespace": "FEP105", @@ -244693,7 +244693,7 @@ { "aggregate_namespace": "fep_fep106.FEP106", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/geometric_optimization.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_optimization.py", "body_theorem_count": 3, "canonical_body_sha256": "0806d5b5a5f8f996564a7fb69ffa8c4a635131c72c8fe0ddc03f784ae7b97e01", "canonical_namespace": "FEP106", @@ -244743,7 +244743,7 @@ { "aggregate_namespace": "fep_fep107.FEP107", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "401425197ca2143a209c4e8f05ca1eb5449328dbf94d0ce1bcc1cb75124d6638", "canonical_namespace": "FEP107", @@ -244790,7 +244790,7 @@ { "aggregate_namespace": "fep_fep108.FEP108", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "3683d02b54773dee28599d1024a128d86ed31b461ae8ff70a78ca07c066fdab1", "canonical_namespace": "FEP108", @@ -244837,7 +244837,7 @@ { "aggregate_namespace": "fep_fep109.FEP109", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "b7918e89df603060e113f9500906716e8ed9eac54bc6d97a7701b0fd1f056426", "canonical_namespace": "FEP109", @@ -244884,7 +244884,7 @@ { "aggregate_namespace": "fep_fep110.FEP110", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "80ede1c61d228190420034c53d147d2143a7568eb93cc0b8f513de4922f0fa4e", "canonical_namespace": "FEP110", @@ -244931,7 +244931,7 @@ { "aggregate_namespace": "fep_fep111.FEP111", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "05498c2f2f166e2a1844337f873d8728b969b4118932bfa790c393cd57c3b2a7", "canonical_namespace": "FEP111", @@ -244977,7 +244977,7 @@ { "aggregate_namespace": "fep_fep112.FEP112", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 3, "canonical_body_sha256": "c9f183bff8d047884d788ffb534d54e0ac22b0a3fb6ff36bb2607de020778685", "canonical_namespace": "FEP112", @@ -245028,7 +245028,7 @@ { "aggregate_namespace": "fep_fep113.FEP113", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/collective_inference.py", + "body_source": "src/fep_formal/catalogue/bodies/collective_inference.py", "body_theorem_count": 2, "canonical_body_sha256": "21f6de5347045c8bd74ba42c93901845db566e918b95f9b61823b8ecd2c025d3", "canonical_namespace": "FEP113", @@ -245075,7 +245075,7 @@ { "aggregate_namespace": "fep_fep114.FEP114", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "d6f4f5f6333633a35eaee37ebd970fa5109d2a3d8dbd6c560ced6a289ea8dd6e", "canonical_namespace": "FEP114", @@ -245121,7 +245121,7 @@ { "aggregate_namespace": "fep_fep115.FEP115", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "c667f763198826e08bdb0a7d6a61746d52f89848183b0629b192b39688485d18", "canonical_namespace": "FEP115", @@ -245168,7 +245168,7 @@ { "aggregate_namespace": "fep_fep116.FEP116", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "70c21c7e768ce805414691d35d589c68d862a589a65f9e52688dd39b1136987b", "canonical_namespace": "FEP116", @@ -245215,7 +245215,7 @@ { "aggregate_namespace": "fep_fep117.FEP117", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "16f9ca27e8c22b07bd22d2cf3fb3a78be322aa55a2dae70e73f392eae8f52577", "canonical_namespace": "FEP117", @@ -245261,7 +245261,7 @@ { "aggregate_namespace": "fep_fep118.FEP118", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "3bd15a508a3d5626d26403ee5d0383159f066374762e5ca47a1fea2690860e5b", "canonical_namespace": "FEP118", @@ -245308,7 +245308,7 @@ { "aggregate_namespace": "fep_fep119.FEP119", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 2, "canonical_body_sha256": "66355752016cc0d70e0d21660622b739916f4ca9ea38860774a2e8e7aa160e59", "canonical_namespace": "FEP119", @@ -245355,7 +245355,7 @@ { "aggregate_namespace": "fep_fep120.FEP120", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/learning_theory.py", + "body_source": "src/fep_formal/catalogue/bodies/learning_theory.py", "body_theorem_count": 3, "canonical_body_sha256": "59bd0fb1a44ad717b6a58caa39c92bcdba11f8d5a09091a461a547197d40e2d2", "canonical_namespace": "FEP120", @@ -245405,7 +245405,7 @@ { "aggregate_namespace": "fep_fep121.FEP121", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "9ce5ebb4ad0b81610d88ceb9cd2d0f283efed734bddb5956aac66c03dc875ce6", "canonical_namespace": "FEP121", @@ -245449,7 +245449,7 @@ { "aggregate_namespace": "fep_fep122.FEP122", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "6b9aae9852e27b1a49d75f8068739bedb49cbb62ab4c35d7653e229c8c978c99", "canonical_namespace": "FEP122", @@ -245493,7 +245493,7 @@ { "aggregate_namespace": "fep_fep123.FEP123", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "1cb497e6f09fec4c75d519f652506a6d698689caa5e3a1be4613b7cef011a4ee", "canonical_namespace": "FEP123", @@ -245537,7 +245537,7 @@ { "aggregate_namespace": "fep_fep124.FEP124", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "f8dc6e08acc24f9069692fc37d12a4cebce3bebc4b2b54737e16713be61f4b50", "canonical_namespace": "FEP124", @@ -245581,7 +245581,7 @@ { "aggregate_namespace": "fep_fep125.FEP125", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "6ac9c34ed78d61ddc071ee054034f8577e9df07ec4b9e3390397f471542b3a34", "canonical_namespace": "FEP125", @@ -245625,7 +245625,7 @@ { "aggregate_namespace": "fep_fep126.FEP126", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "3b98ae19d7db62023640fd2c4ac257355f85d6e1a5d82b8e9ffb19e43df3f836", "canonical_namespace": "FEP126", @@ -245669,7 +245669,7 @@ { "aggregate_namespace": "fep_fep127.FEP127", "area": "FEP", - "body_source": "src/fep_lean/catalogue/bodies/finite_sample_risk_calibration.py", + "body_source": "src/fep_formal/catalogue/bodies/finite_sample_risk_calibration.py", "body_theorem_count": 2, "canonical_body_sha256": "93863bc021a0520025ce1b77bc50889b26f18e1423c7d549ce092f89e8859fd6", "canonical_namespace": "FEP127", @@ -245713,7 +245713,7 @@ { "aggregate_namespace": "fep_fep128.FEP128", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "443ac7fd78dc4638df33daf08e5803607ac3458ed042351561d6b95142ec1789", "canonical_namespace": "FEP128", @@ -245759,7 +245759,7 @@ { "aggregate_namespace": "fep_fep129.FEP129", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "ca39e81f27a6bc4814a551ad5a047d53d521abcaa82cc20dac36595b728d6d1e", "canonical_namespace": "FEP129", @@ -245805,7 +245805,7 @@ { "aggregate_namespace": "fep_fep130.FEP130", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "b5b5a93bb570882c7e1f8c6c8a1da5d078692550980a3232c8ab8c5a37ac2121", "canonical_namespace": "FEP130", @@ -245851,7 +245851,7 @@ { "aggregate_namespace": "fep_fep131.FEP131", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "54261374ba94b0b3e875ce4ae9840dd29916f5c029ba039e38136ae76788bee8", "canonical_namespace": "FEP131", @@ -245897,7 +245897,7 @@ { "aggregate_namespace": "fep_fep132.FEP132", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "e4f421f6d341549632d9966b81e87d36160a8c61f5de848b7cade4f693e7d5cb", "canonical_namespace": "FEP132", @@ -245943,7 +245943,7 @@ { "aggregate_namespace": "fep_fep133.FEP133", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "9f1d294df477281f873ad5b84f7bc6b9e63c6d99780c3a9fd9e30e526396b01f", "canonical_namespace": "FEP133", @@ -245989,7 +245989,7 @@ { "aggregate_namespace": "fep_fep134.FEP134", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/closed_loop_policy_trees.py", + "body_source": "src/fep_formal/catalogue/bodies/closed_loop_policy_trees.py", "body_theorem_count": 2, "canonical_body_sha256": "1ee11c28263316c28024c8f0cbf210dd6619a9472431435fe6102fbbdedaf8f4", "canonical_namespace": "FEP134", @@ -246035,7 +246035,7 @@ { "aggregate_namespace": "fep_fep135.FEP135", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 2, "canonical_body_sha256": "dbb7bb949236264d31b0782af0e9912d2b9b8de66d4bcbabd129ec4d19c9c2c8", "canonical_namespace": "FEP135", @@ -246080,7 +246080,7 @@ { "aggregate_namespace": "fep_fep136.FEP136", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 2, "canonical_body_sha256": "2c91fe60104125349d74a20a55fecf7c8178e7e4fd626a5908a3007ca66d266d", "canonical_namespace": "FEP136", @@ -246125,7 +246125,7 @@ { "aggregate_namespace": "fep_fep137.FEP137", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "55f3f602a6acb373deeb26a8bd084a976804289e683eac4f3263d7b8ba2a1377", "canonical_namespace": "FEP137", @@ -246166,7 +246166,7 @@ { "aggregate_namespace": "fep_fep138.FEP138", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "db310fa47dd4edb73d69efb55ce6946337b1def9c7daaefa2d780119db94bf9d", "canonical_namespace": "FEP138", @@ -246207,7 +246207,7 @@ { "aggregate_namespace": "fep_fep139.FEP139", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 2, "canonical_body_sha256": "20abd300651bbef9ba59dc44b6a3dd8df80cfe9a7eaf13ad434fc4c793691c36", "canonical_namespace": "FEP139", @@ -246253,7 +246253,7 @@ { "aggregate_namespace": "fep_fep140.FEP140", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "14048b2c104a57bf5d4300beb116e89025aba34e4e10b992e0242243494c9c9f", "canonical_namespace": "FEP140", @@ -246294,7 +246294,7 @@ { "aggregate_namespace": "fep_fep141.FEP141", "area": "BayesianMechanics", - "body_source": "src/fep_lean/catalogue/bodies/native_blanket_independence.py", + "body_source": "src/fep_formal/catalogue/bodies/native_blanket_independence.py", "body_theorem_count": 1, "canonical_body_sha256": "28bdc1d06b1f6ba2c097fece95c3dd06151b87ed8efbe94c55fb5603d8220e8c", "canonical_namespace": "FEP141", @@ -246336,7 +246336,7 @@ { "aggregate_namespace": "fep_fep142.FEP142", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "a77d0eb7dfb104fc2bf3cac53318532c9af4f8ae1e8d5315c2a1a3a50865b3d3", "canonical_namespace": "FEP142", @@ -246383,7 +246383,7 @@ { "aggregate_namespace": "fep_fep143.FEP143", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 1, "canonical_body_sha256": "cb82166922f058bd22491d30fbd3544c03f8744c4746221d3a258baacb898d2a", "canonical_namespace": "FEP143", @@ -246426,7 +246426,7 @@ { "aggregate_namespace": "fep_fep144.FEP144", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 1, "canonical_body_sha256": "a419d2362d11b1f4a6e7ed0a8faa60ebd0daee90698aea125b3123a7c43f91da", "canonical_namespace": "FEP144", @@ -246469,7 +246469,7 @@ { "aggregate_namespace": "fep_fep145.FEP145", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "d05a313346869e52d534b695b51a5819e4d7f24beda9077de2973543b79fb021", "canonical_namespace": "FEP145", @@ -246516,7 +246516,7 @@ { "aggregate_namespace": "fep_fep146.FEP146", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 4, "canonical_body_sha256": "7608490c97d2c1be72c5c211d86cbc3ac735f047445834914af0971b82495868", "canonical_namespace": "FEP146", @@ -246569,7 +246569,7 @@ { "aggregate_namespace": "fep_fep147.FEP147", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "fe6ccc94bce2a98484f4e2bac7da38c0503a0069a9f32ee7b8d90cba05d7f713", "canonical_namespace": "FEP147", @@ -246616,7 +246616,7 @@ { "aggregate_namespace": "fep_fep148.FEP148", "area": "InfoGeometry", - "body_source": "src/fep_lean/catalogue/bodies/exponential_family_geometry.py", + "body_source": "src/fep_formal/catalogue/bodies/exponential_family_geometry.py", "body_theorem_count": 2, "canonical_body_sha256": "11122c494c41f390d310b2eaf383c91c45fcd4890332a5ab0342660d87dd6318", "canonical_namespace": "FEP148", @@ -246663,7 +246663,7 @@ { "aggregate_namespace": "fep_fep149.FEP149", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "adf32afc3ea56e0b85cd3af1dd15b6ec6842ca67ea434a87df8db2e2b99ed63a", "canonical_namespace": "FEP149", @@ -246711,7 +246711,7 @@ { "aggregate_namespace": "fep_fep150.FEP150", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "60bc21df3a2c009e2eb6b63a6e749f77597b5559af8c0b77adbaf2b3cd593ec5", "canonical_namespace": "FEP150", @@ -246753,7 +246753,7 @@ { "aggregate_namespace": "fep_fep151.FEP151", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "b3f2bc69d9c46994a3d4868497e5c572ad953cbf54129fe5fcecc4e01910ba69", "canonical_namespace": "FEP151", @@ -246795,7 +246795,7 @@ { "aggregate_namespace": "fep_fep152.FEP152", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 1, "canonical_body_sha256": "f3dd536b4cc43bcaec1fa311f1364e65f55b64eede686c58c7717441ab28ab6a", "canonical_namespace": "FEP152", @@ -246838,7 +246838,7 @@ { "aggregate_namespace": "fep_fep153.FEP153", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "7f493ed3806ad7c993b0a8221583b40f3e5c3f0d5e8e8b7abc9292c16c96e2b4", "canonical_namespace": "FEP153", @@ -246884,7 +246884,7 @@ { "aggregate_namespace": "fep_fep154.FEP154", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 2, "canonical_body_sha256": "8722d3c3fa8eabcd1d5f97d7f68f6149fcc42e46eb66cf018ccaa6e41bda13d8", "canonical_namespace": "FEP154", @@ -246930,7 +246930,7 @@ { "aggregate_namespace": "fep_fep155.FEP155", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/continuous_time_thermodynamics.py", + "body_source": "src/fep_formal/catalogue/bodies/continuous_time_thermodynamics.py", "body_theorem_count": 3, "canonical_body_sha256": "1b7073996bdaed2a093c8f579ba210c4e1ee13d83eae24dd0c2c9703d371999e", "canonical_namespace": "FEP155", @@ -246978,7 +246978,7 @@ { "aggregate_namespace": "fep_fep156.FEP156", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 9, "canonical_body_sha256": "99527b5d9e0f1930f622a786ee2258a50f371fed6facbfc06e76cd31c6987e90", "canonical_namespace": "FEP156", @@ -247042,7 +247042,7 @@ { "aggregate_namespace": "fep_fep157.FEP157", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 13, "canonical_body_sha256": "aefbafc073adf0165e7ee7a5773bde98e8af7ea6659c194de5daac597d5c5307", "canonical_namespace": "FEP157", @@ -247114,7 +247114,7 @@ { "aggregate_namespace": "fep_fep158.FEP158", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 10, "canonical_body_sha256": "44393b67feb0b234e1efae4d21fc485049b950683c6d6a445e7dc58f37add32d", "canonical_namespace": "FEP158", @@ -247180,7 +247180,7 @@ { "aggregate_namespace": "fep_fep159.FEP159", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 11, "canonical_body_sha256": "1ad540198dead5e0acc7fd13f65d8020319490fc32b3eaf9de3bc231cbb2b7ba", "canonical_namespace": "FEP159", @@ -247248,7 +247248,7 @@ { "aggregate_namespace": "fep_fep160.FEP160", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 13, "canonical_body_sha256": "bda3a4b5f541dd90bb2312e75a217ca36a7662240fbe46445c44722b64576a35", "canonical_namespace": "FEP160", @@ -247320,7 +247320,7 @@ { "aggregate_namespace": "fep_fep161.FEP161", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 2, "canonical_body_sha256": "862299f15c8e8cab65cffbbe09f249a618c10f6e7cf635b2c26731258a187852", "canonical_namespace": "FEP161", @@ -247366,7 +247366,7 @@ { "aggregate_namespace": "fep_fep162.FEP162", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 3, "canonical_body_sha256": "ae3a24dc33ae40ce35b84c866a5b017ab7e5efc2ddba163a9984cc4f6e72fc6b", "canonical_namespace": "FEP162", @@ -247414,7 +247414,7 @@ { "aggregate_namespace": "fep_fep163.FEP163", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 5, "canonical_body_sha256": "85db749354c569cfa3501b2a17913c55031b7fcc4e6fd6712916ef56e48fb9f1", "canonical_namespace": "FEP163", @@ -247466,7 +247466,7 @@ { "aggregate_namespace": "fep_fep164.FEP164", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "da9b07d9cd8e5bf9818b2e16fa9855defd931c9623acc85fea43f65275083095", "canonical_namespace": "FEP164", @@ -247516,7 +247516,7 @@ { "aggregate_namespace": "fep_fep165.FEP165", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 5, "canonical_body_sha256": "e9e869324e2b63cb5feb3e5bd476980e366aa70e6bc3bab29cbfbdccb2a1590a", "canonical_namespace": "FEP165", @@ -247568,7 +247568,7 @@ { "aggregate_namespace": "fep_fep166.FEP166", "area": "ActiveInference", - "body_source": "src/fep_lean/catalogue/bodies/standalone_efe_formalizations.py", + "body_source": "src/fep_formal/catalogue/bodies/standalone_efe_formalizations.py", "body_theorem_count": 7, "canonical_body_sha256": "d8d624e56974056f21ebb5ebc311bd11d9d57a007cf82dcbc019db92a5668108", "canonical_namespace": "FEP166", @@ -247627,7 +247627,7 @@ { "aggregate_namespace": "fep_fep167.FEP167", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "9b8423bb7d96d67de69ed5c93825ac59e37513d421693cf7c0518660607f8697", "canonical_namespace": "FEP167", @@ -247677,7 +247677,7 @@ { "aggregate_namespace": "fep_fep168.FEP168", "area": "Thermodynamics", - "body_source": "src/fep_lean/catalogue/bodies/geometric_mechanics.py", + "body_source": "src/fep_formal/catalogue/bodies/geometric_mechanics.py", "body_theorem_count": 4, "canonical_body_sha256": "7c1b83386845555ec06438b2b4e05241267cc69747617de316d3cea8246f157c", "canonical_namespace": "FEP168", diff --git a/docs/pin_audit.py b/docs/pin_audit.py index 5ce1196b..51699f85 100644 --- a/docs/pin_audit.py +++ b/docs/pin_audit.py @@ -87,6 +87,7 @@ "/.pytest_cache/", "/output/", "/.herdr-project/", + "/.omo/", # Agent plans, archives and isolated install fixtures are not current guidance. "/specs/done/", "/specs/comprehensive-science-improvement/evidence/", ) @@ -164,7 +165,7 @@ def as_dict(self) -> dict[str, Any]: def _fetch_json(url: str) -> Any: headers = { "Accept": "application/vnd.github+json", - "User-Agent": "fep-lean-pin-audit", + "User-Agent": "fep-formal-pin-audit", "X-GitHub-Api-Version": "2022-11-28", } if token := os.environ.get("GITHUB_TOKEN", "").strip(): diff --git a/docs/pipeline.md b/docs/pipeline.md index bf1294d7..6e54b294 100644 --- a/docs/pipeline.md +++ b/docs/pipeline.md @@ -21,7 +21,7 @@ SQLite session, and a failed commentary turn fails the requested workflow. ## Programmatic use ```python -from fep_lean.pipeline import run_pipeline, run_single_topic +from fep_formal.pipeline import run_pipeline, run_single_topic offline = run_pipeline(mode="catalogue") strict = run_pipeline(mode="full", topic_filter=["fep-001"]) diff --git a/docs/prove2me.md b/docs/prove2me.md index a7c2f21c..f2f2f57a 100644 --- a/docs/prove2me.md +++ b/docs/prove2me.md @@ -6,7 +6,7 @@ file that the platform type-checks server-side against that statement. A submiss receives a verdict (`ACCEPTED`, `SKETCH_ACCEPTED`, `CE`, `WA`, `SORRY`, `FAILED`, or `ERROR`) once checking completes. -The `fep_lean.prove2me` package is a stdlib-only client for this platform: credential +The `fep_formal.prove2me` package is a stdlib-only client for this platform: credential resolution, bearer-token auth with automatic re-exchange, mission/theorem search, proposal drafting, proof submission, and verdict polling. It follows the same transport and error conventions as the [Hermes](hermes.md) client. @@ -34,7 +34,7 @@ call is 401 again, `Prove2meAuthError` is raised. ## Python usage ```python -from fep_lean.prove2me import ( +from fep_formal.prove2me import ( Prove2meClient, Prove2meConfig, submit_solution, diff --git a/docs/publication-consistency-review.md b/docs/publication-consistency-review.md index 4e49ca07..d1624a86 100644 --- a/docs/publication-consistency-review.md +++ b/docs/publication-consistency-review.md @@ -31,7 +31,7 @@ label nor a warning-free compile receipt proves a universal or empirical FEP. ## Verification and archival boundary A current native claim requires an independently validated, live-source-bound -receipt from `fep-lean verify --fail-on-warnings`. Catalog generation and the +receipt from `fep-formal verify --fail-on-warnings`. Catalog generation and the semantic audit provide source/projection evidence only. Full Hermes/OpenGauss execution requires its separate validated report. diff --git a/docs/quality.md b/docs/quality.md index 2de3ed3a..9f5fa1db 100644 --- a/docs/quality.md +++ b/docs/quality.md @@ -1,7 +1,7 @@ # Quality-gate decision record (updated 2026-10-15) **Decision date:** 2026-08-19
-**Owner:** fep_lean repository maintainers
+**Owner:** fep_formal repository maintainers
**Decision:** Ruff lint and formatting are both blocking zero-debt gates. ## Current policy — 2026-10-15 diff --git a/docs/quickref.md b/docs/quickref.md index 252c726e..d0606e5b 100644 --- a/docs/quickref.md +++ b/docs/quickref.md @@ -2,22 +2,22 @@ ```bash uv sync --locked --extra dev -uv run fep-lean catalogue -uv run fep-lean setup -uv run fep-lean verify +uv run fep-formal catalogue +uv run fep-formal setup +uv run fep-formal verify uv run python scripts/audit_formalisms.py \ --receipt output/formalism-audit.json uv run python scripts/_maint_build_lean_landscape.py --check -uv run fep-lean atlas --check -uv run fep-lean dashboard --check -uv run fep-lean preflight -uv run fep-lean run --topic fep-001 -uv run fep-lean status -uv run fep-lean topic fep-001 -uv run fep-lean bridge status --gnn-root /absolute/path/to/GNN +uv run fep-formal atlas --check +uv run fep-formal dashboard --check +uv run fep-formal preflight +uv run fep-formal run --topic fep-001 +uv run fep-formal status +uv run fep-formal topic fep-001 +uv run fep-formal bridge status --gnn-root /absolute/path/to/GNN ``` Replace the example GNN path with the explicitly named checkout. Other bridge -operations are listed by `uv run fep-lean bridge --help`; pinning and emission +operations are listed by `uv run fep-formal bridge --help`; pinning and emission write artifacts. Re-pinning follows the canonical order in the [re-pin runbook](design/gnn-bridge/README.md#re-pin-runbook-canonical-order). diff --git a/docs/relations-endpoint-adjudication.md b/docs/relations-endpoint-adjudication.md index f05f00c5..80a91627 100644 --- a/docs/relations-endpoint-adjudication.md +++ b/docs/relations-endpoint-adjudication.md @@ -8,7 +8,7 @@ relations-ledger review entries recorded for every offender row on 2026-09-22. The [historical 2026-09-09 scope](https://github.com/ActiveInferenceInstitute/fep_formal/blob/cd4a84cd91d884d6952b2b2f1b0289b2bdfd36ed/SCOPE-2026-09-09.md) item SRC 1 proposed tightening the theorem-witness endpoint check in -`src/fep_lean/catalogue/coverage.py:157-164`: instead of accepting any mention +`src/fep_formal/catalogue/coverage.py:157-164`: instead of accepting any mention of each endpoint's topic namespace, require a qualified reference to each endpoint's reviewed primary theorem from [config/theorem_maturity.yaml](../config/theorem_maturity.yaml). A prior dry-run @@ -154,8 +154,8 @@ was needed because every topic received a witnessed edge. ## FORM-S10: fep-034 → fep-047 conceptual relation (2026-10-23) Reviewed against source `22dddbdabb32fece60038e08c849f8fd7dca3a9d`, including -`src/fep_lean/catalogue/bodies/core_active_inference.py` and -`src/fep_lean/formal/temporal_inference.lean`. Keep the edge **conceptual**; +`src/fep_formal/catalogue/bodies/core_active_inference.py` and +`src/fep_formal/formal/temporal_inference.lean`. Keep the edge **conceptual**; this review supplies no cross-endpoint Lean witness or maturity promotion. The actual fep-034 primary, `fep034_filter_joint_reconstruction`, identifies the diff --git a/docs/release.md b/docs/release.md index 0296d1a6..1cf6d648 100644 --- a/docs/release.md +++ b/docs/release.md @@ -9,7 +9,7 @@ actually ships, and it is fully checked by | Requirement | Checked by | | --- | --- | -| One version across `pyproject.toml`, `src/fep_lean/__init__.py`, `CITATION.cff`, `manuscript/config.yaml`, `config/settings.yaml`, `.aii/config.yaml`, `uv.lock` and the release-bundle constants | `release_check.py` | +| One version across `pyproject.toml`, `compat/fep-lean/pyproject.toml` (including its dependency/extras), `src/fep_formal/__init__.py`, `CITATION.cff`, `manuscript/config.yaml`, `config/settings.yaml`, `.aii/config.yaml`, `uv.lock` and the release-bundle constants | `release_check.py` | | One release date across `CITATION.cff`, `manuscript/config.yaml`, `.aii/config.yaml` and the release-bundle constants | `release_check.py` | | A `## X.Y.Z — YYYY-MM-DD — title` section in `CHANGELOG.md` | `release_check.py` | | Clean working tree; `HEAD` equals `origin/main` | `release_check.py --hosted` | @@ -60,14 +60,22 @@ A release changes no scientific claim. Unrun lanes stay described as unrun. 3. Run the local suite and audits (see [development](development.md)), commit and push to `main`. 4. Wait for hosted CI on that commit, then - `uv run python docs/release_check.py --hosted --notes /tmp/notes.md`. -5. Build distributions from the same commit: `uv build`. + `uv run python docs/release_check.py --hosted --notes output/release-notes.md`. +5. Build both distributions from the same commit. The canonical wheel owns + the implementation, import adapter and both commands; the deprecated + compatibility wheel owns metadata only. The version gate checks their + versions and exact dependency/extras pins together. + + ```bash + uv build + (cd compat/fep-lean && uv build --out-dir ../../dist) + ``` 6. Tag and publish: ```bash git tag -a vX.Y.Z -m "FEP_Formal vX.Y.Z" && git push origin vX.Y.Z gh release create vX.Y.Z dist/* --title "FEP_Formal vX.Y.Z — title" \ - --notes-file /tmp/notes.md + --notes-file output/release-notes.md ``` 7. Verify that the GitHub release was archived under the diff --git a/docs/release_check.py b/docs/release_check.py index b9e665ae..474593c9 100644 --- a/docs/release_check.py +++ b/docs/release_check.py @@ -73,7 +73,7 @@ def _nested(data: dict[str, Any], *keys: str) -> str | None: def _lock_version(root: Path) -> str | None: packages = tomllib.loads(_text(root, "uv.lock")).get("package", []) - versions = [p.get("version") for p in packages if p.get("name") == "fep-lean"] + versions = [p.get("version") for p in packages if p.get("name") == "fep-formal"] return versions[0] if len(versions) == 1 else None @@ -88,14 +88,18 @@ def _sidecar_release(root: Path) -> str | None: def read_versions(root: Path) -> dict[str, str | None]: """Every version-bearing source, keyed by the file a maintainer edits.""" pyproject = tomllib.loads(_text(root, "pyproject.toml")) + compatibility = tomllib.loads(_text(root, "compat/fep-lean/pyproject.toml")) return { "pyproject.toml": pyproject.get("project", {}).get("version"), - "src/fep_lean/__init__.py": _assignment( - root, "src/fep_lean/__init__.py", "__version__" + "compat/fep-lean/pyproject.toml": compatibility.get("project", {}).get( + "version" + ), + "src/fep_formal/__init__.py": _assignment( + root, "src/fep_formal/__init__.py", "__version__" ), "release_bundle/_constants.py": _assignment( root, - "src/fep_lean/output/release_bundle/_constants.py", + "src/fep_formal/output/release_bundle/_constants.py", "_CANONICAL_RELEASE_VERSION", ), "CITATION.cff": _nested(_yaml(root, "CITATION.cff"), "version"), @@ -118,7 +122,7 @@ def read_dates(root: Path) -> dict[str, str | None]: ), "release_bundle/_constants.py": _assignment( root, - "src/fep_lean/output/release_bundle/_constants.py", + "src/fep_formal/output/release_bundle/_constants.py", "_CANONICAL_RELEASE_DATE", ), SIDECAR: _nested(_yaml(root, SIDECAR), "meta", "updated"), @@ -134,7 +138,7 @@ def read_release(root: Path) -> Release: _VERSION_RE = re.compile(r"\d+\.\d+\.\d+") _DATE_RE = re.compile(r"\d{4}-\d{2}-\d{2}") -_CONSTANTS = "src/fep_lean/output/release_bundle/_constants.py" +_CONSTANTS = "src/fep_formal/output/release_bundle/_constants.py" def _sub_once(text: str, pattern: str, replacement: str) -> str: @@ -158,7 +162,12 @@ def bump(root: Path, version: str, date: str) -> tuple[str, ...]: qv, qd = f'"{version}"', f'"{date}"' edits: dict[str, list[tuple[str, str]]] = { "pyproject.toml": [(r'^version\s*=\s*"[^"]+"', f"version = {qv}")], - "src/fep_lean/__init__.py": [ + "compat/fep-lean/pyproject.toml": [ + (r'^version\s*=\s*"[^"]+"', f"version = {qv}"), + (r"fep-formal==[0-9.]+", f"fep-formal=={version}"), + (r"fep-formal\[dev\]==[0-9.]+", f"fep-formal[dev]=={version}"), + ], + "src/fep_formal/__init__.py": [ (r'^__version__\s*=\s*"[^"]+"', f"__version__ = {qv}") ], _CONSTANTS: [ @@ -214,6 +223,19 @@ def metadata_errors(root: Path) -> tuple[str, ...]: for source, value in read_dates(root).items() if value != release.date ] + compatibility = tomllib.loads(_text(root, "compat/fep-lean/pyproject.toml"))[ + "project" + ] + if compatibility.get("dependencies") != [f"fep-formal=={release.version}"]: + errors.append( + "compat/fep-lean/pyproject.toml dependency must match the canonical version" + ) + if compatibility.get("optional-dependencies", {}).get("dev") != [ + f"fep-formal[dev]=={release.version}" + ]: + errors.append( + "compat/fep-lean/pyproject.toml dev extra must match the canonical version" + ) headings = re.findall(r"(?m)^## .*$", _text(root, "CHANGELOG.md")) if not any(h.startswith(_heading(release)) for h in headings): errors.append(f"CHANGELOG.md lacks a '{_heading(release)}' section") @@ -341,7 +363,7 @@ def main(argv: list[str] | None = None) -> int: print( f" 1. add a '## {args.bump} — {args.date} — title' section to CHANGELOG.md" ) - print(" 2. uv lock # refreshes the fep-lean entry in uv.lock") + print(" 2. uv lock # refreshes the fep-formal entry in uv.lock") print(" 3. uv run python docs/release_check.py") return 0 release = read_release(root) diff --git a/docs/render-acceptance.json b/docs/render-acceptance.json index 123d998d..03170bba 100644 --- a/docs/render-acceptance.json +++ b/docs/render-acceptance.json @@ -11,44 +11,44 @@ "unnumbered_equations": 0, "unresolved_references": 0 }, - "manuscript_source_digest": "afa9d05e0bf42bf12de2db922e925d84bb4a95ed981fdaf74d86c84b3c60f6d0", + "manuscript_source_digest": "b8cd13e8573f043d41a913a0442ca8f299b601df0f9e6dbd6dc796827e7d3602", "pages": 390, "receipt_version": 2, "source_digests": { "../CITATION.cff": "6e96bcecd2613291110f9efb4b9bc48fa177843f8a1569c69641485c200b28da", "00_front_matter.md": "4a60230769eae923388c32a4fbe60d3e657b6d5adfed071f43da636347c84067", "01_abstract.md": "f52bf170254e9f1e83ba7f18fe9e71fc3ce12a5f6708dea0c857ed4396143d1c", - "02a_introduction.md": "7c7fb5a7ff7acf716bbda4e9551ed0256645ce2ea95f29fe373a6ce6f147decf", + "02a_introduction.md": "3a290c680bff1e4ddbe93ecb3eeec680edc24b556411d1c56477b98806b330b4", "02b_background.md": "acd80ca8bef07e7325db5ef3b6ee228d7c658af04f239b1c141d764155344cbd", - "03_methodology.md": "91fef381df8dc5d096a572bfc283264389bb65c8b7739a6f3f6b5545470f5d52", - "03a_lean4_primer.md": "01899776c88004c79ddf36e0770cec8b32315617a62fb437d4926a8fe220ab2c", + "03_methodology.md": "35671fd434f7ad8b99e46d44b89cdc02e00a4c936f6ebd2e930187f937508294", + "03a_lean4_primer.md": "454490146b82ac02abf8fdbcd0523439c2a425710703098bf5442c87037cc5ac", "03b_mathlib4_measure_theory.md": "ce766fe91a8c335f3d846e1b02fbcea02a9cbae59439335eef1061649337cdd4", - "03c_sorry_maturity.md": "c3717d3e4d2094a2bc607ecbcfa61b63524215cb2ebdd32cea715ed3c1c7d625", - "03d_hermes_llm_pipeline.md": "6d5cd088f02f55ba326f3ec5785f97e74bb8b12bd489909c94ebbca4b7ad195a", - "03e_lean_compilation.md": "de999f7b48bd59fa8182469eedeb8b431886d6102b1e56c7a06ce7a3afd61b5b", - "03f_pipeline_architecture.md": "057bd279e55e1b84a19ed1592c9a2aac1afcec52d88bc75c854baffd7ddfaddc", - "04a_framework_fep.md": "38ac649b70d0dfaba77cb6ed76a83073cc741ed99c9b66c8b2becc8aba7050be", - "04b_framework_active_inference.md": "b6f5fbd0933b8b8372fefbb39ea7fc105159853653ebdb14dbb31127fb9d3aaf", + "03c_sorry_maturity.md": "5d329c4434c3e5489e51d06ca7c2030f978e4e0e2cc220f225df52a71d2ef18d", + "03d_hermes_llm_pipeline.md": "f4cbf284600fd7365872771ff68244e9d902479327dd5c2e105ee0cf958ce117", + "03e_lean_compilation.md": "5d3638ab1053e46b1cc4d3f1d8a05d6e77aa3743561c9bbc721b735807ff918e", + "03f_pipeline_architecture.md": "31e8d634ee9118586bb2107bac933b4ea0d3591354b4f41e9c64005665e87c79", + "04a_framework_fep.md": "d584fb5df82fcc1da25fa8b6e8cd622523ce017fa94bf902cce40f32c3959a0d", + "04b_framework_active_inference.md": "72e39ad29161084d8268eb8381cffa3701dc33f608ce87a5caa18372ab9039f6", "04c_framework_sophisticated_dynamics.md": "c828bef532c26377bc162c09f46f29c8ade9a9380ca0896fd85d470224e0d3a2", "04d_framework_thermodynamics.md": "e474923242655ad9e66aaf85ba7347720293d4b38418c61010770d93f10b9bd6", "04e_quantitative_metrics.md": "2909762bcb29105e269bb0254031942aad3a7f0d10225bbcb630593940a74335", - "04f_semantic_closure_and_validation.md": "02bfe490533185ffb6b21a7186d2f2eed633bcf0bcd49b99dd514da21b415575", + "04f_semantic_closure_and_validation.md": "f38d83461cb061a2ebb054a4c4fd926d63d48fd1846c9b2e7793dda96b09b019", "04g_finite_active_inference_kernel.md": "3851cc7ee48e6f9b417e17da5ed7d80379689d34ce925f596c1a8663be6bc238", "04h_expanded_formalism_program.md": "53cc65ef17dea06f12b3922c4d49fcb580c25e29c0cfa6f1f5448d7c48e0a9a9", "04i_formalism_catalogue_155.md": "1fdc693cf90d743d672e0c288723c572440d683699e0fc4433e3fec898563849", "04j_horizon2_smooth_stochastic_kernel.md": "15de94d5fe1fd321ddb7d1ed63b15780921b47561efc4363e9eab3200b8f3ded", "05a_mathlib_maturity.md": "311127342f1d2251eca06eef857df291d38bc69cbd4da5ef3a07cadb6eeb89ce", - "05b_execution_integrity.md": "08fa098c965e28992b7311bfeb7d0038d47465387b42cbb1bb0a651239b2605a", + "05b_execution_integrity.md": "4ad1f54f06eed58584f860b3552daebd7f6bb66e9af69ea2eb2e20f3879b9e58", "05c_fep_debate_implications.md": "285f251f1a0a132fd035527b5bebb11cf6e98b6fc8010dff40750fcf9ec6fcb3", - "05d_comparative_analysis.md": "988c5dd04bbf209c2db130c6ed140a4964ac2c6ea64a15015064aec8343b6739", + "05d_comparative_analysis.md": "ad5ea7de180b9ad06def9c791e5e4ad3b85d1b45c7df9960415c0ada7412ae3d", "05e_broader_impact_limitations.md": "7f2e328ed43ecc518f13ecac3c3c0f293a416568da95461cc4a055f24c739f3a", - "06_conclusion.md": "d9b03b9e8c366d1dd5283b8d305f2ddfb986d922401324700a352977aef8f86f", + "06_conclusion.md": "e82c26249ae3a6b5474a0b725b264ea416f6a6bb411c3c00ce3fda403ab6ecbf", "07_references.md": "b6132569eea5c54b542fff8754cee5c5d288873d8e920ce27c66a4a0318a7d94", - "08_appendix_a_overview.md": "8cf7e8b3e101bd7bee111045c156c306e81c35c20564c633bae8ed28d4234021", + "08_appendix_a_overview.md": "8fa6ac2ec0c67bf0a08295170b6ede11d63f0145a2d2871ad15baeb2beaf641b", "08b_mathematical_positioning_supplement.md": "e49667f342a73f9167ef0691c512125aa3cc5327e5d5647dd833368bde25707e", - "09z_unified_formalism_catalogue.md": "5fe6edacb448a9a36173327deebf3664691b513fe21d8a442602950c6698dc0f", + "09z_unified_formalism_catalogue.md": "d7e4811d37129bfb25c3aec7f3e41927f644a7bcfcef38b4f22de63fa8d02770", "config.yaml": "db4361314f62d7de155ebed384d8fff9311dd7a8466569fb71de38d510950ee3", - "preamble.md": "059044a04cedd89955c792227f696cc685e5afa4c359cb54ccd00e71b39997da", + "preamble.md": "4d3a2b4c6bfe7f34542cf6ca90b00726576012044757be2fed4531b3cb705e67", "references.bib": "240a65f3305926df7507b70de86ada7bdfd8d77c2f70c22f1650da03b86a34a5" } } diff --git a/docs/reporter.md b/docs/reporter.md index cab5361d..5661b9de 100644 --- a/docs/reporter.md +++ b/docs/reporter.md @@ -1,6 +1,6 @@ # Report bundles and provenance -`fep_lean.output.reporter.Reporter` writes one timestamped report directory for +`fep_formal.output.reporter.Reporter` writes one timestamped report directory for one pipeline result. It refuses to reuse an existing run directory, so an explicit `run_id` cannot overwrite earlier evidence. @@ -52,7 +52,7 @@ structurally valid while `verified_topics` remains zero. ## API ```python -from fep_lean.output import Reporter, ReportPaths, validate_report_receipt +from fep_formal.output import Reporter, ReportPaths, validate_report_receipt reporter = Reporter( project_root, diff --git a/docs/scaffold-portability.md b/docs/scaffold-portability.md index bbde6666..a7c8be1e 100644 --- a/docs/scaffold-portability.md +++ b/docs/scaffold-portability.md @@ -19,14 +19,14 @@ through arguments or environment variables still need local substitutions. | Surface and evidence | What the kit leaves out; what to substitute | | --- | --- | | [OpenGauss installer](../scripts/00b_install_opengauss_cli.sh), lines 27–42 | Uses `$HOME/.gauss_src` and pulls the service's current main. It is outside the locked kit. Install/configure the service separately for the external full-mode tier. | -| [Publication template resolver](../scripts/render_publication.py), lines 87–103 | Requires `--template` or `FEP_LEAN_TEMPLATE_DIR`. Supply a real local template checkout and register this checkout as its active project, following the render runbook. | +| [Publication template resolver](../scripts/render_publication.py), lines 87–103 | Requires `--template` or `FEP_FORMAL_TEMPLATE_DIR`. Supply a real local template checkout and register this checkout as its active project, following the render runbook. | | [Browser wrapper](../scripts/capture_browser_acceptance.py), lines 17–20 | Browser acceptance needs a local Chrome/Chromium executable; pass `--browser` when discovery is unsuitable. The kit does not capture browser evidence. | | [Manuscript identifier audit](../scripts/render_manuscript.py), line 258 | Reads `lean/.lake/packages/mathlib`. Let guarded setup materialize the manifest's exact revisions at that layout; an arbitrary relocated or rsynced package tree is not a substitute. | -| [Lean setup](../src/fep_lean/cli.py), lines 69 and 128–135 | `FEP_LEAN_DIR`, `ELAN_HOME`, `XDG_CACHE_HOME`, and `MATHLIB_CACHE_DIR` can redirect state. Remove stale overrides or supply writable local locations. Keep the intended checkout's pin triple together. | -| [Tool discovery](../src/fep_lean/verification/_toolchain.py), lines 214–240 | `FEP_LEAN_LAKE_EXE` and `FEP_LEAN_LEAN_EXE` override discovery. Remove paths to another host/worktree; setup verifies the actual compiler identity. Cold setup also accepts `FEP_LEAN_ELAN_EXE`. | -| [Service configuration](../src/fep_lean/llm/hermes.py), lines 229–238 | Full mode needs local service configuration and credentials, optionally read from `$GAUSS_HOME/.env`. Supply them privately; copying a home directory is not part of setup. | -| [Bridge CLI](../src/fep_lean/bridge/cli.py), lines 25–28 | Live bridge checks require an explicitly selected `--gnn-root` with matching custody pins. Normal standalone tests need no sibling checkout. Do not repin to make a local check pass. | -| [Collection summary parser](../src/fep_lean/output/manuscript.py), lines 710–718 | Slow hosts can collect tests for over a minute; pytest then appends `H:MM:SS`. This kit's companion parser fix accepts that duration suffix while retaining the exact roster and final-summary checks. Collection still has its existing 120-second timeout; a timeout is a failure, not permission to invent a test count. | +| [Lean setup](../src/fep_formal/cli.py), lines 69 and 128–135 | `FEP_FORMAL_DIR`, `ELAN_HOME`, `XDG_CACHE_HOME`, and `MATHLIB_CACHE_DIR` can redirect state. Remove stale overrides or supply writable local locations. Keep the intended checkout's pin triple together. | +| [Tool discovery](../src/fep_formal/verification/_toolchain.py), lines 214–240 | `FEP_FORMAL_LAKE_EXE` and `FEP_FORMAL_LEAN_EXE` override discovery. Remove paths to another host/worktree; setup verifies the actual compiler identity. Cold setup also accepts `FEP_FORMAL_ELAN_EXE`. | +| [Service configuration](../src/fep_formal/llm/hermes.py), lines 229–238 | Full mode needs local service configuration and credentials, optionally read from `$GAUSS_HOME/.env`. Supply them privately; copying a home directory is not part of setup. | +| [Bridge CLI](../src/fep_formal/bridge/cli.py), lines 25–28 | Live bridge checks require an explicitly selected `--gnn-root` with matching custody pins. Normal standalone tests need no sibling checkout. Do not repin to make a local check pass. | +| [Collection summary parser](../src/fep_formal/output/manuscript.py), lines 710–718 | Slow hosts can collect tests for over a minute; pytest then appends `H:MM:SS`. This kit's companion parser fix accepts that duration suffix while retaining the exact roster and final-summary checks. Collection still has its existing 120-second timeout; a timeout is a failure, not permission to invent a test count. | | [Render runbook](../scripts/README.md#local-render-runbook) | XeLaTeX, pandoc, mermaid, fonts, template registration, and fresh publication receipts remain the publication tier. The kit only generates catalog and rasterized figure inputs. | Herdr pane IDs, `.herdr-project` briefs/receipts, omp skills, and private PAI @@ -73,7 +73,7 @@ guarded entry points, while the second whole-kit run also exercises Python and generated-input idempotency. Use that environment for the [required gates](testing.md) and an exact-topic -smoke (`uv run --locked fep-lean verify --topic fep-001 --fail-on-warnings`). +smoke (`uv run --locked fep-formal verify --topic fep-001 --fail-on-warnings`). An exact-topic smoke is not a full native receipt. Missing native evidence or stale committed render/custody evidence must remain explicit failing gates; the kit never manufactures acceptance. Record gates requiring live services diff --git a/docs/test-suite-review.md b/docs/test-suite-review.md index e6a5cbd2..c1c7e3a9 100644 --- a/docs/test-suite-review.md +++ b/docs/test-suite-review.md @@ -1,4 +1,4 @@ -# Test Suite Review: fep_lean +# Test Suite Review: fep_formal > **Historical snapshot (2026-07-31).** Counts, timings, file totals, and > conclusions below describe commit `21d4e18`; they are not current acceptance @@ -35,7 +35,7 @@ ### Structure & Naming -- **[PASS]** Test structure mirrors source: `src/fep_lean/catalogue/topics.py` → `test_fep_topics.py`, `src/fep_lean/gauss/runner.py` → `test_gauss_runner*.py`, etc. +- **[PASS]** Test structure mirrors source: `src/fep_formal/catalogue/topics.py` → `test_fep_topics.py`, `src/fep_formal/gauss/runner.py` → `test_gauss_runner*.py`, etc. - **[PASS]** All 342 test functions use behavior-descriptive naming: `test_verify_sketch_skipped_when_lake_missing`, `test_catalogue_mode_never_reports_as_verified`, `test_validate_report_receipt_detects_tampering_and_path_escape` - **[PASS]** No vague names (`test_1`, `test_something`), no redundant prefixes (`test_function_test`) - **[PASS]** Fixtures are purposeful and local: 9 `@pytest.fixture()` definitions, none shared across unrelated test files, no grab-bag `conftest.py` fixtures @@ -82,9 +82,9 @@ None. The test suite is in exceptional shape with no blocking issues. 1. **Branch coverage workflow**: Add a separate `pytest --cov-branch` invocation (without `--cov`) or fix the coverage concurrency config so branch coverage can be measured standalone. Add a `docs/coverage-branch.md` note documenting the known limitation. -2. **Runner prefetch coverage**: `src/fep_lean/gauss/runner.py` has prefetch logic that is exercised by `test_gauss_runner_prefetch.py` but only partially; consider adding a test that exercises the actual `ThreadPoolExecutor` path with `FEP_LEAN_PREFETCH=1`. +2. **Runner prefetch coverage**: `src/fep_formal/gauss/runner.py` has prefetch logic that is exercised by `test_gauss_runner_prefetch.py` but only partially; consider adding a test that exercises the actual `ThreadPoolExecutor` path with `FEP_FORMAL_PREFETCH=1`. -3. **CLI coverage edges**: `src/fep_lean/cli.py` has missed help/error-passthrough lines that can be covered with focused edge-case tests. +3. **CLI coverage edges**: `src/fep_formal/cli.py` has missed help/error-passthrough lines that can be covered with focused edge-case tests. ### Nice to Have (Improvement) diff --git a/docs/testing.md b/docs/testing.md index daaa6d44..ad92d6b1 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -3,7 +3,7 @@ Run from the project root: ```bash -FEP_LEAN_LIVE_TESTS=0 uv run pytest tests/ -q --cov=src --cov-fail-under=89 -m "not serial_lean" +FEP_FORMAL_LIVE_TESTS=0 uv run pytest tests/ -q --cov=src --cov-fail-under=89 -m "not serial_lean" ``` The development extra includes `defusedxml` for the conditional tests that @@ -17,7 +17,7 @@ name and retains `GeneralizedNotationNotation` for older local layouts. The suite uses real temporary files, SQLite databases, subprocesses, and local HTTP servers. Environment variables isolate secrets and expensive external integration tests; they do not manufacture successful execution results. -Set `FEP_LEAN_LIVE_TESTS=0` for credential-free runs: the Gauss runner live +Set `FEP_FORMAL_LIVE_TESTS=0` for credential-free runs: the Gauss runner live family otherwise also enables itself when a provider key is present. Hermes and end-to-end live families require explicit opt-in and credentials. @@ -38,11 +38,11 @@ preserves the browser startup deadline and does not diagnose the historical startup timeouts. See the [acceptance validator](../specs/publication-browser-acceptance/README.md). The native formal commands (`lake build FepSketches`, the formalism audit, -`fep-lean verify --fail-on-warnings --receipt ...`) require the pinned +`fep-formal verify --fail-on-warnings --receipt ...`) require the pinned toolchain and Mathlib build and are listed in the same block. Hermes/OpenGauss full validation additionally requires external credentials; -`fep-lean preflight` reports each missing capability without modifying the +`fep-formal preflight` reports each missing capability without modifying the workspace. The atlas and dashboard tests validate deterministic projection and diff --git a/docs/theorem-maturity-audit.md b/docs/theorem-maturity-audit.md index f4d266f6..67c47aec 100644 --- a/docs/theorem-maturity-audit.md +++ b/docs/theorem-maturity-audit.md @@ -9,7 +9,7 @@ is a native compilation target, not that the FEP-facing prose has been fully formalized. **Review date:** `2026-10-19`
-**Native evidence boundary:** A validated receipt from uv run fep-lean verify --fail-on-warnings establishes exact-source native compilation only; it does not establish the semantic disposition below or a full Hermes/OpenGauss run. +**Native evidence boundary:** A validated receipt from uv run fep-formal verify --fail-on-warnings establishes exact-source native compilation only; it does not establish the semantic disposition below or a full Hermes/OpenGauss run. A `scope_gap` or `assumption_gap` is an honest follow-up boundary, not a compiler failure. Dispositions are maintained mathematical judgments, @@ -208,6 +208,6 @@ aggregate, rerun the native Lean probe, and retain the receipt in - [Maintained audit data](../config/theorem_maturity.yaml) - [Catalog metadata](../config/topics.yaml) -- [Lean body registry](../src/fep_lean/catalogue/registry.py) -- [Family-owned Lean bodies](../src/fep_lean/catalogue/bodies/) +- [Lean body registry](../src/fep_formal/catalogue/registry.py) +- [Family-owned Lean bodies](../src/fep_formal/catalogue/bodies/) - [Native verification command](cli-reference.md) diff --git a/docs/theorem_ref_audit.py b/docs/theorem_ref_audit.py index 320602a0..e4e9a697 100644 --- a/docs/theorem_ref_audit.py +++ b/docs/theorem_ref_audit.py @@ -14,9 +14,9 @@ from collections import Counter from pathlib import Path -from fep_lean.catalogue.coverage import COVERAGE_JSON -from fep_lean.catalogue.references import unresolved_manuscript_references -from fep_lean.formal.declarations import composed_theorem_declarations +from fep_formal.catalogue.coverage import COVERAGE_JSON +from fep_formal.catalogue.references import unresolved_manuscript_references +from fep_formal.formal.declarations import composed_theorem_declarations # Scope follows the current overview/contract sections, not every number in # every root document. In particular README's Release section and HANDOFF's diff --git a/docs/topics-reference.md b/docs/topics-reference.md index 1492c8ba..2d047254 100644 --- a/docs/topics-reference.md +++ b/docs/topics-reference.md @@ -12,25 +12,25 @@ Each view answers a different question: | --- | --- | | What is the title, area, and Mathlib navigation hint? | [`config/catalogue_metadata.yaml`](../config/catalogue_metadata.yaml) | | What is the reviewed invariant, primary theorem, assumption boundary, non-vacuity argument, and disposition? | [`config/theorem_maturity.yaml`](../config/theorem_maturity.yaml) | -| What Lean code is compiled? | Family modules under [`fep_lean.catalogue.bodies`](../src/fep_lean/catalogue/bodies/) merged by [`registry.py`](../src/fep_lean/catalogue/registry.py) | +| What Lean code is compiled? | Family modules under [`fep_formal.catalogue.bodies`](../src/fep_formal/catalogue/bodies/) merged by [`registry.py`](../src/fep_formal/catalogue/registry.py) | | How are expansion rows distinguished from earlier work? | [`config/formalism_novelty.yaml`](../config/formalism_novelty.yaml) | | Which formal/conceptual/blocker links and capability states were explicitly reviewed? | [`config/formalism_relations.yaml`](../config/formalism_relations.yaml) | | What is the joined, human-readable coverage view? | [Formalism coverage](formalism-coverage.md) | | How do the reviewed nodes and edges look as a graph? | [Interactive formalism atlas](formalism-atlas.html) or [static SVG](formalism-atlas.svg) | | How do selected finite laws behave numerically? | [Interactive formal-kernel dashboard](formal-kernel-dashboard.html) or [static SVG](formal-kernel-dashboard.svg) | -| Which proofs genuinely compose stable topic namespaces? | Manifested leaves under [`src/fep_lean/formal/compositions/`](../src/fep_lean/formal/compositions/); [`composed.lean`](../src/fep_lean/formal/composed.lean) imports them | -| Which shared finite carriers and laws support those proofs? | [Formal-kernel methods](formal-kernel-methods.md) and [`src/fep_lean/formal/`](../src/fep_lean/formal/) | +| Which proofs genuinely compose stable topic namespaces? | Manifested leaves under [`src/fep_formal/formal/compositions/`](../src/fep_formal/formal/compositions/); [`composed.lean`](../src/fep_formal/formal/composed.lean) imports them | +| Which shared finite carriers and laws support those proofs? | [Formal-kernel methods](formal-kernel-methods.md) and [`src/fep_formal/formal/`](../src/fep_formal/formal/) | | What exact theorem statements and proofs appear in the publication appendix? | Generated `manuscript/09z_unified_formalism_catalogue.md` | | Did the current bytes compile? | A validated native receipt, normally `output/native-verification.json` | -`config/topics.yaml` and `src/fep_lean/data/topics.yaml` are byte-identical +`config/topics.yaml` and `src/fep_formal/data/topics.yaml` are byte-identical generated joins for checkout and installed-wheel use. Do not edit either one by hand. ## Inspect from Python ```python -from fep_lean.catalogue import FEPTopicCatalogue +from fep_formal.catalogue import FEPTopicCatalogue catalogue = FEPTopicCatalogue.default() topic = next(row for row in catalogue.topics if row.id == "fep-014") @@ -50,19 +50,19 @@ from a source checkout. Generate deterministic offline projections: ```bash -uv run fep-lean catalogue +uv run fep-formal catalogue ``` Compile one topic for development: ```bash -uv run fep-lean verify --topic fep-014 --fail-on-warnings +uv run fep-formal verify --topic fep-014 --fail-on-warnings ``` Create publication-eligible native evidence for the exact roster: ```bash -uv run fep-lean verify \ +uv run fep-formal verify \ --fail-on-warnings \ --receipt output/native-verification.json ``` diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index b542c66c..dee58114 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -2,21 +2,21 @@ ## Preflight fails -Run `uv run fep-lean preflight`. The JSON lists the exact missing capability. -Use `uv run fep-lean setup` only when the failure is a missing Lean/Mathlib +Run `uv run fep-formal preflight`. The JSON lists the exact missing capability. +Use `uv run fep-formal setup` only when the failure is a missing Lean/Mathlib build. Install OpenGauss and configure Hermes credentials separately. ## Catalog artifacts are stale -Run `uv run fep-lean catalogue`. The command validates the YAML first and then +Run `uv run fep-formal catalogue`. The command validates the YAML first and then regenerates manuscript variables, the unified appendix, figures, and a report. ## A full run fails Inspect the structured `failure_reason` and the failed capability checks. Full mode does not create a successful report when any topic or integration fails. -Check `GAUSS_HOME`, `FEP_LEAN_VERIFY_TIMEOUT`, `FEP_LEAN_LAKE_EXE`, -`FEP_LEAN_LEAN_EXE`, and the configured Hermes endpoint. +Check `GAUSS_HOME`, `FEP_FORMAL_VERIFY_TIMEOUT`, `FEP_FORMAL_LAKE_EXE`, +`FEP_FORMAL_LEAN_EXE`, and the configured Hermes endpoint. ## Documentation checks fail diff --git a/docs/xref_audit.py b/docs/xref_audit.py index 75bd294e..15493716 100644 --- a/docs/xref_audit.py +++ b/docs/xref_audit.py @@ -5,7 +5,7 @@ ----- The audit runs over **exactly the files the renderer emits** -- -``fep_lean.output.rendering.manuscript_source_files`` -- rather than re-globbing +``fep_formal.output.rendering.manuscript_source_files`` -- rather than re-globbing ``manuscript/*.md``. A gate that measures a different file set than the artifact reports "all resolve" while references dangle in every produced PDF, which is what a wider glob did here: the excluded ``09z_unified_formalism_catalogue.md`` @@ -63,7 +63,7 @@ if str(PROJECT_ROOT / "src") not in sys.path: # pragma: no cover - import shim sys.path.insert(0, str(PROJECT_ROOT / "src")) -from fep_lean.output.rendering import manuscript_source_files +from fep_formal.output.rendering import manuscript_source_files #: Anchor definition. Tolerates trailing attributes (``{#fig:x width=100%}``). _RE_ANCHOR = re.compile(r"\{#([A-Za-z]+:[\w:.-]+)(?=[\s}])") @@ -76,7 +76,7 @@ #: Prefixes pandoc-crossref owns. Other anchors (plain ids) are not audited. _CROSSREF_PREFIXES = ("sec", "eq", "fig", "tbl", "lst") -#: Git-ignored manuscript inputs written by ``uv run fep-lean catalogue``. On a +#: Git-ignored manuscript inputs written by ``uv run fep-formal catalogue``. On a #: fresh clone they are absent, so references into them cannot resolve; the #: audit still fails, but names the missing step instead of only listing refs. _GENERATED_INPUTS = ( @@ -206,7 +206,7 @@ def main(argv: list[str] | None = None) -> int: if counts.get("unresolved") and missing: print( "NOTE: generated manuscript input(s) absent: " - f"{', '.join(missing)}. Run `uv run fep-lean catalogue` first; " + f"{', '.join(missing)}. Run `uv run fep-formal catalogue` first; " "references into them cannot resolve until then." ) return 1 diff --git a/lean/AGENTS.md b/lean/AGENTS.md index ee3bfcd5..e521a80d 100644 --- a/lean/AGENTS.md +++ b/lean/AGENTS.md @@ -9,7 +9,7 @@ pair and exact dependency revision. - `FepSketches/fep_all.lean` is generated from canonical family-owned topic bodies by `scripts/_maint_build_fep_all_lean.py`. -- Every formal resource in `src/fep_lean/formal/manifest.py` has a byte-exact +- Every formal resource in `src/fep_formal/formal/manifest.py` has a byte-exact `FepSketches/` projection generated by `scripts/_maint_build_formal_modules.py`. - Composition leaves own cross-topic proofs; `composed.lean` is their @@ -26,14 +26,14 @@ projection owners. Never hand-edit a `.lean` workspace projection. ## Setup, resolution and evidence -Explicit `fep-lean setup` owns dependency acquisition under -`FEP_LEAN_SETUP_TIMEOUT_SEC`; it checks pins before and after child processes, +Explicit `fep-formal setup` owns dependency acquisition under +`FEP_FORMAL_SETUP_TIMEOUT_SEC`; it checks pins before and after child processes, preserves the lock and never runs `lake update`. Validation does not acquire dependencies. A deliberate pin change needs a reviewed migration and new evidence. -[`_toolchain.py`](../src/fep_lean/verification/_toolchain.py) owns executable -resolution. Explicit `FEP_LEAN_LAKE_EXE` / `FEP_LEAN_LEAN_EXE` overrides take +[`_toolchain.py`](../src/fep_formal/verification/_toolchain.py) owns executable +resolution. Explicit `FEP_FORMAL_LAKE_EXE` / `FEP_FORMAL_LEAN_EXE` overrides take precedence; ordinary discovery prefers the project pin where available. Receipt validators compare the actual compiler and resolved Mathlib revision with the declared pair. Availability alone is not pin validation. diff --git a/lean/FepSketches/families/causal_blankets_interventions.lean b/lean/FepSketches/families/causal_blankets_interventions.lean index 74a1dc31..dd980f15 100644 --- a/lean/FepSketches/families/causal_blankets_interventions.lean +++ b/lean/FepSketches/families/causal_blankets_interventions.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/closed_loop_policy_trees.lean b/lean/FepSketches/families/closed_loop_policy_trees.lean index da2ddfc0..9f84b022 100644 --- a/lean/FepSketches/families/closed_loop_policy_trees.lean +++ b/lean/FepSketches/families/closed_loop_policy_trees.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/collective_inference.lean b/lean/FepSketches/families/collective_inference.lean index 489abaf1..3645a088 100644 --- a/lean/FepSketches/families/collective_inference.lean +++ b/lean/FepSketches/families/collective_inference.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/continuous_time_thermodynamics.lean b/lean/FepSketches/families/continuous_time_thermodynamics.lean index 0bc6f531..155685a3 100644 --- a/lean/FepSketches/families/continuous_time_thermodynamics.lean +++ b/lean/FepSketches/families/continuous_time_thermodynamics.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/controlled_markov.lean b/lean/FepSketches/families/controlled_markov.lean index 04baf465..3efca98b 100644 --- a/lean/FepSketches/families/controlled_markov.lean +++ b/lean/FepSketches/families/controlled_markov.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/core_active_inference.lean b/lean/FepSketches/families/core_active_inference.lean index 723421fd..732e69a1 100644 --- a/lean/FepSketches/families/core_active_inference.lean +++ b/lean/FepSketches/families/core_active_inference.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/core_bayesian_mechanics.lean b/lean/FepSketches/families/core_bayesian_mechanics.lean index 5a8a4aa4..59f50e3f 100644 --- a/lean/FepSketches/families/core_bayesian_mechanics.lean +++ b/lean/FepSketches/families/core_bayesian_mechanics.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/core_free_energy.lean b/lean/FepSketches/families/core_free_energy.lean index 0f9fb830..d3ccda68 100644 --- a/lean/FepSketches/families/core_free_energy.lean +++ b/lean/FepSketches/families/core_free_energy.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/core_information_geometry.lean b/lean/FepSketches/families/core_information_geometry.lean index 3b0f6fec..afec4d30 100644 --- a/lean/FepSketches/families/core_information_geometry.lean +++ b/lean/FepSketches/families/core_information_geometry.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/core_thermodynamics.lean b/lean/FepSketches/families/core_thermodynamics.lean index b3781316..e5b742d2 100644 --- a/lean/FepSketches/families/core_thermodynamics.lean +++ b/lean/FepSketches/families/core_thermodynamics.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/exponential_family_geometry.lean b/lean/FepSketches/families/exponential_family_geometry.lean index 52fe86a1..b7b4242d 100644 --- a/lean/FepSketches/families/exponential_family_geometry.lean +++ b/lean/FepSketches/families/exponential_family_geometry.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/finite_sample_risk_calibration.lean b/lean/FepSketches/families/finite_sample_risk_calibration.lean index 813b76d8..65ac4477 100644 --- a/lean/FepSketches/families/finite_sample_risk_calibration.lean +++ b/lean/FepSketches/families/finite_sample_risk_calibration.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/geometric_mechanics.lean b/lean/FepSketches/families/geometric_mechanics.lean index 3997437b..6a33831c 100644 --- a/lean/FepSketches/families/geometric_mechanics.lean +++ b/lean/FepSketches/families/geometric_mechanics.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/geometric_optimization.lean b/lean/FepSketches/families/geometric_optimization.lean index 9247d695..a954b8d1 100644 --- a/lean/FepSketches/families/geometric_optimization.lean +++ b/lean/FepSketches/families/geometric_optimization.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/learning_theory.lean b/lean/FepSketches/families/learning_theory.lean index 0408224e..8083cf35 100644 --- a/lean/FepSketches/families/learning_theory.lean +++ b/lean/FepSketches/families/learning_theory.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/measure_bayesian_inversion.lean b/lean/FepSketches/families/measure_bayesian_inversion.lean index b7c74764..adfcb3c1 100644 --- a/lean/FepSketches/families/measure_bayesian_inversion.lean +++ b/lean/FepSketches/families/measure_bayesian_inversion.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/native_blanket_independence.lean b/lean/FepSketches/families/native_blanket_independence.lean index 584455b2..924fa954 100644 --- a/lean/FepSketches/families/native_blanket_independence.lean +++ b/lean/FepSketches/families/native_blanket_independence.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/path_thermodynamics.lean b/lean/FepSketches/families/path_thermodynamics.lean index 9413f1f2..44750aa5 100644 --- a/lean/FepSketches/families/path_thermodynamics.lean +++ b/lean/FepSketches/families/path_thermodynamics.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/predictive_coding_generalized.lean b/lean/FepSketches/families/predictive_coding_generalized.lean index 8dbe234b..9252f4c0 100644 --- a/lean/FepSketches/families/predictive_coding_generalized.lean +++ b/lean/FepSketches/families/predictive_coding_generalized.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/standalone_efe_formalizations.lean b/lean/FepSketches/families/standalone_efe_formalizations.lean index 62cdad8a..84c3f242 100644 --- a/lean/FepSketches/families/standalone_efe_formalizations.lean +++ b/lean/FepSketches/families/standalone_efe_formalizations.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/temporal_inference.lean b/lean/FepSketches/families/temporal_inference.lean index d315621d..b1254358 100644 --- a/lean/FepSketches/families/temporal_inference.lean +++ b/lean/FepSketches/families/temporal_inference.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/FepSketches/families/variational_duality.lean b/lean/FepSketches/families/variational_duality.lean index 7604621a..5d87c5cf 100644 --- a/lean/FepSketches/families/variational_duality.lean +++ b/lean/FepSketches/families/variational_duality.lean @@ -1,6 +1,6 @@ module -- AUTO-GENERATED by scripts/_maint_build_fep_all_lean.py --- Source of truth: src/fep_lean/catalogue/bodies/*.py via catalogue.registry +-- Source of truth: src/fep_formal/catalogue/bodies/*.py via catalogue.registry -- Do not edit by hand; regenerate after any canonical body change. -- -- Each topic body is wrapped in `namespace fep_fepNNN ... end fep_fepNNN` diff --git a/lean/README.md b/lean/README.md index d63a3ccc..033686ab 100644 --- a/lean/README.md +++ b/lean/README.md @@ -14,17 +14,17 @@ a pair upgrade requires a reviewed migration and refreshed evidence. Run explicit dependency setup from the project root: ```bash -uv run fep-lean setup +uv run fep-formal setup ``` Setup validates declared pins and the resolved Mathlib revision, acquires the -exact cache and builds under the `FEP_LEAN_SETUP_TIMEOUT_SEC` deadline. It +exact cache and builds under the `FEP_FORMAL_SETUP_TIMEOUT_SEC` deadline. It preserves dependency pins and never runs `lake update`. Ordinary validation acquires nothing. Topic bodies are authored in the -[body registry](../src/fep_lean/catalogue/AGENTS.md). Reusable Lean resources are -authored under the [formal package](../src/fep_lean/formal/AGENTS.md) and selected +[body registry](../src/fep_formal/catalogue/AGENTS.md). Reusable Lean resources are +authored under the [formal package](../src/fep_formal/formal/AGENTS.md) and selected by its typed manifest. `FepSketches/` contains generated projections of those owners. Change an owner, regenerate its projection and inspect the diff; never repair a workspace copy by hand. @@ -36,13 +36,13 @@ claim every current source or a full provider workflow was accepted. ## Executable and timeout configuration -`FEP_LEAN_LAKE_EXE` and `FEP_LEAN_LEAN_EXE` select explicit binaries. +`FEP_FORMAL_LAKE_EXE` and `FEP_FORMAL_LEAN_EXE` select explicit binaries. `ELAN_HOME` is respected for toolchain discovery and child execution; when unset, the compiler child's writable home is a per-user temporary directory. -[`_toolchain.py`](../src/fep_lean/verification/_toolchain.py) owns resolution and -the allowlisted child environment. `FEP_LEAN_VERIFY_TIMEOUT` configures the +[`_toolchain.py`](../src/fep_formal/verification/_toolchain.py) owns resolution and +the allowlisted child environment. `FEP_FORMAL_VERIFY_TIMEOUT` configures the per-topic compilation deadline; its default is owned by -[`lean_verifier.py`](../src/fep_lean/verification/lean_verifier.py). +[`lean_verifier.py`](../src/fep_formal/verification/lean_verifier.py). See [AGENTS.md](AGENTS.md) for the workspace contract and [Lean operations](../docs/lean4.md) for detailed usage. diff --git a/manuscript/02a_introduction.md b/manuscript/02a_introduction.md index 19284178..bed2231f 100644 --- a/manuscript/02a_introduction.md +++ b/manuscript/02a_introduction.md @@ -64,7 +64,7 @@ This separation is central to the research design. The Lean kernel, not an LLM, This manuscript makes five principal contributions: -- **(C1) A distributable formalism catalog.** The `fep_lean` package exposes {{total_topics}} stable topics through one import namespace. Static metadata, semantic review, Lean bodies, YAML, and the appendix follow an explicit generation graph rather than competing as sources of truth. +- **(C1) A distributable formalism catalog.** The `fep_formal` package exposes {{total_topics}} stable topics through one import namespace. Static metadata, semantic review, Lean bodies, YAML, and the appendix follow an explicit generation graph rather than competing as sources of truth. - **(C2) A semantic maturity audit.** Each topic records a primary theorem, assumption review, non-vacuity argument, and acceptance probe. The audit distinguishes direct formalization from conditional, structural, and scope-limited proxies; `mathlib_status: real` means a body is intended to compile, not that the motivating scientific claim is complete. - **(C3) Deeper and compositional formal statements.** The variational and KL rows use Mathlib's native KL definition, identity law, zero characterization, and Markov-kernel chain rule. The manifested foundations now span measure and finite Bayesian inversion, variational duality, controlled and temporal inference, causal interventions, generalized predictive coding, finite path thermodynamics, categorical and optimization geometry, collective inference, concentration, and model evidence in addition to the original finite active-inference kernel. Manifested composition leaves prove **{{formalism.metrics.theorem_witnessed_relations}}** cross-topic witnesses rather than inferring them from shared imports; the graph distinguishes **{{formalism.metrics.formal_relation_witnesses}}** derivations or identifications from **{{formalism.metrics.formal_pairing_witnesses}}** checked pairings, and `composed.lean` is only their import aggregate. - **(C4) Evidence-separated verification.** Native Lean and full Hermes/OpenGauss evidence have different receipt schemas and claim predicates. Both bind evidence to the current source, while catalog-only output is ineligible by construction. diff --git a/manuscript/03_methodology.md b/manuscript/03_methodology.md index 5839e476..4179b684 100644 --- a/manuscript/03_methodology.md +++ b/manuscript/03_methodology.md @@ -19,15 +19,15 @@ The architecture has three source layers and three evidence layers. ## The Command-Line Toolchain {#sec:the_command_line_toolchain} -The installed `fep-lean` command is the public interface: +The installed `fep-formal` command is the public interface: ```bash -uv run fep-lean catalogue -uv run fep-lean atlas --check -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal catalogue +uv run fep-formal atlas --check +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json uv run python scripts/audit_formalisms.py --receipt output/formalism-audit.json -uv run fep-lean preflight -uv run fep-lean run +uv run fep-formal preflight +uv run fep-formal run ``` The first two commands are deterministic and offline: catalog mode builds publication inputs, while the atlas command checks the coverage visualization. The native compiler command writes an atomic, source-bound topic receipt that records the actual compiler output and resolved Mathlib revision; the formalism audit separately resolves primary/evidence declarations, applies a versioned trusted-axiom policy, and inspects evidence axioms. `preflight` is a read-only capability check. `run` is the credentialed Hermes/OpenGauss path and fails closed when required capabilities are absent. Topic and area filters are useful during development, but a filtered native receipt is never publication-claim-ready for the full catalog. @@ -39,7 +39,7 @@ uv run python scripts/_maint_build_topics_catalogue.py --check uv run python scripts/_maint_build_fep_all_lean.py --check uv run python scripts/_maint_build_formal_modules.py --check uv run python scripts/build_formalism_coverage.py --check -uv run fep-lean atlas --check +uv run fep-formal atlas --check uv run python scripts/build_formal_kernel_dashboard.py --check uv run python scripts/theorem_maturity_audit.py uv run python docs/theorem_ref_audit.py @@ -47,7 +47,7 @@ uv run python docs/theorem_ref_audit.py ## The Hermes Agent and LLM Integration {#sec:the_hermes_agent_and_llm_integration} -`fep_lean.llm.hermes.HermesExplainer` is an optional reviewer of a curated theorem body, not the owner of the formal kernel. It sends a system/user prompt pair to an OpenAI-compatible endpoint, parses the explanation and refined Lean block, and records retries and model-chain advances. The prompt requires preservation of imports, namespaces, tactic hints, and the absence of `sorry` in an already complete sketch. +`fep_formal.llm.hermes.HermesExplainer` is an optional reviewer of a curated theorem body, not the owner of the formal kernel. It sends a system/user prompt pair to an OpenAI-compatible endpoint, parses the explanation and refined Lean block, and records retries and model-chain advances. The prompt requires preservation of imports, namespaces, tactic hints, and the absence of `sorry` in an already complete sketch. Provider/model rosters are runtime configuration rather than scientific results. They are authoritative only in a validated report bundle. With no OpenRouter or Anthropic credential, full-mode preflight fails; an offline fixture result may exercise code paths in tests, but it is ineligible for publication claims. @@ -55,7 +55,7 @@ See [@sec:the_hermes_ai_agent_and_llm_assisted_formalization] for the session pr ## The Native Lean Compilation Engine {#sec:the_native_lean_compilation_engine} -`fep_lean.verification.lean_verifier.LeanVerifier` writes each selected body to a temporary file in the pinned Lake workspace and invokes `lake env lean`. Leading imports are preserved; a shared preamble is used only for a sketch that has no explicit imports. Results retain compiler output, separated warnings and errors, `sorry` detection, duration, toolchain version, and an advisory failure class. +`fep_formal.verification.lean_verifier.LeanVerifier` writes each selected body to a temporary file in the pinned Lake workspace and invokes `lake env lean`. Leading imports are preserved; a shared preamble is used only for a sketch that has no explicit imports. Results retain compiler output, separated warnings and errors, `sorry` detection, duration, toolchain version, and an advisory failure class. Native claim readiness is stricter than an exit code. The receipt must cover the exact ordered roster of {{total_topics}} topics, every row must compile, warning and `sorry` counts must both be zero, and the catalog, canonical family-body sources, Lean toolchain, and Mathlib tag must match the live tree. Revalidation independently recomputes those conditions rather than trusting a stored `complete` flag. @@ -87,15 +87,15 @@ uv run python scripts/_maint_build_topics_catalogue.py --check uv run python scripts/_maint_build_fep_all_lean.py --check uv run python scripts/_maint_build_formal_modules.py --check uv run python scripts/build_formalism_coverage.py --check -uv run fep-lean atlas --check +uv run fep-formal atlas --check uv run python scripts/build_formal_kernel_dashboard.py --check uv run python scripts/audit_formalisms.py --receipt output/formalism-audit.json -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json -uv run fep-lean catalogue +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal catalogue uv run python scripts/render_manuscript.py --check ``` -For a full live run, configure an accepted credential, run `uv run fep-lean preflight`, then `uv run fep-lean run`. The resulting report must pass the receipt validator before its Hermes or timing fields can enter manuscript variables. Neither path mutates authored manuscript Markdown: rendering writes to `output/manuscript/` only after validating every placeholder across the full source set. +For a full live run, configure an accepted credential, run `uv run fep-formal preflight`, then `uv run fep-formal run`. The resulting report must pass the receipt validator before its Hermes or timing fields can enter manuscript variables. Neither path mutates authored manuscript Markdown: rendering writes to `output/manuscript/` only after validating every placeholder across the full source set. ## Area-Specific Methodological Constraints {#sec:area_specific_methodological_constraints} @@ -130,16 +130,16 @@ config/catalogue_metadata.yaml stable titles/areas/library hints config/theorem_maturity.yaml primary theorem + semantic review config/formalism_novelty.yaml expansion deltas + required bridges config/formalism_relations.yaml authored relations + capability history -src/fep_lean/catalogue/bodies/*.py family-owned canonical Lean bodies -src/fep_lean/catalogue/registry.py validated body manifest and merger -src/fep_lean/catalogue/latex.py theorem-signature projection -src/fep_lean/formal/**/*.lean manifested foundations + composition leaves +src/fep_formal/catalogue/bodies/*.py family-owned canonical Lean bodies +src/fep_formal/catalogue/registry.py validated body manifest and merger +src/fep_formal/catalogue/latex.py theorem-signature projection +src/fep_formal/formal/**/*.lean manifested foundations + composition leaves \ | / v -src/fep_lean/catalogue/generation.py +src/fep_formal/catalogue/generation.py | | v v -config/topics.yaml src/fep_lean/data/topics.yaml +config/topics.yaml src/fep_formal/data/topics.yaml | +--> lean/FepSketches/fep_all.lean +--> lean/FepSketches/{foundations,compositions,aggregate}.lean @@ -160,17 +160,17 @@ The project pins `{{lean_toolchain}}` and Mathlib `{{mathlib_tag}}`. `lake exe c ## execution-integrity Testing Policy {#sec:zero_direct_testing_policy} -Tests pin observable contracts rather than publication constants. Catalog tests exercise strict schema and source parity; native tests invoke the real Lean subprocess where marked; SQLite tests use isolated real databases; HTTP behavior is tested through controlled local servers or is guarded by explicit live credentials. Distribution tests build a wheel, install it into an isolated environment, import `fep_lean`, execute CLI help, load packaged data, and confirm that only the supported `fep_lean` namespace is exported. +Tests pin observable contracts rather than publication constants. Catalog tests exercise strict schema and source parity; native tests invoke the real Lean subprocess where marked; SQLite tests use isolated real databases; HTTP behavior is tested through controlled local servers or is guarded by explicit live credentials. Distribution tests build a wheel, install it into an isolated environment, import `fep_formal`, execute CLI help, load packaged data, and confirm that canonical `fep_formal` imports and deprecated `fep_lean` aliases share module and class identity. External services remain external evidence. Offline fixture responses are useful for parser and failure-path tests, but cannot make a full report claim-ready. ## Namespace Convention and Topic Isolation {#sec:namespace_convention} -Python code lives under one `fep_lean` namespace. Lean declarations use an inner stable topic namespace (`FEP002`, `FEP014`, and so on); the generated aggregate adds an outer `fep_fepNNN` namespace so helper declarations from different self-contained sketches cannot collide. The coverage audit counts declarations and imports from canonical bodies, while theorem-reference auditing ensures that manuscript identifiers resolve to actual declarations. +Python code lives under one `fep_formal` namespace. Lean declarations use an inner stable topic namespace (`FEP002`, `FEP014`, and so on); the generated aggregate adds an outer `fep_fepNNN` namespace so helper declarations from different self-contained sketches cannot collide. The coverage audit counts declarations and imports from canonical bodies, while theorem-reference auditing ensures that manuscript identifiers resolve to actual declarations. ## PYTHONPATH Isolation {#sec:pythonpath_isolation} -The installable package uses the `fep_lean` namespace. Checkout commands run through `uv`, and installed commands import `fep_lean.*`. The wheel includes its generated catalog as package data, so loading the default catalog does not depend on locating the repository root. +The installable package uses the canonical `fep_formal` namespace. Deprecated `fep_lean` imports and the `fep-lean` executable remain compatibility aliases through the 2.x release line; new consumers use the canonical interfaces. Checkout commands run through `uv`, and installed commands import `fep_formal.*`. The wheel includes its generated catalog as package data, so loading the default catalog does not depend on locating the repository root. ## Parallelism Model {#sec:parallelism_model} diff --git a/manuscript/03a_lean4_primer.md b/manuscript/03a_lean4_primer.md index 7f10d898..a1d447f9 100644 --- a/manuscript/03a_lean4_primer.md +++ b/manuscript/03a_lean4_primer.md @@ -86,7 +86,7 @@ The catalog's {{total_topics}} Lean bodies collectively exercise the major tacti `LeanVerifier` writes each sketch to its own temporary file under `lean/FepSketches/`, created by `tempfile.mkstemp` with the prefix `_verify__` and the suffix `.lean`, and unlinked once the subprocess returns. Before the subprocess call, `_wrap_lean_code` prepends `import Mathlib`, the fixed `open MeasureTheory ProbabilityTheory Real Nat Finset Set` line, and `open scoped BigOperators` — but only to a body that does not already begin with `import`, and all {{total_topics}} catalog bodies do. For every row in `config/topics.yaml` the wrapper therefore returns the body unchanged, and the imports, the opens, and the `namespace FEP … end FEP` block, where `` is the topic's three-digit identifier, are the ones the body itself declares. With `lean/` as the working directory, the verifier then invokes `lake env lean FepSketches/_verify__.lean`. That file exists only for the duration of the call, so the reproducible form of one topic's verification is the entry point that creates it: ```bash -uv run fep-lean verify --topic fep-001 +uv run fep-formal verify --topic fep-001 ``` This executes inside the Lake build environment rooted at `lean/`, which provides access to the pre-compiled Mathlib4 `{{mathlib_tag}}` `.olean` files. Exit code 0 signals compilation success. The verifier captures `stdout` and `stderr`, sets `compiles` to `True` or `False`, detects a `sorry` tactic in the source text, and returns the resulting `VerifyResult`; `--receipt` writes it into the typed native receipt, and native mode persists nothing in SQLite, whose session store belongs to full OpenGauss mode ([@sec:sqlite_schema_five_tables]). Elapsed time is hardware- and cache-dependent, so it is quoted only from the selected receipt rather than as a range: across the {{verify.topics_with_result}} results of `{{verify.run_id}}` the per-topic minimum is {{verify.min_topic_s}} s, the median {{verify.median_topic_s}} s, the mean {{verify.mean_topic_s}} s, and the maximum {{verify.max_topic_s}} s. @@ -206,7 +206,7 @@ end FEP002 The topic-row version fixes the measurable space, both measures, the order of KL arguments, and the nonnegative extended-real codomain. Its inequality is deliberately narrower than the informal theorem: it treats surprisal and posterior as inputs rather than constructing them from a joint model. The separate finite `GenerativeModel` foundation closes that bridge for one normalized finite carrier by constructing evidence and posterior, proving Bayes reconstruction, and deriving posterior-form VFE and its evidence bound. Keeping the two declarations separate makes the difference between a native measure-level remainder theorem and a finite model theorem visible in their types. -**Catalog note.** The {{total_topics}} committed bodies in the family modules under `src/fep_lean/catalogue/bodies/` carry targeted `import Mathlib.…` lines. The validated registry fixes their order and source identity. [`LeanVerifier._wrap_lean_code`]({{publication.repository_url}}/blob/{{source.published_ref}}/src/fep_lean/verification/lean_verifier.py) preserves a body with leading imports and supplies the shared preamble only when imports are absent ([@sec:native_lean_4_compilation_and_zero_direct_verification]; Appendix B). +**Catalog note.** The {{total_topics}} committed bodies in the family modules under `src/fep_formal/catalogue/bodies/` carry targeted `import Mathlib.…` lines. The validated registry fixes their order and source identity. [`LeanVerifier._wrap_lean_code`]({{publication.repository_url}}/blob/{{source.published_ref}}/src/fep_formal/verification/lean_verifier.py) preserves a body with leading imports and supplies the shared preamble only when imports are absent ([@sec:native_lean_4_compilation_and_zero_direct_verification]; Appendix B). ### Reading Type Error Messages {#sec:reading_type_error_messages} diff --git a/manuscript/03c_sorry_maturity.md b/manuscript/03c_sorry_maturity.md index b381f243..0e9c5590 100644 --- a/manuscript/03c_sorry_maturity.md +++ b/manuscript/03c_sorry_maturity.md @@ -57,7 +57,7 @@ The enforcement layers are complementary: 1. `FEPTopicCatalogue` rejects malformed or incomplete generated rows and theorem/signature count drift. 2. `LeanVerifier` detects non-comment `sorry`, invokes the real pinned compiler, and retains warnings/errors in a structured result. -3. `uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json` requires clean per-topic results and atomically writes a source-digest-bound receipt. +3. `uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json` requires clean per-topic results and atomically writes a source-digest-bound receipt. 4. `lake build FepSketches` checks the topic aggregate and manifested maintained formal modules together, exposing namespace collisions, broken dependencies, and declaration warnings. 5. `scripts/_maint_build_fep_all_lean.py --check` and `scripts/_maint_build_formal_modules.py --check` reject projection drift without rewriting tracked files. 6. The receipt validator recomputes roster, counts, digests, toolchain, and claim readiness instead of trusting stored booleans. @@ -89,7 +89,7 @@ The workflow for such a migration is: ```bash uv run python scripts/_maint_build_topics_catalogue.py uv run python scripts/_maint_build_fep_all_lean.py -uv run fep-lean verify --topic fep-014 --fail-on-warnings +uv run fep-formal verify --topic fep-014 --fail-on-warnings uv run python scripts/theorem_maturity_audit.py uv run python scripts/build_formalism_coverage.py ``` diff --git a/manuscript/03d_hermes_llm_pipeline.md b/manuscript/03d_hermes_llm_pipeline.md index 0ab3c7da..b4c36f79 100644 --- a/manuscript/03d_hermes_llm_pipeline.md +++ b/manuscript/03d_hermes_llm_pipeline.md @@ -2,7 +2,7 @@ ### Architecture Overview {#sec:architecture_overview} -`fep_lean.llm.hermes.HermesExplainer` reviews a curated `TopicEntry`. It does not own the catalog, overwrite a canonical topic body, or establish a theorem merely by returning text. Family modules under `src/fep_lean/catalogue/bodies/` own those bodies and `registry.py` validates their ordered union; `config/topics.yaml` is the generated projection. A live model response becomes relevant only after its extracted Lean block is compiled and its complete run bundle passes independent receipt validation. +`fep_formal.llm.hermes.HermesExplainer` reviews a curated `TopicEntry`. It does not own the catalog, overwrite a canonical topic body, or establish a theorem merely by returning text. Family modules under `src/fep_formal/catalogue/bodies/` own those bodies and `registry.py` validates their ordered union; `config/topics.yaml` is the generated projection. A live model response becomes relevant only after its extracted Lean block is compiled and its complete run bundle passes independent receipt validation. The client uses standard-library HTTP against an OpenAI-compatible endpoint. Configuration is resolved from explicit environment values, project settings, and built-in defaults. The exact configured model and fallback roster are operational facts in `config/settings.yaml` and the validated run manifest; copying them into the paper would create a second, rapidly stale owner. @@ -49,7 +49,7 @@ Hermes success and Lean success are orthogonal. A well-formed explanation can ac `LeanVerifier.verify_sketch` returns a structured `VerifyResult`: `compiles`, `has_sorry`, warnings, errors, stdout/stderr, duration, Lean version, skip reason, and an advisory failure class. Its status projection distinguishes `compiles_clean`, `compiles_with_sorry`, `compile_error`, and `skipped (...)`. The failure classifier helps triage missing imports, renamed identifiers, tactic failures, arity/type mismatches, and timeouts, but it is not proof evidence itself. -The full workflow does not treat the canonical body as a hidden success fallback after Hermes failure. If Hermes is disabled, lacks credentials, returns no usable candidate, or exhausts its model attempts, the topic fails full mode. Native verification of the canonical catalog is available as a separate `fep-lean verify` contract. +The full workflow does not treat the canonical body as a hidden success fallback after Hermes failure. If Hermes is disabled, lacks credentials, returns no usable candidate, or exhausts its model attempts, the topic fails full mode. Native verification of the canonical catalog is available as a separate `fep-formal verify` contract. ### Token Usage and Cost Profile {#sec:token_usage_and_cost_profile} diff --git a/manuscript/03e_lean_compilation.md b/manuscript/03e_lean_compilation.md index 0cfd2586..a0947eed 100644 --- a/manuscript/03e_lean_compilation.md +++ b/manuscript/03e_lean_compilation.md @@ -8,7 +8,7 @@ A generated success value cannot establish that imports resolve, types unify, ta ### The `lean_verifier.py` Architecture {#sec:the_leanverifierpy_architecture} -The compiler bridge lives in `fep_lean.verification.lean_verifier`. Its public contract is intentionally small: isolate a sketch, invoke Lean through Lake, and return a structured `VerifyResult`. The source remains authoritative for implementation details. +The compiler bridge lives in `fep_formal.verification.lean_verifier`. Its public contract is intentionally small: isolate a sketch, invoke Lean through Lake, and return a structured `VerifyResult`. The source remains authoritative for implementation details. #### Stage 1: Sketch Isolation and Temporary File Construction {#sec:stage_1_temporary_file_construction} @@ -48,7 +48,7 @@ The only headline used here is receipt-derived: **`{{compile_rate.total}}`** for Preflight checks that the pinned Lake workspace and required Mathlib object files exist before a batch begins. It is intentionally read-only. A failed preflight stops verification rather than producing one misleading import failure per topic. -### Verbose Mode: `FEP_LEAN_VERIFY_VERBOSE=1` {#sec:fep_lean_verify_verbose} +### Verbose Mode: `FEP_FORMAL_VERIFY_VERBOSE=1` {#sec:fep_lean_verify_verbose} Verbose mode increases diagnostic logging for local reproduction. The stable automation surface is the CLI JSON and optional native receipt; prose should not depend on incidental log formatting. diff --git a/manuscript/03f_pipeline_architecture.md b/manuscript/03f_pipeline_architecture.md index 94545164..60715e65 100644 --- a/manuscript/03f_pipeline_architecture.md +++ b/manuscript/03f_pipeline_architecture.md @@ -24,7 +24,7 @@ Catalog generation is offline. Native verification requires the pinned Lean work The direction of ownership is fixed: -1. `config/catalogue_metadata.yaml`, `config/theorem_maturity.yaml`, `config/formalism_novelty.yaml`, and the family-owned `fep_lean.catalogue.bodies` modules are maintained inputs. +1. `config/catalogue_metadata.yaml`, `config/theorem_maturity.yaml`, `config/formalism_novelty.yaml`, and the family-owned `fep_formal.catalogue.bodies` modules are maintained inputs. 2. The catalog generator joins metadata, semantic review, and bodies strictly by stable topic ID, validates every required novelty bridge against the maintained composition leaves, and writes checkout and wheel data from identical bytes. 3. Native verification reads the generated catalog, invokes Lean, and may write a digest-bound receipt. 4. Manuscript variables are projected from the catalog plus validated receipts. @@ -50,7 +50,7 @@ The report validator, rather than this manuscript, owns the exact artifact roste ### SQLite Storage Boundaries {#sec:sqlite_schema_five_tables} -The optional persistence layer separates sessions, dialogue turns, artifacts, logs, and cached provider responses. This separation exists so a compiler result is not reconstructed from an LLM transcript and a cached provider response is not mistaken for a fresh run. The schema in `fep_lean.gauss.client` is canonical; duplicating its columns here would invite drift. +The optional persistence layer separates sessions, dialogue turns, artifacts, logs, and cached provider responses. This separation exists so a compiler result is not reconstructed from an LLM transcript and a cached provider response is not mistaken for a fresh run. The schema in `fep_formal.gauss.client` is canonical; duplicating its columns here would invite drift. ### Environment Variable Reference {#sec:environment_variable_reference} @@ -59,7 +59,7 @@ Environment variables configure credentials, provider budgets, timeouts, and sto - credentials enable full mode but do not alter native theorem truth; - changing a timeout or model invalidates any claim that a previous full receipt describes the new configuration. -Package imports use the `fep_lean` namespace. +Package imports use the canonical `fep_formal` namespace; deprecated `fep_lean` imports resolve to the same implementation. ### Representative Run Statistics {#sec:pipeline_run_statistics} @@ -74,9 +74,9 @@ For receipt `{{verify.run_id}}`, recorded native compiler time is {{verify.durat From the project root: 1. synchronize the locked Python environment with `uv sync --locked --extra dev`, whose test extras step 5 needs; -2. explicitly prepare the pinned Lean workspace with `uv run fep-lean setup` when its cache is absent; +2. explicitly prepare the pinned Lean workspace with `uv run fep-formal setup` when its cache is absent; 3. regenerate and drift-check catalog, aggregate Lean, semantic audit, and coverage projections; -4. run `uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json` for native evidence; +4. run `uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json` for native evidence; 5. generate manuscript variables, run the placeholder and theorem-reference audits, and render to `output/manuscript/`; 6. run full mode only when its external capabilities and credentials are intentionally supplied, then validate its report before citing it. diff --git a/manuscript/04a_framework_fep.md b/manuscript/04a_framework_fep.md index cf389b1d..c0dc3e77 100644 --- a/manuscript/04a_framework_fep.md +++ b/manuscript/04a_framework_fep.md @@ -1,6 +1,6 @@ # Formalisms, Model Specifications, and Results {#sec:formalisms_and_results} -The core artifact is a generated catalog of {{total_topics}} topic-scoped Lean bodies plus semantic review metadata, accompanied by reusable maintained foundations. Canonical topic bodies live in the family modules under `fep_lean.catalogue.bodies`; generated YAML and the unified appendix are projections. Native evidence is `{{verify.evidence_kind}}` with rate `{{compile_rate.total}}`. This section discusses mathematical scope; it does not infer full-pipeline evidence from catalog generation. +The core artifact is a generated catalog of {{total_topics}} topic-scoped Lean bodies plus semantic review metadata, accompanied by reusable maintained foundations. Canonical topic bodies live in the family modules under `fep_formal.catalogue.bodies`; generated YAML and the unified appendix are projections. Native evidence is `{{verify.evidence_kind}}` with rate `{{compile_rate.total}}`. This section discusses mathematical scope; it does not infer full-pipeline evidence from catalog generation. ## Foundational Dynamics: Free Energy Principle ({{areas.FEP.count}} topics) {#sec:foundational_dynamics_free_energy_principle} diff --git a/manuscript/04b_framework_active_inference.md b/manuscript/04b_framework_active_inference.md index d95f3874..bd1e2eb9 100644 --- a/manuscript/04b_framework_active_inference.md +++ b/manuscript/04b_framework_active_inference.md @@ -205,4 +205,4 @@ The {{areas.ActiveInference.count}} rows can be grouped by intended role. At top No single theorem in this list proves Active Inference as a universal theory. The H1 terminal theorem does certify one particular synthetic discrete one-step chain: exact posterior learning, a posterior-dependent asymmetric report decision, and the emitted action's matching transition. It is not a certificate for an MDP implementation or a general active-inference agent. The broader package provides normalized updates, native posterior kernels, a shared finite policy-conditioned generative model, posterior VFE, both central EFE decompositions, prior-weighted policy/action selection, state-updating cumulative open-loop EFE, native information gain, controlled finite-belief recursion, arbitrary finite-depth observation-contingent policy trees with deterministic optimality, a strict feedback witness, and scoped collective laws. The remaining high-level obligations are distributions and learning over policy trees, transition-aware and EFE-optimal control on the shared H1 carrier, infinite-horizon or continuous-carrier planning, comparison across alternative EFE conventions, a finite-to-measure conditional-information bridge, arbitrary multiagent interaction structures, and a refinement relation to executable code. -All {{areas.ActiveInference.count}} rows carry **`mathlib_status: real`**, a source classification that is distinct from semantic maturity. The current native area rate, when backed by a claim-ready native receipt, is **`{{compile_rate.by_area.ActiveInference}}`**. Reproduce it with `uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json`; full Hermes/OpenGauss evidence remains a separate contract. +All {{areas.ActiveInference.count}} rows carry **`mathlib_status: real`**, a source classification that is distinct from semantic maturity. The current native area rate, when backed by a claim-ready native receipt, is **`{{compile_rate.by_area.ActiveInference}}`**. Reproduce it with `uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json`; full Hermes/OpenGauss evidence remains a separate contract. diff --git a/manuscript/04f_semantic_closure_and_validation.md b/manuscript/04f_semantic_closure_and_validation.md index 4ec9eaf6..10e20534 100644 --- a/manuscript/04f_semantic_closure_and_validation.md +++ b/manuscript/04f_semantic_closure_and_validation.md @@ -40,7 +40,7 @@ Validation proceeds through independent failure surfaces: 4. **Declaration and axiom audit:** every primary theorem, derivational relation witness, and formal-pairing witness resolves by qualified name; its declaration kind and axiom footprint are recorded in a source-bound receipt. 5. **Projection integrity:** coverage JSON/Markdown and atlas SVG/HTML regenerate byte-for-byte from the same source graph. 6. **Publication integrity:** manuscript variables resolve fail closed, theorem references resolve against the canonical declaration inventory, citations and links pass their audits, and the rendered manuscript receives local copies of its generated visual assets. -7. **Distribution integrity:** an isolated wheel install must expose the `fep_lean` namespace, package data, and CLI without relying on the repository checkout or collision-prone top-level modules. +7. **Distribution integrity:** an isolated wheel install must expose the `fep_formal` namespace, package data, and CLI without relying on the repository checkout or collision-prone top-level modules. No layer subsumes another. Lean can reject an invalid proof but cannot decide whether a theorem title overclaims its type. The semantic firewall can expose a missing scientific capability but cannot certify elaboration. The atlas can make topology inspectable but cannot create a theorem edge. A native receipt can prove compilation for exact bytes but cannot authenticate an optional provider run. The package therefore publishes these receipts and projections side by side rather than collapsing them into one success percentage. diff --git a/manuscript/05b_execution_integrity.md b/manuscript/05b_execution_integrity.md index 859fcb78..809a40d7 100644 --- a/manuscript/05b_execution_integrity.md +++ b/manuscript/05b_execution_integrity.md @@ -38,7 +38,7 @@ presented as the refined result. The committed `lean/FepSketches/fep_all.lean` is generated from the canonical catalog source, while manifested foundations, leaf compositions, and their -import-only aggregate are projected from `src/fep_lean/formal/`. Regeneration +import-only aggregate are projected from `src/fep_formal/formal/`. Regeneration checks fail when either projection differs, and the Lean build compiles the library against the exact pinned toolchain. The formalism audit then resolves reviewed declarations and checks their reported axioms; aggregate success alone @@ -74,7 +74,7 @@ make provider, compiler, and filesystem drift visible in test results. ## Reproducibility -Use `uv.lock`, `fep-lean setup`, and the documented `fep-lean preflight` command +Use `uv.lock`, `fep-formal setup`, and the documented `fep-formal preflight` command to reproduce the pinned environment. A complete run produces `run_manifest.json`, `verification_manifest.json`, `summary.json`, Markdown reports, deterministic figures, and manuscript projections. These artifacts diff --git a/manuscript/05d_comparative_analysis.md b/manuscript/05d_comparative_analysis.md index 0269ceca..2d9604b1 100644 --- a/manuscript/05d_comparative_analysis.md +++ b/manuscript/05d_comparative_analysis.md @@ -36,7 +36,7 @@ The repository makes no priority claim about being the first FEP formalization o ### State-Space Models, Domain-Specific Languages, and Generalized Notation {#sec:gnn_dsl_complementarity} -Executable Active-Inference tools and notations such as pymdp [@heins2022pymdp] or GNN [@smekal2023gnn] occupy a different layer. They specify and run model instances; Lean states and proves invariants. This package implements one such bridge from GNN. Four maintained modules carry it. `FEP.GnnDocument` (`lean/FepSketches/gnn_document.lean`) fixes the GNN abstract syntax and a `WellFormed` predicate that is decidable, so document validity is discharged by `decide` rather than asserted. `FEP.GnnDenotation` supplies `denoteDiscrete`, which sends a discrete-family document together with a conforming numeric payload to a `GenerativeModel` of `active_inference.lean` -- the same carrier the catalog's finite active-inference rows use -- and `symBoolDoc_denotation` proves that the exemplar document's denotation is definitionally the hand-written `symmetricBoolModel trueBiasedPolicyPrior`, which is exactly the executable-refines-formal statement the next paragraph names as a requirement. `FEP.GnnContinuous` does the same for a linear-Gaussian family. `FEP.GnnRenderStatements` states, and proves for the exemplar, that the pymdp, ActiveInference.jl and JAX renderings of a document agree with its denotation, and that a policy rollout equals the corresponding kernel power. Provenance runs through `fep-lean bridge`, whose certificates are pinned to source digests in `specs/gnn-bridge-w2-source-custody/source-pin.json`. +Executable Active-Inference tools and notations such as pymdp [@heins2022pymdp] or GNN [@smekal2023gnn] occupy a different layer. They specify and run model instances; Lean states and proves invariants. This package implements one such bridge from GNN. Four maintained modules carry it. `FEP.GnnDocument` (`lean/FepSketches/gnn_document.lean`) fixes the GNN abstract syntax and a `WellFormed` predicate that is decidable, so document validity is discharged by `decide` rather than asserted. `FEP.GnnDenotation` supplies `denoteDiscrete`, which sends a discrete-family document together with a conforming numeric payload to a `GenerativeModel` of `active_inference.lean` -- the same carrier the catalog's finite active-inference rows use -- and `symBoolDoc_denotation` proves that the exemplar document's denotation is definitionally the hand-written `symmetricBoolModel trueBiasedPolicyPrior`, which is exactly the executable-refines-formal statement the next paragraph names as a requirement. `FEP.GnnContinuous` does the same for a linear-Gaussian family. `FEP.GnnRenderStatements` states, and proves for the exemplar, that the pymdp, ActiveInference.jl and JAX renderings of a document agree with its denotation, and that a policy rollout equals the corresponding kernel power. Provenance runs through `fep-formal bridge`, whose certificates are pinned to source digests in `specs/gnn-bridge-w2-source-custody/source-pin.json`. The obligations the bridge discharges are the normalization ones: `DiscreteConforms` requires every row of the payload to be a probability vector, and the denotation cannot be formed without those proofs. Conditional-independence obligations are not generated -- no module in the bridge states one -- and the denotation is defined for the discrete and linear-Gaussian families rather than for arbitrary GNN documents. The specification slices are `specs/gnn-bridge-*`. diff --git a/manuscript/06_conclusion.md b/manuscript/06_conclusion.md index 735ffd4f..23317bb7 100644 --- a/manuscript/06_conclusion.md +++ b/manuscript/06_conclusion.md @@ -34,7 +34,7 @@ The catalog is most useful as review infrastructure. A proposed extension must i The package contributes: -1. a real `fep_lean` import namespace and isolated-wheel contract; +1. a real `fep_formal` import namespace and isolated-wheel contract; 2. one typed generation graph for metadata, semantic review, Lean bodies, YAML, and package data; 3. native Mathlib posterior, KL, Gaussian, conditional-independence, and Markov-kernel formalizations; 4. a manifested reusable kernel of foundations and leaf compositions for probability, information, variational and expected free energy, finite policy trees, temporal and causal inference, native blanket transfer, predictive coding, stochastic thermodynamics, scalar exponential-family geometry, collective inference, finite risk, and learning; @@ -69,21 +69,21 @@ Posterior contraction itself is already proved on the selected two-hypothesis Ga ## Reproducibility Statement {#sec:reproducibility_statement} -The Python environment is lockfile-controlled; Lean and Mathlib are pinned in the Lake workspace; generated artifacts have drift checks; and native evidence can be reproduced with the sequence below. `fep-lean catalogue` appears before the manuscript drift check because `manuscript/manuscript_vars.yaml` and the generated appendix are build products rather than tracked sources: on a fresh checkout they do not exist yet, and the check that compares them to canonical data has nothing to compare. +The Python environment is lockfile-controlled; Lean and Mathlib are pinned in the Lake workspace; generated artifacts have drift checks; and native evidence can be reproduced with the sequence below. `fep-formal catalogue` appears before the manuscript drift check because `manuscript/manuscript_vars.yaml` and the generated appendix are build products rather than tracked sources: on a fresh checkout they do not exist yet, and the check that compares them to canonical data has nothing to compare. ```bash uv sync --locked --extra dev -uv run fep-lean setup +uv run fep-formal setup uv run python scripts/_maint_build_topics_catalogue.py --check uv run python scripts/_maint_build_fep_all_lean.py --check uv run python scripts/_maint_build_formal_modules.py --check uv run python scripts/theorem_maturity_audit.py uv run python scripts/build_formalism_coverage.py --check -uv run fep-lean atlas --check +uv run fep-formal atlas --check uv run python scripts/build_formal_kernel_dashboard.py --check uv run python scripts/audit_formalisms.py --receipt output/formalism-audit.json -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json -uv run fep-lean catalogue +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal catalogue uv run python scripts/render_manuscript.py --check uv run python docs/theorem_ref_audit.py ``` diff --git a/manuscript/08_appendix_a_overview.md b/manuscript/08_appendix_a_overview.md index 7604e65c..8225bfdd 100644 --- a/manuscript/08_appendix_a_overview.md +++ b/manuscript/08_appendix_a_overview.md @@ -7,7 +7,7 @@ comparisons behind the portable methods interface. Its corpus feature map is an interpretive comparison; the canonical declarations indexed here retain their own carriers, assumptions and semantic reviews. -**Appendices B and C (material)** are one auto-generated file, `09z_unified_formalism_catalogue.md`, produced during Manuscript Artifacts. It juxtaposes, per `fep-NNN` topic, the fenced Lean body and the typeset display-math blocks (former appendices B and C). Stable descriptive metadata comes from `config/catalogue_metadata.yaml`, semantic review from `config/theorem_maturity.yaml`, canonical Lean bodies from family modules under `src/fep_lean/catalogue/bodies/`, and equation signatures from `src/fep_lean/catalogue/latex.py`; `scripts/_maint_build_topics_catalogue.py` joins them into the generated catalog. Each topic has one display-math **block** per `theorem` (typically `aligned`), with a unique stable id `eq:fep-NNN-k`. Counts and validated evidence projections come from `manuscript_vars.yaml`. +**Appendices B and C (material)** are one auto-generated file, `09z_unified_formalism_catalogue.md`, produced during Manuscript Artifacts. It juxtaposes, per `fep-NNN` topic, the fenced Lean body and the typeset display-math blocks (former appendices B and C). Stable descriptive metadata comes from `config/catalogue_metadata.yaml`, semantic review from `config/theorem_maturity.yaml`, canonical Lean bodies from family modules under `src/fep_formal/catalogue/bodies/`, and equation signatures from `src/fep_formal/catalogue/latex.py`; `scripts/_maint_build_topics_catalogue.py` joins them into the generated catalog. Each topic has one display-math **block** per `theorem` (typically `aligned`), with a unique stable id `eq:fep-NNN-k`. Counts and validated evidence projections come from `manuscript_vars.yaml`. ## Complete Topic Catalog {#sec:complete_topic_catalogue} @@ -38,7 +38,7 @@ Rates come from the selected validated evidence projected into `manuscript_vars. After any toolchain or sketch change, regenerate a source-bound receipt with: ```bash -uv run fep-lean verify \ +uv run fep-formal verify \ --fail-on-warnings \ --receipt output/native-verification.json ``` @@ -69,10 +69,10 @@ The catalog offers a structural way to inspect claims that appear in debates abo For machine-checked native compilation, run: ```bash -uv run fep-lean verify \ +uv run fep-formal verify \ --fail-on-warnings \ --receipt output/native-verification.json -uv run fep-lean catalogue +uv run fep-formal catalogue ``` Validate the receipt against the live tree before using its result. Full-run manifests under `output/reports/run_*/` are a separate Hermes/OpenGauss evidence class and cannot substitute for the native receipt. diff --git a/manuscript/AGENTS.md b/manuscript/AGENTS.md index e7dfdab0..fe16cee5 100644 --- a/manuscript/AGENTS.md +++ b/manuscript/AGENTS.md @@ -8,7 +8,7 @@ below are relative to the project root. - Authored numbered `*.md` files remain reusable templates containing typed `{{...}}` placeholders. - `manuscript_vars.yaml` is generated by - `fep_lean.output.manuscript.write_manuscript_vars`. + `fep_formal.output.manuscript.write_manuscript_vars`. - `09z_unified_formalism_catalogue.md` is generated from the complete validated `FEPTopicCatalogue`; it contains the Lean and typeset appendix material for every topic. Never edit it by hand. @@ -28,9 +28,9 @@ The catalog itself is a generated join. Stable metadata is maintained in `config/catalogue_metadata.yaml`, semantic scope in `config/theorem_maturity.yaml`, expansion novelty in `config/formalism_novelty.yaml`, Lean bodies in family modules under -`src/fep_lean/catalogue/bodies/`, and theorem-signature projection in -`src/fep_lean/catalogue/latex.py`. `config/topics.yaml` and packaged -`src/fep_lean/data/topics.yaml` are byte-identical projections. +`src/fep_formal/catalogue/bodies/`, and theorem-signature projection in +`src/fep_formal/catalogue/latex.py`. `config/topics.yaml` and packaged +`src/fep_formal/data/topics.yaml` are byte-identical projections. ## Evidence boundaries @@ -52,20 +52,20 @@ catalog-derived manuscript inputs before cross-reference and render checks; font projections and installed-font acceptance remain separate checks. Order matters before publishing. The native receipt binds every maintained -Python source (`fep_lean.output.provenance.SOURCE_OWNER_ROSTER`), so editing -one after `fep-lean verify` un-binds it and the next render prints +Python source (`fep_formal.output.provenance.SOURCE_OWNER_ROSTER`), so editing +one after `fep-formal verify` un-binds it and the next render prints `not verified` for every compile rate. Run the verification after the last source edit, then render: ```bash -uv run fep-lean verify --fail-on-warnings --receipt output/native-verification.json -uv run fep-lean catalogue +uv run fep-formal verify --fail-on-warnings --receipt output/native-verification.json +uv run fep-formal catalogue ``` Publishing then runs one command, not two: ```bash -FEP_LEAN_TEMPLATE_DIR=