Zulip Chat Archive
Stream: Is there code for X?
Topic: what sort of lattice is needed?
Scott Morrison (May 22 2021 at 02:55):
What assumptions on α
are required to make this example provable?
import order.bounded_lattice
example {α : Type*} [bounded_lattice α] (a b : α) (w : a ⊓ b = ⊥) (h : a ⊔ b = a) : b = ⊥ :=
sorry
Bryan Gin-ge Chen (May 22 2021 at 03:05):
This works:
import order.bounded_lattice
example {α : Type*} [bounded_lattice α] (a b : α) (w : a ⊓ b = ⊥) (h : a ⊔ b = a) : b = ⊥ :=
begin
rw [←w, right_eq_inf],
rwa sup_eq_left at h,
end
Scott Morrison (May 22 2021 at 03:07):
Oh! I was thinking that a stronger hypothesis was necessary! Thanks.
Scott Morrison (May 22 2021 at 04:44):
Another lattice theory question:
import order.bounded_lattice
example {α : Type*} [bounded_lattice α] (a b c : α) (w : a ⊓ b = ⊥) (h : (a ⊔ b) ⊓ c = ⊥) :
a ⊓ (b ⊔ c) = ⊥ :=
sorry
You're allowed to strengthen the hypotheses, but I'd like it to work for submodule R M
.
Hanting Zhang (May 22 2021 at 05:34):
I haven't looked too closely, but this reminds me of docs#disjoint.disjoint_sup_right_of_disjoint_sup_left
Hanting Zhang (May 22 2021 at 05:35):
import order.bounded_lattice
example {α : Type*} [bounded_lattice α] [is_modular_lattice α] (a b c : α) (hab : a ⊓ b = ⊥)
(h : (a ⊔ b) ⊓ c = ⊥) : a ⊓ (b ⊔ c) = ⊥ :=
begin
have disjoint_def : ∀ {a b : α}, disjoint a b ↔ a ⊓ b = ⊥,
{ intros a b, rw [disjoint, eq_bot_iff], },
rw ← disjoint_def,
rw ← disjoint_def at hab,
rw ← disjoint_def at h,
exact disjoint.disjoint_sup_right_of_disjoint_sup_left hab h,
end
Hanting Zhang (May 22 2021 at 05:47):
Actually it's on the nose lol
Scott Morrison (May 22 2021 at 06:48):
Thanks very much. I can maths-prove this sort of thing by drawing a little picture of hyperplanes, but when it comes to doing the reverse mathematics of working out what sort of lattice is relevant, I seem to be helpless. :-)
Eric Wieser (May 22 2021 at 07:23):
I think your disjoint_def
exists already as docs#disjoint_iff
Last updated: Dec 20 2023 at 11:08 UTC