Zulip Chat Archive
Stream: maths
Topic: primitive actions
Antoine Chambert-Loir (Mar 13 2022 at 13:53):
In the ongoing branch#acl-Wielandt, I formalize results about primitive actions of groups on sets. This is fundamental material for the moment, it might go up to a theorem of Jordan that a primitive subgroup of the symmetric/alternating group that contains a transposition/a 3-cycle is the full symmetric group/the full alternating group.
Adding to this the Iwasawa criterion for simplicity, we will get a nice and complicated proof of simplicity for the alternating group.
In this field, with(G X : Type*) [group G] [mul_action G X]
, a B : set X
is called a block if ∀ (g : G), g • B = B ∨ disjoint (g • B) B
, and the action is primitive if it is transitive and if all blocks are the trivial ones, which means : B = ∅ ∨ (∃ (x : X), B = {x}) ∨ B = ⊤)
I wonder about the interest of formulating the first two parts of the disjunction using either docs#set.subsingleton`, or docs#nontrivial (which means having at least 2 elements). What would you recommend ?
Yaël Dillies (Mar 13 2022 at 13:58):
Just noticing that you can replace ∀ (g : G), g • B = B ∨ disjoint (g • B) B
by (range $ λ g : G, g • B).pairwise_disjoint id
Kevin Buzzard (Mar 13 2022 at 13:59):
You don't want to use nontrivial
because that's about types not terms
Kevin Buzzard (Mar 13 2022 at 14:01):
We have empty and singleton and subsingleton for sets, perhaps subsingleton is the shortest way to do it
Antoine Chambert-Loir (Mar 13 2022 at 14:10):
@Yaël Dillies , at first, I was frightened by your reformulation, but it has a nice geometric content which is fundamental : the g • B
form a partition of G, see line 91, definition of is_block' , and line 374, lemma
is_block_system.of_block` in branch#acl-Wielandt.
Antoine Chambert-Loir (Mar 13 2022 at 14:10):
So maybe it is better to have a strong hypothesis, and in any case, we have is_block_mk
to create instances of is_block
.
Yaël Dillies (Mar 13 2022 at 14:20):
Yes, exactly. My biggest concern is API-writing and I feel like an homogeneous definition like the one I proposed is much easier to write an API for.
Yaël Dillies (Mar 13 2022 at 14:22):
This reminds me of the condition you need to make a quotient of a manifold under an action.
Yaël Dillies (Mar 13 2022 at 14:23):
I forgot the name but with your stuff it would be written ∀ s, is_open s → is_block action s
.
Antoine Chambert-Loir (Mar 13 2022 at 22:56):
Can you explain in a few words why writing an API would be much easier this way? (The same tension exists in unformalized math, you can switch the strength of a hypothesis from a definition and the theorem. In one case, it is hard to prove that the property holds, but it directly has many implications ; in the other case, it is easy to prove that the property holds, but you need to apply a theorem to get implications. I am tempted to prefer the first solution.)
Last updated: Dec 20 2023 at 11:08 UTC