-
Notifications
You must be signed in to change notification settings - Fork 297
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(order/sublattice): sublattice definition #7093
Conversation
src/order/sublattice.lean
Outdated
(inf : ∀ a b, f(a ⊓ b) = f(a) ⊓ f(b) ) | ||
(sup : ∀ a b, f(a ⊔ b) = f(a) ⊔ f(b) ) | ||
: | ||
lattice L |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This conclusion should be lattice β
; you already have lattice L
as an argument!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few style comments; it looks like this is still WIP, so I'm adding that tag.
Definition of sublattice based on typeclass of lattice | ||
-/ | ||
|
||
variables { L : Type* } [ lattice L ] { s : set L } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here and below, we only put spaces around curly braces when they surround a list of tactics. See our style guide or check how other files in mathlib are formatted.
variables { L : Type* } [ lattice L ] { s : set L } | |
variables {L : Type*} [lattice L] {s : set L} |
( carrier : set L) | ||
( inf_mem' {a b : L} : a ∈ carrier → b ∈ carrier → a ⊓ b ∈ carrier ) | ||
( sup_mem' {a b : L} : a ∈ carrier → b ∈ carrier → a ⊔ b ∈ carrier ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't indent the first line after :=
( carrier : set L) | |
( inf_mem' {a b : L} : a ∈ carrier → b ∈ carrier → a ⊓ b ∈ carrier ) | |
( sup_mem' {a b : L} : a ∈ carrier → b ∈ carrier → a ⊔ b ∈ carrier ) | |
(carrier : set L) | |
(inf_mem' {a b : L} : a ∈ carrier → b ∈ carrier → a ⊓ b ∈ carrier) | |
(sup_mem' {a b : L} : a ∈ carrier → b ∈ carrier → a ⊔ b ∈ carrier) |
/-- Trying to make definition of sublattice based on injective map | ||
preserving structure to lattice -/ | ||
protected def function.injective.sublattice [ lattice SL₂ ] [ has_inf SL₁ ] [ has_sup SL₁ ] | ||
(f : SL₁ → SL₂ ) | ||
(hf: injective f) | ||
(inf : ∀ a b, f(a ⊓ b) = f(a) ⊓ f(b) ) | ||
(sup : ∀ a b, f(a ⊔ b) = f(a) ⊔ f(b) ) : | ||
sublattice SL₁ := | ||
{ sup_mem' := λ a b, , | ||
inf_mem' := λ a b, , | ||
carrier := | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's hard to tell exactly what was intended here, but #10615 might have added something relevant.
Redone in Lean 4. |
Definition of order/sublattice