Documentation

Pseudorandom.Transfer

noncomputable def transfer {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Fintype α] [DecidableEq β] [AddCommMonoid γ] (f : αβ) (g : αγ) :
βγ
Equations
Instances For
    theorem transfer_add {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Fintype α] [DecidableEq β] [AddCommMonoid γ] (f : αβ) (g : αγ) (h : αγ) :
    f # (g + h) = f # g + f # h
    theorem comp_transfer {α : Type u_1} {β : Type u_2} {γ : Type u_3} {γ₂ : Type u_4} {G : Type u_5} [Fintype α] [DecidableEq β] [AddCommMonoid γ] [AddCommMonoid γ₂] [FunLike G γ γ₂] [AddMonoidHomClass G γ γ₂] (f : αβ) (g : αγ) (h : G) :
    h (f # g) = f # h g
    theorem equiv_transfer {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Fintype α] [DecidableEq β] [AddCommMonoid γ] (f : α β) (g : αγ) (x : β) :
    (f # g) x = g (f.symm x)
    theorem transfer_transfer {α : Type u_1} {β : Type u_2} {γ : Type u_3} {γ₂ : Type u_4} [Fintype α] [DecidableEq β] [AddCommMonoid γ] [Fintype β] [DecidableEq γ₂] (f : αβ) (g : αγ) (h : βγ₂) :
    h # f # g = h f # g
    theorem transfer_id {α : Type u_1} {β : Type u_2} [Fintype α] (f : αβ) [DecidableEq α] [AddCommMonoid β] :
    id # f = f
    theorem transfer_sub {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Fintype α] [DecidableEq β] [SubtractionCommMonoid γ] (f : αβ) (g : αγ) (h : αγ) :
    f # (g - h) = f # g - f # h
    theorem transfer_sum {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Fintype α] [DecidableEq β] [Fintype β] [Semiring γ] (f : αβ) (g : αγ) (h : βγ) :
    (Finset.sum Finset.univ fun (x : β) => (f # g) x * h x) = Finset.sum Finset.univ fun (x : α) => g x * h (f x)
    theorem transfer_expect {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Fintype α] [DecidableEq β] [Fintype β] [Semiring γ] [Module ℚ≥0 γ] [Nonempty β] [Nonempty α] (f : αβ) (g : αγ) (h : βγ) :
    (Finset.expect Finset.univ fun (x : β) => (f # g) x * h x) = ((Fintype.card α) / (Fintype.card β)) Finset.expect Finset.univ fun (x : α) => g x * h (f x)
    theorem transfer_ne_zero {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Fintype α] [DecidableEq β] [AddCommMonoid γ] (f : αβ) (g : αγ) (x : β) (h : (f # g) x 0) :
    ∃ (i : α), x = f i