English
A join-semilattice in which every sup-closed set has a least upper bound can be extended to a complete semilattice by defining sSup(s) = sSup(supClosure(s)).
Русский
Обобщённая полузадача: если каждый sup-закрытый множества имеет наименьшее верхнее грань, можно расширить частично упорядоченный граф до полной полузадачи, задавая sSup(s) = sSup(supClosure(s)).
LaTeX
$$$\\text{If } \\forall s, \\operatorname{supClosed}(s) \\Rightarrow \\operatorname{IsLUB}(s, \\ sSup(s)) \\text{, then } \\text{CompleteSemilatticeSup } α \\text{ with } \\mathrm{sSup}(s) = sSup(\\operatorname{supClosure}(s)).$$$
Lean4
/-- A join-semilattice where every sup-closed set has a least upper bound is automatically complete.
-/
def toCompleteSemilatticeSup [SemilatticeSup α] (sSup : Set α → α) (h : ∀ s, SupClosed s → IsLUB s (sSup s)) :
CompleteSemilatticeSup α where
sSup := fun s => sSup (supClosure s)
le_sSup _ _ ha := (h _ supClosed_supClosure).1 <| subset_supClosure ha
sSup_le s a ha := (isLUB_le_iff <| h _ supClosed_supClosure).2 <| by rwa [upperBounds_supClosure]