File: Mathlib/Order/CompleteSublattice.lean

full_name: CompleteSublattice
code: /-- A complete sublattice is a subset of a complete lattice that is closed under arbitrary suprema
and infima. -/
structure CompleteSublattice extends Sublattice α where
  sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier
  sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier
goal: Type u_1

full_name: CompleteSublattice.sSupClosed'
code: /-- A complete sublattice is a subset of a complete lattice that is closed under arbitrary suprema
and infima. -/
structure CompleteSublattice extends Sublattice α where
  sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier
  sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier
goal: s ⊆ self.carrier → sSup s ∈ self.carrier

full_name: CompleteSublattice.sInfClosed'
code: /-- A complete sublattice is a subset of a complete lattice that is closed under arbitrary suprema
and infima. -/
structure CompleteSublattice extends Sublattice α where
  sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier
  sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier
goal: s ⊆ self.carrier → sInf s ∈ self.carrier

full_name: CompleteSublattice.mk'_carrier
code: /-- To check that a subset is a complete sublattice, one does not need to check that it is closed
under binary `Sup` since this follows from the stronger `sSup` condition. Likewise for infima. -/
@[simps] def mk' (carrier : Set α)
    (sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier)
    (sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier) :
  CompleteSublattice α 
goal: (CompleteSublattice.mk' carrier sSupClosed' sInfClosed').carrier = carrier

full_name: CompleteSublattice.mk'
code: /-- To check that a subset is a complete sublattice, one does not need to check that it is closed
under binary `Sup` since this follows from the stronger `sSup` condition. Likewise for infima. -/
@[simps] def mk' (carrier : Set α)
    (sSupClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sSup s ∈ carrier)
    (sInfClosed' : ∀ ⦃s : Set α⦄, s ⊆ carrier → sInf s ∈ carrier) :
  CompleteSublattice α 
goal: CompleteSublattice α

full_name: CompleteSublattice.instSetLike
code: instance instSetLike : SetLike (CompleteSublattice α) α 
goal: SetLike (CompleteSublattice α) α

full_name: CompleteSublattice.instBot
code: instance instBot : Bot L 
goal: Bot ↥L

full_name: CompleteSublattice.instTop
code: instance instTop : Top L 
goal: Top ↥L

full_name: CompleteSublattice.instSupSet
code: instance instSupSet : SupSet L 
goal: SupSet ↥L

full_name: CompleteSublattice.instInfSet
code: instance instInfSet : InfSet L 
goal: InfSet ↥L

full_name: CompleteSublattice.sSupClosed
code: theorem sSupClosed {s : Set α} (h : s ⊆ L) : sSup s ∈ L 
goal: sSup s ∈ L

full_name: CompleteSublattice.sInfClosed
code: theorem sInfClosed {s : Set α} (h : s ⊆ L) : sInf s ∈ L 
goal: sInf s ∈ L

full_name: CompleteSublattice.coe_bot
code: @[simp] theorem coe_bot : (↑(⊥ : L) : α) = ⊥ 
goal: ↑⊥ = ⊥

full_name: CompleteSublattice.coe_top
code: @[simp] theorem coe_top : (↑(⊤ : L) : α) = ⊤ 
goal: ↑⊤ = ⊤

full_name: CompleteSublattice.coe_sSup
code: @[simp] theorem coe_sSup (S : Set L) : (↑(sSup S) : α) = sSup {(s : α) | s ∈ S} 
goal: ↑(sSup S) = sSup {x | ∃ s ∈ S, ↑s = x}

full_name: CompleteSublattice.coe_sSup'
code: theorem coe_sSup' (S : Set L) : (↑(sSup S) : α) = ⨆ N ∈ S, (N : α) 
goal: ↑(sSup S) = ⨆ N ∈ S, ↑N

full_name: CompleteSublattice.coe_sInf
code: @[simp] theorem coe_sInf (S : Set L) : (↑(sInf S) : α) = sInf {(s : α) | s ∈ S} 
goal: ↑(sInf S) = sInf {x | ∃ s ∈ S, ↑s = x}

full_name: CompleteSublattice.coe_sInf'
code: theorem coe_sInf' (S : Set L) : (↑(sInf S) : α) = ⨅ N ∈ S, (N : α) 
goal: ↑(sInf S) = ⨅ N ∈ S, ↑N

full_name: CompleteSublattice.instCompleteLattice
code: instance instCompleteLattice : CompleteLattice L 
goal: CompleteLattice ↥L

full_name: CompleteSublattice.map_carrier
code: /-- The push forward of a complete sublattice under a complete lattice hom is a complete
sublattice. -/
@[simps] def map (L : CompleteSublattice α) : CompleteSublattice β 
goal: (CompleteSublattice.map f L).carrier = ⇑f '' ↑L

full_name: CompleteSublattice.map
code: /-- The push forward of a complete sublattice under a complete lattice hom is a complete
sublattice. -/
@[simps] def map (L : CompleteSublattice α) : CompleteSublattice β 
goal: CompleteSublattice β

full_name: CompleteSublattice.mem_map
code: @[simp] theorem mem_map {b : β} : b ∈ L.map f ↔ ∃ a ∈ L, f a = b 
goal: b ∈ CompleteSublattice.map f L ↔ ∃ a ∈ L, f a = b

full_name: CompleteSublattice.comap
code: /-- The pull back of a complete sublattice under a complete lattice hom is a complete sublattice. -/
@[simps] def comap (L : CompleteSublattice β) : CompleteSublattice α 
goal: CompleteSublattice α

full_name: CompleteSublattice.comap_carrier
code: /-- The pull back of a complete sublattice under a complete lattice hom is a complete sublattice. -/
@[simps] def comap (L : CompleteSublattice β) : CompleteSublattice α 
goal: (CompleteSublattice.comap f L).carrier = ⇑f ⁻¹' ↑L

full_name: CompleteSublattice.mem_comap
code: @[simp] theorem mem_comap {L : CompleteSublattice β} {a : α} : a ∈ L.comap f ↔ f a ∈ L 
goal: a ∈ CompleteSublattice.comap f L ↔ f a ∈ L

full_name: CompleteSublattice.disjoint_iff
code: protected lemma disjoint_iff {a b : L} :
    Disjoint a b ↔ Disjoint (a : α) (b : α) 
goal: Disjoint a b ↔ Disjoint ↑a ↑b

full_name: CompleteSublattice.codisjoint_iff
code: protected lemma codisjoint_iff {a b : L} :
    Codisjoint a b ↔ Codisjoint (a : α) (b : α) 
goal: Codisjoint a b ↔ Codisjoint ↑a ↑b

full_name: CompleteSublattice.isCompl_iff
code: protected lemma isCompl_iff {a b : L} :
    IsCompl a b ↔ IsCompl (a : α) (b : α) 
goal: IsCompl a b ↔ IsCompl ↑a ↑b

full_name: CompleteSublattice.isComplemented_iff
code: lemma isComplemented_iff : ComplementedLattice L ↔ ∀ a ∈ L, ∃ b ∈ L, IsCompl a b 
goal: ComplementedLattice ↥L ↔ ∀ a ∈ L, ∃ b ∈ L, IsCompl a b

full_name: CompleteSublattice.instTop_1
code: instance : Top (CompleteSublattice α) 
goal: Top (CompleteSublattice α)

full_name: CompleteSublattice.copy
code: /-- Copy of a complete sublattice with a new `carrier` equal to the old one. Useful to fix
definitional equalities. -/
protected def copy (s : Set α) (hs : s = L) : CompleteSublattice α 
goal: CompleteSublattice α

full_name: CompleteSublattice.coe_copy
code: @[simp, norm_cast] lemma coe_copy (s : Set α) (hs) : L.copy s hs = s 
goal: ↑(L.copy s hs) = s

full_name: CompleteSublattice.copy_eq
code: lemma copy_eq (s : Set α) (hs) : L.copy s hs = L 
goal: L.copy s hs = L

full_name: CompleteLatticeHom.range
code: /-- The range of a `CompleteLatticeHom` is a `CompleteSublattice`.

See Note [range copy pattern]. -/
protected def range : CompleteSublattice β 
goal: CompleteSublattice β

full_name: CompleteLatticeHom.range_coe
code: theorem range_coe : (f.range : Set β) = range f 
goal: ↑f.range = Set.range ⇑f

full_name: CompleteLatticeHom.toOrderIsoRangeOfInjective
code: /-- We can regard a complete lattice homomorphism as an order equivalence to its range. -/
@[simps! apply] noncomputable def toOrderIsoRangeOfInjective (hf : Injective f) : α ≃o f.range 
goal: α ≃o ↥f.range

full_name: CompleteLatticeHom.toOrderIsoRangeOfInjective_apply
code: /-- We can regard a complete lattice homomorphism as an order equivalence to its range. -/
@[simps! apply] noncomputable def toOrderIsoRangeOfInjective (hf : Injective f) : α ≃o f.range 
goal: (f.toOrderIsoRangeOfInjective hf) a = ⟨f a, ⋯⟩