feat: Complete proof for lhs contr and prod

This commit is contained in:
jstoobysmith 2024-10-28 05:46:39 +00:00
parent 4521cc0e64
commit 511fe92cef

View file

@ -156,6 +156,15 @@ lemma contrMap_prod :
((PiTensorProduct.tprod S.k) _)) ((PiTensorProduct.tprod S.k) _))
conv_rhs => rw [contrMap, TensorSpecies.contrMap_tprod] conv_rhs => rw [contrMap, TensorSpecies.contrMap_tprod]
simp only [TensorProduct.smul_tmul, TensorProduct.tmul_smul, map_smul] simp only [TensorProduct.smul_tmul, TensorProduct.tmul_smul, map_smul]
have hL (a : Fin n.succ.succ) {b : Fin (n + 1 + 1) ⊕ Fin n1}
(h : b = Sum.inl a) : p a = (S.FDiscrete.map (Discrete.eqToHom (by rw [h]; simp ))).hom
((lift.discreteSumEquiv S.FDiscrete b)
(HepLean.PiTensorProduct.elimPureTensor p q' b)) := by
subst h
simp only [Nat.succ_eq_add_one, mk_hom, instMonoidalCategoryStruct_tensorObj_hom,
Sum.elim_inl, eqToHom_refl, Discrete.functor_map_id, Action.id_hom, Functor.id_obj,
ModuleCat.id_apply]
rfl
congr 1 congr 1
/- The contraction. -/ /- The contraction. -/
· apply congrArg · apply congrArg
@ -179,16 +188,7 @@ lemma contrMap_prod :
· erw [ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply] · erw [ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply]
simp only [AddHom.toFun_eq_coe, LinearMap.coe_toAddHom, equivToIso_homToEquiv, simp only [AddHom.toFun_eq_coe, LinearMap.coe_toAddHom, equivToIso_homToEquiv,
LinearEquiv.coe_coe] LinearEquiv.coe_coe]
have h1' {a : Fin n.succ.succ} {b : Fin (n + 1 + 1) ⊕ Fin n1} apply hL
(h : b = Sum.inl a) : p a = (S.FDiscrete.map (Discrete.eqToHom (by rw [h]; simp ))).hom
((lift.discreteSumEquiv S.FDiscrete b)
(HepLean.PiTensorProduct.elimPureTensor p q' b)) := by
subst h
simp only [Nat.succ_eq_add_one, mk_hom, instMonoidalCategoryStruct_tensorObj_hom,
Sum.elim_inl, eqToHom_refl, Discrete.functor_map_id, Action.id_hom, Functor.id_obj,
ModuleCat.id_apply]
rfl
apply h1'
exact Eq.symm ((fun f => (Equiv.apply_eq_iff_eq_symm_apply f).mp) finSumFinEquiv rfl) exact Eq.symm ((fun f => (Equiv.apply_eq_iff_eq_symm_apply f).mp) finSumFinEquiv rfl)
· erw [ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply, · erw [ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply, ModuleCat.id_apply,
ModuleCat.id_apply] ModuleCat.id_apply]