@@ -172,6 +172,7 @@ section Sup
172172
173173variable [Max L] [ContinuousSup L] {f g : X → L} {s : Set X} {x : X}
174174
175+ @[fun_prop]
175176lemma ContinuousAt.sup' (hf : ContinuousAt f x) (hg : ContinuousAt g x) :
176177 ContinuousAt (f ⊔ g) x :=
177178 hf.sup_nhds' hg
@@ -181,14 +182,17 @@ lemma ContinuousAt.sup (hf : ContinuousAt f x) (hg : ContinuousAt g x) :
181182 ContinuousAt (fun a ↦ f a ⊔ g a) x :=
182183 hf.sup' hg
183184
185+ @[fun_prop]
184186lemma ContinuousWithinAt.sup' (hf : ContinuousWithinAt f s x) (hg : ContinuousWithinAt g s x) :
185187 ContinuousWithinAt (f ⊔ g) s x :=
186188 hf.sup_nhds' hg
187189
190+ @[fun_prop]
188191lemma ContinuousWithinAt.sup (hf : ContinuousWithinAt f s x) (hg : ContinuousWithinAt g s x) :
189192 ContinuousWithinAt (fun a ↦ f a ⊔ g a) s x :=
190193 hf.sup' hg
191194
195+ @[fun_prop]
192196lemma ContinuousOn.sup' (hf : ContinuousOn f s) (hg : ContinuousOn g s) :
193197 ContinuousOn (f ⊔ g) s := fun x hx ↦
194198 (hf x hx).sup' (hg x hx)
@@ -198,6 +202,7 @@ lemma ContinuousOn.sup (hf : ContinuousOn f s) (hg : ContinuousOn g s) :
198202 ContinuousOn (fun a ↦ f a ⊔ g a) s :=
199203 hf.sup' hg
200204
205+ @[fun_prop]
201206lemma Continuous.sup' (hf : Continuous f) (hg : Continuous g) : Continuous (f ⊔ g) := hf.sup hg
202207
203208end Sup
@@ -206,6 +211,7 @@ section Inf
206211
207212variable [Min L] [ContinuousInf L] {f g : X → L} {s : Set X} {x : X}
208213
214+ @[fun_prop]
209215lemma ContinuousAt.inf' (hf : ContinuousAt f x) (hg : ContinuousAt g x) :
210216 ContinuousAt (f ⊓ g) x :=
211217 hf.inf_nhds' hg
@@ -215,14 +221,17 @@ lemma ContinuousAt.inf (hf : ContinuousAt f x) (hg : ContinuousAt g x) :
215221 ContinuousAt (fun a ↦ f a ⊓ g a) x :=
216222 hf.inf' hg
217223
224+ @[fun_prop]
218225lemma ContinuousWithinAt.inf' (hf : ContinuousWithinAt f s x) (hg : ContinuousWithinAt g s x) :
219226 ContinuousWithinAt (f ⊓ g) s x :=
220227 hf.inf_nhds' hg
221228
229+ @[fun_prop]
222230lemma ContinuousWithinAt.inf (hf : ContinuousWithinAt f s x) (hg : ContinuousWithinAt g s x) :
223231 ContinuousWithinAt (fun a ↦ f a ⊓ g a) s x :=
224232 hf.inf' hg
225233
234+ @[fun_prop]
226235lemma ContinuousOn.inf' (hf : ContinuousOn f s) (hg : ContinuousOn g s) :
227236 ContinuousOn (f ⊓ g) s := fun x hx ↦
228237 (hf x hx).inf' (hg x hx)
@@ -232,6 +241,7 @@ lemma ContinuousOn.inf (hf : ContinuousOn f s) (hg : ContinuousOn g s) :
232241 ContinuousOn (fun a ↦ f a ⊓ g a) s :=
233242 hf.inf' hg
234243
244+ @[fun_prop]
235245lemma Continuous.inf' (hf : Continuous f) (hg : Continuous g) : Continuous (f ⊓ g) := hf.inf hg
236246
237247end Inf
@@ -241,36 +251,44 @@ section FinsetSup'
241251variable {ι : Type *} [SemilatticeSup L] [ContinuousSup L] {s : Finset ι}
242252 {f : ι → X → L} {t : Set X} {x : X}
243253
254+ @[fun_prop]
244255lemma ContinuousAt.finset_sup'_apply (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
245256 ContinuousAt (fun a ↦ s.sup' hne (f · a)) x :=
246257 Tendsto.finset_sup'_nhds_apply hne hs
247258
259+ @[fun_prop]
248260lemma ContinuousAt.finset_sup' (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
249261 ContinuousAt (s.sup' hne f) x := by
250262 simpa only [← Finset.sup'_apply] using finset_sup'_apply hne hs
251263
264+ @[fun_prop]
252265lemma ContinuousWithinAt.finset_sup'_apply (hne : s.Nonempty)
253266 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) :
254267 ContinuousWithinAt (fun a ↦ s.sup' hne (f · a)) t x :=
255268 Tendsto.finset_sup'_nhds_apply hne hs
256269
270+ @[fun_prop]
257271lemma ContinuousWithinAt.finset_sup' (hne : s.Nonempty)
258272 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) : ContinuousWithinAt (s.sup' hne f) t x := by
259273 simpa only [← Finset.sup'_apply] using finset_sup'_apply hne hs
260274
275+ @[fun_prop]
261276lemma ContinuousOn.finset_sup'_apply (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
262277 ContinuousOn (fun a ↦ s.sup' hne (f · a)) t := fun x hx ↦
263278 ContinuousWithinAt.finset_sup'_apply hne fun i hi ↦ hs i hi x hx
264279
280+ @[fun_prop]
265281lemma ContinuousOn.finset_sup' (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
266282 ContinuousOn (s.sup' hne f) t := fun x hx ↦
267283 ContinuousWithinAt.finset_sup' hne fun i hi ↦ hs i hi x hx
268284
285+ @[fun_prop]
269286lemma Continuous.finset_sup'_apply (hne : s.Nonempty) (hs : ∀ i ∈ s, Continuous (f i)) :
270287 Continuous (fun a ↦ s.sup' hne (f · a)) :=
271288 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_sup'_apply _ fun i hi ↦
272289 (hs i hi).continuousAt
273290
291+ @[fun_prop]
274292lemma Continuous.finset_sup' (hne : s.Nonempty) (hs : ∀ i ∈ s, Continuous (f i)) :
275293 Continuous (s.sup' hne f) :=
276294 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_sup' _ fun i hi ↦ (hs i hi).continuousAt
@@ -282,36 +300,44 @@ section FinsetSup
282300variable {ι : Type *} [SemilatticeSup L] [OrderBot L] [ContinuousSup L] {s : Finset ι}
283301 {f : ι → X → L} {t : Set X} {x : X}
284302
303+ @[fun_prop]
285304lemma ContinuousAt.finset_sup_apply (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
286305 ContinuousAt (fun a ↦ s.sup (f · a)) x :=
287306 Tendsto.finset_sup_nhds_apply hs
288307
308+ @[fun_prop]
289309lemma ContinuousAt.finset_sup (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
290310 ContinuousAt (s.sup f) x := by
291311 simpa only [← Finset.sup_apply] using finset_sup_apply hs
292312
313+ @[fun_prop]
293314lemma ContinuousWithinAt.finset_sup_apply
294315 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) :
295316 ContinuousWithinAt (fun a ↦ s.sup (f · a)) t x :=
296317 Tendsto.finset_sup_nhds_apply hs
297318
319+ @[fun_prop]
298320lemma ContinuousWithinAt.finset_sup
299321 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) : ContinuousWithinAt (s.sup f) t x := by
300322 simpa only [← Finset.sup_apply] using finset_sup_apply hs
301323
324+ @[fun_prop]
302325lemma ContinuousOn.finset_sup_apply (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
303326 ContinuousOn (fun a ↦ s.sup (f · a)) t := fun x hx ↦
304327 ContinuousWithinAt.finset_sup_apply fun i hi ↦ hs i hi x hx
305328
329+ @[fun_prop]
306330lemma ContinuousOn.finset_sup (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
307331 ContinuousOn (s.sup f) t := fun x hx ↦
308332 ContinuousWithinAt.finset_sup fun i hi ↦ hs i hi x hx
309333
334+ @[fun_prop]
310335lemma Continuous.finset_sup_apply (hs : ∀ i ∈ s, Continuous (f i)) :
311336 Continuous (fun a ↦ s.sup (f · a)) :=
312337 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_sup_apply fun i hi ↦
313338 (hs i hi).continuousAt
314339
340+ @[fun_prop]
315341lemma Continuous.finset_sup (hs : ∀ i ∈ s, Continuous (f i)) : Continuous (s.sup f) :=
316342 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_sup fun i hi ↦ (hs i hi).continuousAt
317343
@@ -322,36 +348,44 @@ section FinsetInf'
322348variable {ι : Type *} [SemilatticeInf L] [ContinuousInf L] {s : Finset ι}
323349 {f : ι → X → L} {t : Set X} {x : X}
324350
351+ @[fun_prop]
325352lemma ContinuousAt.finset_inf'_apply (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
326353 ContinuousAt (fun a ↦ s.inf' hne (f · a)) x :=
327354 Tendsto.finset_inf'_nhds_apply hne hs
328355
356+ @[fun_prop]
329357lemma ContinuousAt.finset_inf' (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
330358 ContinuousAt (s.inf' hne f) x := by
331359 simpa only [← Finset.inf'_apply] using finset_inf'_apply hne hs
332360
361+ @[fun_prop]
333362lemma ContinuousWithinAt.finset_inf'_apply (hne : s.Nonempty)
334363 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) :
335364 ContinuousWithinAt (fun a ↦ s.inf' hne (f · a)) t x :=
336365 Tendsto.finset_inf'_nhds_apply hne hs
337366
367+ @[fun_prop]
338368lemma ContinuousWithinAt.finset_inf' (hne : s.Nonempty)
339369 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) : ContinuousWithinAt (s.inf' hne f) t x := by
340370 simpa only [← Finset.inf'_apply] using finset_inf'_apply hne hs
341371
372+ @[fun_prop]
342373lemma ContinuousOn.finset_inf'_apply (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
343374 ContinuousOn (fun a ↦ s.inf' hne (f · a)) t := fun x hx ↦
344375 ContinuousWithinAt.finset_inf'_apply hne fun i hi ↦ hs i hi x hx
345376
377+ @[fun_prop]
346378lemma ContinuousOn.finset_inf' (hne : s.Nonempty) (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
347379 ContinuousOn (s.inf' hne f) t := fun x hx ↦
348380 ContinuousWithinAt.finset_inf' hne fun i hi ↦ hs i hi x hx
349381
382+ @[fun_prop]
350383lemma Continuous.finset_inf'_apply (hne : s.Nonempty) (hs : ∀ i ∈ s, Continuous (f i)) :
351384 Continuous (fun a ↦ s.inf' hne (f · a)) :=
352385 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_inf'_apply _ fun i hi ↦
353386 (hs i hi).continuousAt
354387
388+ @[fun_prop]
355389lemma Continuous.finset_inf' (hne : s.Nonempty) (hs : ∀ i ∈ s, Continuous (f i)) :
356390 Continuous (s.inf' hne f) :=
357391 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_inf' _ fun i hi ↦ (hs i hi).continuousAt
@@ -363,36 +397,44 @@ section FinsetInf
363397variable {ι : Type *} [SemilatticeInf L] [OrderTop L] [ContinuousInf L] {s : Finset ι}
364398 {f : ι → X → L} {t : Set X} {x : X}
365399
400+ @[fun_prop]
366401lemma ContinuousAt.finset_inf_apply (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
367402 ContinuousAt (fun a ↦ s.inf (f · a)) x :=
368403 Tendsto.finset_inf_nhds_apply hs
369404
405+ @[fun_prop]
370406lemma ContinuousAt.finset_inf (hs : ∀ i ∈ s, ContinuousAt (f i) x) :
371407 ContinuousAt (s.inf f) x := by
372408 simpa only [← Finset.inf_apply] using finset_inf_apply hs
373409
410+ @[fun_prop]
374411lemma ContinuousWithinAt.finset_inf_apply
375412 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) :
376413 ContinuousWithinAt (fun a ↦ s.inf (f · a)) t x :=
377414 Tendsto.finset_inf_nhds_apply hs
378415
416+ @[fun_prop]
379417lemma ContinuousWithinAt.finset_inf
380418 (hs : ∀ i ∈ s, ContinuousWithinAt (f i) t x) : ContinuousWithinAt (s.inf f) t x := by
381419 simpa only [← Finset.inf_apply] using finset_inf_apply hs
382420
421+ @[fun_prop]
383422lemma ContinuousOn.finset_inf_apply (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
384423 ContinuousOn (fun a ↦ s.inf (f · a)) t := fun x hx ↦
385424 ContinuousWithinAt.finset_inf_apply fun i hi ↦ hs i hi x hx
386425
426+ @[fun_prop]
387427lemma ContinuousOn.finset_inf (hs : ∀ i ∈ s, ContinuousOn (f i) t) :
388428 ContinuousOn (s.inf f) t := fun x hx ↦
389429 ContinuousWithinAt.finset_inf fun i hi ↦ hs i hi x hx
390430
431+ @[fun_prop]
391432lemma Continuous.finset_inf_apply (hs : ∀ i ∈ s, Continuous (f i)) :
392433 Continuous (fun a ↦ s.inf (f · a)) :=
393434 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_inf_apply fun i hi ↦
394435 (hs i hi).continuousAt
395436
437+ @[fun_prop]
396438lemma Continuous.finset_inf (hs : ∀ i ∈ s, Continuous (f i)) : Continuous (s.inf f) :=
397439 continuous_iff_continuousAt.2 fun _ ↦ ContinuousAt.finset_inf fun i hi ↦ (hs i hi).continuousAt
398440
0 commit comments