diff options
| author | Cyril Cohen | 2019-11-06 15:53:40 +0100 |
|---|---|---|
| committer | GitHub | 2019-11-06 15:53:40 +0100 |
| commit | fcffe720b5a66bb6c0d9b6179dbef2b7af8805b6 (patch) | |
| tree | 081ec104774127e39664c72883192249816c6158 /mathcomp/field | |
| parent | 71e397e46b65c1c27a65471170d71f388c8a45f1 (diff) | |
| parent | d20f0750b11fc1b5ba83d9b40c04df6e9e30e69a (diff) | |
Merge pull request #406 from hivert/algebras
Commutative Algebras
Diffstat (limited to 'mathcomp/field')
| -rw-r--r-- | mathcomp/field/fieldext.v | 47 | ||||
| -rw-r--r-- | mathcomp/field/galois.v | 6 |
2 files changed, 37 insertions, 16 deletions
diff --git a/mathcomp/field/fieldext.v b/mathcomp/field/fieldext.v index bb566bb..64239f3 100644 --- a/mathcomp/field/fieldext.v +++ b/mathcomp/field/fieldext.v @@ -108,11 +108,15 @@ Definition base1 := ComRing.Class (@comm_ext T c). Definition base2 := @ComUnitRing.Class T base1 c. Definition base3 := @IntegralDomain.Class T base2 (@idomain_ext T c). Definition base4 := @Field.Class T base3 (@field_ext T c). +Definition base5 := @ComAlgebra.Class R T (@base T c) (@comm_ext T c). +Definition base6 := @ComUnitAlgebra.Class R T base5 c. End Bases. Local Coercion base1 : class_of >-> ComRing.class_of. Local Coercion base2 : class_of >-> ComUnitRing.class_of. Local Coercion base3 : class_of >-> IntegralDomain.class_of. Local Coercion base4 : class_of >-> Field.class_of. +Local Coercion base5 : class_of >-> ComAlgebra.class_of. +Local Coercion base6 : class_of >-> ComUnitAlgebra.class_of. Structure type (phR : phant R) := Pack {sort; _ : class_of sort}. Local Coercion sort : type >-> Sortclass. @@ -149,36 +153,40 @@ Definition lmodType := @Lmodule.Pack R phR cT xclass. Definition lalgType := @Lalgebra.Pack R phR cT xclass. Definition algType := @Algebra.Pack R phR cT xclass. Definition unitAlgType := @UnitAlgebra.Pack R phR cT xclass. +Definition comAlgType := @ComAlgebra.Pack R phR cT xclass. +Definition comUnitAlgType := @ComUnitAlgebra.Pack R phR cT xclass. Definition vectType := @Vector.Pack R phR cT xclass. Definition FalgType := @Falgebra.Pack R phR cT xclass. Definition Falg_comRingType := @ComRing.Pack FalgType xclass. Definition Falg_comUnitRingType := @ComUnitRing.Pack FalgType xclass. +Definition Falg_comAlgType := @ComAlgebra.Pack R phR FalgType xclass. +Definition Falg_comUnitAlgType := @ComUnitAlgebra.Pack R phR FalgType xclass. Definition Falg_idomainType := @IntegralDomain.Pack FalgType xclass. Definition Falg_fieldType := @Field.Pack FalgType xclass. Definition vect_comRingType := @ComRing.Pack vectType xclass. Definition vect_comUnitRingType := @ComUnitRing.Pack vectType xclass. +Definition vect_comAlgType := @ComAlgebra.Pack R phR vectType xclass. +Definition vect_comUnitAlgType := @ComUnitAlgebra.Pack R phR vectType xclass. Definition vect_idomainType := @IntegralDomain.Pack vectType xclass. Definition vect_fieldType := @Field.Pack vectType xclass. -Definition unitAlg_comRingType := @ComRing.Pack unitAlgType xclass. -Definition unitAlg_comUnitRingType := @ComUnitRing.Pack unitAlgType xclass. +Definition comUnitAlg_idomainType := @IntegralDomain.Pack comUnitAlgType xclass. +Definition comUnitAlg_fieldType := @Field.Pack comUnitAlgType xclass. + Definition unitAlg_idomainType := @IntegralDomain.Pack unitAlgType xclass. Definition unitAlg_fieldType := @Field.Pack unitAlgType xclass. -Definition alg_comRingType := @ComRing.Pack algType xclass. -Definition alg_comUnitRingType := @ComUnitRing.Pack algType xclass. +Definition comAlg_idomainType := @IntegralDomain.Pack comAlgType xclass. +Definition comAlg_fieldType := @Field.Pack comAlgType xclass. + Definition alg_idomainType := @IntegralDomain.Pack algType xclass. Definition alg_fieldType := @Field.Pack algType xclass. -Definition lalg_comRingType := @ComRing.Pack lalgType xclass. -Definition lalg_comUnitRingType := @ComUnitRing.Pack lalgType xclass. Definition lalg_idomainType := @IntegralDomain.Pack lalgType xclass. Definition lalg_fieldType := @Field.Pack lalgType xclass. -Definition lmod_comRingType := @ComRing.Pack lmodType xclass. -Definition lmod_comUnitRingType := @ComUnitRing.Pack lmodType xclass. Definition lmod_idomainType := @IntegralDomain.Pack lmodType xclass. Definition lmod_fieldType := @Field.Pack lmodType xclass. @@ -190,6 +198,7 @@ Coercion sort : type >-> Sortclass. Bind Scope ring_scope with sort. Coercion base : class_of >-> Falgebra.class_of. Coercion base4 : class_of >-> Field.class_of. +Coercion base6 : class_of >-> ComUnitAlgebra.class_of. Coercion eqType : type >-> Equality.type. Canonical eqType. Coercion choiceType : type >-> Choice.type. @@ -216,6 +225,10 @@ Coercion algType : type >-> Algebra.type. Canonical algType. Coercion unitAlgType : type >-> UnitAlgebra.type. Canonical unitAlgType. +Coercion comAlgType : type >-> ComAlgebra.type. +Canonical comAlgType. +Coercion comUnitAlgType : type >-> ComUnitAlgebra.type. +Canonical comUnitAlgType. Coercion vectType : type >-> Vector.type. Canonical vectType. Coercion FalgType : type >-> Falgebra.type. @@ -223,26 +236,26 @@ Canonical FalgType. Canonical Falg_comRingType. Canonical Falg_comUnitRingType. +Canonical Falg_comAlgType. +Canonical Falg_comUnitAlgType. Canonical Falg_idomainType. Canonical Falg_fieldType. Canonical vect_comRingType. Canonical vect_comUnitRingType. +Canonical vect_comAlgType. +Canonical vect_comUnitAlgType. Canonical vect_idomainType. Canonical vect_fieldType. -Canonical unitAlg_comRingType. -Canonical unitAlg_comUnitRingType. +Canonical comUnitAlg_idomainType. +Canonical comUnitAlg_fieldType. Canonical unitAlg_idomainType. Canonical unitAlg_fieldType. -Canonical alg_comRingType. -Canonical alg_comUnitRingType. +Canonical comAlg_idomainType. +Canonical comAlg_fieldType. Canonical alg_idomainType. Canonical alg_fieldType. -Canonical lalg_comRingType. -Canonical lalg_comUnitRingType. Canonical lalg_idomainType. Canonical lalg_fieldType. -Canonical lmod_comRingType. -Canonical lmod_comUnitRingType. Canonical lmod_idomainType. Canonical lmod_fieldType. Notation fieldExtType R := (type (Phant R)). @@ -825,6 +838,8 @@ Proof. exact: mulrCA. Qed. Canonical fieldOver_algType := AlgType K_F L_F fieldOver_scaleAr. Canonical fieldOver_unitAlgType := [unitAlgType K_F of L_F]. +Canonical fieldOver_comAlgType := [comAlgType K_F of L_F]. +Canonical fieldOver_comUnitAlgType := [comUnitAlgType K_F of L_F]. Fact fieldOver_vectMixin : Vector.mixin_of fieldOver_lmodType. Proof. diff --git a/mathcomp/field/galois.v b/mathcomp/field/galois.v index 30bef47..9a2bdfd 100644 --- a/mathcomp/field/galois.v +++ b/mathcomp/field/galois.v @@ -370,6 +370,8 @@ Definition lmodType := @Lmodule.Pack F phF cT xclass. Definition lalgType := @Lalgebra.Pack F phF cT xclass. Definition algType := @Algebra.Pack F phF cT xclass. Definition unitAlgType := @UnitAlgebra.Pack F phF cT xclass. +Definition comAlgType := @ComAlgebra.Pack F phF cT xclass. +Definition comUnitAlgType := @ComUnitAlgebra.Pack F phF cT xclass. Definition vectType := @Vector.Pack F phF cT xclass. Definition FalgType := @Falgebra.Pack F phF cT xclass. Definition fieldExtType := @FieldExt.Pack F phF cT xclass. @@ -405,8 +407,12 @@ Coercion lalgType : type >-> Lalgebra.type. Canonical lalgType. Coercion algType : type >-> Algebra.type. Canonical algType. +Coercion comAlgType : type >-> ComAlgebra.type. +Canonical comAlgType. Coercion unitAlgType : type >-> UnitAlgebra.type. Canonical unitAlgType. +Coercion comUnitAlgType : type >-> ComUnitAlgebra.type. +Canonical comUnitAlgType. Coercion vectType : type >-> Vector.type. Canonical vectType. Coercion FalgType : type >-> Falgebra.type. |
