Constructions of embeddings of Fin n into a type #
Fin.Embedding.cons: from an embeddingx : Fin n ↪ αanda : αsuch thata ∉ x.range, construct an embeddingFin (n + 1) ↪ αby puttingaat0Fin.Embedding.tail: the tail of an embeddingx : Fin (n + 1) ↪ αFin.Embedding.snoc: from an embeddingx : Fin n ↪ αanda : αsuch thata ∉ x.range, construct an embeddingFin (n + 1) ↪ αby puttingaat the end.Fin.Embedding.init: the init of an embeddingx : Fin (n + 1) ↪ αFin.Embedding.append: merges two embeddingsFin m ↪ αandFin n ↪ αinto an embeddingFin (m + n) ↪ αif they have disjoint ranges
Remove the first element from an injective (n + 1)-tuple.
Instances For
Adding a new element at the beginning of an injective n-tuple, to get an injective n+1-tuple.
Instances For
Remove the last element from an injective (n + 1)-tuple.
Instances For
Adding a new element at the end of an injective n-tuple, to get an injective n+1-tuple.
Instances For
The natural equivalence of Fin 2 ↪ α with pairs (a, b) of distinct elements of α.
Instances For
Two distinct elements of α give an embedding Fin 2 ↪ α.