[Merged by Bors] - feat(RingTheory/Derivation): define Differential and DifferentialAlgebra typeclasses#14699
[Merged by Bors] - feat(RingTheory/Derivation): define Differential and DifferentialAlgebra typeclasses#14699Command-Master wants to merge 19 commits intomasterfrom
Differential and DifferentialAlgebra typeclasses#14699Conversation
PR summary 487dac828aImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
Is there a problem with the instance I add? |
|
Do you plan to add more results about this? Please move it into a new file in that case. |
A few more, proving that |
|
|
CommDifferentialRing and DifferentialAlgebraCommDifferentialRing and DifferentialAlgebra
| /-- | ||
| A `CommRing` with a bundled `Derivation` to itself. | ||
| -/ | ||
| class CommDifferentialRing (R : Type*) extends CommRing R where |
There was a problem hiding this comment.
Are there any non-commutative CommDifferentialRings?
There was a problem hiding this comment.
I'm not aware of any, the existing definition of Derivation requires commutativity, and Wikipedia defines it with commutativity, but I don't know differential algebra well enough to tell for sure.
There was a problem hiding this comment.
Would you ever want to consider multiple differential-ring structures on the same ring (maybe multiple partial derivatives)? If so, I would suggest class DifferentialRing (R : Type*) [CommRing R] where instead.
There was a problem hiding this comment.
You could have multiple (d1 d2 : DifferentialRing R) lying around, like how mathlib deals with multiple topologies on a type. Also you wouldn't be able to declare differential fields with this bundled approach.
There was a problem hiding this comment.
I would (and do, in #14860), they just extend both CommDifferentialRing and Field
There was a problem hiding this comment.
I tried to change it, what do you think? It's nicer in some ways, but it also requires writing more typeclass assumptions
Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>
| /-- | ||
| A `CommRing` with a bundled `Derivation` to itself. | ||
| -/ | ||
| class CommDifferentialRing (R : Type*) extends CommRing R where |
There was a problem hiding this comment.
Would you ever want to consider multiple differential-ring structures on the same ring (maybe multiple partial derivatives)? If so, I would suggest class DifferentialRing (R : Type*) [CommRing R] where instead.
Co-authored-by: Andrew Yang <36414270+erdOne@users.noreply.github.com>
|
How would |
CommDifferentialRing and DifferentialAlgebraDifferential and DifferentialAlgebra typeclasses
Co-authored-by: Johan Commelin <johan@commelin.net>
jcommelin
left a comment
There was a problem hiding this comment.
My apologies for the delay in reviewing. Holiday season etc...
I think this looks good now.
bors merge
…lgebra` typeclasses (#14699) Define a typeclass `Differential` of `CommRing`s with a chosen `Derivation`, a notation for that derivation, and a `DifferentialAlgebra` for `Algerba`s on differential rings whose `algebraMap` commutes with the derivation. Co-authored-by: Daniel Weber <55664973+Command-Master@users.noreply.github.com>
|
Pull request successfully merged into master. Build succeeded: |
Differential and DifferentialAlgebra typeclassesDifferential and DifferentialAlgebra typeclasses
…lgebra` typeclasses (#14699) Define a typeclass `Differential` of `CommRing`s with a chosen `Derivation`, a notation for that derivation, and a `DifferentialAlgebra` for `Algerba`s on differential rings whose `algebraMap` commutes with the derivation. Co-authored-by: Daniel Weber <55664973+Command-Master@users.noreply.github.com>
…lgebra` typeclasses (#14699) Define a typeclass `Differential` of `CommRing`s with a chosen `Derivation`, a notation for that derivation, and a `DifferentialAlgebra` for `Algerba`s on differential rings whose `algebraMap` commutes with the derivation. Co-authored-by: Daniel Weber <55664973+Command-Master@users.noreply.github.com>
…lgebra` typeclasses (#14699) Define a typeclass `Differential` of `CommRing`s with a chosen `Derivation`, a notation for that derivation, and a `DifferentialAlgebra` for `Algerba`s on differential rings whose `algebraMap` commutes with the derivation. Co-authored-by: Daniel Weber <55664973+Command-Master@users.noreply.github.com>
Define a typeclass
DifferentialofCommRings with a chosenDerivation, a notation for that derivation, and aDifferentialAlgebraforAlgerbas on differential rings whosealgebraMapcommutes with the derivation.