-
Notifications
You must be signed in to change notification settings - Fork 434
feat(RingTheory): lemmas on finiteness of LinearMap
and Module.End
#24015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
e883e2f
4649779
c1bb1ba
abc67fe
d7e5f60
5c7838a
e71f34f
a51086c
875ca65
644e109
5764a2c
8332256
e5258f0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -119,6 +119,24 @@ | |
-- It looks like we now run out of assignable metavariables. | ||
(fun c n m => by simp only [map_smulₛₗ _, smul_apply]) | ||
|
||
section lcomp | ||
|
||
variable (S N) [Module R N] [SMulCommClass R S N] | ||
|
||
/-- Composing a given linear map `M → N` with a linear map `N → P` as a linear map from | ||
`Nₗ →ₗ[R] Pₗ` to `M →ₗ[R] Pₗ`. -/ | ||
def lcomp (f : M →ₗ[R] M₂) : (M₂ →ₗ[R] N) →ₗ[S] M →ₗ[R] N := | ||
flip <| LinearMap.comp (flip id) f | ||
Comment on lines
+126
to
+129
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you just upgrade There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you write the statement that you have in mind? Do you want three or four different rings (or ring homs for semilinear maps)? If you can make the statement compile I can probably figure out what SMulCommClasses are needed to make it true. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't know how general you want but at least this subsumes both
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I do want to apply it to a noncommutative (semisimple) R. Your version is a generalization of the bilinear map |
||
|
||
variable {S N} | ||
|
||
@[simp] | ||
theorem lcomp_apply (f : M →ₗ[R] M₂) (g : M₂ →ₗ[R] N) (x : M) : lcomp S N f g x = g (f x) := rfl | ||
|
||
theorem lcomp_apply' (f : M →ₗ[R] M₂) (g : M₂ →ₗ[R] N) : lcomp S N f g = g ∘ₗ f := rfl | ||
|
||
end lcomp | ||
|
||
end | ||
|
||
@[simp] | ||
|
@@ -254,21 +272,24 @@ | |
|
||
variable (f : M →ₛₗ[σ₁₃] N →ₛₗ[σ₂₃] P) | ||
|
||
@[simp] | ||
theorem lflip_apply (m : M) (n : N) : lflip f n m = f m n := rfl | ||
|
||
variable (A Pₗ) | ||
variable [Module A Pₗ] [SMulCommClass R A Pₗ] | ||
|
||
/-- Composing a given linear map `M → N` with a linear map `N → P` as a linear map from | ||
`Nₗ →ₗ[R] Pₗ` to `M →ₗ[R] Pₗ`. -/ | ||
def lcomp (f : M →ₗ[R] Nₗ) : (Nₗ →ₗ[R] Pₗ) →ₗ[A] M →ₗ[R] Pₗ := | ||
letI := SMulCommClass.symm | ||
flip <| LinearMap.comp (flip id) f | ||
|
||
variable {A Pₗ} | ||
|
||
@[simp] | ||
theorem lcomp_apply (f : M →ₗ[R] Nₗ) (g : Nₗ →ₗ[R] Pₗ) (x : M) : lcomp A _ f g x = g (f x) := rfl | ||
|
||
theorem lcomp_apply' (f : M →ₗ[R] Nₗ) (g : Nₗ →ₗ[R] Pₗ) : lcomp A Pₗ f g = g ∘ₗ f := rfl | ||
|
||
variable (P σ₂₃) | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And this too.