@@ -107,6 +107,7 @@ lemma rnDerivAux_le_one [IsFiniteKernel η] (hκη : κ ≤ η) {a : α} :
107
107
· have := hαγ.countableOrCountablyGenerated.resolve_left hα
108
108
exact density_le_one ((fst_map_id_prod _ measurable_const).trans_le hκη) _ _ _
109
109
110
+ @[fun_prop]
110
111
lemma measurable_rnDerivAux (κ η : Kernel α γ) :
111
112
Measurable (fun p : α × γ ↦ Kernel.rnDerivAux κ η p.1 p.2 ) := by
112
113
simp_rw [rnDerivAux]
@@ -124,10 +125,9 @@ lemma measurable_rnDerivAux (κ η : Kernel α γ) :
124
125
· have := hαγ.countableOrCountablyGenerated.resolve_left hα
125
126
exact measurable_density _ η MeasurableSet.univ
126
127
128
+ @[fun_prop]
127
129
lemma measurable_rnDerivAux_right (κ η : Kernel α γ) (a : α) :
128
- Measurable (fun x : γ ↦ rnDerivAux κ η a x) := by
129
- change Measurable ((fun p : α × γ ↦ rnDerivAux κ η p.1 p.2 ) ∘ (fun x ↦ (a, x)))
130
- exact (measurable_rnDerivAux _ _).comp measurable_prod_mk_left
130
+ Measurable (fun x : γ ↦ rnDerivAux κ η a x) := by fun_prop
131
131
132
132
lemma setLIntegral_rnDerivAux (κ η : Kernel α γ) [IsFiniteKernel κ] [IsFiniteKernel η]
133
133
(a : α) {s : Set γ} (hs : MeasurableSet s) :
@@ -150,8 +150,7 @@ lemma withDensity_rnDerivAux (κ η : Kernel α γ) [IsFiniteKernel κ] [IsFinit
150
150
withDensity (κ + η) (fun a x ↦ Real.toNNReal (rnDerivAux κ (κ + η) a x)) = κ := by
151
151
ext a s hs
152
152
rw [Kernel.withDensity_apply']
153
- swap
154
- · exact (measurable_rnDerivAux _ _).ennreal_ofReal
153
+ swap; · fun_prop
155
154
simp_rw [ofNNReal_toNNReal]
156
155
exact setLIntegral_rnDerivAux κ η a hs
157
156
@@ -174,7 +173,7 @@ lemma withDensity_one_sub_rnDerivAux (κ η : Kernel α γ) [IsFiniteKernel κ]
174
173
rw [withDensity_sub_add_cancel]
175
174
· rw [withDensity_one']
176
175
· exact measurable_const
177
- · exact (measurable_rnDerivAux _ _).ennreal_ofReal
176
+ · fun_prop
178
177
· intro a
179
178
filter_upwards [rnDerivAux_le_one h_le] with x hx
180
179
simp only [ENNReal.ofReal_le_one]
@@ -217,12 +216,9 @@ lemma measure_mutuallySingularSetSlice (κ η : Kernel α γ) [IsFiniteKernel κ
217
216
simp_rw [ofNNReal_toNNReal]
218
217
rw [Kernel.withDensity_apply', lintegral_eq_zero_iff, EventuallyEq, ae_restrict_iff]
219
218
rotate_left
220
- · exact (measurable_const.sub
221
- ((measurable_rnDerivAux _ _).comp measurable_prod_mk_left)).ennreal_ofReal
222
- (measurableSet_singleton _)
223
- · exact (measurable_const.sub
224
- ((measurable_rnDerivAux _ _).comp measurable_prod_mk_left)).ennreal_ofReal
225
- · exact (measurable_const.sub (measurable_rnDerivAux _ _)).ennreal_ofReal
219
+ · exact (measurableSet_singleton 0 ).preimage (by fun_prop)
220
+ · fun_prop
221
+ · fun_prop
226
222
refine ae_of_all _ (fun x hx ↦ ?_)
227
223
simp only [mem_setOf_eq] at hx
228
224
simp [hx]
@@ -236,16 +232,16 @@ lemma rnDeriv_def' (κ η : Kernel α γ) :
236
232
rnDeriv κ η = fun a x ↦ ENNReal.ofReal (rnDerivAux κ (κ + η) a x)
237
233
/ ENNReal.ofReal (1 - rnDerivAux κ (κ + η) a x) := by ext; rw [rnDeriv_def]
238
234
235
+ @[fun_prop]
239
236
lemma measurable_rnDeriv (κ η : Kernel α γ) :
240
237
Measurable (fun p : α × γ ↦ rnDeriv κ η p.1 p.2 ) := by
241
238
simp_rw [rnDeriv_def]
242
239
exact (measurable_rnDerivAux κ _).ennreal_ofReal.div
243
240
(measurable_const.sub (measurable_rnDerivAux κ _)).ennreal_ofReal
244
241
242
+ @[fun_prop]
245
243
lemma measurable_rnDeriv_right (κ η : Kernel α γ) (a : α) :
246
- Measurable (fun x : γ ↦ rnDeriv κ η a x) := by
247
- change Measurable ((fun p : α × γ ↦ rnDeriv κ η p.1 p.2 ) ∘ (fun x ↦ (a, x)))
248
- exact (measurable_rnDeriv _ _).comp measurable_prod_mk_left
244
+ Measurable (fun x : γ ↦ rnDeriv κ η a x) := by fun_prop
249
245
250
246
lemma rnDeriv_eq_top_iff (κ η : Kernel α γ) (a : α) (x : γ) :
251
247
rnDeriv κ η a x = ∞ ↔ (a, x) ∈ mutuallySingularSet κ η := by
@@ -267,9 +263,7 @@ irreducible_def singularPart (κ η : Kernel α γ) [IsSFiniteKernel κ] [IsSFin
267
263
268
264
lemma measurable_singularPart_fun (κ η : Kernel α γ) :
269
265
Measurable (fun p : α × γ ↦ Real.toNNReal (rnDerivAux κ (κ + η) p.1 p.2 )
270
- - Real.toNNReal (1 - rnDerivAux κ (κ + η) p.1 p.2 ) * rnDeriv κ η p.1 p.2 ) :=
271
- (measurable_rnDerivAux _ _).ennreal_ofReal.sub
272
- ((measurable_const.sub (measurable_rnDerivAux _ _)).ennreal_ofReal.mul (measurable_rnDeriv _ _))
266
+ - Real.toNNReal (1 - rnDerivAux κ (κ + η) p.1 p.2 ) * rnDeriv κ η p.1 p.2 ) := by fun_prop
273
267
274
268
lemma measurable_singularPart_fun_right (κ η : Kernel α γ) (a : α) :
275
269
Measurable (fun x : γ ↦ Real.toNNReal (rnDerivAux κ (κ + η) a x)
@@ -351,9 +345,8 @@ lemma withDensity_rnDeriv_of_subset_compl_mutuallySingularSetSlice
351
345
exact (withDensity_one_sub_rnDerivAux κ η).symm
352
346
rw [this, ← withDensity_mul, Kernel.withDensity_apply']
353
347
rotate_left
354
- · exact ((measurable_const.sub (measurable_rnDerivAux _ _)).ennreal_ofReal.mul
355
- (measurable_rnDeriv _ _))
356
- · exact (measurable_const.sub (measurable_rnDerivAux _ _)).real_toNNReal
348
+ · fun_prop
349
+ · fun_prop
357
350
· exact measurable_rnDeriv _ _
358
351
simp_rw [rnDeriv]
359
352
have hs' : ∀ x ∈ s, rnDerivAux κ (κ + η) a x < 1 := by
0 commit comments