Zulip Chat Archive
Stream: Berkeley Lean Seminar
Topic: Good tips for subalgebras
Kentarô YAMAMOTO (Jun 16 2020 at 20:28):
I use lattices as an example, but I believe that this issue arises with any algebraic structure. Assume that I have shown that the family of compact open sets of a topological space is a bounded lattice:
namespace compact_opens
def compact_open_sets (α : Type u) [topological_space α] : set (set α) :=
λ U, is_open U ∧ compact U
def compact_opens (α : Type u) [topological_space α] :=
{ U : opens α // @compact_open_sets α _ U }
instance {α : Type u} [topological_space α] : bounded_lattice (compact_opens α) := sorry
end topological_space
I also have a type class that adds new data to topological spaces:
class toporthoframe (α : Type u) extends orthoframe α, topological_space α := mk
where orthoframe
yet another type class. Now I consider a subtype of compact_opens
:
def compact_open_perp_regular_set (α : Type u) [toporthoframe α] : set (set α) :=
{ U ∈ topological_space.compact_open_sets α | sorry }
def compact_opens_perp_regular (α : Type u) [toporthoframe α] :=
{ U : topological_space.compact_opens α // (↑U : set α) ∈ compact_open_perp_regular_set α}
I want to define an instance of bounded_lattice
for compact_opens_perp_regular
that is a subalgebra of compact_opens
.
I am sure that this is a recurrent pattern in algebra. What is an efficient way of defining such an instance without defining a dozen properties for bounded_lattice
?
Patrick Lutz (Jun 16 2020 at 21:10):
I would try asking on the #new members or #general streams
Kevin Buzzard (Jun 16 2020 at 21:35):
You can maybe pull lattice structures back; you might want to see if there's something called lattice.comap, that's probably what the construction will be called
Last updated: Dec 20 2023 at 11:08 UTC