Theorem: ExteriorAlgebra.liftAlternating_ιMulti
File: Mathlib/LinearAlgebra/ExteriorAlgebra/OfAlternating.lean

tactic: ext v
state_before: R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
⊢ liftAlternating (ιMulti R) = LinearMap.id
state_after: case h
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
v : ExteriorAlgebra R M
⊢ (liftAlternating (ιMulti R)) v = LinearMap.id v

tactic: dsimp
state_before: case h
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
v : ExteriorAlgebra R M
⊢ (liftAlternating (ιMulti R)) v = LinearMap.id v
state_after: case h
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
v : ExteriorAlgebra R M
⊢ (liftAlternating (ιMulti R)) v = v

tactic: induction' v using CliffordAlgebra.left_induction with r x y hx hy x m hx
state_before: case h
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
v : ExteriorAlgebra R M
⊢ (liftAlternating (ιMulti R)) v = v
state_after: case h.algebraMap
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
r : R
⊢ (liftAlternating (ιMulti R)) ((algebraMap R (CliffordAlgebra 0)) r) = (algebraMap R (CliffordAlgebra 0)) r

case h.add
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
x y : CliffordAlgebra 0
hx : (liftAlternating (ιMulti R)) x = x
hy : (liftAlternating (ιMulti R)) y = y
⊢ (liftAlternating (ιMulti R)) (x + y) = x + y

case h.ι_mul
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
x : CliffordAlgebra 0
m : M
hx : (liftAlternating (ιMulti R)) x = x
⊢ (liftAlternating (ιMulti R)) ((CliffordAlgebra.ι 0) m * x) = (CliffordAlgebra.ι 0) m * x

tactic: rw [liftAlternating_algebraMap, ιMulti_zero_apply, Algebra.algebraMap_eq_smul_one]
state_before: case h.algebraMap
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
r : R
⊢ (liftAlternating (ιMulti R)) ((algebraMap R (CliffordAlgebra 0)) r) = (algebraMap R (CliffordAlgebra 0)) r
state_after: no goals

tactic: rw [map_add, hx, hy]
state_before: case h.add
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
x y : CliffordAlgebra 0
hx : (liftAlternating (ιMulti R)) x = x
hy : (liftAlternating (ιMulti R)) y = y
⊢ (liftAlternating (ιMulti R)) (x + y) = x + y
state_after: no goals

tactic: simp_rw [liftAlternating_ι_mul, ιMulti_succ_curryLeft, liftAlternating_comp,
  LinearMap.comp_apply, LinearMap.mulLeft_apply, hx]
state_before: case h.ι_mul
R : Type u_1
M : Type u_2
N : Type u_3
N' : Type u_4
inst✝⁶ : CommRing R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup N
inst✝³ : AddCommGroup N'
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R N'
x : CliffordAlgebra 0
m : M
hx : (liftAlternating (ιMulti R)) x = x
⊢ (liftAlternating (ιMulti R)) ((CliffordAlgebra.ι 0) m * x) = (CliffordAlgebra.ι 0) m * x
state_after: no goals