Zulip Chat Archive
Stream: Is there code for X?
Topic: sequential independence
Johan Commelin (May 20 2024 at 19:25):
Let be subspaces of some ambient vector space. Suppose that and are disjoint: . And suppose that . Then we can deduce that is disjoint from .
More generally: suppose that is a family of subspaces, where ranges over Fin n
(or maybe some well-ordered indexing set). Then we can deduce that the family is docs#CompleteLattice.Independent by checking that and are disjoint, for all .
Is there a more general type of lattice in which this sort of "sequential independence" implies docs#CompleteLattice.Independent?
Yaël Dillies (May 20 2024 at 19:36):
Does it not just hold in any complete lattice docs#Order.Frame? See docs#disjoint_iSup_iff
Yaël Dillies (May 20 2024 at 19:39):
Ah but vector spaces do not form a frame. Intuitively, I want to say that the correct generality is modular lattices.
Johan Commelin (May 20 2024 at 19:48):
@loogle IsModularLattice ?X, CompleteLattice.Independent ?V
Johan Commelin (May 20 2024 at 19:48):
@loogle IsModularLattice ?X, CompleteLattice.Independent ?V
loogle (May 20 2024 at 19:48):
:shrug: nothing found
Adam Topaz (May 20 2024 at 20:20):
I think this holds more generally than modular lattices (assuming your def of modular is similar to what I have in mind).
Adam Topaz (May 20 2024 at 20:21):
Isn’t this something like an exchange axiom?
Adam Topaz (May 20 2024 at 20:59):
Oh actually I think you’re right that this is stronger and modularity is probably the right level of generality
Yaël Dillies (May 20 2024 at 20:59):
Yes, this feels like it would be equivalent to modularity under some mild nontriviality conditions
Yaël Dillies (May 20 2024 at 21:15):
Do we agree that we want a condition such that a
and b sup c
are independent iff a sup c
and b
are independent?
Yaël Dillies (May 20 2024 at 21:17):
For vector spaces this is true because a inf (b sup c)
nonempty iff (a sup -c) inf b
nonempty (literally expand everything out) iff (a sup c) inf b
nonempty
Johan Commelin (May 21 2024 at 03:50):
Assuming b and c are disjoint, right?
Johan Commelin (May 22 2024 at 10:24):
Hmm, I don't really know my way around modular lattices...
@Yaël Dillies do you know what "mild nontriviality conditions" should be added?
import Mathlib.Order.ModularLattice
variable {α : Type*} [CompleteLattice α] [IsModularLattice α]
lemma disjoint_helper (a b c : α) (h₁ : Disjoint b c) (h₂ : Disjoint a (b ⊔ c)) :
Disjoint b (a ⊔ c) := by
sorry
Yaël Dillies (May 22 2024 at 14:07):
I think your lemma is true as stated
Yaël Dillies (May 22 2024 at 14:08):
I'm into the last stretch of revision, so I sadly won't be able to help for the next three weeks
Johan Commelin (May 22 2024 at 14:08):
Ok, at least it's good to know that you think the statement is true. That gives me some confidence.
Yaël Dillies (May 22 2024 at 14:10):
The point of modular lattices is to use the interval isomorphisms, so your proof should go through that
Johan Commelin (May 22 2024 at 14:11):
I looked at those, but didn't see a path to the proof yet
Andrew Yang (May 22 2024 at 14:23):
import Mathlib.Order.ModularLattice
variable {α : Type*} [CompleteLattice α] [IsModularLattice α]
lemma disjoint_helper (a b c : α) (h₁ : Disjoint b c) (h₂ : Disjoint a (b ⊔ c)) :
Disjoint b (a ⊔ c) := by
rw [disjoint_iff_inf_le, inf_comm, sup_comm]
trans ((c ⊔ a) ⊓ (b ⊔ c)) ⊓ b
· simp [inf_assoc]
rw [sup_inf_assoc_of_le _ le_sup_right, h₂.eq_bot, sup_bot_eq, h₁.symm.eq_bot]
Kevin Buzzard (May 22 2024 at 14:26):
docs#Disjoint.disjoint_sup_right_of_disjoint_sup_left
Johan Commelin (May 22 2024 at 14:28):
Awesome!
Kevin Buzzard (May 22 2024 at 14:28):
lemma disjoint_helper (a b c : α) (h₁ : Disjoint b c) (h₂ : Disjoint a (b ⊔ c)) :
Disjoint b (a ⊔ c) := by
rw [sup_comm]
exact Disjoint.disjoint_sup_right_of_disjoint_sup_left h₁ h₂.symm
Kevin Buzzard (May 22 2024 at 14:28):
The trick is to look slightly beyond the interval isomorphisms in the same file ;-)
Kevin Buzzard (May 22 2024 at 14:29):
And kudos to @Oliver Nash who put exactly (modulo sup_comm) Johan's lemma into mathlib 8 months ago.
Last updated: May 02 2025 at 03:31 UTC