Documentation

Graphon.PermutationExtension

Extending a finite injection into to a permutation #

A small graph-independent lemma, reused by both the graph exchangeability API (Graphon.InfiniteGraph.exists_perm_extend) and the generic relational one (AHK R2c). A candidate for upstreaming to Mathlib.

theorem exists_perm_extend {k : } (g : Fin k ) :
∃ (σ : Equiv.Perm ), ∀ (a : Fin k), σ a = g a

Every injection Fin k ↪ ℕ extends to a permutation of : the ranges are finite so their complements are countably infinite, hence equivalent, and Equiv.Set.compl assembles the permutation.

theorem exists_perm_extend_of_injOn {A : Finset } {g : } (hg : Set.InjOn g A) :
∃ (σ : Equiv.Perm ), aA, σ a = g a

Every finite partial injection of extends to a permutation: the domain and its image are finite, so their complements are countably infinite and hence equivalent, and Equiv.Set.compl assembles the permutation. Generalizes exists_perm_extend from an initial segment to an arbitrary finite domain.