Skip to content

Commit a3dd48d

Browse files
committed
chore(Topology/Order/Lattice): tag continuity lemmas with fun_prop (leanprover-community#33682)
1 parent abad10c commit a3dd48d

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

Mathlib/Topology/Order/Lattice.lean

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ section Sup
172172

173173
variable [Max L] [ContinuousSup L] {f g : X → L} {s : Set X} {x : X}
174174

175+
@[fun_prop]
175176
lemma 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]
184186
lemma 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]
188191
lemma 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]
192196
lemma 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]
201206
lemma Continuous.sup' (hf : Continuous f) (hg : Continuous g) : Continuous (f ⊔ g) := hf.sup hg
202207

203208
end Sup
@@ -206,6 +211,7 @@ section Inf
206211

207212
variable [Min L] [ContinuousInf L] {f g : X → L} {s : Set X} {x : X}
208213

214+
@[fun_prop]
209215
lemma 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]
218225
lemma 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]
222230
lemma 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]
226235
lemma 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]
235245
lemma Continuous.inf' (hf : Continuous f) (hg : Continuous g) : Continuous (f ⊓ g) := hf.inf hg
236246

237247
end Inf
@@ -241,36 +251,44 @@ section FinsetSup'
241251
variable {ι : Type*} [SemilatticeSup L] [ContinuousSup L] {s : Finset ι}
242252
{f : ι → X → L} {t : Set X} {x : X}
243253

254+
@[fun_prop]
244255
lemma 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]
248260
lemma 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]
252265
lemma 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]
257271
lemma 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]
261276
lemma 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]
265281
lemma 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]
269286
lemma 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]
274292
lemma 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
282300
variable {ι : Type*} [SemilatticeSup L] [OrderBot L] [ContinuousSup L] {s : Finset ι}
283301
{f : ι → X → L} {t : Set X} {x : X}
284302

303+
@[fun_prop]
285304
lemma 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]
289309
lemma 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]
293314
lemma 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]
298320
lemma 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]
302325
lemma 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]
306330
lemma 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]
310335
lemma 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]
315341
lemma 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'
322348
variable {ι : Type*} [SemilatticeInf L] [ContinuousInf L] {s : Finset ι}
323349
{f : ι → X → L} {t : Set X} {x : X}
324350

351+
@[fun_prop]
325352
lemma 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]
329357
lemma 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]
333362
lemma 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]
338368
lemma 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]
342373
lemma 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]
346378
lemma 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]
350383
lemma 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]
355389
lemma 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
363397
variable {ι : Type*} [SemilatticeInf L] [OrderTop L] [ContinuousInf L] {s : Finset ι}
364398
{f : ι → X → L} {t : Set X} {x : X}
365399

400+
@[fun_prop]
366401
lemma 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]
370406
lemma 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]
374411
lemma 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]
379417
lemma 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]
383422
lemma 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]
387427
lemma 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]
391432
lemma 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]
396438
lemma 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

Comments
 (0)