Theorem: ProbabilityTheory.kernel.iIndepFun.of_subsingleton
File: Mathlib/Probability/Independence/Kernel.lean

tactic: refine (iIndepFun_iff_measure_inter_preimage_eq_mul ..).2 fun s f' hf' ↦ ?_
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
⊢ iIndepFun m f κ μ
state_after: α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i ⁻¹' f' i) = ∏ i ∈ s, (κ a) (f i ⁻¹' f' i)

tactic: obtain rfl | ⟨x, hx⟩ := s.eq_empty_or_nonempty
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i ⁻¹' f' i) = ∏ i ∈ s, (κ a) (f i ⁻¹' f' i)
state_after: case inl
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ ∅, MeasurableSet (f' i)
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ ∅, f i ⁻¹' f' i) = ∏ i ∈ ∅, (κ a) (f i ⁻¹' f' i)

case inr.intro
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
x : ι
hx : x ∈ s
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i ⁻¹' f' i) = ∏ i ∈ s, (κ a) (f i ⁻¹' f' i)

tactic: simp
state_before: case inl
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ ∅, MeasurableSet (f' i)
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ ∅, f i ⁻¹' f' i) = ∏ i ∈ ∅, (κ a) (f i ⁻¹' f' i)
state_after: no goals

tactic: have : s = {x} := by ext y; simp [Subsingleton.elim y x, hx]
state_before: case inr.intro
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
x : ι
hx : x ∈ s
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i ⁻¹' f' i) = ∏ i ∈ s, (κ a) (f i ⁻¹' f' i)
state_after: case inr.intro
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
x : ι
hx : x ∈ s
this : s = {x}
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i ⁻¹' f' i) = ∏ i ∈ s, (κ a) (f i ⁻¹' f' i)

tactic: simp [this]
state_before: case inr.intro
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
x : ι
hx : x ∈ s
this : s = {x}
⊢ ∀ᵐ (a : α) ∂μ, (κ a) (⋂ i ∈ s, f i ⁻¹' f' i) = ∏ i ∈ s, (κ a) (f i ⁻¹' f' i)
state_after: no goals

tactic: ext y
state_before: α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
x : ι
hx : x ∈ s
⊢ s = {x}
state_after: case a
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
x : ι
hx : x ∈ s
y : ι
⊢ y ∈ s ↔ y ∈ {x}

tactic: simp [Subsingleton.elim y x, hx]
state_before: case a
α : Type u_1
Ω : Type u_2
ι : Type u_3
β✝ : Type u_4
β' : Type u_5
γ : Type u_6
γ' : Type u_7
_mα : MeasurableSpace α
_mΩ : MeasurableSpace Ω
κ : ↥(kernel α Ω)
μ : Measure α
f✝ : Ω → β✝
g : Ω → β'
β : ι → Type u_8
m : (i : ι) → MeasurableSpace (β i)
f : (i : ι) → Ω → β i
inst✝¹ : IsMarkovKernel κ
inst✝ : Subsingleton ι
s : Finset ι
f' : (i : ι) → Set (β i)
hf' : ∀ i ∈ s, MeasurableSet (f' i)
x : ι
hx : x ∈ s
y : ι
⊢ y ∈ s ↔ y ∈ {x}
state_after: no goals