Equidecompositions #
This file develops the basic theory of equidecompositions.
Main Definitions #
Let G
be a group acting on a space X
, and A B : Set X
.
An equidecomposition of A
and B
is typically defined as a finite partition of A
together
with a finite list of elements of G
of the same size such that applying each element to the
matching piece of the partition yields a partition of B
.
This yields a bijection f : A ≃ B
where, given a : A
, f a = γ • a
for γ : G
the group
element for a
's piece of the partition. Reversing this is easy, and so we get an equivalent
(up to the choice of group elements) definition: an Equidecomposition of A
and B
is a
bijection f : A ≃ B
such that for some S : Finset G
, f a ∈ S • a
for all a
.
We take this as our definition as it is easier to work with. It is implemented as an element
PartialEquiv X X
with source A
and target B
.
Implementation Notes #
Equidecompositions are implemented as elements of
PartialEquiv X X
together with aFinset
of elements of the acting group and a proof that every point in the source is moved by an element in the finset.The requirement that
G
be a group is relaxed where possible.We introduce a non-standard predicate,
IsDecompOn
, to state that a function satisfies the main combinatorial property of equidecompositions, even if it is not injective or surjective.
TODO #
- Prove that if two sets equidecompose into subsets of eachother, they are equidecomposable (Schroeder-Bernstein type theorem)
- Define equidecomposability into subsets as a preorder on sets and prove that its induced equivalence relation is equidecomposability.
- Prove the definition of equidecomposition used here is equivalent to the more familiar one using partitions.
Let G
act on a space X
and A : Set X
. We say f : X → X
is a decomposition on A
as witnessed by some S : Finset G
if for all a ∈ A
, the value f a
can be obtained
by applying some element of S
to a
instead.
More familiarly, the restriction of f
to A
is the result of partitioning A
into finitely many
pieces, then applying a single element of G
to each piece.
Equations
- Equidecomp.IsDecompOn f A S = ∀ a ∈ A, ∃ g ∈ S, f a = g • a
Instances For
Let G
act on a space X
. An Equidecomposition
with respect to X
and G
is a partial
bijection f : PartialEquiv X X
with the property that for some set elements : Finset G
,
(which we record), for each a ∈ f.source
, f a
can be obtained by applying some g ∈ elements
instead. We call f
an equidecomposition of f.source
with f.target
.
More familiarly, f
is the result of partitioning f.source
into finitely many pieces,
then applying a single element of G
to each to get a partition of f.target
.
- toFun : X → X
- invFun : X → X
- isDecompOn' : ∃ (S : Finset G), IsDecompOn (↑self.toPartialEquiv) self.source S
Instances For
Note that Equidecomp X G
is not FunLike
.
Equations
- Equidecomp.instCoeFunForall = { coe := fun (f : Equidecomp X G) => ↑f.toPartialEquiv }
A finite set of group elements witnessing that f
is an equidecomposition.
Instances For
The restriction of an equidecomposition as an equidecomposition.
Instances For
The identity function is an equidecomposition of the space with itself.
Equations
- Equidecomp.refl X G = { toPartialEquiv := PartialEquiv.refl X, isDecompOn' := ⋯ }
Instances For
The composition of two equidecompositions as an equidecomposition.
Equations
- f.trans g = { toPartialEquiv := f.trans g.toPartialEquiv, isDecompOn' := ⋯ }
Instances For
The inverse function of an equidecomposition as an equidecomposition.