Blocks #
Given SMul G X
, an action of a type G
on a type X
, we define
the predicate
IsBlock G B
states thatB : Set X
is a block, which means that the setsg • B
, forg ∈ G
, are equal or disjoint.a bunch of lemmas that give examples of “trivial” blocks : ⊥, ⊤, singletons, and non trivial blocks: orbit of the group, orbit of a normal subgroup…
The non-existence of nontrivial blocks is the definition of primitive actions.
Results for actions on finite sets #
IsBlock.ncard_block_mul_ncard_orbit_eq
: The cardinality of a block multiplied by the number of its translates is the cardinal of the ambient typeIsBlock.eq_univ_of_card_lt
: a too large block is equal toSet.univ
IsBlock.subsingleton_of_card_lt
: a too small block is a subsingletonIsBlock.of_subset
: the intersections of the translates of a finite subset that contain a given point is a block
References #
We follow [Wielandt-1964].
Orbits of an element form a partition
A set B
is a G
-invariant block if g +ᵥ B ⊆ B
for all g : G
.
Note: It is not necessarily a block when the action is not by a group.
Equations
- AddAction.IsInvariantBlock G B = ∀ (g : G), g +ᵥ B ⊆ B
Instances For
Alias of the forward direction of MulAction.isBlock_iff_smul_eq_smul_of_nonempty
.
Alias of the forward direction of MulAction.isBlock_iff_pairwiseDisjoint_range_smul
.
Alias of the forward direction of MulAction.isBlock_iff_smul_eq_smul_or_disjoint
.
A fixed block is a block.
A fixed block is a block.
The empty set is a block.
The empty set is a block.
A singleton is a block.
A singleton is a block.
Subsingletons are (trivial) blocks.
Subsingletons are (trivial) blocks.
A fixed block is an invariant block.
A fixed block is an invariant block.
Alias of the forward direction of MulAction.isBlock_iff_disjoint_smul_of_ne
.
Alias of the forward direction of MulAction.isBlock_iff_smul_eq_of_nonempty
.
Alias of the forward direction of MulAction.isBlock_iff_smul_eq_or_disjoint
.
Alias of the forward direction of MulAction.isBlock_iff_smul_eq_of_mem
.
If B
is a G
-block, then it is also a H
-block for any subgroup H
of G
.
If B
is a G
-block, then it is also a H
-block for any subgroup H
of G
.
An invariant block of a group action is a block.
An invariant block of a group action is a block.
The full set is a fixed block.
The full set is a fixed block.
The full set is a block.
The full set is a block.
The intersection of two blocks is a block.
The intersection of two blocks is a block.
An intersection of blocks is a block.
An intersection of blocks is a block.
A trivial block is a block.
A trivial block is a block.
An orbit is a fixed block.
An orbit is a fixed block.
An orbit is a block.
An orbit is a block.
A translate of a block is a block
For SMul G X
, a block system of X
is a partition of X
into blocks
for the action of G
Equations
- MulAction.IsBlockSystem G ℬ = (Setoid.IsPartition ℬ ∧ ∀ ⦃B : Set X⦄, B ∈ ℬ → MulAction.IsBlock G B)
Instances For
Translates of a block form a block system.
An orbit of a normal subgroup is a block
The orbits of a normal subgroup form a block system
Annoyingly, it seems like the following two lemmas cannot be unified.
See AddAction.isBlock_subgroup'
for a version that works for the right action
of a group on itself.
See MulAction.isBlock_subgroup'
for a version that works for the right action of a group on
itself.
See AddAction.isBlock_subgroup
for a version that works for the left action
of a group on itself.
See MulAction.isBlock_subgroup
for a version that works for the left action of a group on
itself.
The orbit of a
under a subgroup containing the stabilizer of a
is a block
If B
is a block containing a
, then the stabilizer of B
contains the stabilizer of a
A block containing a
is the orbit of a
under its stabilizer
A subgroup containing the stabilizer of a
is the stabilizer of the orbit of a
under that subgroup
Order equivalence between blocks in X
containing a point a
and subgroups of G
containing the stabilizer of a
(Wielandt, th. 7.5)
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cardinality of the ambient space is the product of the cardinality of a block by the cardinality of the set of translates of that block
The cardinality of a block divides the cardinality of the ambient type
A too large block is equal to univ
Alias of MulAction.IsBlock.eq_univ_of_card_lt
.
A too large block is equal to univ
If a block has too many translates, then it is a (sub)singleton
The intersection of the translates of a finite subset which contain a given point is a block (Wielandt, th. 7.3 )