From 748d716efb2f2f75946c8386e441ce1789806a39 Mon Sep 17 00:00:00 2001
From: Enrico Tassi
Date: Wed, 22 May 2019 13:43:08 +0200
Subject: htmldoc regenerated
---
docs/htmldoc/mathcomp.field.falgebra.html | 523 +++++++++++++++---------------
1 file changed, 261 insertions(+), 262 deletions(-)
(limited to 'docs/htmldoc/mathcomp.field.falgebra.html')
diff --git a/docs/htmldoc/mathcomp.field.falgebra.html b/docs/htmldoc/mathcomp.field.falgebra.html
index fc41255..d684280 100644
--- a/docs/htmldoc/mathcomp.field.falgebra.html
+++ b/docs/htmldoc/mathcomp.field.falgebra.html
@@ -21,7 +21,6 @@
@@ -110,7 +109,7 @@
Reserved Notation "''AEnd' ( T )" (at level 8, format "''AEnd' ( T )").
-Notation "\dim_ E V" := (divn (\dim V) (\dim E))
+Notation "\dim_ E V" := (divn (\dim V) (\dim E))
(at level 10, E at level 2, V at level 8, format "\dim_ E V") : nat_scope.
@@ -138,14 +137,14 @@
Variables (K : fieldType) (A : algType K).
-Lemma BaseMixin : Vector.mixin_of A → GRing.UnitRing.mixin_of A.
+Lemma BaseMixin : Vector.mixin_of A → GRing.UnitRing.mixin_of A.
Definition BaseType T :=
- fun c vAm & phant_id c (GRing.UnitRing.Class (BaseMixin vAm)) ⇒
- fun (vT : vectType K) & phant vT
- & phant_id (Vector.mixin (Vector.class vT)) vAm ⇒
- @GRing.UnitRing.Pack T c T.
+ fun c vAm & phant_id c (GRing.UnitRing.Class (BaseMixin vAm)) ⇒
+ fun (vT : vectType K) & phant vT
+ & phant_id (Vector.mixin (Vector.class vT)) vAm ⇒
+ @GRing.UnitRing.Pack T c.
End DefaultBase.
@@ -153,47 +152,47 @@
Section ClassDef.
Variable R : ringType.
-Implicit Type phR : phant R.
+Implicit Type phR : phant R.
Record class_of A := Class {
base1 : GRing.UnitAlgebra.class_of R A;
- mixin : Vector.mixin_of (GRing.Lmodule.Pack _ base1 A)
+ mixin : Vector.mixin_of (GRing.Lmodule.Pack _ base1)
}.
Definition base2 A c := @Vector.Class _ _ (@base1 A c) (mixin c).
-Structure type (phR : phant R) := Pack {sort; _ : class_of sort; _ : Type}.
+Structure type (phR : phant R) := Pack {sort; _ : class_of sort}.
-Variables (phR : phant R) (T : Type) (cT : type phR).
-Definition class := let: Pack _ c _ := cT return class_of cT in c.
-Let xT := let: Pack T _ _ := cT in T.
-Notation xclass := (class : class_of xT).
+Variables (phR : phant R) (T : Type) (cT : type phR).
+Definition class := let: Pack _ c := cT return class_of cT in c.
+Let xT := let: Pack T _ := cT in T.
+Notation xclass := (class : class_of xT).
Definition pack :=
- fun bT b & phant_id (@GRing.UnitAlgebra.class R phR bT)
- (b : GRing.UnitAlgebra.class_of R T) ⇒
- fun mT m & phant_id (@Vector.class R phR mT) (@Vector.Class R T b m) ⇒
- Pack (Phant R) (@Class T b m) T.
-
-
-Definition eqType := @Equality.Pack cT xclass xT.
-Definition choiceType := @Choice.Pack cT xclass xT.
-Definition zmodType := @GRing.Zmodule.Pack cT xclass xT.
-Definition lmodType := @GRing.Lmodule.Pack R phR cT xclass xT.
-Definition ringType := @GRing.Ring.Pack cT xclass xT.
-Definition unitRingType := @GRing.UnitRing.Pack cT xclass xT.
-Definition lalgType := @GRing.Lalgebra.Pack R phR cT xclass xT.
-Definition algType := @GRing.Algebra.Pack R phR cT xclass xT.
-Definition unitAlgType := @GRing.UnitAlgebra.Pack R phR cT xclass xT.
-Definition vectType := @Vector.Pack R phR cT xclass cT.
-Definition vect_ringType := @GRing.Ring.Pack vectType xclass xT.
-Definition vect_unitRingType := @GRing.UnitRing.Pack vectType xclass xT.
-Definition vect_lalgType := @GRing.Lalgebra.Pack R phR vectType xclass xT.
-Definition vect_algType := @GRing.Algebra.Pack R phR vectType xclass xT.
-Definition vect_unitAlgType := @GRing.UnitAlgebra.Pack R phR vectType xclass xT.
+ fun bT b & phant_id (@GRing.UnitAlgebra.class R phR bT)
+ (b : GRing.UnitAlgebra.class_of R T) ⇒
+ fun mT m & phant_id (@Vector.class R phR mT) (@Vector.Class R T b m) ⇒
+ Pack (Phant R) (@Class T b m).
+
+
+Definition eqType := @Equality.Pack cT xclass.
+Definition choiceType := @Choice.Pack cT xclass.
+Definition zmodType := @GRing.Zmodule.Pack cT xclass.
+Definition lmodType := @GRing.Lmodule.Pack R phR cT xclass.
+Definition ringType := @GRing.Ring.Pack cT xclass.
+Definition unitRingType := @GRing.UnitRing.Pack cT xclass.
+Definition lalgType := @GRing.Lalgebra.Pack R phR cT xclass.
+Definition algType := @GRing.Algebra.Pack R phR cT xclass.
+Definition unitAlgType := @GRing.UnitAlgebra.Pack R phR cT xclass.
+Definition vectType := @Vector.Pack R phR cT xclass.
+Definition vect_ringType := @GRing.Ring.Pack vectType xclass.
+Definition vect_unitRingType := @GRing.UnitRing.Pack vectType xclass.
+Definition vect_lalgType := @GRing.Lalgebra.Pack R phR vectType xclass.
+Definition vect_algType := @GRing.Algebra.Pack R phR vectType xclass.
+Definition vect_unitAlgType := @GRing.UnitAlgebra.Pack R phR vectType xclass.
End ClassDef.
@@ -230,13 +229,13 @@
Canonical vect_lalgType.
Canonical vect_algType.
Canonical vect_unitAlgType.
-Notation FalgType R := (type (Phant R)).
-Notation "[ 'FalgType' R 'of' A ]" := (@pack _ (Phant R) A _ _ id _ _ id)
+Notation FalgType R := (type (Phant R)).
+Notation "[ 'FalgType' R 'of' A ]" := (@pack _ (Phant R) A _ _ id _ _ id)
(at level 0, format "[ 'FalgType' R 'of' A ]") : form_scope.
-Notation "[ 'FalgType' R 'of' A 'for' vT ]" :=
- (@pack _ (Phant R) A _ _ id vT _ idfun)
+Notation "[ 'FalgType' R 'of' A 'for' vT ]" :=
+ (@pack _ (Phant R) A _ _ id vT _ idfun)
(at level 0, format "[ 'FalgType' R 'of' A 'for' vT ]") : form_scope.
-Notation FalgUnitRingType T := (@BaseType _ _ T _ _ id _ (Phant T) id).
+Notation FalgUnitRingType T := (@BaseType _ _ T _ _ id _ (Phant T) id).
End Exports.
@@ -244,16 +243,16 @@
Export Falgebra.Exports.
-Notation "1" := (vline 1) : vspace_scope.
+Notation "1" := (vline 1) : vspace_scope.
-Canonical matrix_FalgType (K : fieldType) n := [FalgType K of 'M[K]_n.+1].
+Canonical matrix_FalgType (K : fieldType) n := [FalgType K of 'M[K]_n.+1].
-Canonical regular_FalgType (R : comUnitRingType) := [FalgType R of R^o].
+Canonical regular_FalgType (R : comUnitRingType) := [FalgType R of R^o].
-Lemma regular_fullv (K : fieldType) : (fullv = 1 :> {vspace K^o})%VS.
+Lemma regular_fullv (K : fieldType) : (fullv = 1 :> {vspace K^o})%VS.
Section Proper.
@@ -263,7 +262,7 @@
Import Vector.InternalTheory.
-Lemma FalgType_proper : Vector.dim aT > 0.
+Lemma FalgType_proper : Vector.dim aT > 0.
End Proper.
@@ -276,7 +275,7 @@
Variable (R : comRingType) (aT : FalgType R).
-Implicit Types f g : 'End(aT).
+Implicit Types f g : 'End(aT).
Canonical Falg_fun_ringType := lfun_ringType (FalgType_proper aT).
@@ -284,8 +283,8 @@
Canonical Falg_fun_algType := lfun_algType (FalgType_proper aT).
-Lemma lfun_mulE f g u : (f × g) u = g (f u).
-Lemma lfun_compE f g : (g \o f)%VF = f × g.
+Lemma lfun_mulE f g u : (f × g) u = g (f u).
+Lemma lfun_compE f g : (g \o f)%VF = f × g.
End FalgLfun.
@@ -295,38 +294,38 @@
Variable (K : fieldType) (aT : FalgType K).
-Implicit Types f g : 'End(aT).
+Implicit Types f g : 'End(aT).
-Definition lfun_invr f := if lker f == 0%VS then f^-1%VF else f.
+Definition lfun_invr f := if lker f == 0%VS then f^-1%VF else f.
-Lemma lfun_mulVr f : lker f == 0%VS → f^-1%VF × f = 1.
+Lemma lfun_mulVr f : lker f == 0%VS → f^-1%VF × f = 1.
-Lemma lfun_mulrV f : lker f == 0%VS → f × f^-1%VF = 1.
+Lemma lfun_mulrV f : lker f == 0%VS → f × f^-1%VF = 1.
-Fact lfun_mulRVr f : lker f == 0%VS → lfun_invr f × f = 1.
+Fact lfun_mulRVr f : lker f == 0%VS → lfun_invr f × f = 1.
-Fact lfun_mulrRV f : lker f == 0%VS → f × lfun_invr f = 1.
+Fact lfun_mulrRV f : lker f == 0%VS → f × lfun_invr f = 1.
-Fact lfun_unitrP f g : g × f = 1 ∧ f × g = 1 → lker f == 0%VS.
+Fact lfun_unitrP f g : g × f = 1 ∧ f × g = 1 → lker f == 0%VS.
-Lemma lfun_invr_out f : lker f != 0%VS → lfun_invr f = f.
+Lemma lfun_invr_out f : lker f != 0%VS → lfun_invr f = f.
Definition lfun_unitRingMixin :=
UnitRingMixin lfun_mulRVr lfun_mulrRV lfun_unitrP lfun_invr_out.
-Canonical lfun_unitRingType := UnitRingType 'End(aT) lfun_unitRingMixin.
-Canonical lfun_unitAlgType := [unitAlgType K of 'End(aT)].
-Canonical Falg_fun_FalgType := [FalgType K of 'End(aT)].
+Canonical lfun_unitRingType := UnitRingType 'End(aT) lfun_unitRingMixin.
+Canonical lfun_unitAlgType := [unitAlgType K of 'End(aT)].
+Canonical Falg_fun_FalgType := [FalgType K of 'End(aT)].
-Lemma lfun_invE f : lker f == 0%VS → f^-1%VF = f^-1.
+Lemma lfun_invE f : lker f == 0%VS → f^-1%VF = f^-1.
End InvLfun.
@@ -339,20 +338,20 @@
Variables (K : fieldType) (aT : FalgType K).
-Implicit Types (u v : aT) (U V W : {vspace aT}).
+Implicit Types (u v : aT) (U V W : {vspace aT}).
Import FalgLfun.
-Definition amull u : 'End(aT) := linfun (u \*o @idfun aT).
-Definition amulr u : 'End(aT) := linfun (u \o× @idfun aT).
+Definition amull u : 'End(aT) := linfun (u \*o @idfun aT).
+Definition amulr u : 'End(aT) := linfun (u \o× @idfun aT).
-Lemma amull_inj : injective amull.
+Lemma amull_inj : injective amull.
-Lemma amulr_inj : injective amulr.
+Lemma amulr_inj : injective amulr.
Fact amull_is_linear : linear amull.
@@ -366,10 +365,10 @@
amull is a converse ring morphism
-
Lemma amull1 :
amull 1
= \1%
VF.
+
Lemma amull1 :
amull 1
= \1%
VF.
-
Lemma amullM u v : (
amull (
u × v)
= amull v × amull u)%
VF.
+
Lemma amullM u v : (
amull (
u × v)
= amull v × amull u)%
VF.
Lemma amulr_is_lrmorphism :
lrmorphism amulr.
@@ -379,112 +378,112 @@
Canonical amulr_lrmorphism :=
Eval hnf in LRMorphism amulr_is_lrmorphism.
-
Lemma lker0_amull u :
u \is a GRing.unit → lker (
amull u)
== 0%
VS.
+
Lemma lker0_amull u :
u \is a GRing.unit → lker (
amull u)
== 0%
VS.
-
Lemma lker0_amulr u :
u \is a GRing.unit → lker (
amulr u)
== 0%
VS.
+
Lemma lker0_amulr u :
u \is a GRing.unit → lker (
amulr u)
== 0%
VS.
-
Lemma lfun1_poly (
p :
{poly aT}) :
map_poly \1%
VF p = p.
+
Lemma lfun1_poly (
p :
{poly aT}) :
map_poly \1%
VF p = p.
-
Fact prodv_key :
unit.
+
Fact prodv_key :
unit.
Definition prodv :=
-
locked_with prodv_key (
fun U V ⇒
<<allpairs *%R (
vbasis U) (
vbasis V)
>>%
VS).
-
Canonical prodv_unlockable :=
[unlockable fun prodv].
+
locked_with prodv_key (
fun U V ⇒
<<allpairs *%R (
vbasis U) (
vbasis V)
>>%
VS).
+
Canonical prodv_unlockable :=
[unlockable fun prodv].
-
Lemma memv_mul U V :
{in U & V, ∀ u v,
u × v \in (
U × V)%
VS}.
+
Lemma memv_mul U V :
{in U & V, ∀ u v,
u × v \in (
U × V)%
VS}.
Lemma prodvP {
U V W} :
-
reflect {in U & V, ∀ u v,
u × v \in W} (
U × V ≤ W)%
VS.
+
reflect {in U & V, ∀ u v,
u × v \in W} (
U × V ≤ W)%
VS.
-
Lemma prodv_line u v : (
<[u]> × <[v]> = <[u × v]>)%
VS.
+
Lemma prodv_line u v : (
<[u]> × <[v]> = <[u × v]>)%
VS.
-
Lemma dimv1:
\dim (1%
VS : {vspace aT}) = 1%
N.
+
Lemma dimv1:
\dim (1%
VS : {vspace aT}) = 1%
N.
-
Lemma dim_prodv U V :
\dim (U × V) ≤ \dim U × \dim V.
+
Lemma dim_prodv U V :
\dim (U × V) ≤ \dim U × \dim V.
-
Lemma vspace1_neq0 : (1
!= 0
:> {vspace aT})%
VS.
+
Lemma vspace1_neq0 : (1
!= 0
:> {vspace aT})%
VS.
-
Lemma vbasis1 :
exists2 k, k != 0
& vbasis 1
= [:: k%:A] :> seq aT.
+
Lemma vbasis1 :
exists2 k, k != 0
& vbasis 1
= [:: k%:A] :> seq aT.
-
Lemma prod0v :
left_zero 0%
VS prodv.
+
Lemma prod0v :
left_zero 0%
VS prodv.
-
Lemma prodv0 :
right_zero 0%
VS prodv.
+
Lemma prodv0 :
right_zero 0%
VS prodv.
Canonical prodv_muloid :=
Monoid.MulLaw prod0v prodv0.
-
Lemma prod1v :
left_id 1%
VS prodv.
+
Lemma prod1v :
left_id 1%
VS prodv.
-
Lemma prodv1 :
right_id 1%
VS prodv.
+
Lemma prodv1 :
right_id 1%
VS prodv.
-
Lemma prodvS U1 U2 V1 V2 : (
U1 ≤ U2 → V1 ≤ V2 → U1 × V1 ≤ U2 × V2)%
VS.
+
Lemma prodvS U1 U2 V1 V2 : (
U1 ≤ U2 → V1 ≤ V2 → U1 × V1 ≤ U2 × V2)%
VS.
-
Lemma prodvSl U1 U2 V : (
U1 ≤ U2 → U1 × V ≤ U2 × V)%
VS.
+
Lemma prodvSl U1 U2 V : (
U1 ≤ U2 → U1 × V ≤ U2 × V)%
VS.
-
Lemma prodvSr U V1 V2 : (
V1 ≤ V2 → U × V1 ≤ U × V2)%
VS.
+
Lemma prodvSr U V1 V2 : (
V1 ≤ V2 → U × V1 ≤ U × V2)%
VS.
-
Lemma prodvDl :
left_distributive prodv addv.
+
Lemma prodvDl :
left_distributive prodv addv.
-
Lemma prodvDr :
right_distributive prodv addv.
+
Lemma prodvDr :
right_distributive prodv addv.
Canonical addv_addoid :=
Monoid.AddLaw prodvDl prodvDr.
-
Lemma prodvA :
associative prodv.
+
Lemma prodvA :
associative prodv.
Canonical prodv_monoid :=
Monoid.Law prodvA prod1v prodv1.
-
Definition expv U n :=
iterop n.+1.-1 prodv U 1%
VS.
+
Definition expv U n :=
iterop n.+1.-1 prodv U 1%
VS.
-
Lemma expv0 U : (
U ^+ 0
= 1)%
VS.
-
Lemma expv1 U : (
U ^+ 1
= U)%
VS.
-
Lemma expv2 U : (
U ^+ 2
= U × U)%
VS.
+
Lemma expv0 U : (
U ^+ 0
= 1)%
VS.
+
Lemma expv1 U : (
U ^+ 1
= U)%
VS.
+
Lemma expv2 U : (
U ^+ 2
= U × U)%
VS.
-
Lemma expvSl U n : (
U ^+ n.+1 = U × U ^+ n)%
VS.
+
Lemma expvSl U n : (
U ^+ n.+1 = U × U ^+ n)%
VS.
-
Lemma expv0n n : (0
^+ n = if n is _.+1 then 0
else 1)%
VS.
+
Lemma expv0n n : (0
^+ n = if n is _.+1 then 0
else 1)%
VS.
-
Lemma expv1n n : (1
^+ n = 1)%
VS.
+
Lemma expv1n n : (1
^+ n = 1)%
VS.
-
Lemma expvD U m n : (
U ^+ (m + n) = U ^+ m × U ^+ n)%
VS.
+
Lemma expvD U m n : (
U ^+ (m + n) = U ^+ m × U ^+ n)%
VS.
-
Lemma expvSr U n : (
U ^+ n.+1 = U ^+ n × U)%
VS.
+
Lemma expvSr U n : (
U ^+ n.+1 = U ^+ n × U)%
VS.
-
Lemma expvM U m n : (
U ^+ (m × n) = U ^+ m ^+ n)%
VS.
+
Lemma expvM U m n : (
U ^+ (m × n) = U ^+ m ^+ n)%
VS.
-
Lemma expvS U V n : (
U ≤ V → U ^+ n ≤ V ^+ n)%
VS.
+
Lemma expvS U V n : (
U ≤ V → U ^+ n ≤ V ^+ n)%
VS.
-
Lemma expv_line u n : (
<[u]> ^+ n = <[u ^+ n]>)%
VS.
+
Lemma expv_line u n : (
<[u]> ^+ n = <[u ^+ n]>)%
VS.
@@ -495,34 +494,34 @@
@@ -532,52 +531,52 @@
Definition is_algid e U :=
-
[/\ e \in U, e != 0
& {in U, ∀ u,
e × u = u ∧ u × e = u}].
+
[/\ e \in U, e != 0
& {in U, ∀ u,
e × u = u ∧ u × e = u}].
-
Fact algid_decidable U :
decidable (
∃ e, is_algid e U).
+
Fact algid_decidable U :
decidable (
∃ e, is_algid e U).
-
Definition has_algid :
pred {vspace aT} :=
algid_decidable.
+
Definition has_algid :
pred {vspace aT} :=
algid_decidable.
-
Lemma has_algidP {
U} :
reflect (
∃ e, is_algid e U) (
has_algid U).
+
Lemma has_algidP {
U} :
reflect (
∃ e, is_algid e U) (
has_algid U).
-
Lemma has_algid1 U : 1
\in U → has_algid U.
+
Lemma has_algid1 U : 1
\in U → has_algid U.
-
Definition is_aspace U :=
has_algid U && (
U × U ≤ U)%
VS.
-
Structure aspace :=
ASpace {
asval :>
{vspace aT};
_ :
is_aspace asval}.
-
Definition aspace_of of phant aT :=
aspace.
+
Definition is_aspace U :=
has_algid U && (
U × U ≤ U)%
VS.
+
Structure aspace :=
ASpace {
asval :>
{vspace aT};
_ :
is_aspace asval}.
+
Definition aspace_of of phant aT :=
aspace.
-
Canonical aspace_subType :=
Eval hnf in [subType for asval].
-
Definition aspace_eqMixin :=
[eqMixin of aspace by <:].
+
Canonical aspace_subType :=
Eval hnf in [subType for asval].
+
Definition aspace_eqMixin :=
[eqMixin of aspace by <:].
Canonical aspace_eqType :=
Eval hnf in EqType aspace aspace_eqMixin.
-
Definition aspace_choiceMixin :=
[choiceMixin of aspace by <:].
+
Definition aspace_choiceMixin :=
[choiceMixin of aspace by <:].
Canonical aspace_choiceType :=
Eval hnf in ChoiceType aspace aspace_choiceMixin.
-
Canonical aspace_of_subType :=
Eval hnf in [subType of {aspace aT}].
-
Canonical aspace_of_eqType :=
Eval hnf in [eqType of {aspace aT}].
-
Canonical aspace_of_choiceType :=
Eval hnf in [choiceType of {aspace aT}].
+
Canonical aspace_of_subType :=
Eval hnf in [subType of {aspace aT}].
+
Canonical aspace_of_eqType :=
Eval hnf in [eqType of {aspace aT}].
+
Canonical aspace_of_choiceType :=
Eval hnf in [choiceType of {aspace aT}].
-
Definition clone_aspace U (
A :
{aspace aT}) :=
-
fun algU &
phant_id algU (
valP A) ⇒ @
ASpace U algU : {aspace aT}.
+
Definition clone_aspace U (
A :
{aspace aT}) :=
+
fun algU &
phant_id algU (
valP A) ⇒ @
ASpace U algU : {aspace aT}.
Fact aspace1_subproof :
is_aspace 1.
-
Canonical aspace1 :
{aspace aT} :=
ASpace aspace1_subproof.
+
Canonical aspace1 :
{aspace aT} :=
ASpace aspace1_subproof.
Lemma aspacef_subproof :
is_aspace fullv.
-
Canonical aspacef :
{aspace aT} :=
ASpace aspacef_subproof.
+
Canonical aspacef :
{aspace aT} :=
ASpace aspacef_subproof.
Lemma polyOver1P p :
-
reflect (
∃ q, p = map_poly (
in_alg aT)
q) (
p \is a polyOver 1%
VS).
+
reflect (
∃ q, p = map_poly (
in_alg aT)
q) (
p \is a polyOver 1%
VS).
End FalgebraTheory.
@@ -586,23 +585,23 @@
Delimit Scope aspace_scope with AS.
-
Notation "{ 'aspace' T }" := (
aspace_of (
Phant T)) :
type_scope.
-
Notation "A * B" := (
prodv A B) :
vspace_scope.
-
Notation "A ^+ n" := (
expv A n) :
vspace_scope.
-
Notation "'C [ u ]" := (
centraliser1_vspace u) :
vspace_scope.
-
Notation "'C_ U [ v ]" := (
capv U 'C[v]) :
vspace_scope.
-
Notation "'C_ ( U ) [ v ]" := (
capv U 'C[v]) (
only parsing) :
vspace_scope.
-
Notation "'C ( V )" := (
centraliser_vspace V) :
vspace_scope.
-
Notation "'C_ U ( V )" := (
capv U 'C(V)) :
vspace_scope.
-
Notation "'C_ ( U ) ( V )" := (
capv U 'C(V)) (
only parsing) :
vspace_scope.
-
Notation "'Z ( V )" := (
center_vspace V) :
vspace_scope.
+
Notation "{ 'aspace' T }" := (
aspace_of (
Phant T)) :
type_scope.
+
Notation "A * B" := (
prodv A B) :
vspace_scope.
+
Notation "A ^+ n" := (
expv A n) :
vspace_scope.
+
Notation "'C [ u ]" := (
centraliser1_vspace u) :
vspace_scope.
+
Notation "'C_ U [ v ]" := (
capv U 'C[v]) :
vspace_scope.
+
Notation "'C_ ( U ) [ v ]" := (
capv U 'C[v]) (
only parsing) :
vspace_scope.
+
Notation "'C ( V )" := (
centraliser_vspace V) :
vspace_scope.
+
Notation "'C_ U ( V )" := (
capv U 'C(V)) :
vspace_scope.
+
Notation "'C_ ( U ) ( V )" := (
capv U 'C(V)) (
only parsing) :
vspace_scope.
+
Notation "'Z ( V )" := (
center_vspace V) :
vspace_scope.
-
Notation "1" := (
aspace1 _) :
aspace_scope.
-
Notation "{ : aT }" := (
aspacef aT) :
aspace_scope.
-
Notation "[ 'aspace' 'of' U ]" := (@
clone_aspace _ _ U _ _ id)
+
Notation "1" := (
aspace1 _) :
aspace_scope.
+
Notation "{ : aT }" := (
aspacef aT) :
aspace_scope.
+
Notation "[ 'aspace' 'of' U ]" := (@
clone_aspace _ _ U _ _ id)
(
at level 0,
format "[ 'aspace' 'of' U ]") :
form_scope.
-
Notation "[ 'aspace' 'of' U 'for' A ]" := (@
clone_aspace _ _ U A _ idfun)
+
Notation "[ 'aspace' 'of' U 'for' A ]" := (@
clone_aspace _ _ U A _ idfun)
(
at level 0,
format "[ 'aspace' 'of' U 'for' A ]") :
form_scope.
@@ -612,97 +611,97 @@
Variables (
K :
fieldType) (
aT :
FalgType K).
-
Implicit Types (
u v e :
aT) (
U V :
{vspace aT}) (
A B :
{aspace aT}).
+
Implicit Types (
u v e :
aT) (
U V :
{vspace aT}) (
A B :
{aspace aT}).
Import FalgLfun.
Lemma algid_subproof U :
-
{e | e \in U
-
& has_algid U ==> (
U ≤ lker (
amull e - 1)
:&: lker (
amulr e - 1))%
VS}.
+
{e | e \in U
+
& has_algid U ==> (
U ≤ lker (
amull e - 1)
:&: lker (
amulr e - 1))%
VS}.
Definition algid U :=
s2val (
algid_subproof U).
-
Lemma memv_algid U :
algid U \in U.
+
Lemma memv_algid U :
algid U \in U.
-
Lemma algidl A :
{in A, left_id (
algid A)
*%R}.
+
Lemma algidl A :
{in A, left_id (
algid A)
*%R}.
-
Lemma algidr A :
{in A, right_id (
algid A)
*%R}.
+
Lemma algidr A :
{in A, right_id (
algid A)
*%R}.
-
Lemma unitr_algid1 A u :
u \in A → u \is a GRing.unit → algid A = 1.
+
Lemma unitr_algid1 A u :
u \in A → u \is a GRing.unit → algid A = 1.
-
Lemma algid_eq1 A :
(algid A == 1
) = (1
\in A).
+
Lemma algid_eq1 A :
(algid A == 1
) = (1
\in A).
-
Lemma algid_neq0 A :
algid A != 0.
+
Lemma algid_neq0 A :
algid A != 0.
-
Lemma dim_algid A :
\dim <[algid A]> = 1%
N.
+
Lemma dim_algid A :
\dim <[algid A]> = 1%
N.
-
Lemma adim_gt0 A : (0
< \dim A)%
N.
+
Lemma adim_gt0 A : (0
< \dim A)%
N.
-
Lemma not_asubv0 A :
~~ (
A ≤ 0)%
VS.
+
Lemma not_asubv0 A :
~~ (
A ≤ 0)%
VS.
-
Lemma adim1P {
A} :
reflect (
A = <[algid A]>%
VS :> {vspace aT}) (
\dim A == 1%
N).
+
Lemma adim1P {
A} :
reflect (
A = <[algid A]>%
VS :> {vspace aT}) (
\dim A == 1%
N).
-
Lemma asubv A : (
A × A ≤ A)%
VS.
+
Lemma asubv A : (
A × A ≤ A)%
VS.
-
Lemma memvM A :
{in A &, ∀ u v,
u × v \in A}.
+
Lemma memvM A :
{in A &, ∀ u v,
u × v \in A}.
-
Lemma prodv_id A : (
A × A)%
VS = A.
+
Lemma prodv_id A : (
A × A)%
VS = A.
-
Lemma prodv_sub U V A : (
U ≤ A → V ≤ A → U × V ≤ A)%
VS.
+
Lemma prodv_sub U V A : (
U ≤ A → V ≤ A → U × V ≤ A)%
VS.
-
Lemma expv_id A n : (
A ^+ n.+1)%
VS = A.
+
Lemma expv_id A n : (
A ^+ n.+1)%
VS = A.
-
Lemma limg_amulr U v : (
amulr v @: U = U × <[v]>)%
VS.
+
Lemma limg_amulr U v : (
amulr v @: U = U × <[v]>)%
VS.
Lemma memv_cosetP {
U v w} :
-
reflect (
exists2 u, u\in U & w = u × v) (
w \in U × <[v]>)%
VS.
+
reflect (
exists2 u, u\in U & w = u × v) (
w \in U × <[v]>)%
VS.
-
Lemma dim_cosetv_unit V u :
u \is a GRing.unit → \dim (V × <[u]>) = \dim V.
+
Lemma dim_cosetv_unit V u :
u \is a GRing.unit → \dim (V × <[u]>) = \dim V.
-
Lemma memvV A u :
(u^-1 \in A) = (u \in A).
+
Lemma memvV A u :
(u^-1 \in A) = (u \in A).
-
Fact aspace_cap_subproof A B :
algid A \in B → is_aspace (
A :&: B).
+
Fact aspace_cap_subproof A B :
algid A \in B → is_aspace (
A :&: B).
Definition aspace_cap A B BeA :=
ASpace (@
aspace_cap_subproof A B BeA).
-
Fact centraliser1_is_aspace u :
is_aspace 'C[u].
+
Fact centraliser1_is_aspace u :
is_aspace 'C[u].
Canonical centraliser1_aspace u :=
ASpace (
centraliser1_is_aspace u).
-
Fact centraliser_is_aspace V :
is_aspace 'C(V).
+
Fact centraliser_is_aspace V :
is_aspace 'C(V).
Canonical centraliser_aspace V :=
ASpace (
centraliser_is_aspace V).
-
Lemma centv_algid A :
algid A \in 'C(A)%
VS.
-
Canonical center_aspace A :=
[aspace of 'Z(A) for aspace_cap (
centv_algid A)
].
+
Lemma centv_algid A :
algid A \in 'C(A)%
VS.
+
Canonical center_aspace A :=
[aspace of 'Z(A) for aspace_cap (
centv_algid A)
].
-
Lemma algid_center A :
algid 'Z(A) = algid A.
+
Lemma algid_center A :
algid 'Z(A) = algid A.
Lemma Falgebra_FieldMixin :
-
GRing.IntegralDomain.axiom aT → GRing.Field.mixin_of aT.
+
GRing.IntegralDomain.axiom aT → GRing.Field.mixin_of aT.
Section SkewField.
@@ -711,18 +710,18 @@
Hypothesis fieldT :
GRing.Field.mixin_of aT.
-
Lemma skew_field_algid1 A :
algid A = 1.
+
Lemma skew_field_algid1 A :
algid A = 1.
Lemma skew_field_module_semisimple A M :
-
let sumA X := (
\sum_(x <- X) A × <[x]>)%
VS in
- (
A × M ≤ M)%
VS → {X | [/\ sumA X = M, directv (
sumA X)
& 0
\notin X]}.
+
let sumA X := (
\sum_(x <- X) A × <[x]>)%
VS in
+ (
A × M ≤ M)%
VS → {X | [/\ sumA X = M, directv (
sumA X)
& 0
\notin X]}.
-
Lemma skew_field_module_dimS A M : (
A × M ≤ M)%
VS → \dim A %| \dim M.
+
Lemma skew_field_module_dimS A M : (
A × M ≤ M)%
VS → \dim A %| \dim M.
-
Lemma skew_field_dimS A B : (
A ≤ B)%
VS → \dim A %| \dim B.
+
Lemma skew_field_dimS A B : (
A ≤ B)%
VS → \dim A %| \dim B.
End SkewField.
@@ -737,9 +736,9 @@
Note that local centraliser might not be proper sub-algebras.
@@ -757,26 +756,26 @@
Subspaces of an F-algebra form a Kleene algebra
@@ -787,82 +786,82 @@
-
Variable (
K :
fieldType) (
aT :
FalgType K) (
A :
{aspace aT}).
+
Variable (
K :
fieldType) (
aT :
FalgType K) (
A :
{aspace aT}).
Definition subvs_one :=
Subvs (
memv_algid A).
@@ -883,11 +882,11 @@
Subvs (
subv_trans (
memv_mul (
subvsP u) (
subvsP v)) (
asubv _)).
-
Fact subvs_mulA :
associative subvs_mul.
-
Fact subvs_mu1l :
left_id subvs_one subvs_mul.
-
Fact subvs_mul1 :
right_id subvs_one subvs_mul.
-
Fact subvs_mulDl :
left_distributive subvs_mul +%R.
-
Fact subvs_mulDr :
right_distributive subvs_mul +%R.
+
Fact subvs_mulA :
associative subvs_mul.
+
Fact subvs_mu1l :
left_id subvs_one subvs_mul.
+
Fact subvs_mul1 :
right_id subvs_one subvs_mul.
+
Fact subvs_mulDl :
left_distributive subvs_mul +%R.
+
Fact subvs_mulDr :
right_distributive subvs_mul +%R.
Definition subvs_ringMixin :=
@@ -896,26 +895,26 @@
Canonical subvs_ringType :=
Eval hnf in RingType (
subvs_of A)
subvs_ringMixin.
-
Lemma subvs_scaleAl k (
x y :
subvs_of A) :
k *: (x × y) = (k *: x) × y.
+
Lemma subvs_scaleAl k (
x y :
subvs_of A) :
k *: (x × y) = (k *: x) × y.
Canonical subvs_lalgType :=
Eval hnf in LalgType K (
subvs_of A)
subvs_scaleAl.
-
Lemma subvs_scaleAr k (
x y :
subvs_of A) :
k *: (x × y) = x × (k *: y).
+
Lemma subvs_scaleAr k (
x y :
subvs_of A) :
k *: (x × y) = x × (k *: y).
Canonical subvs_algType :=
Eval hnf in AlgType K (
subvs_of A)
subvs_scaleAr.
Canonical subvs_unitRingType :=
Eval hnf in FalgUnitRingType (
subvs_of A).
-
Canonical subvs_unitAlgType :=
Eval hnf in [unitAlgType K of subvs_of A].
-
Canonical subvs_FalgType :=
Eval hnf in [FalgType K of subvs_of A].
+
Canonical subvs_unitAlgType :=
Eval hnf in [unitAlgType K of subvs_of A].
+
Canonical subvs_FalgType :=
Eval hnf in [FalgType K of subvs_of A].
Implicit Type w :
subvs_of A.
-
Lemma vsval_unitr w :
vsval w \is a GRing.unit → w \is a GRing.unit.
+
Lemma vsval_unitr w :
vsval w \is a GRing.unit → w \is a GRing.unit.
-
Lemma vsval_invr w :
vsval w \is a GRing.unit → val w^-1 = (val w)^-1.
+
Lemma vsval_invr w :
vsval w \is a GRing.unit → val w^-1 = (val w)^-1.
End SubFalgType.
@@ -933,32 +932,32 @@
Variables aT rT :
FalgType K.
-
Definition ahom_in (
U :
{vspace aT}) (
f :
'Hom(aT, rT)) :=
-
let fM_at x y :=
f (
x × y)
== f x × f y in
-
all (
fun x ⇒
all (
fM_at x) (
vbasis U)) (
vbasis U)
&& (f 1
== 1
).
+
Definition ahom_in (
U :
{vspace aT}) (
f :
'Hom(aT, rT)) :=
+
let fM_at x y :=
f (
x × y)
== f x × f y in
+
all (
fun x ⇒
all (
fM_at x) (
vbasis U)) (
vbasis U)
&& (f 1
== 1
).
-
Lemma ahom_inP {
f :
'Hom(aT, rT)} {
U :
{vspace aT}} :
-
reflect (
{in U &, {morph f : x y / x × y >-> x × y}} × (f 1
= 1
))
+
Lemma ahom_inP {
f :
'Hom(aT, rT)} {
U :
{vspace aT}} :
+
reflect (
{in U &, {morph f : x y / x × y >-> x × y}} × (f 1
= 1
))
(
ahom_in U f).
-
Lemma ahomP {
f :
'Hom(aT, rT)} :
reflect (
lrmorphism f) (
ahom_in {:aT} f).
+
Lemma ahomP {
f :
'Hom(aT, rT)} :
reflect (
lrmorphism f) (
ahom_in {:aT} f).
-
Structure ahom :=
AHom {
ahval :>
'Hom(aT, rT);
_ :
ahom_in {:aT} ahval}.
+
Structure ahom :=
AHom {
ahval :>
'Hom(aT, rT);
_ :
ahom_in {:aT} ahval}.
-
Canonical ahom_subType :=
Eval hnf in [subType for ahval].
-
Definition ahom_eqMixin :=
[eqMixin of ahom by <:].
+
Canonical ahom_subType :=
Eval hnf in [subType for ahval].
+
Definition ahom_eqMixin :=
[eqMixin of ahom by <:].
Canonical ahom_eqType :=
Eval hnf in EqType ahom ahom_eqMixin.
-
Definition ahom_choiceMixin :=
[choiceMixin of ahom by <:].
+
Definition ahom_choiceMixin :=
[choiceMixin of ahom by <:].
Canonical ahom_choiceType :=
Eval hnf in ChoiceType ahom ahom_choiceMixin.
-
Fact linfun_is_ahom (
f :
{lrmorphism aT → rT}) :
ahom_in {:aT} (
linfun f).
+
Fact linfun_is_ahom (
f :
{lrmorphism aT → rT}) :
ahom_in {:aT} (
linfun f).
Canonical linfun_ahom f :=
AHom (
linfun_is_ahom f).
@@ -981,44 +980,44 @@
Lemma ahomWin (
f :
ahom aT rT)
U :
ahom_in U f.
-
Lemma id_is_ahom (
V :
{vspace aT}) :
ahom_in V \1.
+
Lemma id_is_ahom (
V :
{vspace aT}) :
ahom_in V \1.
Canonical id_ahom :=
AHom (
id_is_ahom (
aspacef aT)).
-
Lemma comp_is_ahom (
V :
{vspace aT}) (
f :
'Hom(rT, sT)) (
g :
'Hom(aT, rT)) :
-
ahom_in {:rT} f → ahom_in V g → ahom_in V (
f \o g).
+
Lemma comp_is_ahom (
V :
{vspace aT}) (
f :
'Hom(rT, sT)) (
g :
'Hom(aT, rT)) :
+
ahom_in {:rT} f → ahom_in V g → ahom_in V (
f \o g).
Canonical comp_ahom (
f :
ahom rT sT) (
g :
ahom aT rT) :=
AHom (
comp_is_ahom (
valP f) (
valP g)).
-
Lemma aimgM (
f :
ahom aT rT)
U V : (
f @: (U × V) = f @: U × f @: V)%
VS.
+
Lemma aimgM (
f :
ahom aT rT)
U V : (
f @: (U × V) = f @: U × f @: V)%
VS.
-
Lemma aimg1 (
f :
ahom aT rT) : (
f @: 1
= 1)%
VS.
+
Lemma aimg1 (
f :
ahom aT rT) : (
f @: 1
= 1)%
VS.
-
Lemma aimgX (
f :
ahom aT rT)
U n : (
f @: (U ^+ n) = f @: U ^+ n)%
VS.
+
Lemma aimgX (
f :
ahom aT rT)
U n : (
f @: (U ^+ n) = f @: U ^+ n)%
VS.
-
Lemma aimg_agen (
f :
ahom aT rT)
U : (
f @: agenv U)%
VS = agenv (
f @: U).
+
Lemma aimg_agen (
f :
ahom aT rT)
U : (
f @: agenv U)%
VS = agenv (
f @: U).
-
Lemma aimg_adjoin (
f :
ahom aT rT)
U x : (
f @: <<U; x>> = <<f @: U; f x>>)%
VS.
+
Lemma aimg_adjoin (
f :
ahom aT rT)
U x : (
f @: <<U; x>> = <<f @: U; f x>>)%
VS.
Lemma aimg_adjoin_seq (
f :
ahom aT rT)
U xs :
- (
f @: <<U & xs>> = <<f @: U & map f xs>>)%
VS.
+ (
f @: <<U & xs>> = <<f @: U & map f xs>>)%
VS.
Fact ker_sub_ahom_is_aspace (
f g :
ahom aT rT) :
-
is_aspace (
lker (
ahval f - ahval g)).
+
is_aspace (
lker (
ahval f - ahval g)).
Canonical ker_sub_ahom_aspace f g :=
ASpace (
ker_sub_ahom_is_aspace f g).
End LRMorphism.
-
Canonical fixedSpace_aspace aT (
f :
ahom aT aT) :=
[aspace of fixedSpace f].
+
Canonical fixedSpace_aspace aT (
f :
ahom aT aT) :=
[aspace of fixedSpace f].
End AHom.
@@ -1026,15 +1025,15 @@
-
Notation "''AHom' ( aT , rT )" := (
ahom aT rT) :
type_scope.
-
Notation "''AEnd' ( aT )" := (
ahom aT aT) :
type_scope.
+
Notation "''AHom' ( aT , rT )" := (
ahom aT rT) :
type_scope.
+
Notation "''AEnd' ( aT )" := (
ahom aT aT) :
type_scope.
Delimit Scope lrfun_scope with AF.
-
Notation "\1" := (@
id_ahom _ _) :
lrfun_scope.
-
Notation "f \o g" := (
comp_ahom f g) :
lrfun_scope.
+
Notation "\1" := (@
id_ahom _ _) :
lrfun_scope.
+
Notation "f \o g" := (
comp_ahom f g) :
lrfun_scope.
--
cgit v1.2.3