Documentation

Mathlib.Data.List.Perm.Subperm

List Sub-permutations #

This file develops theory about the List.Subperm relation.

Notation #

The notation <+~ is used for sub-permutations.

theorem List.subperm_iff_count {α : Type u_1} {l₁ l₂ : List α} [DecidableEq α] :
l₁.Subperm l₂ ∀ (a : α), count a l₁ count a l₂

See also List.subperm_ext_iff.

theorem List.subperm_iff {α : Type u_1} {l₁ l₂ : List α} :
l₁.Subperm l₂ (l : List α), l.Perm l₂ l₁.Sublist l
@[simp]
theorem List.subperm_singleton_iff {α : Type u_1} {l : List α} {a : α} :
l.Subperm [a] l = [] l = [a]
theorem List.subperm_cons_self {α : Type u_1} {l : List α} {a : α} :
l.Subperm (a :: l)
theorem List.subperm.cons {α : Type u_1} (a : α) {l₁ l₂ : List α} :
l₁.Subperm l₂(a :: l₁).Subperm (a :: l₂)

Alias of the reverse direction of List.subperm_cons.

theorem List.subperm.of_cons {α : Type u_1} (a : α) {l₁ l₂ : List α} :
(a :: l₁).Subperm (a :: l₂)l₁.Subperm l₂

Alias of the forward direction of List.subperm_cons.

theorem List.Subperm.append {α : Type u_1} {l₁ l₂ r₁ r₂ : List α} :
l₁.Subperm l₂r₁.Subperm r₂(l₁ ++ r₁).Subperm (l₂ ++ r₂)
theorem List.map_subperm_map_iff {α : Type u_2} {β : Type u_3} {l₁ l₂ : List α} {f : αβ} (hf : Function.Injective f) :
(map f l₁).Subperm (map f l₂) l₁.Subperm l₂
theorem List.Subperm.map {α : Type u_2} {β : Type u_3} {l₁ l₂ : List α} {f : αβ} (hf : Function.Injective f) :
l₁.Subperm l₂(List.map f l₁).Subperm (List.map f l₂)

Alias of the reverse direction of List.map_subperm_map_iff.

theorem List.Nodup.subperm {α : Type u_1} {l₁ l₂ : List α} (d : l₁.Nodup) (H : l₁ l₂) :
l₁.Subperm l₂