Zulip Chat Archive

Stream: Is there code for X?

Topic: sequential independence


Johan Commelin (May 20 2024 at 19:25):

Let U,V,WU,V,W be subspaces of some ambient vector space. Suppose that VV and WW are disjoint: VW=0V \cap W = 0. And suppose that U(V+W)=0U \cap (V + W) = 0. Then we can deduce that VV is disjoint from U+WU + W.

More generally: suppose that ViV_i is a family of subspaces, where ii ranges over Fin n (or maybe some well-ordered indexing set). Then we can deduce that the family ViV_i is docs#CompleteLattice.Independent by checking that i<kVi\bigoplus_{i < k} V_i and VkV_k are disjoint, for all kk.

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