File: Mathlib/LinearAlgebra/TensorProduct/DirectLimit.lean

full_name: «_aux_Mathlib_LinearAlgebra_TensorProduct_DirectLimit___macroRules_term_◁__1»
code: local notation M " ◁ " f => fun i j h ↦ LinearMap.lTensor M (f _ _ h)
goal: Lean.Macro

full_name: «_aux_Mathlib_LinearAlgebra_TensorProduct_DirectLimit___macroRules_term_▷__1»
code: local notation f " ▷ " N => fun i j h ↦ LinearMap.rTensor N (f _ _ h)
goal: Lean.Macro

full_name: TensorProduct.fromDirectLimit
code: /--
the map `limᵢ (Gᵢ ⊗ M) → (limᵢ Gᵢ) ⊗ M` induced by the family of maps `Gᵢ ⊗ M → (limᵢ Gᵢ) ⊗ M`
given by `gᵢ ⊗ m ↦ [gᵢ] ⊗ m`.
-/
noncomputable def fromDirectLimit :
    DirectLimit (G · ⊗[R] M) (f ▷ M) →ₗ[R] DirectLimit G f ⊗[R] M 
goal: (Module.DirectLimit (fun x => G x ⊗[R] M) fun i j h => LinearMap.rTensor M (f i j h)) →ₗ[R]
  Module.DirectLimit G f ⊗[R] M

full_name: TensorProduct.fromDirectLimit_of_tmul
code: @[simp] lemma fromDirectLimit_of_tmul {i : ι} (g : G i) (m : M) :
    fromDirectLimit f M (of _ _ _ _ i (g ⊗ₜ m)) = (of _ _ _ f i g) ⊗ₜ m 
goal: (TensorProduct.fromDirectLimit f M)
    ((Module.DirectLimit.of R ι (fun x => G x ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)) =
  (Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m

full_name: TensorProduct.toDirectLimit
code: /--
the map `(limᵢ Gᵢ) ⊗ M → limᵢ (Gᵢ ⊗ M)` from the bilinear map `limᵢ Gᵢ → M → limᵢ (Gᵢ ⊗ M)` given
by the family of maps `Gᵢ → M → limᵢ (Gᵢ ⊗ M)` where `gᵢ ↦ m ↦ [gᵢ ⊗ m]`

-/
noncomputable def toDirectLimit : DirectLimit G f ⊗[R] M →ₗ[R] DirectLimit (G · ⊗[R] M) (f ▷ M) 
goal: Module.DirectLimit G f ⊗[R] M →ₗ[R] Module.DirectLimit (fun x => G x ⊗[R] M) fun i j h => LinearMap.rTensor M (f i j h)

full_name: TensorProduct.toDirectLimit_tmul_of
code: @[simp] lemma toDirectLimit_tmul_of
    {i : ι} (g : G i) (m : M) :
    (toDirectLimit f M <| (of _ _ G f i g) ⊗ₜ m) = (of _ _ _ _ i (g ⊗ₜ m)) 
goal: (TensorProduct.toDirectLimit f M) ((Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m) =
  (Module.DirectLimit.of R ι (fun x => G x ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)

full_name: TensorProduct.directLimitLeft
code: /--
`limᵢ (Gᵢ ⊗ M)` and `(limᵢ Gᵢ) ⊗ M` are isomorphic as modules
-/
noncomputable def directLimitLeft :
    DirectLimit G f ⊗[R] M ≃ₗ[R] DirectLimit (G · ⊗[R] M) (f ▷ M) 
goal: Module.DirectLimit G f ⊗[R] M ≃ₗ[R] Module.DirectLimit (fun x => G x ⊗[R] M) fun i j h => LinearMap.rTensor M (f i j h)

full_name: TensorProduct.directLimitLeft_tmul_of
code: @[simp] lemma directLimitLeft_tmul_of {i : ι} (g : G i) (m : M) :
    directLimitLeft f M (of _ _ _ _ _ g ⊗ₜ m) = of _ _ _ (f ▷ M) _ (g ⊗ₜ m) 
goal: (TensorProduct.directLimitLeft f M) ((Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m) =
  (Module.DirectLimit.of R ι (fun i => G i ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)

full_name: TensorProduct.directLimitLeft_symm_of_tmul
code: @[simp] lemma directLimitLeft_symm_of_tmul {i : ι} (g : G i) (m : M) :
    (directLimitLeft f M).symm (of _ _ _ _ _ (g ⊗ₜ m)) = of _ _ _ f _ g ⊗ₜ m 
goal: (TensorProduct.directLimitLeft f M).symm
    ((Module.DirectLimit.of R ι (fun x => G x ⊗[R] M) (fun i j h => LinearMap.rTensor M (f i j h)) i) (g ⊗ₜ[R] m)) =
  (Module.DirectLimit.of R ι G f i) g ⊗ₜ[R] m

full_name: TensorProduct.directLimitRight
code: /--
`M ⊗ (limᵢ Gᵢ)` and `limᵢ (M ⊗ Gᵢ)` are isomorphic as modules
-/
noncomputable def directLimitRight :
    M ⊗[R] DirectLimit G f ≃ₗ[R] DirectLimit (M ⊗[R] G ·) (M ◁ f) 
goal: M ⊗[R] Module.DirectLimit G f ≃ₗ[R] Module.DirectLimit (fun x => M ⊗[R] G x) fun i j h => LinearMap.lTensor M (f i j h)

full_name: TensorProduct.directLimitRight_tmul_of
code: @[simp] lemma directLimitRight_tmul_of {i : ι} (m : M) (g : G i) :
    directLimitRight f M (m ⊗ₜ of _ _ _ _ _ g) = of _ _ _ _ i (m ⊗ₜ g) 
goal: (TensorProduct.directLimitRight f M) (m ⊗ₜ[R] (Module.DirectLimit.of R ι G f i) g) =
  (Module.DirectLimit.of R ι (fun x => M ⊗[R] G x) (fun i j h => LinearMap.lTensor M (f i j h)) i) (m ⊗ₜ[R] g)

full_name: TensorProduct.directLimitRight_symm_of_tmul
code: @[simp] lemma directLimitRight_symm_of_tmul {i : ι} (m : M) (g : G i) :
    (directLimitRight f M).symm (of _ _ _ _ _ (m ⊗ₜ g)) = m ⊗ₜ of _ _ _ f _ g 
goal: (TensorProduct.directLimitRight f M).symm
    ((Module.DirectLimit.of R ι (fun x => M ⊗[R] G x) (fun i j h => LinearMap.lTensor M (f i j h)) i) (m ⊗ₜ[R] g)) =
  m ⊗ₜ[R] (Module.DirectLimit.of R ι G f i) g