@@ -33,7 +33,8 @@ supremum helps define the meaning of recursive procedures.
3333 ## Instances of `OmegaCompletePartialOrder`
3434
3535* `Part`
36- * every `CompleteLattice`
36+ * every `CompleteLattice` (proved in `BourbakiWitt` as a special case of chain-complete
37+ partial orders)
3738* pi-types
3839* product types
3940* `OrderHom`
@@ -460,65 +461,6 @@ lemma ωScottContinuous_snd : ωScottContinuous (Prod.snd : α × β → β) :=
460461
461462end Prod
462463
463- namespace CompleteLattice
464-
465- -- see Note [lower instance priority]
466- /-- Any complete lattice has an `ω`-CPO structure where the countable supremum is a special case
467- of arbitrary suprema. -/
468- instance (priority := 100 ) [CompleteLattice α] : OmegaCompletePartialOrder α where
469- ωSup c := ⨆ i, c i
470- ωSup_le := fun ⟨c, _⟩ s hs => by simpa only [iSup_le_iff]
471- le_ωSup := fun ⟨c, _⟩ i => le_iSup_of_le i le_rfl
472-
473- variable [OmegaCompletePartialOrder α] [CompleteLattice β] {f g : α → β}
474-
475- lemma ωScottContinuous.iSup {f : ι → α → β} (hf : ∀ i, ωScottContinuous (f i)) :
476- ωScottContinuous (⨆ i, f i) := by
477- refine ωScottContinuous.of_monotone_map_ωSup
478- ⟨Monotone.iSup fun i ↦ (hf i).monotone, fun c ↦ eq_of_forall_ge_iff fun a ↦ ?_⟩
479- simp +contextual [ωSup_le_iff, (hf _).map_ωSup, @forall_comm ι]
480-
481- lemma ωScottContinuous.sSup {s : Set (α → β)} (hs : ∀ f ∈ s, ωScottContinuous f) :
482- ωScottContinuous (sSup s) := by
483- rw [sSup_eq_iSup]; exact ωScottContinuous.iSup fun f ↦ ωScottContinuous.iSup <| hs f
484-
485- lemma ωScottContinuous.sup (hf : ωScottContinuous f) (hg : ωScottContinuous g) :
486- ωScottContinuous (f ⊔ g) := by
487- rw [← sSup_pair]
488- apply ωScottContinuous.sSup
489- rintro f (rfl | rfl | _) <;> assumption
490-
491- lemma ωScottContinuous.top : ωScottContinuous (⊤ : α → β) :=
492- ωScottContinuous.of_monotone_map_ωSup
493- ⟨monotone_const, fun c ↦ eq_of_forall_ge_iff fun a ↦ by simp⟩
494-
495- lemma ωScottContinuous.bot : ωScottContinuous (⊥ : α → β) := by
496- rw [← sSup_empty]; exact ωScottContinuous.sSup (by simp)
497-
498- end CompleteLattice
499-
500- namespace CompleteLattice
501-
502- variable [OmegaCompletePartialOrder α] [CompleteLinearOrder β] {f g : α → β}
503-
504- -- TODO Prove this result for `ScottContinuousOn` and deduce this as a special case
505- -- Also consider if it holds in greater generality (e.g. finite sets)
506- -- N.B. The Scott Topology coincides with the Upper Topology on a Complete Linear Order
507- -- `Topology.IsScott.scott_eq_upper_of_completeLinearOrder`
508- -- We have that the product topology coincides with the upper topology
509- -- https://github.com/leanprover-community/mathlib4/pull/12133
510- lemma ωScottContinuous.inf (hf : ωScottContinuous f) (hg : ωScottContinuous g) :
511- ωScottContinuous (f ⊓ g) := by
512- refine ωScottContinuous.of_monotone_map_ωSup
513- ⟨hf.monotone.inf hg.monotone, fun c ↦ eq_of_forall_ge_iff fun a ↦ ?_⟩
514- simp only [Pi.inf_apply, hf.map_ωSup c, hg.map_ωSup c, inf_le_iff, ωSup_le_iff, Chain.coe_map,
515- Function.comp, OrderHom.coe_mk, ← forall_or_left, ← forall_or_right]
516- exact ⟨fun h _ ↦ h _ _, fun h i j ↦
517- (h (max j i)).imp (le_trans <| hf.monotone <| c.mono <| le_max_left _ _)
518- (le_trans <| hg.monotone <| c.mono <| le_max_right _ _)⟩
519-
520- end CompleteLattice
521-
522464namespace OmegaCompletePartialOrder
523465variable [OmegaCompletePartialOrder α] [OmegaCompletePartialOrder β]
524466variable [OmegaCompletePartialOrder γ] [OmegaCompletePartialOrder δ]
0 commit comments