Theorem: ContinuousMultilinearMap.alternatization_apply_toContinuousMultilinearMap
File: Mathlib/Topology/Algebra/Module/Alternating/Basic.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
N : Type u_3
ι : Type u_4
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
inst✝³ : TopologicalSpace N
inst✝² : TopologicalAddGroup N
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
f✝ g f : ContinuousMultilinearMap R (fun x => M) N
v : ι → M
i j : ι
hv : v i = v j
hne : i ≠ j
⊢ (∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f).toFun v = 0
state_after: no goals
tactic: simpa [MultilinearMap.alternatization_apply]
          using f.1.alternatization.map_eq_zero_of_eq' v i j hv hne
state_before: R : Type u_1
M : Type u_2
N : Type u_3
ι : Type u_4
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
inst✝³ : TopologicalSpace N
inst✝² : TopologicalAddGroup N
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
f g : ContinuousMultilinearMap R (fun x => M) N
⊢ (fun f =>
        { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
          map_eq_zero_of_eq' := ⋯ })
      0 =
    0
state_after: case H
R : Type u_1
M : Type u_2
N : Type u_3
ι : Type u_4
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
inst✝³ : TopologicalSpace N
inst✝² : TopologicalAddGroup N
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
f g : ContinuousMultilinearMap R (fun x => M) N
x✝ : ι → M
⊢ ((fun f =>
          { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
            map_eq_zero_of_eq' := ⋯ })
        0)
      x✝ =
    0 x✝
tactic: ext
state_before: case H
R : Type u_1
M : Type u_2
N : Type u_3
ι : Type u_4
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
inst✝³ : TopologicalSpace N
inst✝² : TopologicalAddGroup N
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
f g : ContinuousMultilinearMap R (fun x => M) N
x✝ : ι → M
⊢ ((fun f =>
          { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
            map_eq_zero_of_eq' := ⋯ })
        0)
      x✝ =
    0 x✝
state_after: no goals
tactic: simp
state_before: R : Type u_1
M : Type u_2
N : Type u_3
ι : Type u_4
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
inst✝³ : TopologicalSpace N
inst✝² : TopologicalAddGroup N
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
f g x✝¹ x✝ : ContinuousMultilinearMap R (fun x => M) N
⊢ {
          toFun := fun f =>
            { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
              map_eq_zero_of_eq' := ⋯ },
          map_zero' := ⋯ }.toFun
      (x✝¹ + x✝) =
    {
            toFun := fun f =>
              { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                map_eq_zero_of_eq' := ⋯ },
            map_zero' := ⋯ }.toFun
        x✝¹ +
      {
            toFun := fun f =>
              { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                map_eq_zero_of_eq' := ⋯ },
            map_zero' := ⋯ }.toFun
        x✝
state_after: case H
R : Type u_1
M : Type u_2
N : Type u_3
ι : Type u_4
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
inst✝³ : TopologicalSpace N
inst✝² : TopologicalAddGroup N
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
f g x✝² x✝¹ : ContinuousMultilinearMap R (fun x => M) N
x✝ : ι → M
⊢ ({
            toFun := fun f =>
              { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                map_eq_zero_of_eq' := ⋯ },
            map_zero' := ⋯ }.toFun
        (x✝² + x✝¹))
      x✝ =
    ({
              toFun := fun f =>
                { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                  map_eq_zero_of_eq' := ⋯ },
              map_zero' := ⋯ }.toFun
          x✝² +
        {
              toFun := fun f =>
                { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                  map_eq_zero_of_eq' := ⋯ },
              map_zero' := ⋯ }.toFun
          x✝¹)
      x✝
tactic: ext
state_before: case H
R : Type u_1
M : Type u_2
N : Type u_3
ι : Type u_4
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : AddCommGroup N
inst✝⁴ : Module R N
inst✝³ : TopologicalSpace N
inst✝² : TopologicalAddGroup N
inst✝¹ : Fintype ι
inst✝ : DecidableEq ι
f g x✝² x✝¹ : ContinuousMultilinearMap R (fun x => M) N
x✝ : ι → M
⊢ ({
            toFun := fun f =>
              { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                map_eq_zero_of_eq' := ⋯ },
            map_zero' := ⋯ }.toFun
        (x✝² + x✝¹))
      x✝ =
    ({
              toFun := fun f =>
                { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                  map_eq_zero_of_eq' := ⋯ },
              map_zero' := ⋯ }.toFun
          x✝² +
        {
              toFun := fun f =>
                { toContinuousMultilinearMap := ∑ σ : Equiv.Perm ι, Equiv.Perm.sign σ • domDomCongr σ f,
                  map_eq_zero_of_eq' := ⋯ },
              map_zero' := ⋯ }.toFun
          x✝¹)
      x✝
state_after: no goals
tactic: simp [Finset.sum_add_distrib]