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.algebra.ssrint.html | 901 +++++++++++++++---------------
1 file changed, 454 insertions(+), 447 deletions(-)
(limited to 'docs/htmldoc/mathcomp.algebra.ssrint.html')
diff --git a/docs/htmldoc/mathcomp.algebra.ssrint.html b/docs/htmldoc/mathcomp.algebra.ssrint.html
index 69d035d..4bae7bf 100644
--- a/docs/htmldoc/mathcomp.algebra.ssrint.html
+++ b/docs/htmldoc/mathcomp.algebra.ssrint.html
@@ -21,8 +21,6 @@
@@ -64,6 +62,7 @@
Set Implicit Arguments.
+Import GRing.Theory Num.Theory.
Delimit Scope int_scope with Z.
Local Open Scope int_scope.
@@ -74,7 +73,7 @@
Defining int
@@ -85,31 +84,31 @@
-
Notation "n %:Z" := (
Posz n)
+
Notation "n %:Z" := (
Posz n)
(
at level 2,
left associativity,
format "n %:Z",
only parsing) :
int_scope.
-
Notation "n %:Z" := (
Posz n)
+
Notation "n %:Z" := (
Posz n)
(
at level 2,
left associativity,
format "n %:Z",
only parsing) :
ring_scope.
-
Notation "n = m :> 'in' 't'" := (
Posz n = Posz m)
+
Notation "n = m :> 'in' 't'" := (
Posz n = Posz m)
(
at level 70,
m at next level,
format "n = m :> 'in' 't'") :
ring_scope.
-
Notation "n == m :> 'in' 't'" := (
Posz n == Posz m)
+
Notation "n == m :> 'in' 't'" := (
Posz n == Posz m)
(
at level 70,
m at next level,
format "n == m :> 'in' 't'") :
ring_scope.
-
Notation "n != m :> 'in' 't'" := (
Posz n != Posz m)
+
Notation "n != m :> 'in' 't'" := (
Posz n != Posz m)
(
at level 70,
m at next level,
format "n != m :> 'in' 't'") :
ring_scope.
-
Notation "n <> m :> 'in' 't'" := (
Posz n ≠ Posz m)
+
Notation "n <> m :> 'in' 't'" := (
Posz n ≠ Posz m)
(
at level 70,
m at next level,
format "n <> m :> 'in' 't'") :
ring_scope.
-
Definition natsum_of_int (
m :
int) :
nat + nat :=
-
match m with Posz p ⇒
inl _ p |
Negz n ⇒
inr _ n end.
+
Definition natsum_of_int (
m :
int) :
nat + nat :=
+
match m with Posz p ⇒
inl _ p |
Negz n ⇒
inr _ n end.
-
Definition int_of_natsum (
m :
nat + nat) :=
-
match m with inl p ⇒
Posz p |
inr n ⇒
Negz n end.
+
Definition int_of_natsum (
m :
nat + nat) :=
+
match m with inl p ⇒
Posz p |
inr n ⇒
Negz n end.
-
Lemma natsum_of_intK :
cancel natsum_of_int int_of_natsum.
+
Lemma natsum_of_intK :
cancel natsum_of_int int_of_natsum.
Definition int_eqMixin :=
CanEqMixin natsum_of_intK.
@@ -120,7 +119,7 @@
Canonical int_countType :=
Eval hnf in CountType int int_countMixin.
-
Lemma eqz_nat (
m n :
nat) :
(m%:Z == n%:Z) = (m == n).
+
Lemma eqz_nat (
m n :
nat) :
(m%:Z == n%:Z) = (m == n).
Module intZmod.
@@ -129,83 +128,83 @@
Definition addz (
m n :
int) :=
match m,
n with
- |
Posz m',
Posz n' ⇒
Posz (
m' + n')
- |
Negz m',
Negz n' ⇒
Negz (m' + n').+1
- |
Posz m',
Negz n' ⇒
if n' < m' then Posz (
m' - n'.+1)
else Negz (
n' - m')
- |
Negz n',
Posz m' ⇒
if n' < m' then Posz (
m' - n'.+1)
else Negz (
n' - m')
+ |
Posz m',
Posz n' ⇒
Posz (
m' + n')
+ |
Negz m',
Negz n' ⇒
Negz (m' + n').+1
+ |
Posz m',
Negz n' ⇒
if n' < m' then Posz (
m' - n'.+1)
else Negz (
n' - m')
+ |
Negz n',
Posz m' ⇒
if n' < m' then Posz (
m' - n'.+1)
else Negz (
n' - m')
end.
-
Definition oppz m :=
nosimpl
+
Definition oppz m :=
nosimpl
match m with
- |
Posz n ⇒
if n is (
n'.+1)%
N then Negz n' else Posz 0
- |
Negz n ⇒
Posz (
n.+1)%
N
+ |
Posz n ⇒
if n is (
n'.+1)%
N then Negz n' else Posz 0
+ |
Negz n ⇒
Posz (
n.+1)%
N
end.
-
Lemma PoszD :
{morph Posz : m n / (
m + n)%
N >-> m + n}.
+
Lemma PoszD :
{morph Posz : m n / (
m + n)%
N >-> m + n}.
-
Lemma NegzE (
n :
nat) :
Negz n = - n.+1.
+
Lemma NegzE (
n :
nat) :
Negz n = - n.+1.
-
Lemma int_rect (
P :
int → Type) :
-
P 0
→ (∀ n :
nat,
P n → P (
n.+1)
)
-
→ (∀ n :
nat,
P (
- n)
→ P (
- (n.+1))
)
-
→ ∀ n :
int,
P n.
+
Lemma int_rect (
P :
int → Type) :
+
P 0
→ (∀ n :
nat,
P n → P (
n.+1)
)
+
→ (∀ n :
nat,
P (
- n)
→ P (
- (n.+1))
)
+
→ ∀ n :
int,
P n.
Definition int_rec :=
int_rect.
Definition int_ind :=
int_rect.
-
CoInductive int_spec (
x :
int) :
int → Type :=
-|
ZintNull of x = 0 :
int_spec x 0
-|
ZintPos n of x = n.+1 :
int_spec x n.+1
-|
ZintNeg n of x = - (n.+1)%:Z :
int_spec x (
- n.+1).
+
Variant int_spec (
x :
int) :
int → Type :=
+|
ZintNull of x = 0 :
int_spec x 0
+|
ZintPos n of x = n.+1 :
int_spec x n.+1
+|
ZintNeg n of x = - (n.+1)%:Z :
int_spec x (
- n.+1).
Lemma intP x :
int_spec x x.
-
Lemma addzC :
commutative addz.
+
Lemma addzC :
commutative addz.
-
Lemma add0z :
left_id 0
addz.
+
Lemma add0z :
left_id 0
addz.
-
Lemma oppzK :
involutive oppz.
+
Lemma oppzK :
involutive oppz.
-
Lemma oppz_add :
{morph oppz : m n / m + n}.
+
Lemma oppz_add :
{morph oppz : m n / m + n}.
-
Lemma add1Pz (
n :
int) : 1
+ (n - 1
) = n.
+
Lemma add1Pz (
n :
int) : 1
+ (n - 1
) = n.
-
Lemma subSz1 (
n :
int) : 1
+ n - 1
= n.
+
Lemma subSz1 (
n :
int) : 1
+ n - 1
= n.
-
Lemma addSnz (
m :
nat) (
n :
int) :
(m.+1%
N) + n = 1
+ (m + n).
+
Lemma addSnz (
m :
nat) (
n :
int) :
(m.+1%
N) + n = 1
+ (m + n).
-
Lemma addSz (
m n :
int) :
(1
+ m) + n = 1
+ (m + n).
+
Lemma addSz (
m n :
int) :
(1
+ m) + n = 1
+ (m + n).
-
Lemma addPz (
m n :
int) :
(m - 1
) + n = (m + n) - 1.
+
Lemma addPz (
m n :
int) :
(m - 1
) + n = (m + n) - 1.
-
Lemma addzA :
associative addz.
+
Lemma addzA :
associative addz.
-
Lemma addNz :
left_inverse (0
:int)
oppz addz.
+
Lemma addNz :
left_inverse (0
:int)
oppz addz.
-
Lemma predn_int (
n :
nat) : 0
< n → n.-1%:Z = n - 1.
+
Lemma predn_int (
n :
nat) : 0
< n → n.-1%:Z = n - 1.
Definition Mixin :=
ZmodMixin addzA addzC add0z addNz.
@@ -226,38 +225,38 @@
-
Lemma PoszD :
{morph Posz : n m / (
n + m)%
N >-> n + m}.
+
Lemma PoszD :
{morph Posz : n m / (
n + m)%
N >-> n + m}.
-
Lemma NegzE (
n :
nat) :
Negz n = -(n.+1)%:Z.
+
Lemma NegzE (
n :
nat) :
Negz n = -(n.+1)%:Z.
-
Lemma int_rect (
P :
int → Type) :
-
P 0
→ (∀ n :
nat,
P n → P (
n.+1)%
N)
-
→ (∀ n :
nat,
P (
- (n%:Z))
→ P (
- (n.+1%
N%:Z))
)
-
→ ∀ n :
int,
P n.
+
Lemma int_rect (
P :
int → Type) :
+
P 0
→ (∀ n :
nat,
P n → P (
n.+1)%
N)
+
→ (∀ n :
nat,
P (
- (n%:Z))
→ P (
- (n.+1%
N%:Z))
)
+
→ ∀ n :
int,
P n.
Definition int_rec :=
int_rect.
Definition int_ind :=
int_rect.
-
CoInductive int_spec (
x :
int) :
int → Type :=
+
Variant int_spec (
x :
int) :
int → Type :=
|
ZintNull :
int_spec x 0
-|
ZintPos n :
int_spec x n.+1
-|
ZintNeg n :
int_spec x (
- (n.+1)%:Z).
+|
ZintPos n :
int_spec x n.+1
+|
ZintNeg n :
int_spec x (
- (n.+1)%:Z).
Lemma intP x :
int_spec x x.
-
Definition oppz_add := (@
opprD [zmodType of int]).
+
Definition oppz_add := (@
opprD [zmodType of int]).
-
Lemma subzn (
m n :
nat) : (
n ≤ m)%
N → m%:Z - n%:Z = (
m - n)%
N.
+
Lemma subzn (
m n :
nat) : (
n ≤ m)%
N → m%:Z - n%:Z = (
m - n)%
N.
-
Lemma subzSS (
m n :
nat) :
m.+1%:Z - n.+1%:Z = m%:Z - n%:Z.
+
Lemma subzSS (
m n :
nat) :
m.+1%:Z - n.+1%:Z = m%:Z - n%:Z.
End intZmoduleTheory.
@@ -271,43 +270,43 @@
Definition mulz (
m n :
int) :=
match m,
n with
- |
Posz m',
Posz n' ⇒ (
m' × n')%
N%:Z
- |
Negz m',
Negz n' ⇒ (
m'.+1%
N × n'.+1%
N)%
N%:Z
- |
Posz m',
Negz n' ⇒
- (
m' × (n'.+1%
N))%
N%:Z
- |
Negz n',
Posz m' ⇒
- (
m' × (n'.+1%
N))%
N%:Z
+ |
Posz m',
Posz n' ⇒ (
m' × n')%
N%:Z
+ |
Negz m',
Negz n' ⇒ (
m'.+1%
N × n'.+1%
N)%
N%:Z
+ |
Posz m',
Negz n' ⇒
- (
m' × (n'.+1%
N))%
N%:Z
+ |
Negz n',
Posz m' ⇒
- (
m' × (n'.+1%
N))%
N%:Z
end.
-
Lemma mul0z :
left_zero 0
*%Z.
+
Lemma mul0z :
left_zero 0
*%Z.
-
Lemma mulzC :
commutative mulz.
+
Lemma mulzC :
commutative mulz.
-
Lemma mulz0 :
right_zero 0
*%Z.
+
Lemma mulz0 :
right_zero 0
*%Z.
-
Lemma mulzN (
m n :
int) : (
m × (- n))%
Z = - (
m × n)%
Z.
+
Lemma mulzN (
m n :
int) : (
m × (- n))%
Z = - (
m × n)%
Z.
-
Lemma mulNz (
m n :
int) : (
(- m) × n)%
Z = - (
m × n)%
Z.
+
Lemma mulNz (
m n :
int) : (
(- m) × n)%
Z = - (
m × n)%
Z.
-
Lemma mulzA :
associative mulz.
+
Lemma mulzA :
associative mulz.
-
Lemma mul1z :
left_id 1%
Z mulz.
+
Lemma mul1z :
left_id 1%
Z mulz.
-
Lemma mulzS (
x :
int) (
n :
nat) : (
x × n.+1%:Z)%
Z = x + (
x × n)%
Z.
+
Lemma mulzS (
x :
int) (
n :
nat) : (
x × n.+1%:Z)%
Z = x + (
x × n)%
Z.
-
Lemma mulz_addl :
left_distributive mulz (
+%R).
+
Lemma mulz_addl :
left_distributive mulz (
+%R).
-
Lemma nonzero1z : 1%
Z != 0.
+
Lemma nonzero1z : 1%
Z != 0.
Definition comMixin :=
ComRingMixin mulzA mulzC mul1z mulz_addl nonzero1z.
@@ -327,13 +326,13 @@
Implicit Types m n :
int.
-
Lemma PoszM :
{morph Posz : n m / (
n × m)%
N >-> n × m}.
+
Lemma PoszM :
{morph Posz : n m / (
n × m)%
N >-> n × m}.
-
Lemma intS (
n :
nat) :
n.+1%:Z = 1
+ n%:Z.
+
Lemma intS (
n :
nat) :
n.+1%:Z = 1
+ n%:Z.
-
Lemma predn_int (
n :
nat) : (0
< n)%
N → n.-1%:Z = n%:Z - 1.
+
Lemma predn_int (
n :
nat) : (0
< n)%
N → n.-1%:Z = n%:Z - 1.
End intRingTheory.
@@ -344,23 +343,23 @@
Implicit Types m n :
int.
-
Definition unitz :=
[qualify a n : int | (n == 1
) || (n == -1
)].
+
Definition unitz :=
[qualify a n : int | (n == 1
) || (n == -1
)].
Definition invz n :
int :=
n.
-
Lemma mulVz :
{in unitz, left_inverse 1%
R invz *%R}.
+
Lemma mulVz :
{in unitz, left_inverse 1%
R invz *%R}.
-
Lemma mulzn_eq1 m (
n :
nat) :
(m × n == 1
) = (m == 1
) && (n == 1%
N).
+
Lemma mulzn_eq1 m (
n :
nat) :
(m × n == 1
) = (m == 1
) && (n == 1%
N).
-
Lemma unitzPl m n :
n × m = 1
→ m \is a unitz.
+
Lemma unitzPl m n :
n × m = 1
→ m \is a unitz.
-
Lemma invz_out :
{in [predC unitz], invz =1 id}.
+
Lemma invz_out :
{in [predC unitz], invz =1 id}.
-
Lemma idomain_axiomz m n :
m × n = 0
→ (m == 0
) || (n == 0
).
+
Lemma idomain_axiomz m n :
m × n = 0
→ (m == 0
) || (n == 0
).
Definition comMixin :=
ComUnitRingMixin mulVz unitzPl invz_out.
@@ -372,13 +371,21 @@
Canonical int_unitRingType :=
Eval hnf in UnitRingType int intUnitRing.comMixin.
-
Canonical int_comUnitRing :=
Eval hnf in [comUnitRingType of int].
+
Canonical int_comUnitRing :=
Eval hnf in [comUnitRingType of int].
Canonical int_iDomain :=
Eval hnf in IdomainType int intUnitRing.idomain_axiomz.
-
Definition absz m :=
match m with Posz p ⇒
p |
Negz n ⇒
n.+1 end.
-
Notation "m - n" :=
+
Canonical int_countZmodType :=
[countZmodType of int].
+
Canonical int_countRingType :=
[countRingType of int].
+
Canonical int_countComRingType :=
[countComRingType of int].
+
Canonical int_countUnitRingType :=
[countUnitRingType of int].
+
Canonical int_countComUnitRingType :=
[countComUnitRingType of int].
+
Canonical int_countIdomainType :=
[countIdomainType of int].
+
+
+
Definition absz m :=
match m with Posz p ⇒
p |
Negz n ⇒
n.+1 end.
+
Notation "m - n" :=
(@
GRing.add int_ZmodType m%
N (@
GRing.opp int_ZmodType n%
N)) :
distn_scope.
@@ -391,51 +398,51 @@
Definition lez m n :=
match m,
n with
- |
Posz m',
Posz n' ⇒ (
m' ≤ n')%
N
- |
Posz m',
Negz n' ⇒
false
- |
Negz m',
Posz n' ⇒
true
- |
Negz m',
Negz n' ⇒ (
n' ≤ m')%
N
+ |
Posz m',
Posz n' ⇒ (
m' ≤ n')%
N
+ |
Posz m',
Negz n' ⇒
false
+ |
Negz m',
Posz n' ⇒
true
+ |
Negz m',
Negz n' ⇒ (
n' ≤ m')%
N
end.
Definition ltz m n :=
match m,
n with
- |
Posz m',
Posz n' ⇒ (
m' < n')%
N
- |
Posz m',
Negz n' ⇒
false
- |
Negz m',
Posz n' ⇒
true
- |
Negz m',
Negz n' ⇒ (
n' < m')%
N
+ |
Posz m',
Posz n' ⇒ (
m' < n')%
N
+ |
Posz m',
Negz n' ⇒
false
+ |
Negz m',
Posz n' ⇒
true
+ |
Negz m',
Negz n' ⇒ (
n' < m')%
N
end.
-
Fact lez_norm_add x y :
lez (
normz (
x + y)) (
normz x + normz y).
+
Fact lez_norm_add x y :
lez (
normz (
x + y)) (
normz x + normz y).
-
Fact ltz_add x y :
ltz 0
x → ltz 0
y → ltz 0 (
x + y).
+
Fact ltz_add x y :
ltz 0
x → ltz 0
y → ltz 0 (
x + y).
-
Fact eq0_normz x :
normz x = 0
→ x = 0.
+
Fact eq0_normz x :
normz x = 0
→ x = 0.
-
Fact lez_total x y :
lez x y || lez y x.
+
Fact lez_total x y :
lez x y || lez y x.
-
Lemma abszN (
n :
nat) :
absz (
- n%:Z)
= n.
+
Lemma abszN (
n :
nat) :
absz (
- n%:Z)
= n.
-
Fact normzM :
{morph (fun n ⇒
normz n) : x y / x × y}.
+
Fact normzM :
{morph (fun n ⇒
normz n) : x y / x × y}.
-
Lemma subz_ge0 m n :
lez 0 (
n - m)
= lez m n.
+
Lemma subz_ge0 m n :
lez 0 (
n - m)
= lez m n.
-
Fact lez_def x y :
(lez x y) = (normz (
y - x)
== y - x).
+
Fact lez_def x y :
(lez x y) = (normz (
y - x)
== y - x).
-
Fact ltz_def x y :
(ltz x y) = (y != x) && (lez x y).
+
Fact ltz_def x y :
(ltz x y) = (y != x) && (lez x y).
Definition Mixin :=
-
NumMixin lez_norm_add ltz_add eq0_normz (
in2W lez_total)
normzM
+
NumMixin lez_norm_add ltz_add eq0_normz (
in2W lez_total)
normzM
lez_def ltz_def.
@@ -450,57 +457,57 @@
Section intOrderedTheory.
-
Implicit Types m n p :
nat.
+
Implicit Types m n p :
nat.
Implicit Types x y z :
int.
-
Lemma lez_nat m n :
(m ≤ n :> int) = (
m ≤ n)%
N.
+
Lemma lez_nat m n :
(m ≤ n :> int) = (
m ≤ n)%
N.
-
Lemma ltz_nat m n :
(m < n :> int) = (
m < n)%
N.
+
Lemma ltz_nat m n :
(m < n :> int) = (
m < n)%
N.
-
Definition ltez_nat :=
(lez_nat, ltz_nat).
+
Definition ltez_nat :=
(lez_nat, ltz_nat).
-
Lemma leNz_nat m n : (
- m%:Z ≤ n).
+
Lemma leNz_nat m n : (
- m%:Z ≤ n).
-
Lemma ltNz_nat m n :
(- m%:Z < n) = (m != 0%
N) || (n != 0%
N).
+
Lemma ltNz_nat m n :
(- m%:Z < n) = (m != 0%
N) || (n != 0%
N).
-
Definition lteNz_nat :=
(leNz_nat, ltNz_nat).
+
Definition lteNz_nat :=
(leNz_nat, ltNz_nat).
-
Lemma lezN_nat m n :
(m%:Z ≤ - n%:Z) = (m == 0%
N) && (n == 0%
N).
+
Lemma lezN_nat m n :
(m%:Z ≤ - n%:Z) = (m == 0%
N) && (n == 0%
N).
-
Lemma ltzN_nat m n :
(m%:Z < - n%:Z) = false.
+
Lemma ltzN_nat m n :
(m%:Z < - n%:Z) = false.
-
Lemma le0z_nat n : 0
≤ n :> int.
+
Lemma le0z_nat n : 0
≤ n :> int.
-
Lemma lez0_nat n :
n ≤ 0
:> int = (n == 0%
N :> nat).
+
Lemma lez0_nat n :
n ≤ 0
:> int = (n == 0%
N :> nat).
-
Definition ltezN_nat :=
(lezN_nat, ltzN_nat).
-
Definition ltez_natE :=
(ltez_nat, lteNz_nat, ltezN_nat, le0z_nat, lez0_nat).
+
Definition ltezN_nat :=
(lezN_nat, ltzN_nat).
+
Definition ltez_natE :=
(ltez_nat, lteNz_nat, ltezN_nat, le0z_nat, lez0_nat).
-
Lemma gtz0_ge1 x :
(0
< x) = (1
≤ x).
+
Lemma gtz0_ge1 x :
(0
< x) = (1
≤ x).
-
Lemma lez_add1r x y :
(1
+ x ≤ y) = (x < y).
+
Lemma lez_add1r x y :
(1
+ x ≤ y) = (x < y).
-
Lemma lez_addr1 x y :
(x + 1
≤ y) = (x < y).
+
Lemma lez_addr1 x y :
(x + 1
≤ y) = (x < y).
-
Lemma ltz_add1r x y :
(x < 1
+ y) = (x ≤ y).
+
Lemma ltz_add1r x y :
(x < 1
+ y) = (x ≤ y).
-
Lemma ltz_addr1 x y :
(x < y + 1
) = (x ≤ y).
+
Lemma ltz_addr1 x y :
(x < y + 1
) = (x ≤ y).
End intOrderedTheory.
@@ -514,25 +521,25 @@
definition of intmul
-
Definition intmul (
R :
zmodType) (
x :
R) (
n :
int) :=
nosimpl
+
Definition intmul (
R :
zmodType) (
x :
R) (
n :
int) :=
nosimpl
match n with
- |
Posz n ⇒ (
x *+ n)%
R
- |
Negz n ⇒ (
x *- (n.+1))%
R
+ |
Posz n ⇒ (
x *+ n)%
R
+ |
Negz n ⇒ (
x *- (n.+1))%
R
end.
-
Notation "*~%R" := (@
intmul _) (
at level 0,
format " *~%R") :
ring_scope.
-
Notation "x *~ n" := (
intmul x n)
+
Notation "*~%R" := (@
intmul _) (
at level 0,
format " *~%R") :
ring_scope.
+
Notation "x *~ n" := (
intmul x n)
(
at level 40,
left associativity,
format "x *~ n") :
ring_scope.
-
Notation intr := (
*~%R 1).
-
Notation "n %:~R" := (1
*~ n)%
R
+
Notation intr := (
*~%R 1).
+
Notation "n %:~R" := (1
*~ n)%
R
(
at level 2,
left associativity,
format "n %:~R") :
ring_scope.
-
Lemma pmulrn (
R :
zmodType) (
x :
R) (
n :
nat) :
x *+ n = x *~ n%:Z.
+
Lemma pmulrn (
R :
zmodType) (
x :
R) (
n :
nat) :
x *+ n = x *~ n%:Z.
-
Lemma nmulrn (
R :
zmodType) (
x :
R) (
n :
nat) :
x *- n = x *~ - n%:Z.
+
Lemma nmulrn (
R :
zmodType) (
x :
R) (
n :
nat) :
x *- n = x *~ - n%:Z.
Section ZintLmod.
@@ -548,66 +555,66 @@
Implicit Types x y z :
M.
-
Fact mulrzA_C m n x :
(x *~ n) *~ m = x *~ (m × n).
+
Fact mulrzA_C m n x :
(x *~ n) *~ m = x *~ (m × n).
-
Fact mulrzAC m n x :
(x *~ n) *~ m = (x *~ m) *~ n.
+
Fact mulrzAC m n x :
(x *~ n) *~ m = (x *~ m) *~ n.
-
Fact mulr1z (
x :
M) :
x *~ 1
= x.
+
Fact mulr1z (
x :
M) :
x *~ 1
= x.
-
Fact mulrzDr m :
{morph ( *~%R^~ m : M → M) : x y / x + y}.
+
Fact mulrzDr m :
{morph ( *~%R^~ m : M → M) : x y / x + y}.
-
Lemma mulrzBl_nat (
m n :
nat)
x :
x *~ (m%:Z - n%:Z) = x *~ m - x *~ n.
+
Lemma mulrzBl_nat (
m n :
nat)
x :
x *~ (m%:Z - n%:Z) = x *~ m - x *~ n.
-
Fact mulrzDl x :
{morph *~%R x : m n / m + n}.
+
Fact mulrzDl x :
{morph *~%R x : m n / m + n}.
Definition Mint_LmodMixin :=
- @
LmodMixin _ [zmodType of M] (
fun n x ⇒
x *~ n)
+ @
LmodMixin _ [zmodType of M] (
fun n x ⇒
x *~ n)
mulrzA_C mulr1z mulrzDr mulrzDl.
-
Canonical Mint_LmodType :=
LmodType int M^z Mint_LmodMixin.
+
Canonical Mint_LmodType :=
LmodType int M^z Mint_LmodMixin.
-
Lemma scalezrE n x :
n *: (x : M^z) = x *~ n.
+
Lemma scalezrE n x :
n *: (x : M^z) = x *~ n.
-
Lemma mulrzA x m n :
x *~ (m × n) = x *~ m *~ n.
+
Lemma mulrzA x m n :
x *~ (m × n) = x *~ m *~ n.
-
Lemma mulr0z x :
x *~ 0
= 0.
+
Lemma mulr0z x :
x *~ 0
= 0.
-
Lemma mul0rz n : 0
*~ n = 0
:> M.
+
Lemma mul0rz n : 0
*~ n = 0
:> M.
-
Lemma mulrNz x n :
x *~ (- n) = - (x *~ n).
+
Lemma mulrNz x n :
x *~ (- n) = - (x *~ n).
-
Lemma mulrN1z x :
x *~ (- 1
) = - x.
+
Lemma mulrN1z x :
x *~ (- 1
) = - x.
-
Lemma mulNrz x n :
(- x) *~ n = - (x *~ n).
+
Lemma mulNrz x n :
(- x) *~ n = - (x *~ n).
-
Lemma mulrzBr x m n :
x *~ (m - n) = x *~ m - x *~ n.
+
Lemma mulrzBr x m n :
x *~ (m - n) = x *~ m - x *~ n.
-
Lemma mulrzBl x y n :
(x - y) *~ n = x *~ n - y *~ n.
+
Lemma mulrzBl x y n :
(x - y) *~ n = x *~ n - y *~ n.
-
Lemma mulrz_nat (
n :
nat)
x :
x *~ n%:R = x *+ n.
+
Lemma mulrz_nat (
n :
nat)
x :
x *~ n%:R = x *+ n.
-
Lemma mulrz_sumr :
∀ x I r (
P :
pred I)
F,
-
x *~ (\sum_(i <- r | P i) F i) = \sum_(i <- r | P i) x *~ F i.
+
Lemma mulrz_sumr :
∀ x I r (
P :
pred I)
F,
+
x *~ (\sum_(i <- r | P i) F i) = \sum_(i <- r | P i) x *~ F i.
-
Lemma mulrz_suml :
∀ n I r (
P :
pred I) (
F :
I → M),
-
(\sum_(i <- r | P i) F i) *~ n= \sum_(i <- r | P i) F i *~ n.
+
Lemma mulrz_suml :
∀ n I r (
P :
pred I) (
F :
I → M),
+
(\sum_(i <- r | P i) F i) *~ n= \sum_(i <- r | P i) F i *~ n.
Canonical intmul_additive x :=
Additive (@
mulrzBr x).
@@ -616,14 +623,14 @@
End ZintLmod.
-
Lemma ffunMzE (
I :
finType) (
M :
zmodType) (
f :
{ffun I → M})
z x :
- (
f *~ z)
x = f x *~ z.
+
Lemma ffunMzE (
I :
finType) (
M :
zmodType) (
f :
{ffun I → M})
z x :
+ (
f *~ z)
x = f x *~ z.
-
Lemma intz (
n :
int) :
n%:~R = n.
+
Lemma intz (
n :
int) :
n%:~R = n.
-
Lemma natz (
n :
nat) :
n%:R = n%:Z :> int.
+
Lemma natz (
n :
nat) :
n%:R = n%:Z :> int.
Section RintMod.
@@ -636,47 +643,47 @@
Implicit Types x y z :
R.
-
Lemma mulrzAl n x y :
(x *~ n) × y = (x × y) *~ n.
+
Lemma mulrzAl n x y :
(x *~ n) × y = (x × y) *~ n.
-
Lemma mulrzAr n x y :
x × (y *~ n) = (x × y) *~ n.
+
Lemma mulrzAr n x y :
x × (y *~ n) = (x × y) *~ n.
-
Lemma mulrzl x n :
n%:~R × x = x *~ n.
+
Lemma mulrzl x n :
n%:~R × x = x *~ n.
-
Lemma mulrzr x n :
x × n%:~R = x *~ n.
+
Lemma mulrzr x n :
x × n%:~R = x *~ n.
-
Lemma mulNrNz n x :
(-x) *~ (-n) = x *~ n.
+
Lemma mulNrNz n x :
(-x) *~ (-n) = x *~ n.
-
Lemma mulrbz x (
b :
bool) :
x *~ b = (if b then x else 0
).
+
Lemma mulrbz x (
b :
bool) :
x *~ b = (if b then x else 0
).
-
Lemma intrD m n :
(m + n)%:~R = m%:~R + n%:~R :> R.
+
Lemma intrD m n :
(m + n)%:~R = m%:~R + n%:~R :> R.
-
Lemma intrM m n :
(m × n)%:~R = m%:~R × n%:~R :> R.
+
Lemma intrM m n :
(m × n)%:~R = m%:~R × n%:~R :> R.
-
Lemma intmul1_is_rmorphism :
rmorphism (
*~%R (1 : R)).
+
Lemma intmul1_is_rmorphism :
rmorphism (
*~%R (1 : R)).
Canonical intmul1_rmorphism :=
RMorphism intmul1_is_rmorphism.
-
Lemma mulr2z n :
n *~ 2
= n + n.
+
Lemma mulr2z n :
n *~ 2
= n + n.
End RintMod.
-
Lemma mulrzz m n :
m *~ n = m × n.
+
Lemma mulrzz m n :
m *~ n = m × n.
-
Lemma mulz2 n :
n × 2
%:Z = n + n.
+
Lemma mulz2 n :
n × 2
%:Z = n + n.
-
Lemma mul2z n : 2
%:Z × n = n + n.
+
Lemma mul2z n : 2
%:Z × n = n + n.
Section LMod.
@@ -691,27 +698,27 @@
Implicit Types u v w :
V.
-
Lemma scaler_int n v :
n%:~R *: v = v *~ n.
+
Lemma scaler_int n v :
n%:~R *: v = v *~ n.
-
Lemma scalerMzl a v n :
(a *: v) *~ n = (a *~ n) *: v.
+
Lemma scalerMzl a v n :
(a *: v) *~ n = (a *~ n) *: v.
-
Lemma scalerMzr a v n :
(a *: v) *~ n = a *: (v *~ n).
+
Lemma scalerMzr a v n :
(a *: v) *~ n = a *: (v *~ n).
End LMod.
-
Lemma mulrz_int (
M :
zmodType) (
n :
int) (
x :
M) :
x *~ n%:~R = x *~ n.
+
Lemma mulrz_int (
M :
zmodType) (
n :
int) (
x :
M) :
x *~ n%:~R = x *~ n.
Section MorphTheory.
Section Additive.
-
Variables (
U V :
zmodType) (
f :
{additive U → V}).
+
Variables (
U V :
zmodType) (
f :
{additive U → V}).
-
Lemma raddfMz n :
{morph f : x / x *~ n}.
+
Lemma raddfMz n :
{morph f : x / x *~ n}.
End Additive.
@@ -720,13 +727,13 @@
Section Multiplicative.
-
Variables (
R S :
ringType) (
f :
{rmorphism R → S}).
+
Variables (
R S :
ringType) (
f :
{rmorphism R → S}).
-
Lemma rmorphMz :
∀ n,
{morph f : x / x *~ n}.
+
Lemma rmorphMz :
∀ n,
{morph f : x / x *~ n}.
-
Lemma rmorph_int :
∀ n,
f n%:~R = n%:~R.
+
Lemma rmorph_int :
∀ n,
f n%:~R = n%:~R.
End Multiplicative.
@@ -736,16 +743,16 @@
Variable R :
ringType.
-
Variables (
U V :
lmodType R) (
f :
{linear U → V}).
+
Variables (
U V :
lmodType R) (
f :
{linear U → V}).
-
Lemma linearMn :
∀ n,
{morph f : x / x *~ n}.
+
Lemma linearMn :
∀ n,
{morph f : x / x *~ n}.
End Linear.
-
Lemma raddf_int_scalable (
aV rV :
lmodType int) (
f :
{additive aV → rV}) :
+
Lemma raddf_int_scalable (
aV rV :
lmodType int) (
f :
{additive aV → rV}) :
scalable f.
@@ -755,10 +762,10 @@
Variable R :
ringType.
-
Lemma commrMz (
x y :
R)
n :
GRing.comm x y → GRing.comm x (
y *~ n).
+
Lemma commrMz (
x y :
R)
n :
GRing.comm x y → GRing.comm x (
y *~ n).
-
Lemma commr_int (
x :
R)
n :
GRing.comm x n%:~R.
+
Lemma commr_int (
x :
R)
n :
GRing.comm x n%:~R.
End Zintmul1rMorph.
@@ -770,12 +777,12 @@
Variable R :
ringType.
-
Lemma sumMz :
∀ I r (
P :
pred I)
F,
- (
\sum_(i <- r | P i) F i)%
N%:~R = \sum_(i <- r | P i) ((F i)%:~R) :> R.
+
Lemma sumMz :
∀ I r (
P :
pred I)
F,
+ (
\sum_(i <- r | P i) F i)%
N%:~R = \sum_(i <- r | P i) ((F i)%:~R) :> R.
-
Lemma prodMz :
∀ I r (
P :
pred I)
F,
- (
\prod_(i <- r | P i) F i)%
N%:~R = \prod_(i <- r | P i) ((F i)%:~R) :> R.
+
Lemma prodMz :
∀ I r (
P :
pred I)
F,
+ (
\prod_(i <- r | P i) F i)%
N%:~R = \prod_(i <- r | P i) ((F i)%:~R) :> R.
End ZintBigMorphism.
@@ -788,16 +795,16 @@
Implicit Types x y :
R.
-
Variable p :
nat.
-
Hypothesis charFp :
p \in [char R].
+
Variable p :
nat.
+
Hypothesis charFp :
p \in [char R].
-
Lemma Frobenius_autMz x n :
(x *~ n)^f = x^f *~ n.
+
Lemma Frobenius_autMz x n :
(x *~ n)^f = x^f *~ n.
-
Lemma Frobenius_aut_int n :
(n%:~R)^f = n%:~R.
+
Lemma Frobenius_aut_int n :
(n%:~R)^f = n%:~R.
End Frobenius.
@@ -816,7 +823,7 @@
Implicit Types x y :
R.
-
Lemma rmorphzP (
f :
{rmorphism int → R}) :
f =1 ( *~%R 1).
+
Lemma rmorphzP (
f :
{rmorphism int → R}) :
f =1 ( *~%R 1).
@@ -825,149 +832,149 @@
intmul and ler/ltr
-
Lemma ler_pmulz2r n (
hn : 0
< n) :
{mono *~%R^~ n :x y / x ≤ y :> R}.
+
Lemma ler_pmulz2r n (
hn : 0
< n) :
{mono *~%R^~ n :x y / x ≤ y :> R}.
-
Lemma ltr_pmulz2r n (
hn : 0
< n) :
{mono *~%R^~ n : x y / x < y :> R}.
+
Lemma ltr_pmulz2r n (
hn : 0
< n) :
{mono *~%R^~ n : x y / x < y :> R}.
-
Lemma ler_nmulz2r n (
hn :
n < 0) :
{mono *~%R^~ n : x y /~ x ≤ y :> R}.
+
Lemma ler_nmulz2r n (
hn :
n < 0) :
{mono *~%R^~ n : x y /~ x ≤ y :> R}.
-
Lemma ltr_nmulz2r n (
hn :
n < 0) :
{mono *~%R^~ n : x y /~ x < y :> R}.
+
Lemma ltr_nmulz2r n (
hn :
n < 0) :
{mono *~%R^~ n : x y /~ x < y :> R}.
-
Lemma ler_wpmulz2r n (
hn : 0
≤ n) :
{homo *~%R^~ n : x y / x ≤ y :> R}.
+
Lemma ler_wpmulz2r n (
hn : 0
≤ n) :
{homo *~%R^~ n : x y / x ≤ y :> R}.
-
Lemma ler_wnmulz2r n (
hn :
n ≤ 0) :
{homo *~%R^~ n : x y /~ x ≤ y :> R}.
+
Lemma ler_wnmulz2r n (
hn :
n ≤ 0) :
{homo *~%R^~ n : x y /~ x ≤ y :> R}.
-
Lemma mulrz_ge0 x n (
x0 : 0
≤ x) (
n0 : 0
≤ n) : 0
≤ x *~ n.
+
Lemma mulrz_ge0 x n (
x0 : 0
≤ x) (
n0 : 0
≤ n) : 0
≤ x *~ n.
-
Lemma mulrz_le0 x n (
x0 :
x ≤ 0) (
n0 :
n ≤ 0) : 0
≤ x *~ n.
+
Lemma mulrz_le0 x n (
x0 :
x ≤ 0) (
n0 :
n ≤ 0) : 0
≤ x *~ n.
-
Lemma mulrz_ge0_le0 x n (
x0 : 0
≤ x) (
n0 :
n ≤ 0) :
x *~ n ≤ 0.
+
Lemma mulrz_ge0_le0 x n (
x0 : 0
≤ x) (
n0 :
n ≤ 0) :
x *~ n ≤ 0.
-
Lemma mulrz_le0_ge0 x n (
x0 :
x ≤ 0) (
n0 : 0
≤ n) :
x *~ n ≤ 0.
+
Lemma mulrz_le0_ge0 x n (
x0 :
x ≤ 0) (
n0 : 0
≤ n) :
x *~ n ≤ 0.
-
Lemma pmulrz_lgt0 x n (
n0 : 0
< n) : 0
< x *~ n = (0
< x).
+
Lemma pmulrz_lgt0 x n (
n0 : 0
< n) : 0
< x *~ n = (0
< x).
-
Lemma nmulrz_lgt0 x n (
n0 :
n < 0) : 0
< x *~ n = (x < 0
).
+
Lemma nmulrz_lgt0 x n (
n0 :
n < 0) : 0
< x *~ n = (x < 0
).
-
Lemma pmulrz_llt0 x n (
n0 : 0
< n) :
x *~ n < 0
= (x < 0
).
+
Lemma pmulrz_llt0 x n (
n0 : 0
< n) :
x *~ n < 0
= (x < 0
).
-
Lemma nmulrz_llt0 x n (
n0 :
n < 0) :
x *~ n < 0
= (0
< x).
+
Lemma nmulrz_llt0 x n (
n0 :
n < 0) :
x *~ n < 0
= (0
< x).
-
Lemma pmulrz_lge0 x n (
n0 : 0
< n) : 0
≤ x *~ n = (0
≤ x).
+
Lemma pmulrz_lge0 x n (
n0 : 0
< n) : 0
≤ x *~ n = (0
≤ x).
-
Lemma nmulrz_lge0 x n (
n0 :
n < 0) : 0
≤ x *~ n = (x ≤ 0
).
+
Lemma nmulrz_lge0 x n (
n0 :
n < 0) : 0
≤ x *~ n = (x ≤ 0
).
-
Lemma pmulrz_lle0 x n (
n0 : 0
< n) :
x *~ n ≤ 0
= (x ≤ 0
).
+
Lemma pmulrz_lle0 x n (
n0 : 0
< n) :
x *~ n ≤ 0
= (x ≤ 0
).
-
Lemma nmulrz_lle0 x n (
n0 :
n < 0) :
x *~ n ≤ 0
= (0
≤ x).
+
Lemma nmulrz_lle0 x n (
n0 :
n < 0) :
x *~ n ≤ 0
= (0
≤ x).
-
Lemma ler_wpmulz2l x (
hx : 0
≤ x) :
{homo *~%R x : x y / x ≤ y}.
+
Lemma ler_wpmulz2l x (
hx : 0
≤ x) :
{homo *~%R x : x y / x ≤ y}.
-
Lemma ler_wnmulz2l x (
hx :
x ≤ 0) :
{homo *~%R x : x y /~ x ≤ y}.
+
Lemma ler_wnmulz2l x (
hx :
x ≤ 0) :
{homo *~%R x : x y /~ x ≤ y}.
-
Lemma ler_pmulz2l x (
hx : 0
< x) :
{mono *~%R x : x y / x ≤ y}.
+
Lemma ler_pmulz2l x (
hx : 0
< x) :
{mono *~%R x : x y / x ≤ y}.
-
Lemma ler_nmulz2l x (
hx :
x < 0) :
{mono *~%R x : x y /~ x ≤ y}.
+
Lemma ler_nmulz2l x (
hx :
x < 0) :
{mono *~%R x : x y /~ x ≤ y}.
-
Lemma ltr_pmulz2l x (
hx : 0
< x) :
{mono *~%R x : x y / x < y}.
+
Lemma ltr_pmulz2l x (
hx : 0
< x) :
{mono *~%R x : x y / x < y}.
-
Lemma ltr_nmulz2l x (
hx :
x < 0) :
{mono *~%R x : x y /~ x < y}.
+
Lemma ltr_nmulz2l x (
hx :
x < 0) :
{mono *~%R x : x y /~ x < y}.
-
Lemma pmulrz_rgt0 x n (
x0 : 0
< x) : 0
< x *~ n = (0
< n).
+
Lemma pmulrz_rgt0 x n (
x0 : 0
< x) : 0
< x *~ n = (0
< n).
-
Lemma nmulrz_rgt0 x n (
x0 :
x < 0) : 0
< x *~ n = (n < 0
).
+
Lemma nmulrz_rgt0 x n (
x0 :
x < 0) : 0
< x *~ n = (n < 0
).
-
Lemma pmulrz_rlt0 x n (
x0 : 0
< x) :
x *~ n < 0
= (n < 0
).
+
Lemma pmulrz_rlt0 x n (
x0 : 0
< x) :
x *~ n < 0
= (n < 0
).
-
Lemma nmulrz_rlt0 x n (
x0 :
x < 0) :
x *~ n < 0
= (0
< n).
+
Lemma nmulrz_rlt0 x n (
x0 :
x < 0) :
x *~ n < 0
= (0
< n).
-
Lemma pmulrz_rge0 x n (
x0 : 0
< x) : 0
≤ x *~ n = (0
≤ n).
+
Lemma pmulrz_rge0 x n (
x0 : 0
< x) : 0
≤ x *~ n = (0
≤ n).
-
Lemma nmulrz_rge0 x n (
x0 :
x < 0) : 0
≤ x *~ n = (n ≤ 0
).
+
Lemma nmulrz_rge0 x n (
x0 :
x < 0) : 0
≤ x *~ n = (n ≤ 0
).
-
Lemma pmulrz_rle0 x n (
x0 : 0
< x) :
x *~ n ≤ 0
= (n ≤ 0
).
+
Lemma pmulrz_rle0 x n (
x0 : 0
< x) :
x *~ n ≤ 0
= (n ≤ 0
).
-
Lemma nmulrz_rle0 x n (
x0 :
x < 0) :
x *~ n ≤ 0
= (0
≤ n).
+
Lemma nmulrz_rle0 x n (
x0 :
x < 0) :
x *~ n ≤ 0
= (0
≤ n).
-
Lemma mulrIz x (
hx :
x != 0) :
injective (
*~%R x).
+
Lemma mulrIz x (
hx :
x != 0) :
injective (
*~%R x).
-
Lemma ler_int m n :
(m%:~R ≤ n%:~R :> R) = (m ≤ n).
+
Lemma ler_int m n :
(m%:~R ≤ n%:~R :> R) = (m ≤ n).
-
Lemma ltr_int m n :
(m%:~R < n%:~R :> R) = (m < n).
+
Lemma ltr_int m n :
(m%:~R < n%:~R :> R) = (m < n).
-
Lemma eqr_int m n :
(m%:~R == n%:~R :> R) = (m == n).
+
Lemma eqr_int m n :
(m%:~R == n%:~R :> R) = (m == n).
-
Lemma ler0z n :
(0
≤ n%:~R :> R) = (0
≤ n).
+
Lemma ler0z n :
(0
≤ n%:~R :> R) = (0
≤ n).
-
Lemma ltr0z n :
(0
< n%:~R :> R) = (0
< n).
+
Lemma ltr0z n :
(0
< n%:~R :> R) = (0
< n).
-
Lemma lerz0 n :
(n%:~R ≤ 0
:> R) = (n ≤ 0
).
+
Lemma lerz0 n :
(n%:~R ≤ 0
:> R) = (n ≤ 0
).
-
Lemma ltrz0 n :
(n%:~R < 0
:> R) = (n < 0
).
+
Lemma ltrz0 n :
(n%:~R < 0
:> R) = (n < 0
).
-
Lemma ler1z (
n :
int) :
(1
≤ n%:~R :> R) = (1
≤ n).
+
Lemma ler1z (
n :
int) :
(1
≤ n%:~R :> R) = (1
≤ n).
-
Lemma ltr1z (
n :
int) :
(1
< n%:~R :> R) = (1
< n).
+
Lemma ltr1z (
n :
int) :
(1
< n%:~R :> R) = (1
< n).
-
Lemma lerz1 n :
(n%:~R ≤ 1
:> R) = (n ≤ 1
).
+
Lemma lerz1 n :
(n%:~R ≤ 1
:> R) = (n ≤ 1
).
-
Lemma ltrz1 n :
(n%:~R < 1
:> R) = (n < 1
).
+
Lemma ltrz1 n :
(n%:~R < 1
:> R) = (n < 1
).
-
Lemma intr_eq0 n :
(n%:~R == 0
:> R) = (n == 0
).
+
Lemma intr_eq0 n :
(n%:~R == 0
:> R) = (n == 0
).
-
Lemma mulrz_eq0 x n :
(x *~ n == 0
) = ((n == 0
) || (x == 0
)).
+
Lemma mulrz_eq0 x n :
(x *~ n == 0
) = ((n == 0
) || (x == 0
)).
-
Lemma mulrz_neq0 x n :
x *~ n != 0
= ((n != 0
) && (x != 0
)).
+
Lemma mulrz_neq0 x n :
x *~ n != 0
= ((n != 0
) && (x != 0
)).
-
Lemma realz n :
(n%:~R : R) \in Num.real.
-
Hint Resolve realz.
+
Lemma realz n :
(n%:~R : R) \in Num.real.
+
Hint Resolve realz :
core.
Definition intr_inj := @
mulrIz 1 (
oner_neq0 R).
@@ -984,14 +991,14 @@
-
Definition exprz (
R :
unitRingType) (
x :
R) (
n :
int) :=
nosimpl
+
Definition exprz (
R :
unitRingType) (
x :
R) (
n :
int) :=
nosimpl
match n with
- |
Posz n ⇒
x ^+ n
- |
Negz n ⇒
x ^- (n.+1)
+ |
Posz n ⇒
x ^+ n
+ |
Negz n ⇒
x ^- (n.+1)
end.
-
Notation "x ^ n" := (
exprz x n) :
ring_scope.
+
Notation "x ^ n" := (
exprz x n) :
ring_scope.
Section ExprzUnitRing.
@@ -1002,74 +1009,74 @@
Implicit Types m n :
int.
-
Lemma exprnP x (
n :
nat) :
x ^+ n = x ^ n.
+
Lemma exprnP x (
n :
nat) :
x ^+ n = x ^ n.
-
Lemma exprnN x (
n :
nat) :
x ^- n = x ^ -n%:Z.
+
Lemma exprnN x (
n :
nat) :
x ^- n = x ^ -n%:Z.
-
Lemma expr0z x :
x ^ 0
= 1.
+
Lemma expr0z x :
x ^ 0
= 1.
-
Lemma expr1z x :
x ^ 1
= x.
+
Lemma expr1z x :
x ^ 1
= x.
-
Lemma exprN1 x :
x ^ (-1
) = x^-1.
+
Lemma exprN1 x :
x ^ (-1
) = x^-1.
-
Lemma invr_expz x n :
(x ^ n)^-1 = x ^ (- n).
+
Lemma invr_expz x n :
(x ^ n)^-1 = x ^ (- n).
-
Lemma exprz_inv x n :
(x^-1) ^ n = x ^ (- n).
+
Lemma exprz_inv x n :
(x^-1) ^ n = x ^ (- n).
-
Lemma exp1rz n : 1
^ n = 1
:> R.
+
Lemma exp1rz n : 1
^ n = 1
:> R.
-
Lemma exprSz x (
n :
nat) :
x ^ n.+1 = x × x ^ n.
+
Lemma exprSz x (
n :
nat) :
x ^ n.+1 = x × x ^ n.
-
Lemma exprSzr x (
n :
nat) :
x ^ n.+1 = x ^ n × x.
+
Lemma exprSzr x (
n :
nat) :
x ^ n.+1 = x ^ n × x.
-
Fact exprzD_nat x (
m n :
nat) :
x ^ (m%:Z + n) = x ^ m × x ^ n.
+
Fact exprzD_nat x (
m n :
nat) :
x ^ (m%:Z + n) = x ^ m × x ^ n.
-
Fact exprzD_Nnat x (
m n :
nat) :
x ^ (-m%:Z + -n%:Z) = x ^ (-m%:Z) × x ^ (-n%:Z).
+
Fact exprzD_Nnat x (
m n :
nat) :
x ^ (-m%:Z + -n%:Z) = x ^ (-m%:Z) × x ^ (-n%:Z).
-
Lemma exprzD_ss x m n :
(0
≤ m) && (0
≤ n) || (m ≤ 0
) && (n ≤ 0
)
-
→ x ^ (m + n) = x ^ m × x ^ n.
+
Lemma exprzD_ss x m n :
(0
≤ m) && (0
≤ n) || (m ≤ 0
) && (n ≤ 0
)
+
→ x ^ (m + n) = x ^ m × x ^ n.
-
Lemma exp0rz n : 0
^ n = (n == 0
)%:~R :> R.
+
Lemma exp0rz n : 0
^ n = (n == 0
)%:~R :> R.
-
Lemma commrXz x y n :
GRing.comm x y → GRing.comm x (
y ^ n).
+
Lemma commrXz x y n :
GRing.comm x y → GRing.comm x (
y ^ n).
-
Lemma exprMz_comm x y n :
x \is a GRing.unit → y \is a GRing.unit →
-
GRing.comm x y → (x × y) ^ n = x ^ n × y ^ n.
+
Lemma exprMz_comm x y n :
x \is a GRing.unit → y \is a GRing.unit →
+
GRing.comm x y → (x × y) ^ n = x ^ n × y ^ n.
Lemma commrXz_wmulls x y n :
- 0
≤ n → GRing.comm x y → (x × y) ^ n = x ^ n × y ^ n.
+ 0
≤ n → GRing.comm x y → (x × y) ^ n = x ^ n × y ^ n.
-
Lemma unitrXz x n (
ux :
x \is a GRing.unit) :
x ^ n \is a GRing.unit.
+
Lemma unitrXz x n (
ux :
x \is a GRing.unit) :
x ^ n \is a GRing.unit.
-
Lemma exprzDr x (
ux :
x \is a GRing.unit)
m n :
x ^ (m + n) = x ^ m × x ^ n.
+
Lemma exprzDr x (
ux :
x \is a GRing.unit)
m n :
x ^ (m + n) = x ^ m × x ^ n.
-
Lemma exprz_exp x m n :
(x ^ m) ^ n = (x ^ (m × n)).
+
Lemma exprz_exp x m n :
(x ^ m) ^ n = (x ^ (m × n)).
-
Lemma exprzAC x m n :
(x ^ m) ^ n = (x ^ n) ^ m.
+
Lemma exprzAC x m n :
(x ^ m) ^ n = (x ^ n) ^ m.
-
Lemma exprz_out x n (
nux :
x \isn't a GRing.unit) (
hn : 0
≤ n) :
-
x ^ (- n) = x ^ n.
+
Lemma exprz_out x n (
nux :
x \isn't a GRing.unit) (
hn : 0
≤ n) :
+
x ^ (- n) = x ^ n.
End ExprzUnitRing.
@@ -1083,29 +1090,29 @@
Implicit Types m n :
int.
-
Lemma exprz_pmulzl x m n : 0
≤ n → (x *~ m) ^ n = x ^ n *~ (m ^ n).
+
Lemma exprz_pmulzl x m n : 0
≤ n → (x *~ m) ^ n = x ^ n *~ (m ^ n).
-
Lemma exprz_pintl m n (
hn : 0
≤ n) :
m%:~R ^ n = (m ^ n)%:~R :> R.
+
Lemma exprz_pintl m n (
hn : 0
≤ n) :
m%:~R ^ n = (m ^ n)%:~R :> R.
-
Lemma exprzMzl x m n (
ux :
x \is a GRing.unit) (
um :
m%:~R \is a @
GRing.unit R):
-
(x *~ m) ^ n = (m%:~R ^ n) × x ^ n :> R.
+
Lemma exprzMzl x m n (
ux :
x \is a GRing.unit) (
um :
m%:~R \is a @
GRing.unit R):
+
(x *~ m) ^ n = (m%:~R ^ n) × x ^ n :> R.
-
Lemma expNrz x n :
(- x) ^ n = (-1
) ^ n × x ^ n :> R.
+
Lemma expNrz x n :
(- x) ^ n = (-1
) ^ n × x ^ n :> R.
Lemma unitr_n0expz x n :
-
n != 0
→ (x ^ n \is a GRing.unit) = (x \is a GRing.unit).
+
n != 0
→ (x ^ n \is a GRing.unit) = (x \is a GRing.unit).
Lemma intrV (
n :
int) :
-
n \in [:: 0
; 1
; -1
] → n%:~R ^-1 = n%:~R :> R.
+
n \in [:: 0
; 1
; -1
] → n%:~R ^-1 = n%:~R :> R.
-
Lemma rmorphXz (
R' :
unitRingType) (
f :
{rmorphism R → R'})
n :
-
{in GRing.unit, {morph f : x / x ^ n}}.
+
Lemma rmorphXz (
R' :
unitRingType) (
f :
{rmorphism R → R'})
n :
+
{in GRing.unit, {morph f : x / x ^ n}}.
End Exprz_Zint_UnitRing.
@@ -1119,17 +1126,17 @@
Implicit Types m n :
int.
-
Lemma expfz_eq0 x n :
(x ^ n == 0
) = (n != 0
) && (x == 0
).
+
Lemma expfz_eq0 x n :
(x ^ n == 0
) = (n != 0
) && (x == 0
).
-
Lemma expfz_neq0 x n :
x != 0
→ x ^ n != 0.
+
Lemma expfz_neq0 x n :
x != 0
→ x ^ n != 0.
-
Lemma exprzMl x y n (
ux :
x \is a GRing.unit) (
uy :
y \is a GRing.unit) :
-
(x × y) ^ n = x ^ n × y ^ n.
+
Lemma exprzMl x y n (
ux :
x \is a GRing.unit) (
uy :
y \is a GRing.unit) :
+
(x × y) ^ n = x ^ n × y ^ n.
-
Lemma expfV (
x :
R) (
i :
int) :
(x ^ i) ^-1 = (x ^-1) ^ i.
+
Lemma expfV (
x :
R) (
i :
int) :
(x ^ i) ^-1 = (x ^-1) ^ i.
End ExprzIdomain.
@@ -1143,17 +1150,17 @@
Implicit Types m n :
int.
-
Lemma expfzDr x m n :
x != 0
→ x ^ (m + n) = x ^ m × x ^ n.
+
Lemma expfzDr x m n :
x != 0
→ x ^ (m + n) = x ^ m × x ^ n.
-
Lemma expfz_n0addr x m n :
m + n != 0
→ x ^ (m + n) = x ^ m × x ^ n.
+
Lemma expfz_n0addr x m n :
m + n != 0
→ x ^ (m + n) = x ^ m × x ^ n.
-
Lemma expfzMl x y n :
(x × y) ^ n = x ^ n × y ^ n.
+
Lemma expfzMl x y n :
(x × y) ^ n = x ^ n × y ^ n.
-
Lemma fmorphXz (
R :
unitRingType) (
f :
{rmorphism F → R})
n :
-
{morph f : x / x ^ n}.
+
Lemma fmorphXz (
R :
unitRingType) (
f :
{rmorphism F → R})
n :
+
{morph f : x / x ^ n}.
End ExprzField.
@@ -1173,94 +1180,94 @@
ler and exprz
-
Lemma exprz_ge0 n x (
hx : 0
≤ x) : (0
≤ x ^ n).
+
Lemma exprz_ge0 n x (
hx : 0
≤ x) : (0
≤ x ^ n).
-
Lemma exprz_gt0 n x (
hx : 0
< x) : (0
< x ^ n).
+
Lemma exprz_gt0 n x (
hx : 0
< x) : (0
< x ^ n).
-
Definition exprz_gte0 :=
(exprz_ge0, exprz_gt0).
+
Definition exprz_gte0 :=
(exprz_ge0, exprz_gt0).
-
Lemma ler_wpiexpz2l x (
x0 : 0
≤ x) (
x1 :
x ≤ 1) :
-
{in ≥ 0
&, {homo (exprz x) : x y /~ x ≤ y}}.
+
Lemma ler_wpiexpz2l x (
x0 : 0
≤ x) (
x1 :
x ≤ 1) :
+
{in ≥ 0
&, {homo (exprz x) : x y /~ x ≤ y}}.
-
Lemma ler_wniexpz2l x (
x0 : 0
≤ x) (
x1 :
x ≤ 1) :
-
{in < 0
&, {homo (exprz x) : x y /~ x ≤ y}}.
+
Lemma ler_wniexpz2l x (
x0 : 0
≤ x) (
x1 :
x ≤ 1) :
+
{in < 0
&, {homo (exprz x) : x y /~ x ≤ y}}.
-
Fact ler_wpeexpz2l x (
x1 : 1
≤ x) :
-
{in ≥ 0
&, {homo (exprz x) : x y / x ≤ y}}.
+
Fact ler_wpeexpz2l x (
x1 : 1
≤ x) :
+
{in ≥ 0
&, {homo (exprz x) : x y / x ≤ y}}.
-
Fact ler_wneexpz2l x (
x1 : 1
≤ x) :
-
{in ≤ 0
&, {homo (exprz x) : x y / x ≤ y}}.
+
Fact ler_wneexpz2l x (
x1 : 1
≤ x) :
+
{in ≤ 0
&, {homo (exprz x) : x y / x ≤ y}}.
-
Lemma ler_weexpz2l x (
x1 : 1
≤ x) :
{homo (exprz x) : x y / x ≤ y}.
+
Lemma ler_weexpz2l x (
x1 : 1
≤ x) :
{homo (exprz x) : x y / x ≤ y}.
-
Lemma pexprz_eq1 x n (
x0 : 0
≤ x) :
(x ^ n == 1
) = ((n == 0
) || (x == 1
)).
+
Lemma pexprz_eq1 x n (
x0 : 0
≤ x) :
(x ^ n == 1
) = ((n == 0
) || (x == 1
)).
-
Lemma ieexprIz x (
x0 : 0
< x) (
nx1 :
x != 1) :
injective (
exprz x).
+
Lemma ieexprIz x (
x0 : 0
< x) (
nx1 :
x != 1) :
injective (
exprz x).
-
Lemma ler_piexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
-
{in ≥ 0
&, {mono (exprz x) : x y /~ x ≤ y}}.
+
Lemma ler_piexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
+
{in ≥ 0
&, {mono (exprz x) : x y /~ x ≤ y}}.
-
Lemma ltr_piexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
-
{in ≥ 0
&, {mono (exprz x) : x y /~ x < y}}.
+
Lemma ltr_piexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
+
{in ≥ 0
&, {mono (exprz x) : x y /~ x < y}}.
-
Lemma ler_niexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
-
{in < 0
&, {mono (exprz x) : x y /~ x ≤ y}}.
+
Lemma ler_niexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
+
{in < 0
&, {mono (exprz x) : x y /~ x ≤ y}}.
-
Lemma ltr_niexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
-
{in < 0
&, {mono (exprz x) : x y /~ x < y}}.
+
Lemma ltr_niexpz2l x (
x0 : 0
< x) (
x1 :
x < 1) :
+
{in < 0
&, {mono (exprz x) : x y /~ x < y}}.
-
Lemma ler_eexpz2l x (
x1 : 1
< x) :
{mono (exprz x) : x y / x ≤ y}.
+
Lemma ler_eexpz2l x (
x1 : 1
< x) :
{mono (exprz x) : x y / x ≤ y}.
-
Lemma ltr_eexpz2l x (
x1 : 1
< x) :
{mono (exprz x) : x y / x < y}.
+
Lemma ltr_eexpz2l x (
x1 : 1
< x) :
{mono (exprz x) : x y / x < y}.
-
Lemma ler_wpexpz2r n (
hn : 0
≤ n) :
-
{in ≥ 0
& , {homo ((@
exprz R)^~ n) : x y / x ≤ y}}.
+
Lemma ler_wpexpz2r n (
hn : 0
≤ n) :
+
{in ≥ 0
& , {homo ((@
exprz R)^~ n) : x y / x ≤ y}}.
-
Lemma ler_wnexpz2r n (
hn :
n ≤ 0) :
-
{in > 0
& , {homo ((@
exprz R)^~ n) : x y /~ x ≤ y}}.
+
Lemma ler_wnexpz2r n (
hn :
n ≤ 0) :
+
{in > 0
& , {homo ((@
exprz R)^~ n) : x y /~ x ≤ y}}.
-
Lemma pexpIrz n (
n0 :
n != 0) :
{in ≥ 0
&, injective (
(@
exprz R)^~ n)
}.
+
Lemma pexpIrz n (
n0 :
n != 0) :
{in ≥ 0
&, injective (
(@
exprz R)^~ n)
}.
-
Lemma nexpIrz n (
n0 :
n != 0) :
{in ≤ 0
&, injective (
(@
exprz R)^~ n)
}.
+
Lemma nexpIrz n (
n0 :
n != 0) :
{in ≤ 0
&, injective (
(@
exprz R)^~ n)
}.
-
Lemma ler_pexpz2r n (
hn : 0
< n) :
-
{in ≥ 0
& , {mono ((@
exprz R)^~ n) : x y / x ≤ y}}.
+
Lemma ler_pexpz2r n (
hn : 0
< n) :
+
{in ≥ 0
& , {mono ((@
exprz R)^~ n) : x y / x ≤ y}}.
-
Lemma ltr_pexpz2r n (
hn : 0
< n) :
-
{in ≥ 0
& , {mono ((@
exprz R)^~ n) : x y / x < y}}.
+
Lemma ltr_pexpz2r n (
hn : 0
< n) :
+
{in ≥ 0
& , {mono ((@
exprz R)^~ n) : x y / x < y}}.
-
Lemma ler_nexpz2r n (
hn :
n < 0) :
-
{in > 0
& , {mono ((@
exprz R)^~ n) : x y /~ x ≤ y}}.
+
Lemma ler_nexpz2r n (
hn :
n < 0) :
+
{in > 0
& , {mono ((@
exprz R)^~ n) : x y /~ x ≤ y}}.
-
Lemma ltr_nexpz2r n (
hn :
n < 0) :
-
{in > 0
& , {mono ((@
exprz R)^~ n) : x y /~ x < y}}.
+
Lemma ltr_nexpz2r n (
hn :
n < 0) :
+
{in > 0
& , {mono ((@
exprz R)^~ n) : x y /~ x < y}}.
-
Lemma eqr_expz2 n x y :
n != 0
→ 0
≤ x → 0
≤ y →
-
(x ^ n == y ^ n) = (x == y).
+
Lemma eqr_expz2 n x y :
n != 0
→ 0
≤ x → 0
≤ y →
+
(x ^ n == y ^ n) = (x == y).
End ExprzOrder.
@@ -1276,36 +1283,36 @@
Implicit Types m n p :
int.
-
Definition sgz x :
int :=
if x == 0
then 0
else if x < 0
then -1
else 1.
+
Definition sgz x :
int :=
if x == 0
then 0
else if x < 0
then -1
else 1.
-
Lemma sgz_def x :
sgz x = (-1
) ^+ (
x < 0)%
R *+ (x != 0
).
+
Lemma sgz_def x :
sgz x = (-1
) ^+ (
x < 0)%
R *+ (x != 0
).
-
Lemma sgrEz x :
sgr x = (sgz x)%:~R.
+
Lemma sgrEz x :
sgr x = (sgz x)%:~R.
-
Lemma gtr0_sgz x : 0
< x → sgz x = 1.
+
Lemma gtr0_sgz x : 0
< x → sgz x = 1.
-
Lemma ltr0_sgz x :
x < 0
→ sgz x = -1.
+
Lemma ltr0_sgz x :
x < 0
→ sgz x = -1.
-
Lemma sgz0 :
sgz (0
: R)
= 0.
-
Lemma sgz1 :
sgz (1
: R)
= 1.
-
Lemma sgzN1 :
sgz (-1
: R)
= -1.
+
Lemma sgz0 :
sgz (0
: R)
= 0.
+
Lemma sgz1 :
sgz (1
: R)
= 1.
+
Lemma sgzN1 :
sgz (-1
: R)
= -1.
-
Definition sgzE :=
(sgz0, sgz1, sgzN1).
+
Definition sgzE :=
(sgz0, sgz1, sgzN1).
-
Lemma sgz_sgr x :
sgz (
sgr x)
= sgz x.
+
Lemma sgz_sgr x :
sgz (
sgr x)
= sgz x.
-
Lemma normr_sgz x :
`|sgz x| = (x != 0
).
+
Lemma normr_sgz x :
`|sgz x| = (x != 0
).
-
Lemma normr_sg x :
`|sgr x| = (x != 0
)%:~R.
+
Lemma normr_sg x :
`|sgr x| = (x != 0
)%:~R.
End Sgz.
@@ -1317,16 +1324,16 @@
Variable R :
numDomainType.
-
Lemma sgz_int m :
sgz (
m%:~R : R)
= sgz m.
+
Lemma sgz_int m :
sgz (
m%:~R : R)
= sgz m.
-
Lemma sgrz (
n :
int) :
sgr n = sgz n.
+
Lemma sgrz (
n :
int) :
sgr n = sgz n.
-
Lemma intr_sg m :
(sgr m)%:~R = sgr (
m%:~R)
:> R.
+
Lemma intr_sg m :
(sgr m)%:~R = sgr (
m%:~R)
:> R.
-
Lemma sgz_id (
x :
R) :
sgz (
sgz x)
= sgz x.
+
Lemma sgz_id (
x :
R) :
sgz (
sgz x)
= sgz x.
End MoreSgz.
@@ -1341,41 +1348,41 @@
Lemma sgz_cp0 x :
-
((sgz x == 1
) = (0
< x)) ×
-
((sgz x == -1
) = (x < 0
)) ×
-
((sgz x == 0
) = (x == 0
)).
+
((sgz x == 1
) = (0
< x)) ×
+
((sgz x == -1
) = (x < 0
)) ×
+
((sgz x == 0
) = (x == 0
)).
-
CoInductive sgz_val x :
bool → bool → bool → bool → bool → bool
-
→ bool → bool → bool → bool → bool → bool
-
→ bool → bool → bool → bool → bool → bool
-
→ R → R → int → Set :=
- |
SgzNull of x = 0 :
sgz_val x true true true true false false
-
true false false true false false true false false true false false 0 0 0
- |
SgzPos of x > 0 :
sgz_val x false false true false false true
-
false false true false false true false false true false false true x 1 1
- |
SgzNeg of x < 0 :
sgz_val x false true false false true false
-
false true false false true false false true false false true false (
-x) (-1) (-1).
+
Variant sgz_val x :
bool → bool → bool → bool → bool → bool
+
→ bool → bool → bool → bool → bool → bool
+
→ bool → bool → bool → bool → bool → bool
+
→ R → R → int → Set :=
+ |
SgzNull of x = 0 :
sgz_val x true true true true false false
+
true false false true false false true false false true false false 0 0 0
+ |
SgzPos of x > 0 :
sgz_val x false false true false false true
+
false false true false false true false false true false false true x 1 1
+ |
SgzNeg of x < 0 :
sgz_val x false true false false true false
+
false true false false true false false true false false true false (
-x) (-1) (-1).
Lemma sgzP x :
-
sgz_val x (0
== x) (
x ≤ 0) (0
≤ x) (
x == 0) (
x < 0) (0
< x)
- (0
== sgr x) (-1
== sgr x) (1
== sgr x)
- (
sgr x == 0) (
sgr x == -1) (
sgr x == 1)
- (0
== sgz x) (-1
== sgz x) (1
== sgz x)
- (
sgz x == 0) (
sgz x == -1) (
sgz x == 1)
`|x| (
sgr x) (
sgz x).
+
sgz_val x (0
== x) (
x ≤ 0) (0
≤ x) (
x == 0) (
x < 0) (0
< x)
+ (0
== sgr x) (-1
== sgr x) (1
== sgr x)
+ (
sgr x == 0) (
sgr x == -1) (
sgr x == 1)
+ (0
== sgz x) (-1
== sgz x) (1
== sgz x)
+ (
sgz x == 0) (
sgz x == -1) (
sgz x == 1)
`|x| (
sgr x) (
sgz x).
-
Lemma sgzN x :
sgz (
- x)
= - sgz x.
+
Lemma sgzN x :
sgz (
- x)
= - sgz x.
-
Lemma mulz_sg x :
sgz x × sgz x = (x != 0
)%:~R.
+
Lemma mulz_sg x :
sgz x × sgz x = (x != 0
)%:~R.
-
Lemma mulz_sg_eq1 x y :
(sgz x × sgz y == 1
) = (x != 0
) && (sgz x == sgz y).
+
Lemma mulz_sg_eq1 x y :
(sgz x × sgz y == 1
) = (x != 0
) && (sgz x == sgz y).
-
Lemma mulz_sg_eqN1 x y :
(sgz x × sgz y == -1
) = (x != 0
) && (sgz x == - sgz y).
+
Lemma mulz_sg_eqN1 x y :
(sgz x × sgz y == -1
) = (x != 0
) && (sgz x == - sgz y).
@@ -1388,44 +1395,44 @@
@@ -1574,16 +1581,16 @@
Lemma leqif_add_distz m1 m2 m3 :
-
`|m1 - m3| ≤ `|m1 - m2| + `|m2 - m3|
-
?= iff (
m1 ≤ m2 ≤ m3)%
R || (
m3 ≤ m2 ≤ m1)%
R.
+
`|m1 - m3| ≤ `|m1 - m2| + `|m2 - m3|
+
?= iff (
m1 ≤ m2 ≤ m3)%
R || (
m3 ≤ m2 ≤ m1)%
R.
Lemma leqif_add_dist n1 n2 n3 :
-
`|n1 - n3| ≤ `|n1 - n2| + `|n2 - n3|
-
?= iff (n1 ≤ n2 ≤ n3) || (n3 ≤ n2 ≤ n1).
+
`|n1 - n3| ≤ `|n1 - n2| + `|n2 - n3|
+
?= iff (n1 ≤ n2 ≤ n3) || (n3 ≤ n2 ≤ n1).
-
Lemma sqrn_dist n1 n2 :
`|n1 - n2| ^ 2
+ 2
× (n1 × n2) = n1 ^ 2
+ n2 ^ 2.
+
Lemma sqrn_dist n1 n2 :
`|n1 - n2| ^ 2
+ 2
× (n1 × n2) = n1 ^ 2
+ n2 ^ 2.
End Distn.
@@ -1598,13 +1605,13 @@
Variable R :
numDomainType.
-
Lemma intr_norm m :
`|m|%:~R = `|m%:~R| :> R.
+
Lemma intr_norm m :
`|m|%:~R = `|m%:~R| :> R.
-
Lemma normrMz m (
x :
R) :
`|x *~ m| = `|x| *~ `|m|.
+
Lemma normrMz m (
x :
R) :
`|x *~ m| = `|x| *~ `|m|.
-
Lemma expN1r (
i :
int) :
(-1
: R) ^ i = (-1
) ^+ `|i|.
+
Lemma expN1r (
i :
int) :
(-1
: R) ^ i = (-1
) ^+ `|i|.
End NormInt.
@@ -1616,23 +1623,23 @@
Variable R :
ringType.
Implicit Types x y z:
R.
Implicit Types m n :
int.
-
Implicit Types i j k :
nat.
-
Implicit Types p q r :
{poly R}.
+
Implicit Types i j k :
nat.
+
Implicit Types p q r :
{poly R}.
-
Lemma coefMrz :
∀ p n i,
(p *~ n)`_i = (p`_i *~ n).
+
Lemma coefMrz :
∀ p n i,
(p *~ n)`_i = (p`_i *~ n).
-
Lemma polyC_mulrz :
∀ n,
{morph (@
polyC R) : c / c *~ n}.
+
Lemma polyC_mulrz :
∀ n,
{morph (@
polyC R) : c / c *~ n}.
-
Lemma hornerMz :
∀ n (
p :
{poly R})
x,
(p *~ n).[x] = p.[x] *~ n.
+
Lemma hornerMz :
∀ n (
p :
{poly R})
x,
(p *~ n).[x] = p.[x] *~ n.
-
Lemma horner_int :
∀ n x,
(n%:~R : {poly R}).[x] = n%:~R.
+
Lemma horner_int :
∀ n x,
(n%:~R : {poly R}).[x] = n%:~R.
-
Lemma derivMz :
∀ n p,
(p *~ n)^` = p^` *~ n.
+
Lemma derivMz :
∀ n p,
(p *~ n)^` = p^` *~ n.
End PolyZintRing.
@@ -1644,7 +1651,7 @@
Variable R :
realDomainType.
-
Lemma mulpz (
p :
{poly R}) (
n :
int) :
p *~ n = n%:~R *: p.
+
Lemma mulpz (
p :
{poly R}) (
n :
int) :
p *~ n = n%:~R *: p.
End PolyZintOIdom.
@@ -1653,12 +1660,12 @@
Section ZnatPred.
-
Definition Znat :=
[qualify a n : int | 0
≤ n].
-
Fact Znat_key :
pred_key Znat.
-
Canonical Znat_keyd :=
KeyedQualifier Znat_key.
+
Definition Znat :=
[qualify a n : int | 0
≤ n].
+
Fact Znat_key :
pred_key Znat.
+
Canonical Znat_keyd :=
KeyedQualifier Znat_key.
-
Lemma Znat_def n :
(n \is a Znat) = (0
≤ n).
+
Lemma Znat_def n :
(n \is a Znat) = (0
≤ n).
Lemma Znat_semiring_closed :
semiring_closed Znat.
@@ -1667,7 +1674,7 @@
Canonical Znat_semiringPred :=
SemiringPred Znat_semiring_closed.
-
Lemma ZnatP (
m :
int) :
reflect (
∃ n :
nat, m = n) (
m \is a Znat).
+
Lemma ZnatP (
m :
int) :
reflect (
∃ n :
nat, m = n) (
m \is a Znat).
End ZnatPred.
@@ -1676,25 +1683,25 @@
Section rpred.
-
Lemma rpredMz M S (
addS : @
zmodPred M S) (
kS :
keyed_pred addS)
m :
-
{in kS, ∀ u,
u *~ m \in kS}.
+
Lemma rpredMz M S (
addS : @
zmodPred M S) (
kS :
keyed_pred addS)
m :
+
{in kS, ∀ u,
u *~ m \in kS}.
-
Lemma rpred_int R S (
ringS : @
subringPred R S) (
kS :
keyed_pred ringS)
m :
-
m%:~R \in kS.
+
Lemma rpred_int R S (
ringS : @
subringPred R S) (
kS :
keyed_pred ringS)
m :
+
m%:~R \in kS.
Lemma rpredZint (
R :
ringType) (
M :
lmodType R)
S
- (
addS : @
zmodPred M S) (
kS :
keyed_pred addS)
m :
-
{in kS, ∀ u,
m%:~R *: u \in kS}.
+ (
addS : @
zmodPred M S) (
kS :
keyed_pred addS)
m :
+
{in kS, ∀ u,
m%:~R *: u \in kS}.
-
Lemma rpredXz R S (
divS : @
divrPred R S) (
kS :
keyed_pred divS)
m :
-
{in kS, ∀ x,
x ^ m \in kS}.
+
Lemma rpredXz R S (
divS : @
divrPred R S) (
kS :
keyed_pred divS)
m :
+
{in kS, ∀ x,
x ^ m \in kS}.
-
Lemma rpredXsign R S (
divS : @
divrPred R S) (
kS :
keyed_pred divS)
n x :
-
(x ^ ((-1
) ^+ n) \in kS) = (x \in kS).
+
Lemma rpredXsign R S (
divS : @
divrPred R S) (
kS :
keyed_pred divS)
n x :
+
(x ^ ((-1
) ^+ n) \in kS) = (x \in kS).
End rpred.
--
cgit v1.2.3