import Mathlib.InformationTheory.KullbackLeibler.ChainRule import Mathlib.InformationTheory.KullbackLeibler.DataProcessing import Mathlib.Probability.Kernel.Composition.RadonNikodym import Mathlib.Probability.Kernel.Composition.AbsolutelyContinuous import Mathlib.Probability.Kernel.Composition.MapComap import Mathlib.Probability.Kernel.Composition.Lemmas import Mathlib.MeasureTheory.Order.Lattice /-! # Standalone extraction for `InformationTheory.klDiv_map_measurableEquiv` Definitions are copied verbatim; theorem proofs are replaced by `sorry`. Auto-generated by ChallengeGen. -/ set_option quotPrecheck false -- Namespace stubs (so later `open`s resolve). namespace MeasureTheory end MeasureTheory namespace ProbabilityTheory end ProbabilityTheory namespace ENNReal end ENNReal namespace InformationTheory end InformationTheory namespace Finset end Finset -- ═══ ForMathlib.InformationTheory.KullbackLeibler.ChainRule ═══ section open MeasureTheory ProbabilityTheory open scoped ENNReal namespace InformationTheory variable {α β γ : Type*} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} {mγ : MeasurableSpace γ} /-- The Kullback–Leibler divergence is invariant under measurable equivalences. -/ lemma klDiv_map_measurableEquiv (μ ν : Measure α) [IsFiniteMeasure μ] [IsFiniteMeasure ν] (e : α ≃ᵐ β) : klDiv (μ.map e) (ν.map e) = klDiv μ ν := sorry end InformationTheory end -- ═══ ForMathlib.MeasureTheory.Order.Lattice ═══ section open Finset variable {α δ : Type*} [MeasurableSpace δ] [SemilatticeInf α] {m : MeasurableSpace α} [MeasurableInf₂ α] attribute [to_dual existing] MeasurableInf₂ end