int_4.miz
begin
reserve a,b,m,x,y,i1,i2,i3,i for
Integer,
k,p,q,n for
Nat,
c,c1,c2 for
Element of
NAT ,
z for
set;
theorem ::
INT_4:1
Th1: for X be
real-membered
set, a be
Real holds (X,(a
++ X))
are_equipotent
proof
let X be
real-membered
set, a be
Real;
deffunc
F(
Real) = (a
+ $1);
consider f be
Function such that
A1: (
dom f)
= X & for x be
Element of
REAL st x
in X holds (f
. x)
=
F(x) from
CLASSES1:sch 2;
A2: (
rng f)
= (a
++ X)
proof
thus (
rng f)
c= (a
++ X)
proof
let z be
object;
assume z
in (
rng f);
then
consider x be
object such that
A3: x
in (
dom f) and
A4: z
= (f
. x) by
FUNCT_1:def 3;
reconsider x as
Real by
A1,
A3;
reconsider x as
Element of
REAL by
XREAL_0:def 1;
(a
+ x)
in
REAL by
XREAL_0:def 1;
then
reconsider z9 = z as
Element of
REAL by
A1,
A3,
A4;
z9
= (a
+ x) by
A1,
A3,
A4;
hence thesis by
A1,
A3,
MEMBER_1: 141;
end;
let z be
object;
assume
A5: z
in (a
++ X);
then
reconsider z as
Element of
REAL ;
consider x be
Complex such that
A6: z
= (a
+ x) and
A7: x
in X by
A5,
MEMBER_1: 143;
X
c=
REAL by
MEMBERED: 3;
then
reconsider x as
Element of
REAL by
A7;
(f
. x)
= z by
A1,
A7,
A6;
hence thesis by
A1,
A7,
FUNCT_1:def 3;
end;
take f;
f is
one-to-one
proof
let x,y be
object;
assume that
A8: x
in (
dom f) and
A9: y
in (
dom f) and
A10: (f
. x)
= (f
. y);
reconsider x, y as
Element of
REAL by
A1,
A8,
A9,
XREAL_0:def 1;
(f
. x)
= (a
+ x) by
A1,
A8;
then (a
+ x)
= (a
+ y) by
A1,
A9,
A10;
hence thesis;
end;
hence thesis by
A1,
A2;
end;
registration
let X be
finite
real-membered
set, a be
Real;
cluster (a
++ X) ->
finite;
coherence by
Th1,
CARD_1: 38;
end
theorem ::
INT_4:2
Th2: for X be
real-membered
set, a be
Real holds (
card X)
= (
card (a
++ X)) by
Th1,
CARD_1: 5;
Lm1: for a be
Integer, X be
Subset of
INT holds (a
++ X)
c=
INT
proof
let a be
Integer, X be
Subset of
INT ;
let x be
object;
assume
A1: x
in (a
++ X);
then
reconsider x9 = x as
Real;
consider y be
Complex such that
A2: x9
= (a
+ y) and
A3: y
in X by
A1,
MEMBER_1: 143;
reconsider y9 = y as
Integer by
A3;
x9
= (a
+ y9) by
A2;
hence thesis by
INT_1:def 2;
end;
Lm2: for a be
Integer, X be
Subset of
INT holds (a
** X)
c=
INT
proof
let a be
Integer, X be
Subset of
INT ;
let x be
object;
assume
A1: x
in (a
** X);
then
reconsider x9 = x as
Real;
consider y be
Complex such that
A2: x9
= (a
* y) and
A3: y
in X by
A1,
MEMBER_1: 195;
reconsider y9 = y as
Integer by
A3;
x9
= (a
* y9) by
A2;
hence thesis by
INT_1:def 2;
end;
Lm3: for X be
Subset of
INT , a be
Integer holds x
in (a
** X) iff ex y be
Integer st y
in X & x
= (a
* y)
proof
let X be
Subset of
INT , a be
Integer;
hereby
assume x
in (a
** X);
then
consider z be
Complex such that
A1: x
= (a
* z) and
A2: z
in X by
MEMBER_1: 195;
reconsider z as
Integer by
A2;
take z;
thus z
in X & x
= (a
* z) by
A2,
A1;
end;
given y be
Integer such that
A3: y
in X & x
= (a
* y);
reconsider x9 = x as
Real;
reconsider y as
Real;
ex z be
Real st z
in X & x9
= (a
* z) by
A3;
hence thesis by
MEMBER_1: 193;
end;
theorem ::
INT_4:3
Th3: for X be
real-membered
set, a be
Real st a
<>
0 holds (X,(a
** X))
are_equipotent
proof
let X be
real-membered
set, a be
Real;
deffunc
F(
Real) = (a
* $1);
consider f be
Function such that
A1: (
dom f)
= X & for x be
Element of
REAL st x
in X holds (f
. x)
=
F(x) from
CLASSES1:sch 2;
assume
A2: a
<>
0 ;
A3: f is
one-to-one
proof
let x,y be
object;
assume that
A4: x
in (
dom f) & y
in (
dom f) and
A5: (f
. x)
= (f
. y);
reconsider x, y as
Element of
REAL by
A1,
A4,
XREAL_0:def 1;
(f
. x)
= (a
* x) & (f
. y)
= (a
* y) by
A1,
A4;
hence thesis by
A2,
A5,
XCMPLX_1: 5;
end;
take f;
(
rng f)
= (a
** X)
proof
thus (
rng f)
c= (a
** X)
proof
let z be
object;
assume z
in (
rng f);
then
consider x be
object such that
A6: x
in (
dom f) and
A7: z
= (f
. x) by
FUNCT_1:def 3;
reconsider x9 = x as
Element of
REAL by
A1,
A6,
XREAL_0:def 1;
z
= (a
* x9) by
A1,
A6,
A7;
hence thesis by
A1,
A6,
MEMBER_1: 193;
end;
let z be
object;
assume
A8: z
in (a
** X);
then
reconsider z as
Element of
REAL ;
consider x be
Complex such that
A9: z
= (a
* x) and
A10: x
in X by
A8,
MEMBER_1: 195;
reconsider x as
Element of
REAL by
A10,
XREAL_0:def 1;
(f
. x)
= z by
A1,
A10,
A9;
hence thesis by
A1,
A10,
FUNCT_1:def 3;
end;
hence thesis by
A1,
A3;
end;
theorem ::
INT_4:4
Th4: for X be
real-membered
set, a be
Real holds (a
=
0 & X is non
empty implies (a
** X)
=
{
0 }) & ((a
** X)
=
{
0 } implies a
=
0 or X
=
{
0 })
proof
let X be
real-membered
set, a be
Real;
thus a
=
0 & X is non
empty implies (a
** X)
=
{
0 }
proof
assume that
A1: a
=
0 and
A2: X is non
empty;
thus (a
** X)
c=
{
0 }
proof
let i be
object;
assume
A3: i
in (a
** X);
then
reconsider i as
Real;
ex x be
Complex st i
= (a
* x) & x
in X by
A3,
MEMBER_1: 195;
hence thesis by
A1,
TARSKI:def 1;
end;
then (a
** X)
=
{} or (a
** X)
=
{
0 } by
ZFMISC_1: 33;
hence thesis by
A2,
INTEGRA2: 7;
end;
assume that
A4: (a
** X)
=
{
0 } and
A5: a
<>
0 ;
(X,(a
** X))
are_equipotent by
A5,
Th3;
then
consider x be
object such that
A6: X
=
{x} by
A4,
CARD_1: 28;
A7: x
in X by
A6,
TARSKI:def 1;
then
reconsider x as
Real;
(a
* x)
in (a
** X) by
A7,
MEMBER_1: 193;
then (a
* x)
=
0 by
A4,
TARSKI:def 1;
hence thesis by
A5,
A6,
XCMPLX_1: 6;
end;
registration
let X be
finite
real-membered
set, a be
Real;
cluster (a
** X) ->
finite;
coherence
proof
per cases ;
suppose a
<>
0 ;
hence thesis by
Th3,
CARD_1: 38;
end;
suppose
A1: a
=
0 ;
per cases ;
suppose X is
empty;
hence thesis by
INTEGRA2: 7;
end;
suppose X is non
empty;
hence thesis by
A1,
Th4;
end;
end;
end;
end
theorem ::
INT_4:5
Th5: for X be
real-membered
set, a be
Real st a
<>
0 holds (
card X)
= (
card (a
** X)) by
Th3,
CARD_1: 5;
begin
Lm4: i1
divides i2 & i1
divides i3 implies i1
divides (i2
- i3)
proof
assume that
A1: i1
divides i2 and
A2: i1
divides i3;
consider i4 be
Integer such that
A3: i2
= (i1
* i4) by
A1;
consider i5 be
Integer such that
A4: i3
= (i1
* i5) by
A2;
(i2
- i3)
= (i1
* (i4
- i5)) by
A3,
A4;
hence thesis;
end;
Lm5: i
divides a & i
divides (a
- b) implies i
divides b
proof
assume that
A1: i
divides a and
A2: i
divides (a
- b);
A3: b
= ((
- (a
- b))
+ a);
i
divides (
- (a
- b)) by
A2,
INT_2: 10;
hence thesis by
A1,
A3,
WSIERP_1: 4;
end;
Lm6: p is
prime & (p,n)
are_coprime implies not p
divides n
proof
assume that
A1: p is
prime and
A2: (p,n)
are_coprime ;
assume p
divides n;
then (n
gcd p)
= p by
NEWTON: 49;
then (n
gcd p)
> 1 by
A1,
INT_2:def 4;
hence contradiction by
A2,
INT_2:def 3;
end;
Lm7: p
>
0 implies p
>= (1
+
0 ) by
NAT_1: 13;
theorem ::
INT_4:6
Th6: i
divides i1 & i1
<>
0 implies
|.i.|
<=
|.i1.|
proof
assume i
divides i1 & i1
<>
0 ;
then
|.i1.|
<>
0 &
|.i.|
divides
|.i1.| by
ABSVALUE: 2,
INT_2: 16;
hence thesis by
NAT_D: 7;
end;
theorem ::
INT_4:7
Th7: for i3 st i3
<>
0 holds i1
divides i2 iff (i1
* i3)
divides (i2
* i3)
proof
let i3;
assume
A1: i3
<>
0 ;
thus i1
divides i2 implies (i1
* i3)
divides (i2
* i3)
proof
assume i1
divides i2;
then
consider i4 be
Integer such that
A2: i2
= (i1
* i4);
(i2
* i3)
= ((i1
* i3)
* i4) by
A2;
hence thesis;
end;
assume (i1
* i3)
divides (i2
* i3);
then
consider i5 be
Integer such that
A3: (i2
* i3)
= ((i1
* i3)
* i5);
(i2
* i3)
= ((i1
* i5)
* i3) by
A3;
then i2
= (i1
* i5) by
A1,
XCMPLX_1: 5;
hence thesis;
end;
theorem ::
INT_4:8
for a,b,m be
Nat holds for n be
Element of
NAT st (a
mod m)
= (b
mod m) holds ((a
|^ n)
mod m)
= ((b
|^ n)
mod m)
proof
let a,b,m be
Nat;
let n be
Element of
NAT ;
defpred
P[
Nat] means ((a
|^ $1)
mod m)
= ((b
|^ $1)
mod m);
assume
A1: (a
mod m)
= (b
mod m);
A2: for k be
Nat st
P[k] holds
P[(k
+ 1)]
proof
let k be
Nat;
assume
A3:
P[k];
reconsider l1 = (a
|^ k), l2 = (b
|^ k), a, b, m as
Element of
NAT by
ORDINAL1:def 12;
((a
|^ (k
+ 1))
mod m)
= (((a
|^ k)
* a)
mod m) by
NEWTON: 6
.= (((l1
mod m)
* (a
mod m))
mod m) by
EULER_2: 9
.= ((l2
* b)
mod m) by
A1,
A3,
EULER_2: 9
.= ((b
|^ (k
+ 1))
mod m) by
NEWTON: 6;
hence thesis;
end;
(a
|^
0 )
= 1 by
NEWTON: 4;
then
A4:
P[
0 ] by
NEWTON: 4;
for k be
Nat holds
P[k] from
NAT_1:sch 2(
A4,
A2);
hence thesis;
end;
theorem ::
INT_4:9
Th9: ((i1
* i),(i2
* i))
are_congruent_mod i3 & (i,i3)
are_coprime implies (i1,i2)
are_congruent_mod i3
proof
assume that
A1: ((i1
* i),(i2
* i))
are_congruent_mod i3 and
A2: (i,i3)
are_coprime ;
i3
divides ((i1
* i)
- (i2
* i)) by
A1;
then i3
divides ((i1
- i2)
* i);
then i3
divides (i1
- i2) by
A2,
INT_2: 25;
hence thesis;
end;
theorem ::
INT_4:10
Th10: (i1,i2)
are_congruent_mod i3 implies ((i1
* k),(i2
* k))
are_congruent_mod (i3
* k)
proof
assume (i1,i2)
are_congruent_mod i3;
then
consider i4 be
Integer such that
A1: (i3
* i4)
= (i1
- i2);
((i3
* k)
* i4)
= ((i3
* i4)
* k)
.= ((i1
+ (
- i2))
* k) by
A1
.= ((i1
* k)
- (i2
* k));
hence thesis;
end;
theorem ::
INT_4:11
Th11: (i1,i2)
are_congruent_mod i implies ((i1
* i3),(i2
* i3))
are_congruent_mod i
proof
assume (i1,i2)
are_congruent_mod i;
then i
divides (i1
- i2);
then i
divides ((i1
- i2)
* i3) by
INT_2: 2;
then i
divides ((i1
* i3)
- (i2
* i3));
hence thesis;
end;
::$Canceled
Th12: for i be
Integer holds
0
= (
0
mod i) by
INT_1: 73;
theorem ::
INT_4:13
Th13: for b st b
>
0 holds for a holds ex q,r be
Integer st a
= ((b
* q)
+ r) & r
>=
0 & r
< b
proof
let b;
assume
A1: b
>
0 ;
let a be
Integer;
per cases ;
suppose
A2: a
>=
0 ;
A3: b
in
NAT by
A1,
INT_1: 3;
a
in
NAT by
A2,
INT_1: 3;
then
consider k,t be
Nat such that
A4: a
= ((b
* k)
+ t) & t
< b by
A1,
A3,
NAT_1: 17;
take k, t;
thus thesis by
A4;
end;
suppose
A5: a
<
0 ;
A6: b
in
NAT by
A1,
INT_1: 3;
(
- a)
in
NAT by
A5,
INT_1: 3;
then
consider k,t be
Nat such that
A7: (
- a)
= ((b
* k)
+ t) and
A8: t
< b by
A1,
A6,
NAT_1: 17;
per cases ;
suppose
A9: t
=
0 ;
take q = (
- k), r =
0 ;
a
= (b
* (
- k)) by
A7,
A9;
hence a
= ((b
* q)
+ r);
thus thesis by
A1;
end;
suppose
A10: t
<>
0 ;
take q = ((
- k)
- 1), r = (b
- t);
a
= ((b
* ((
- k)
- 1))
+ (b
- t)) by
A7;
hence a
= ((b
* q)
+ r);
thus thesis by
A8,
A10,
XREAL_1: 44,
XREAL_1: 50;
end;
end;
end;
::$Canceled
theorem ::
INT_4:15
Th15: (a,m)
are_coprime implies ex x be
Integer st (((a
* x)
- b)
mod m)
=
0
proof
assume (a,m)
are_coprime ;
then (a
gcd m)
= 1 by
INT_2:def 3;
then
consider s,t be
Integer such that
A1: 1
= ((s
* a)
+ (t
* m)) by
NAT_D: 68;
take (b
* s);
((((a
* b)
* s)
- b)
mod m)
= ((((a
* s)
- 1)
* b)
mod m)
.= (((
- (m
* t))
* b)
mod m) by
A1
.= ((
0
+ (m
* ((
- t)
* b)))
mod m)
.= (
0
mod m) by
NAT_D: 61
.=
0 by
Th12;
hence thesis;
end;
theorem ::
INT_4:16
Th16: m
>
0 & (a,m)
are_coprime implies ex n be
Nat st (((a
* n)
- b)
mod m)
=
0
proof
assume that
A1: m
>
0 and
A2: (a,m)
are_coprime ;
consider x be
Integer such that
A3: (((a
* x)
- b)
mod m)
=
0 by
A2,
Th15;
consider q,n be
Integer such that
A4: x
= ((m
* q)
+ n) and
A5: n
>=
0 and n
< m by
A1,
Th13;
A6: (((a
* x)
- b)
mod m)
= ((((a
* q)
* m)
+ ((a
* n)
- b))
mod m) by
A4
.= (((a
* n)
- b)
mod m) by
EULER_1: 12;
n
in
NAT by
A5,
INT_1: 3;
then
reconsider n as
Nat;
take n;
thus thesis by
A3,
A6;
end;
theorem ::
INT_4:17
m
<>
0 & not (a
gcd m)
divides b implies not ex x be
Integer st (((a
* x)
- b)
mod m)
=
0
proof
assume that
A1: m
<>
0 and
A2: not (a
gcd m)
divides b;
given y such that
A3: (((a
* y)
- b)
mod m)
=
0 ;
(a
gcd m)
divides m by
INT_2: 21;
then
A4: ex i be
Integer st m
= ((a
gcd m)
* i);
(((a
* y)
- b)
mod m)
= (
0
mod m) by
A3,
Th12;
then (((a
* y)
- b),
0 )
are_congruent_mod m by
A1,
NAT_D: 64;
then (((a
* y)
- b),
0 )
are_congruent_mod (a
gcd m) by
A4,
INT_1: 20;
then
A5: (a
gcd m)
divides (((a
* y)
- b)
-
0 );
(a
gcd m)
divides (a
* y) by
INT_2: 2,
INT_2: 21;
hence contradiction by
A2,
A5,
Lm5;
end;
theorem ::
INT_4:18
m
<>
0 & (a
gcd m)
divides b implies ex x be
Integer st (((a
* x)
- b)
mod m)
=
0
proof
assume that
A1: m
<>
0 and
A2: (a
gcd m)
divides b;
consider a1,m1 be
Integer such that
A3: a
= ((a
gcd m)
* a1) and
A4: m
= ((a
gcd m)
* m1) and
A5: (a1,m1)
are_coprime by
A1,
INT_2: 23;
consider b1 be
Integer such that
A6: b
= ((a
gcd m)
* b1) by
A2;
A7: m1
<>
0 by
A1,
A4;
consider y be
Integer such that
A8: (((a1
* y)
- b1)
mod m1)
=
0 by
A5,
Th15;
take y;
(((a1
* y)
- b1)
mod m1)
= (
0
mod m1) by
A8,
Th12;
then (((a1
* y)
- b1),
0 )
are_congruent_mod m1 by
A7,
NAT_D: 64;
then ((((a1
* y)
- b1)
* (a
gcd m)),((a
gcd m)
*
0 qua
Nat))
are_congruent_mod (m1
* (a
gcd m)) by
Th10;
then (((a
* y)
- b)
mod m)
= (
0
mod m) by
A3,
A4,
A6,
NAT_D: 64;
hence thesis by
Th12;
end;
begin
theorem ::
INT_4:19
Th19: n
>
0 & p
>
0 implies ((p
* q)
mod (p
|^ n))
= (p
* (q
mod (p
|^ (n
-' 1))))
proof
assume that
A1: n
>
0 and
A2: p
>
0 ;
A3: n
>= (
0
+ 1) by
A1,
NAT_1: 13;
(p
* (q
mod (p
|^ (n
-' 1))))
= (p
* (q
- ((q
div (p
|^ (n
-' 1)))
* (p
|^ (n
-' 1))))) by
A2,
NEWTON: 63
.= ((p
* q)
- ((q
div (p
|^ (n
-' 1)))
* (p
* (p
|^ (n
-' 1)))))
.= ((p
* q)
- ((q
div (p
|^ (n
-' 1)))
* (p
|^ ((n
-' 1)
+ 1)))) by
NEWTON: 6
.= ((p
* q)
- ((q
div (p
|^ (n
-' 1)))
* (p
|^ n))) by
A3,
XREAL_1: 235;
then
A4: (p
* q)
= (((q
div (p
|^ (n
-' 1)))
* (p
|^ n))
+ (p
* (q
mod (p
|^ (n
-' 1)))));
(p
* (q
mod (p
|^ (n
-' 1))))
< (p
* (p
|^ (n
-' 1))) by
A2,
NAT_D: 1,
XREAL_1: 68;
then (p
* (q
mod (p
|^ (n
-' 1))))
< (p
|^ ((n
-' 1)
+ 1)) by
NEWTON: 6;
then (p
* (q
mod (p
|^ (n
-' 1))))
< (p
|^ n) by
A3,
XREAL_1: 235;
hence thesis by
A4,
NAT_D:def 2;
end;
theorem ::
INT_4:20
((p
* q)
mod (p
* n))
= (p
* (q
mod n))
proof
per cases ;
suppose
A1: n
=
0 ;
then (q
mod n)
=
0 by
NAT_D:def 2;
hence thesis by
A1,
NAT_D:def 2;
end;
suppose
A2: n
>
0 ;
then
A3: (p
* q)
= (p
* ((n
* (q
div n))
+ (q
mod n))) by
NAT_D: 2
.= (((p
* n)
* (q
div n))
+ (p
* (q
mod n)));
per cases ;
suppose p
=
0 ;
hence thesis by
NAT_D:def 2;
end;
suppose p
>
0 ;
then (p
* (q
mod n))
< (p
* n) by
A2,
NAT_D: 1,
XREAL_1: 68;
hence thesis by
A3,
NAT_D:def 2;
end;
end;
end;
theorem ::
INT_4:21
Th21: n
>
0 & p is
prime & (p,q)
are_coprime implies not p
divides (q
mod (p
|^ n))
proof
assume that
A1: n
>
0 and
A2: p is
prime and
A3: (p,q)
are_coprime ;
n
>= (
0
+ 1) by
A1,
NAT_1: 13;
then (p
|^ 1)
divides (p
|^ n) by
NEWTON: 89;
then p
divides (p
|^ n);
then
A4: p
divides ((p
|^ n)
* (q
div (p
|^ n))) by
NAT_D: 9;
q
= (((p
|^ n)
* (q
div (p
|^ n)))
+ (q
mod (p
|^ n))) by
A2,
NAT_D: 2;
hence thesis by
A2,
A3,
A4,
Lm6,
NAT_D: 8;
end;
theorem ::
INT_4:22
Th22: for p,q,n be
Nat st n
>
0 holds ((p
- q)
mod n)
=
0 iff (p
mod n)
= (q
mod n)
proof
let p,q,n be
Nat;
assume
A1: n
>
0 ;
thus ((p
- q)
mod n)
=
0 implies (p
mod n)
= (q
mod n)
proof
assume ((p
- q)
mod n)
=
0 ;
then n
divides (p
- q) by
A1,
INT_1: 62;
then
consider s be
Integer such that
A2: (n
* s)
= (p
- q);
per cases by
XXREAL_0: 1;
suppose p
> q;
then s
>
0 by
A2,
XREAL_1: 50;
then s
in
NAT by
INT_1: 3;
then
reconsider s9 = s as
Nat;
(p
mod n)
= (((n
* s9)
+ q)
mod n) by
A2
.= (q
mod n) by
NAT_D: 21;
hence thesis;
end;
suppose p
= q;
hence thesis;
end;
suppose
A3: p
< q;
A4: (q
- p)
= (n
* (
- s)) by
A2;
then (
- s)
>
0 by
A3,
XREAL_1: 50;
then (
- s)
in
NAT by
INT_1: 3;
then
reconsider s9 = (
- s) as
Nat;
(q
- p)
= (n
* s9) by
A4;
then (q
mod n)
= (((n
* s9)
+ p)
mod n)
.= (p
mod n) by
NAT_D: 21;
hence thesis;
end;
end;
assume
A5: (p
mod n)
= (q
mod n);
p
= ((n
* (p
div n))
+ (p
mod n)) by
A1,
NAT_D: 2
.= ((n
* (p
div n))
+ (q
- (n
* (q
div n)))) by
A1,
A5,
NEWTON: 63
.= (q
+ (n
* ((p
div n)
- (q
div n))));
then n
divides (p
- q);
hence thesis by
A1,
INT_1: 62;
end;
theorem ::
INT_4:23
for a,b,m be
Nat st m
>
0 holds (a
mod m)
= (b
mod m) iff m
divides (a
- b)
proof
let a,b,m be
Nat;
assume
A1: m
>
0 ;
thus (a
mod m)
= (b
mod m) implies m
divides (a
- b)
proof
assume (a
mod m)
= (b
mod m);
then ((a
- b)
mod m)
=
0 by
A1,
Th22;
hence thesis by
A1,
INT_1: 62;
end;
assume m
divides (a
- b);
then ((a
- b)
mod m)
=
0 by
A1,
INT_1: 62;
hence thesis by
A1,
Th22;
end;
theorem ::
INT_4:24
n
>
0 & p is
prime & (p,q)
are_coprime implies not ex x be
Integer st (((p
* (x
^2 ))
- q)
mod (p
|^ n))
=
0
proof
assume that
A1: n
>
0 and
A2: p is
prime and
A3: (p,q)
are_coprime ;
given x such that
A4: (((p
* (x
^2 ))
- q)
mod (p
|^ n))
=
0 ;
((p
* (x
^2 ))
mod (p
|^ n))
= (q
mod (p
|^ n)) by
A2,
A4,
Th22;
then (p
* ((x
^2 )
mod (p
|^ (n
-' 1))))
= (q
mod (p
|^ n)) by
A1,
A2,
Th19;
then p
divides (q
mod (p
|^ n));
hence contradiction by
A1,
A2,
A3,
Th21;
end;
theorem ::
INT_4:25
n
>
0 & p is
prime & (p,q)
are_coprime implies not ex x be
Integer st (((p
* x)
- q)
mod (p
|^ n))
=
0
proof
assume that
A1: n
>
0 and
A2: p is
prime and
A3: (p,q)
are_coprime ;
A4: p
> 1 by
A2,
INT_2:def 4;
given x be
Integer such that
A5: (((p
* x)
- q)
mod (p
|^ n))
=
0 ;
per cases ;
suppose x
>=
0 ;
then x
in
NAT by
INT_1: 3;
then
reconsider x as
Nat;
((p
* x)
mod (p
|^ n))
= (q
mod (p
|^ n)) by
A2,
A5,
Th22;
then (p
* (x
mod (p
|^ (n
-' 1))))
= (q
mod (p
|^ n)) by
A1,
A2,
Th19;
then p
divides (q
mod (p
|^ n));
hence contradiction by
A1,
A2,
A3,
Th21;
end;
suppose x
<
0 ;
then (
- x)
in
NAT by
INT_1: 3;
then
reconsider l = (
- x) as
Nat;
A6: p
divides (p
* l);
(p
|^ n)
divides ((p
* x)
- q) by
A2,
A5,
INT_1: 62;
then (p
|^ n)
divides ((
- 1)
* ((p
* x)
- q)) by
INT_2: 2;
then
consider k be
Integer such that
A7: ((p
* l)
+ q)
= ((p
|^ n)
* k);
k
>=
0 by
A2,
A7,
XREAL_1: 132;
then k
in
NAT by
INT_1: 3;
then
reconsider k as
Nat;
((p
* l)
+ q)
= ((p
|^ n)
* k) by
A7;
then
A8: (p
|^ n)
divides ((p
* l)
+ q);
p
divides (p
|^ n) by
A1,
NAT_3: 3;
then
A9: p
divides ((p
* l)
+ q) by
A8,
NAT_D: 4;
reconsider p, q as
Element of
NAT by
ORDINAL1:def 12;
(p
gcd q)
> 1 by
A4,
A9,
A6,
NAT_D: 10,
NEWTON: 49;
hence contradiction by
A3,
INT_2:def 3;
end;
end;
begin
definition
let m be
Integer;
::
INT_4:def1
func
Cong (m) ->
Relation of
INT means
:
Def1:
[x, y]
in it iff (x,y)
are_congruent_mod m;
existence
proof
defpred
Z[
Element of
INT ,
Element of
INT ] means ($1,$2)
are_congruent_mod m;
consider R be
Relation of
INT ,
INT such that
A1: for x be
Element of
INT , y be
Element of
INT holds
[x, y]
in R iff
Z[x, y] from
RELSET_1:sch 2;
take R;
let x, y;
for x,y be
Integer holds
[x, y]
in R iff (x,y)
are_congruent_mod m
proof
let x,y be
Integer;
reconsider x, y as
Element of
INT by
INT_1:def 2;
[x, y]
in R iff
Z[x, y] by
A1;
hence thesis;
end;
hence thesis;
end;
uniqueness
proof
let P1,P2 be
Relation of
INT such that
A2:
[x, y]
in P1 iff (x,y)
are_congruent_mod m and
A3:
[x, y]
in P2 iff (x,y)
are_congruent_mod m;
A4: for x, y holds
[x, y]
in P1 iff
[x, y]
in P2 by
A2,
A3;
thus P1
c= P2
proof
let a be
object;
assume
A5: a
in P1;
then
consider x,y be
object such that
A6: a
=
[x, y] and
A7: x
in
INT & y
in
INT by
RELSET_1: 2;
reconsider x, y as
Integer by
A7;
[x, y]
in P2 by
A4,
A5,
A6;
hence thesis by
A6;
end;
let a be
object;
assume
A8: a
in P2;
then
consider x,y be
object such that
A9: a
=
[x, y] and
A10: x
in
INT & y
in
INT by
RELSET_1: 2;
reconsider x, y as
Integer by
A10;
[x, y]
in P1 by
A4,
A8,
A9;
hence thesis by
A9;
end;
end
registration
let m be
Integer;
cluster (
Cong m) ->
total;
coherence
proof
thus (
dom (
Cong m))
c=
INT ;
thus
INT
c= (
dom (
Cong m))
proof
let x be
object;
assume x
in
INT ;
then
reconsider x as
Integer;
(x,x)
are_congruent_mod m by
INT_1: 11;
then
[x, x]
in (
Cong m) by
Def1;
hence thesis by
XTUPLE_0:def 12;
end;
end;
end
Lm8: (
Cong m) is
Equivalence_Relation of
INT
proof
A1: (
Cong m)
is_symmetric_in
INT
proof
let x,y be
object;
assume that
A2: x
in
INT and
A3: y
in
INT and
A4:
[x, y]
in (
Cong m);
reconsider y as
Integer by
A3;
reconsider x as
Integer by
A2;
(x,y)
are_congruent_mod m by
A4,
Def1;
then (y,x)
are_congruent_mod m by
INT_1: 14;
hence thesis by
Def1;
end;
A5: (
Cong m)
is_transitive_in
INT
proof
let x,y,z be
object;
assume that
A6: x
in
INT & y
in
INT & z
in
INT and
A7:
[x, y]
in (
Cong m) &
[y, z]
in (
Cong m);
reconsider x, y, z as
Integer by
A6;
(x,y)
are_congruent_mod m & (y,z)
are_congruent_mod m by
A7,
Def1;
then (x,z)
are_congruent_mod m by
INT_1: 15;
hence thesis by
Def1;
end;
(
field (
Cong m))
=
INT by
ORDERS_1: 12;
hence thesis by
A1,
A5,
RELAT_2:def 11,
RELAT_2:def 16;
end;
registration
let m be
Integer;
cluster (
Cong m) ->
reflexive
symmetric
transitive;
coherence by
Lm8;
end
theorem ::
INT_4:26
Th26: m
<>
0 & (((a
* x)
- b)
mod m)
=
0 implies for y be
Integer holds ((a,m)
are_coprime & (((a
* y)
- b)
mod m)
=
0 implies y
in (
Class ((
Cong m),x))) & (y
in (
Class ((
Cong m),x)) implies (((a
* y)
- b)
mod m)
=
0 )
proof
assume that
A1: m
<>
0 and
A2: (((a
* x)
- b)
mod m)
=
0 ;
let y be
Integer;
hereby
assume that
A3: (a,m)
are_coprime and
A4: (((a
* y)
- b)
mod m)
=
0 ;
(((a
* x)
- b),((a
* y)
- b))
are_congruent_mod m by
A1,
A2,
A4,
NAT_D: 64;
then ((((a
* x)
- b)
+ b),(a
* y))
are_congruent_mod m;
then (x,y)
are_congruent_mod m by
A3,
Th9;
then
[x, y]
in (
Cong m) by
Def1;
hence y
in (
Class ((
Cong m),x)) by
EQREL_1: 18;
end;
assume y
in (
Class ((
Cong m),x));
then
[x, y]
in (
Cong m) by
EQREL_1: 18;
then (x,y)
are_congruent_mod m by
Def1;
then
A5: ((x
* a),(y
* a))
are_congruent_mod m by
Th11;
(((a
* x)
- b)
mod m)
= (
0
mod m) by
A2,
Th12;
then (
0 ,((a
* x)
- b))
are_congruent_mod m by
A1,
NAT_D: 64;
then ((
0
+ b),(a
* x))
are_congruent_mod m;
then ((
0
+ b),(a
* y))
are_congruent_mod m by
A5,
INT_1: 15;
then (
0 ,((a
* y)
- b))
are_congruent_mod m;
then (((a
* y)
- b)
mod m)
= (
0
mod m) by
NAT_D: 64;
hence thesis by
Th12;
end;
theorem ::
INT_4:27
for a,b,m,x be
Integer holds m
<>
0 & (a,m)
are_coprime & (((a
* x)
- b)
mod m)
=
0 implies ex s be
Integer st
[x, (b
* s)]
in (
Cong m)
proof
let a, b, m, x;
assume that
A1: m
<>
0 and
A2: (a,m)
are_coprime and
A3: (((a
* x)
- b)
mod m)
=
0 ;
(a
gcd m)
= 1 by
A2,
INT_2:def 3;
then
consider r,t be
Integer such that
A4: 1
= ((r
* a)
+ (t
* m)) by
NAT_D: 68;
(((a
* x)
- b)
mod m)
= (
0
mod m) by
A3,
Th12;
then (((a
* x)
- b),
0 )
are_congruent_mod m by
A1,
NAT_D: 64;
then ((((a
* x)
- b)
* r),(
0
* r))
are_congruent_mod m by
Th11;
then (((x
* (a
* r))
- (b
* r)),
0 )
are_congruent_mod m;
then
A5: (((x
* (1
- (t
* m)))
- (b
* r)),
0 )
are_congruent_mod m by
A4;
take s = r;
(((x
- ((x
* t)
* m))
- (b
* r))
mod m)
= (((x
- (b
* r))
+ (((
- x)
* t)
* m))
mod m)
.= ((x
- (b
* r))
mod m) by
NAT_D: 61;
then ((x
- (b
* r))
mod m)
= (
0
mod m) by
A5,
NAT_D: 64;
then (
0 ,(x
- (b
* r)))
are_congruent_mod m by
A1,
NAT_D: 64;
then ((
0
+ (b
* r)),x)
are_congruent_mod m;
then (x,(b
* s))
are_congruent_mod m by
INT_1: 14;
hence thesis by
Def1;
end;
theorem ::
INT_4:28
for a,m be
Element of
NAT st a
<>
0 & m
> 1 & (a,m)
are_coprime holds for b,x be
Integer holds (((a
* x)
- b)
mod m)
=
0 implies
[x, (b
* (a
|^ ((
Euler m)
-' 1)))]
in (
Cong m)
proof
let a,m be
Element of
NAT ;
assume that
A1: a
<>
0 and
A2: m
> 1 and
A3: (a,m)
are_coprime ;
let b,x be
Integer;
((a
|^ (
Euler m))
mod m)
= 1 by
A1,
A2,
A3,
EULER_2: 18;
then (a
|^ (
Euler m))
= ((m
* ((a
|^ (
Euler m))
div m))
+ 1) by
A2,
NAT_D: 2;
then m
divides ((a
|^ (
Euler m))
- 1);
then ((a
|^ (
Euler m)),1)
are_congruent_mod m;
then
A4: (((a
|^ (
Euler m))
* x),(1
* x))
are_congruent_mod m by
Th11;
(
Euler m)
<>
0
proof
set X = { k where k be
Element of
NAT : (m,k)
are_coprime & k
>= 1 & k
<= m };
(1
gcd m)
= 1 by
NEWTON: 51;
then (m,1)
are_coprime by
INT_2:def 3;
then
A5: 1
in X by
A2;
assume (
Euler m)
=
0 ;
hence contradiction by
A5;
end;
then
A6: (((
Euler m)
-' 1)
+ 1)
= (((
Euler m)
- 1)
+ 1) by
NAT_1: 14,
XREAL_1: 233
.= (
Euler m);
assume (((a
* x)
- b)
mod m)
=
0 ;
then m
divides (((a
* x)
- b)
-
0 ) by
A2,
INT_1: 62;
then (((a
* x)
- b),
0 )
are_congruent_mod m;
then (
0 ,((a
* x)
- b))
are_congruent_mod m by
INT_1: 14;
then (((a
|^ ((
Euler m)
-' 1))
*
0 qua
Nat),((a
|^ ((
Euler m)
-' 1))
* ((a
* x)
- b)))
are_congruent_mod m by
Th11;
then (
0 ,((((a
|^ ((
Euler m)
-' 1))
* a)
* x)
- ((a
|^ ((
Euler m)
-' 1))
* b)))
are_congruent_mod m;
then (
0 ,(((a
|^ (((
Euler m)
-' 1)
+ 1))
* x)
- ((a
|^ ((
Euler m)
-' 1))
* b)))
are_congruent_mod m by
NEWTON: 6;
then ((
0
+ ((a
|^ ((
Euler m)
-' 1))
* b)),((a
|^ (
Euler m))
* x))
are_congruent_mod m by
A6;
then (((a
|^ ((
Euler m)
-' 1))
* b),x)
are_congruent_mod m by
A4,
INT_1: 15;
then (x,(b
* (a
|^ ((
Euler m)
-' 1))))
are_congruent_mod m by
INT_1: 14;
hence thesis by
Def1;
end;
theorem ::
INT_4:29
m
<>
0 & (a
gcd m)
divides b implies ex fp be
FinSequence of
INT st (
len fp)
= (a
gcd m) & (for c st c
in (
dom fp) holds (((a
* (fp
. c))
- b)
mod m)
=
0 ) & for c1, c2 st c1
in (
dom fp) & c2
in (
dom fp) & c1
<> c2 holds not ((fp
. c1),(fp
. c2))
are_congruent_mod m
proof
assume that
A1: m
<>
0 and
A2: (a
gcd m)
divides b;
set l = (a
gcd m);
reconsider l as
Element of
NAT by
ORDINAL1:def 12;
consider a1,m1 be
Integer such that
A3: a
= (l
* a1) and
A4: m
= (l
* m1) and
A5: (a1,m1)
are_coprime by
A1,
INT_2: 23;
consider b1 be
Integer such that
A6: b
= (l
* b1) by
A2;
consider x1 be
Integer such that
A7: (((a1
* x1)
- b1)
mod m1)
=
0 by
A5,
Th15;
deffunc
P(
Nat) = (x1
+ (($1
- 1)
* m1));
consider fp be
FinSequence such that
A8: (
len fp)
= l & for c be
Nat st c
in (
dom fp) holds (fp
. c)
=
P(c) from
FINSEQ_1:sch 2;
for c be
Nat st c
in (
dom fp) holds (fp
. c)
in
INT
proof
let c be
Nat;
assume c
in (
dom fp);
then (fp
. c)
= (x1
+ ((c
- 1)
* m1)) by
A8;
hence thesis by
INT_1:def 2;
end;
then
reconsider fp as
FinSequence of
INT by
FINSEQ_2: 12;
A9: m1
<>
0 by
A1,
A4;
A10: for c1, c2 st c1
in (
dom fp) & c2
in (
dom fp) & c1
<> c2 holds not ((fp
. c1),(fp
. c2))
are_congruent_mod m
proof
let c1, c2;
assume that
A11: c1
in (
dom fp) and
A12: c2
in (
dom fp) and
A13: c1
<> c2;
assume
A14: ((fp
. c1),(fp
. c2))
are_congruent_mod m;
(fp
. c1)
= (x1
+ ((c1
- 1)
* m1)) & (fp
. c2)
= (x1
+ ((c2
- 1)
* m1)) by
A8,
A11,
A12;
then m
divides ((((c1
- 1)
* m1)
+ x1)
- (((c2
- 1)
* m1)
+ x1)) by
A14;
then
consider w be
Integer such that
A15: ((c1
- c2)
* m1)
= ((l
* m1)
* w) by
A4;
((c1
- c2)
* m1)
= ((l
* w)
* m1) by
A15;
then (c1
- c2)
= (l
* w) by
A9,
XCMPLX_1: 5;
then
A16: l
divides (c1
- c2);
A17: c2
in (
Seg l) by
A8,
A12,
FINSEQ_1:def 3;
then
A18: c2
>= 1 by
FINSEQ_1: 1;
A19: c1
in (
Seg l) by
A8,
A11,
FINSEQ_1:def 3;
then c1
<= l by
FINSEQ_1: 1;
then (c1
- c2)
<= (l
- 1) by
A18,
XREAL_1: 13;
then
A20: (c1
- c2)
< l by
XREAL_1: 147;
A21: c2
<= l by
A17,
FINSEQ_1: 1;
c1
>= 1 by
A19,
FINSEQ_1: 1;
then (c1
- c2)
>= (1
- l) by
A21,
XREAL_1: 13;
then (c1
- c2)
> (
- l) by
XREAL_1: 145;
then
A22:
|.(c1
- c2).|
< l by
A20,
SEQ_2: 1;
(c1
- c2)
<>
0 by
A13;
then
|.l.|
<=
|.(c1
- c2).| by
A16,
Th6;
hence contradiction by
A22,
ABSVALUE:def 1;
end;
take fp;
(((a1
* x1)
- b1)
mod m1)
= (
0
mod m1) by
A7,
Th12;
then (((a1
* x1)
- b1),
0 )
are_congruent_mod m1 by
A9,
NAT_D: 64;
then ((((a1
* x1)
- b1)
* l),(
0
* l))
are_congruent_mod (m1
* l) by
Th10;
then
A23: (((a
* x1)
- b)
mod m)
= (
0
mod m) by
A3,
A4,
A6,
NAT_D: 64;
for c st c
in (
dom fp) holds (((a
* (fp
. c))
- b)
mod m)
=
0
proof
let c;
assume c
in (
dom fp);
hence (((a
* (fp
. c))
- b)
mod m)
= (((a
* (x1
+ ((c
- 1)
* m1)))
- b)
mod m) by
A8
.= ((((a
* x1)
- b)
+ ((a1
* (c
- 1))
* m))
mod m) by
A3,
A4
.= (((a
* x1)
- b)
mod m) by
NAT_D: 61
.=
0 by
A23,
Th12;
end;
hence thesis by
A8,
A10;
end;
begin
reserve fp,fp1 for
FinSequence of
NAT ,
b,c,d,n for
Element of
NAT ,
a for
Nat;
theorem ::
INT_4:30
Th30: for b, n st b
in (
dom fp) & (
len fp)
= (n
+ 1) holds (
Del ((fp
^
<*d*>),b))
= ((
Del (fp,b))
^
<*d*>)
proof
let b, n such that
A1: b
in (
dom fp) and
A2: (
len fp)
= (n
+ 1);
A3: (
len (
Del (fp,b)))
= n by
A1,
A2,
FINSEQ_3: 109;
then
A4: (
len ((
Del (fp,b))
^
<*d*>))
= (n
+ 1) by
FINSEQ_2: 16;
A5: (
len (fp
^
<*d*>))
= ((n
+ 1)
+ 1) & b
in (
dom (fp
^
<*d*>)) by
A1,
A2,
FINSEQ_2: 16,
FINSEQ_3: 22;
then
A6: (
len (
Del ((fp
^
<*d*>),b)))
= (
len ((
Del (fp,b))
^
<*d*>)) by
A4,
FINSEQ_3: 109;
for k be
Nat st 1
<= k & k
<= (
len (
Del ((fp
^
<*d*>),b))) holds ((
Del ((fp
^
<*d*>),b))
. k)
= (((
Del (fp,b))
^
<*d*>)
. k)
proof
let k be
Nat such that
A7: 1
<= k and
A8: k
<= (
len (
Del ((fp
^
<*d*>),b)));
A9: k
in (
dom fp) by
A2,
A4,
A6,
A7,
A8,
FINSEQ_3: 25;
per cases ;
suppose
A10: k
< b;
b
<= (n
+ 1) by
A1,
A2,
FINSEQ_3: 25;
then k
< (n
+ 1) by
A10,
XXREAL_0: 2;
then k
<= n by
NAT_1: 13;
then k
in (
dom (
Del (fp,b))) by
A3,
A7,
FINSEQ_3: 25;
then
A11: (((
Del (fp,b))
^
<*d*>)
. k)
= ((
Del (fp,b))
. k) by
FINSEQ_1:def 7
.= (fp
. k) by
A10,
FINSEQ_3: 110;
set fpd = (fp
^
<*d*>);
((
Del (fpd,b))
. k)
= (fpd
. k) by
A10,
FINSEQ_3: 110
.= (fp
. k) by
A9,
FINSEQ_1:def 7;
hence thesis by
A11;
end;
suppose
A12: b
<= k;
then
A13: ((
Del ((fp
^
<*d*>),b))
. k)
= ((fp
^
<*d*>)
. (k
+ 1)) by
A4,
A5,
A6,
A8,
FINSEQ_3: 111;
per cases by
A4,
A6,
A8,
NAT_1: 8;
suppose
A14: k
<= n;
then k
in (
dom (
Del (fp,b))) by
A3,
A7,
FINSEQ_3: 25;
then
A15: (((
Del (fp,b))
^
<*d*>)
. k)
= ((
Del (fp,b))
. k) by
FINSEQ_1:def 7
.= (fp
. (k
+ 1)) by
A1,
A2,
A12,
A14,
FINSEQ_3: 111;
A16: (k
+ 1)
>= 1 by
NAT_1: 11;
(k
+ 1)
<= (n
+ 1) by
A14,
XREAL_1: 6;
then (k
+ 1)
in (
dom fp) by
A2,
A16,
FINSEQ_3: 25;
hence thesis by
A13,
A15,
FINSEQ_1:def 7;
end;
suppose
A17: k
= (n
+ 1);
then ((
Del ((fp
^
<*d*>),b))
. k)
= d by
A2,
A13,
FINSEQ_1: 42;
hence thesis by
A3,
A17,
FINSEQ_1: 42;
end;
end;
end;
hence thesis by
A4,
A5,
FINSEQ_3: 109;
end;
theorem ::
INT_4:31
Th31: (
len fp)
>= 2 & (for b, c st b
in (
dom fp) & c
in (
dom fp) & b
<> c holds ((fp
. b)
gcd (fp
. c))
= 1) implies for b st b
in (
dom fp) holds ((
Product (
Del (fp,b)))
gcd (fp
. b))
= 1
proof
defpred
CC[
FinSequence of
NAT ] means for b st b
in (
dom $1) holds ((
Product (
Del ($1,b)))
gcd ($1
. b))
= 1;
defpred
RP[
FinSequence of
NAT ] means for b, c st b
in (
dom $1) & c
in (
dom $1) & b
<> c holds (($1
. b)
gcd ($1
. c))
= 1;
defpred
TH[
set] means ex f be
FinSequence of
NAT st f
= $1 & ((
len f)
>= 2 &
RP[f] implies
CC[f]);
A1:
now
let fp, d such that
A2:
TH[fp];
set k = (
len fp);
set fp1 = (fp
^
<*d*>);
now
assume that
A3: (
len fp1)
>= 2 and
A4:
RP[fp1];
A5: (
len fp1)
= (k
+ 1) by
FINSEQ_2: 16;
now
per cases by
A3,
XXREAL_0: 1;
suppose
A6: (
len fp1)
= 2;
then 1
in (
dom fp1) & 2
in (
dom fp1) by
FINSEQ_3: 25;
then
A7: ((fp1
. 2)
gcd (fp1
. 1))
= 1 by
A4;
A8: fp1
=
<*(fp1
. 1), (fp1
. 2)*> by
A6,
FINSEQ_1: 44;
for b st b
in (
dom fp1) holds ((
Product (
Del (fp1,b)))
gcd (fp1
. b))
= 1
proof
let b;
assume b
in (
dom fp1);
then
A9: b
in (
Seg (
len fp1)) by
FINSEQ_1:def 3;
per cases by
A6,
A9,
FINSEQ_1: 2,
TARSKI:def 2;
suppose b
= 1;
hence ((
Product (
Del (fp1,b)))
gcd (fp1
. b))
= ((
Product
<*(fp1
. 2)*>)
gcd (fp1
. 1)) by
A8,
WSIERP_1: 19
.= 1 by
A7,
RVSUM_1: 95;
end;
suppose b
= 2;
hence ((
Product (
Del (fp1,b)))
gcd (fp1
. b))
= ((
Product
<*(fp1
. 1)*>)
gcd (fp1
. 2)) by
A8,
WSIERP_1: 19
.= 1 by
A7,
RVSUM_1: 95;
end;
end;
hence
CC[fp1];
end;
suppose (
len fp1)
> 2;
then
A10: (k
+ 1)
> (1
+ 1) by
FINSEQ_2: 16;
then k
>= (1
+ 1) by
NAT_1: 13;
then
consider n be
Nat such that
A11: k
= (n
+ 1) by
NAT_1: 6;
A12:
RP[fp]
proof
A13: (
dom fp)
c= (
dom fp1) by
FINSEQ_1: 26;
let b, c such that
A14: b
in (
dom fp) & c
in (
dom fp) and
A15: b
<> c;
(fp1
. b)
= (fp
. b) & (fp1
. c)
= (fp
. c) by
A14,
FINSEQ_1:def 7;
hence thesis by
A4,
A14,
A15,
A13;
end;
A16: a
in (
dom fp) implies ((fp
. a)
gcd d)
= 1
proof
A17: ((
len fp)
+ 1)
in (
dom fp1) by
A5,
FINSEQ_5: 6;
A18: (
dom fp)
c= (
dom fp1) & (fp1
. ((
len fp)
+ 1))
= d by
FINSEQ_1: 26,
FINSEQ_1: 42;
assume
A19: a
in (
dom fp);
((
len fp)
+ 1)
> (
len fp) by
NAT_1: 13;
then
A20: ((
len fp)
+ 1)
<> a by
A19,
FINSEQ_3: 25;
(fp1
. a)
= (fp
. a) by
A19,
FINSEQ_1:def 7;
hence thesis by
A4,
A19,
A18,
A20,
A17;
end;
reconsider n as
Element of
NAT by
ORDINAL1:def 12;
A21: k
= (n
+ 1) by
A11;
for b st b
in (
dom fp1) holds ((
Product (
Del (fp1,b)))
gcd (fp1
. b))
= 1
proof
let b such that
A22: b
in (
dom fp1);
A23: b
>= 1 by
A22,
FINSEQ_3: 25;
A24: b
<= (k
+ 1) by
A5,
A22,
FINSEQ_3: 25;
per cases by
A24,
NAT_1: 8;
suppose b
<= k;
then
A25: b
in (
dom fp) by
A23,
FINSEQ_3: 25;
then ((
Product (
Del (fp,b)))
gcd (fp
. b))
= 1 & ((fp
. b)
gcd d)
= 1 by
A2,
A10,
A12,
A16,
NAT_1: 13;
then (((
Product (
Del (fp,b)))
* d)
gcd (fp
. b))
= 1 by
WSIERP_1: 7;
then
A26: ((
Product ((
Del (fp,b))
^
<*d*>))
gcd (fp
. b))
= 1 by
RVSUM_1: 96;
(
Del (fp1,b))
= ((
Del (fp,b))
^
<*d*>) by
A21,
A25,
Th30;
hence thesis by
A25,
A26,
FINSEQ_1:def 7;
end;
suppose b
= (k
+ 1);
hence ((
Product (
Del (fp1,b)))
gcd (fp1
. b))
= ((
Product (
Del (fp1,(k
+ 1))))
gcd d) by
FINSEQ_1: 42
.= ((
Product fp)
gcd d) by
WSIERP_1: 40
.= 1 by
A16,
WSIERP_1: 36;
end;
end;
hence
CC[fp1];
end;
end;
hence
CC[fp1];
end;
hence
TH[fp1];
end;
A27:
TH[(
<*>
NAT )]
proof
take (
<*>
NAT );
thus thesis;
end;
for fp holds
TH[fp] from
FINSEQ_2:sch 2(
A27,
A1);
then ex f be
FinSequence of
NAT st f
= fp & ((
len f)
>= 2 &
RP[f] implies
CC[f]);
hence thesis;
end;
theorem ::
INT_4:32
Th32: for a st a
in (
dom fp) holds (fp
. a)
divides (
Product fp)
proof
let a;
assume a
in (
dom fp);
then (fp
. a)
in (
rng fp) by
FUNCT_1: 3;
hence thesis by
NAT_3: 7;
end;
theorem ::
INT_4:33
a
in (
dom fp) & p
divides (fp
. a) implies p
divides (
Product fp)
proof
assume that
A1: a
in (
dom fp) and
A2: p
divides (fp
. a);
(fp
. a)
divides (
Product fp) by
A1,
Th32;
hence thesis by
A2,
NAT_D: 4;
end;
theorem ::
INT_4:34
(
len fp)
= (n
+ 1) & a
>= 1 & a
<= n implies ((
Del (fp,a))
. n)
= (fp
. (
len fp))
proof
assume that
A1: (
len fp)
= (n
+ 1) and
A2: a
>= 1 and
A3: a
<= n;
n
< (n
+ 1) by
XREAL_1: 29;
then a
< (n
+ 1) by
A3,
XXREAL_0: 2;
then a
in (
dom fp) by
A1,
A2,
FINSEQ_3: 25;
hence thesis by
A1,
A3,
WSIERP_1:def 1;
end;
theorem ::
INT_4:35
Th35: for a, b st a
in (
dom fp) & b
in (
dom fp) & a
<> b & (
len fp)
>= 1 holds (fp
. b)
divides (
Product (
Del (fp,a)))
proof
let a, b;
assume that
A1: a
in (
dom fp) and
A2: b
in (
dom fp) and
A3: a
<> b and
A4: (
len fp)
>= 1;
consider n be
Nat such that
A5: (
len fp)
= (n
+ 1) by
A4,
NAT_1: 6;
A6: a
<= (n
+ 1) by
A1,
A5,
FINSEQ_3: 25;
A7: a
>= 1 by
A1,
FINSEQ_3: 25;
A8: b
>= 1 by
A2,
FINSEQ_3: 25;
A9: ((
len (
Del (fp,a)))
+ 1)
= (n
+ 1) by
A1,
A5,
WSIERP_1:def 1;
A10: b
<= (n
+ 1) by
A2,
A5,
FINSEQ_3: 25;
per cases by
A6,
NAT_1: 8;
suppose
A11: a
<= n;
per cases by
A3,
XXREAL_0: 1;
suppose
A12: b
< a;
then b
<= n by
A11,
XXREAL_0: 2;
then
A13: b
in (
dom (
Del (fp,a))) by
A8,
A9,
FINSEQ_3: 25;
((
Del (fp,a))
. b)
= (fp
. b) by
A1,
A12,
WSIERP_1:def 1;
hence thesis by
A13,
Th32;
end;
suppose
A14: a
< b;
then b
>= (a
+ 1) by
NAT_1: 13;
then (b
- 1)
>= a by
XREAL_1: 19;
then (b
-' 1)
>= a by
A8,
XREAL_1: 233;
then
A15: ((
Del (fp,a))
. (b
-' 1))
= (fp
. ((b
-' 1)
+ 1)) by
A1,
WSIERP_1:def 1;
b
> 1 by
A7,
A14,
XXREAL_0: 2;
then (b
- 1)
>
0 by
XREAL_1: 50;
then (b
-' 1)
>
0 by
A8,
XREAL_1: 233;
then
A16: (b
-' 1)
>= 1 by
Lm7;
(b
- 1)
<= ((n
+ 1)
- 1) by
A10,
XREAL_1: 9;
then (b
-' 1)
<= n by
A8,
XREAL_1: 233;
then (b
-' 1)
in (
dom (
Del (fp,a))) by
A9,
A16,
FINSEQ_3: 25;
then ((
Del (fp,a))
. (b
-' 1))
divides (
Product (
Del (fp,a))) by
Th32;
hence thesis by
A8,
A15,
XREAL_1: 235;
end;
end;
suppose
A17: a
= (n
+ 1);
then b
< (n
+ 1) by
A3,
A10,
XXREAL_0: 1;
then b
<= n by
NAT_1: 13;
then
A18: b
in (
dom (
Del (fp,a))) by
A8,
A9,
FINSEQ_3: 25;
b
< a by
A3,
A10,
A17,
XXREAL_0: 1;
then ((
Del (fp,a))
. b)
= (fp
. b) by
A1,
WSIERP_1:def 1;
hence thesis by
A18,
Th32;
end;
end;
Lm9: for i1,i2 be
Integer holds for n be
Nat st n
>
0 & (i1
mod n)
=
0 holds ((i1
* i2)
mod n)
=
0
proof
let i1,i2 be
Integer, n be
Nat;
assume that
A1: n
>
0 and
A2: (i1
mod n)
=
0 ;
n
divides i1 by
A1,
A2,
INT_1: 62;
then n
divides (i1
* i2) by
INT_2: 2;
hence thesis by
A1,
INT_1: 62;
end;
theorem ::
INT_4:36
Th36: (for b be
Nat st b
in (
dom fp) holds a
divides (fp
. b)) implies a
divides (
Sum fp)
proof
defpred
RP[
FinSequence of
NAT ] means for b be
Nat st b
in (
dom $1) holds a
divides ($1
. b);
defpred
CC[
FinSequence of
NAT ] means a
divides (
Sum $1);
defpred
TH[
set] means ex f be
FinSequence of
NAT st f
= $1 & (
RP[f] implies
CC[f]);
A1:
now
let fp, d such that
A2:
TH[fp];
set fp1 = (fp
^
<*d*>);
now
assume
A3:
RP[fp1];
A4:
RP[fp]
proof
let b be
Nat such that
A5: b
in (
dom fp);
(
dom fp)
c= (
dom fp1) & (fp1
. b)
= (fp
. b) by
A5,
FINSEQ_1: 26,
FINSEQ_1:def 7;
hence thesis by
A3,
A5;
end;
(
len fp1)
in (
dom fp1) by
FINSEQ_5: 6;
then a
divides (fp1
. (
len fp1)) by
A3;
then a
divides (fp1
. ((
len fp)
+ 1)) by
FINSEQ_2: 16;
then a
divides d by
FINSEQ_1: 42;
then a
divides ((
Sum fp)
+ d) by
A2,
A4,
NAT_D: 8;
hence
CC[fp1] by
RVSUM_1: 74;
end;
hence
TH[fp1];
end;
A6:
TH[(
<*>
NAT )] by
NAT_D: 6,
RVSUM_1: 72;
for fp holds
TH[fp] from
FINSEQ_2:sch 2(
A6,
A1);
then ex f be
FinSequence of
NAT st f
= fp & (
RP[f] implies
CC[f]);
hence thesis;
end;
theorem ::
INT_4:37
(
len fp)
>= 2 & (for b, c st b
in (
dom fp) & c
in (
dom fp) & b
<> c holds ((fp
. b)
gcd (fp
. c))
= 1) & (for b st b
in (
dom fp) holds (fp
. b)
<>
0 ) implies for fp1 holds ex x be
Integer st for b st b
in (
dom fp) holds ((x
- (fp1
. b))
mod (fp
. b))
=
0
proof
assume that
A1: (
len fp)
>= 2 and
A2: for b, c st b
in (
dom fp) & c
in (
dom fp) & b
<> c holds ((fp
. b)
gcd (fp
. c))
= 1 and
A3: for b st b
in (
dom fp) holds (fp
. b)
<>
0 ;
consider fp2 be
FinSequence of
NAT , q be
Element of
NAT such that
A4: fp
= (fp2
^
<*q*>) by
A1,
FINSEQ_2: 19;
deffunc
F(
Nat) = { l where l be
Element of
NAT : ((((
Product (
Del (fp,$1)))
* l)
- 1)
mod (fp
. $1))
=
0 };
defpred
FF[
Nat,
Nat] means $2
in
F($1);
A5: for a be
Nat st a
in (
Seg (
len fp)) holds ex n be
Element of
NAT st
FF[a, n]
proof
let a be
Nat;
reconsider l = (fp
. a) as
Integer;
assume a
in (
Seg (
len fp));
then
A6: a
in (
dom fp) by
FINSEQ_1:def 3;
then ((
Product (
Del (fp,a)))
gcd (fp
. a))
= 1 by
A1,
A2,
Th31;
then
A7: ((
Product (
Del (fp,a))),l)
are_coprime by
INT_2:def 3;
l
<>
0 by
A3,
A6;
then
consider n be
Nat such that
A8: ((((
Product (
Del (fp,a)))
* n)
- 1)
mod l)
=
0 by
A7,
Th16;
reconsider n as
Element of
NAT by
ORDINAL1:def 12;
take n;
thus thesis by
A8;
end;
consider s be
FinSequence of
NAT such that
A9: (
dom s)
= (
Seg (
len fp)) & for a be
Nat st a
in (
Seg (
len fp)) holds
FF[a, (s
. a)] from
FINSEQ_1:sch 5(
A5);
let fp1;
set k = (
len fp2);
deffunc
P(
Nat) = (((
Product (
Del (fp,$1)))
* (s
. $1))
* (fp1
. $1));
consider s1 be
FinSequence such that
A10: (
len s1)
= (k
+ 1) & for a be
Nat st a
in (
dom s1) holds (s1
. a)
=
P(a) from
FINSEQ_1:sch 2;
for a be
Nat st a
in (
dom s1) holds (s1
. a)
in
NAT
proof
let a be
Nat;
assume
A11: a
in (
dom s1);
reconsider a as
Element of
NAT by
ORDINAL1:def 12;
(s1
. a)
= (((
Product (
Del (fp,a)))
* (s
. a))
* (fp1
. a)) by
A10,
A11;
hence thesis by
ORDINAL1:def 12;
end;
then
reconsider s1 as
FinSequence of
NAT by
FINSEQ_2: 12;
set x = (
Sum s1);
take x;
A12: (
len fp)
= (k
+ 1) by
A4,
FINSEQ_2: 16;
A13: for a, b st a
in (
dom fp) & b
in (
dom fp) & a
<> b holds (fp
. b)
divides (s1
. a)
proof
let a, b;
assume that
A14: a
in (
dom fp) and
A15: b
in (
dom fp) & a
<> b;
(
len fp)
>= 1 by
A1,
XXREAL_0: 2;
then (fp
. b)
divides ((
Product (
Del (fp,a)))
* ((s
. a)
* (fp1
. a))) by
A14,
A15,
Th35,
NAT_D: 9;
then
A16: (fp
. b)
divides (((
Product (
Del (fp,a)))
* (s
. a))
* (fp1
. a));
a
in (
dom s1) by
A12,
A10,
A14,
FINSEQ_3: 29;
hence thesis by
A10,
A16;
end;
A17: for b st b
in (
dom fp) holds (fp
. b)
divides (
Sum (
Del (s1,b)))
proof
let b;
assume
A18: b
in (
dom fp);
then b
in (
Seg (
len s1)) by
A12,
A10,
FINSEQ_1:def 3;
then
A19: b
in (
dom s1) by
FINSEQ_1:def 3;
then
A20: ((
len (
Del (s1,b)))
+ 1)
= (k
+ 1) by
A10,
WSIERP_1:def 1;
for a st a
in (
dom (
Del (s1,b))) holds (fp
. b)
divides ((
Del (s1,b))
. a)
proof
let a;
assume
A21: a
in (
dom (
Del (s1,b)));
then
A22: a
>= 1 & a
<= k by
A20,
FINSEQ_3: 25;
(
dom (
Del (s1,b)))
c= (
dom s1) by
WSIERP_1: 39;
then a
in (
dom s1) by
A21;
then a
in (
Seg (k
+ 1)) by
A10,
FINSEQ_1:def 3;
then
A23: a
in (
dom fp) by
A12,
FINSEQ_1:def 3;
per cases ;
suppose
A24: a
< b;
then ((
Del (s1,b))
. a)
= (s1
. a) by
A19,
WSIERP_1:def 1;
hence thesis by
A13,
A18,
A23,
A24;
end;
suppose
A25: a
>= b;
(a
+ 1)
<= (k
+ 1) & (a
+ 1)
> 1 by
A22,
XREAL_1: 6,
XREAL_1: 29;
then
A26: (a
+ 1)
in (
dom fp) by
A12,
FINSEQ_3: 25;
((
Del (s1,b))
. a)
= (s1
. (a
+ 1)) & (a
+ 1)
> b by
A19,
A25,
WSIERP_1:def 1,
XREAL_1: 39;
hence thesis by
A13,
A18,
A26;
end;
end;
hence thesis by
Th36;
end;
for b st b
in (
dom fp) holds ((x
- (fp1
. b))
mod (fp
. b))
=
0
proof
let b;
assume
A27: b
in (
dom fp);
then
A28: (fp
. b)
<>
0 by
A3;
A29: (fp
. b)
divides (
Sum (
Del (s1,b))) by
A17,
A27;
A30: (((
Sum (
Del (s1,b)))
+ ((s1
. b)
- (fp1
. b)))
mod (fp
. b))
= (((s1
. b)
- (fp1
. b))
mod (fp
. b))
proof
reconsider l = (
Sum (
Del (s1,b))) as
Integer;
A31: (l
mod (fp
. b))
=
0 by
A29,
A28,
INT_1: 62;
(((
Sum (
Del (s1,b)))
+ ((s1
. b)
- (fp1
. b)))
mod (fp
. b))
= (((l
mod (fp
. b))
+ (((s1
. b)
- (fp1
. b))
mod (fp
. b)))
mod (fp
. b)) by
NAT_D: 66
.= (((s1
. b)
- (fp1
. b))
mod (fp
. b)) by
A31,
NAT_D: 65;
hence thesis;
end;
A32: b
>= 1 & b
<= (k
+ 1) by
A12,
A27,
FINSEQ_3: 25;
then
A33: b
in (
Seg (k
+ 1));
then b
in (
dom s1) by
A10,
FINSEQ_1:def 3;
then
A34: ((s1
. b)
- (fp1
. b))
= ((((
Product (
Del (fp,b)))
* (s
. b))
* (fp1
. b))
- (1
* (fp1
. b))) by
A10
.= ((((
Product (
Del (fp,b)))
* (s
. b))
- 1)
* (fp1
. b));
(s
. b)
in
F(b) by
A12,
A9,
A33;
then
A35: ex ll be
Element of
NAT st ll
= (s
. b) & ((((
Product (
Del (fp,b)))
* ll)
- 1)
mod (fp
. b))
=
0 ;
A36: s1 is
FinSequence of
REAL by
FINSEQ_2: 24,
NUMBERS: 19;
b
in (
dom s1) by
A10,
A32,
FINSEQ_3: 25;
then ((x
- (fp1
. b))
mod (fp
. b))
= ((((
Sum (
Del (s1,b)))
+ (s1
. b))
- (fp1
. b))
mod (fp
. b)) by
WSIERP_1: 20,
A36
.=
0 by
A28,
A34,
A35,
A30,
Lm9;
hence thesis;
end;
hence thesis;
end;
theorem ::
INT_4:38
Th38: (for b, c st b
in (
dom fp) & c
in (
dom fp) & b
<> c holds ((fp
. b)
gcd (fp
. c))
= 1) & (for b st b
in (
dom fp) holds (fp
. b)
divides a) implies (
Product fp)
divides a
proof
defpred
RP[
FinSequence of
NAT ] means (for b, c st b
in (
dom $1) & c
in (
dom $1) & b
<> c holds (($1
. b)
gcd ($1
. c))
= 1) & (for b st b
in (
dom $1) holds ($1
. b)
divides a);
defpred
CC[
FinSequence of
NAT ] means (
Product $1)
divides a;
defpred
TH[
set] means ex f be
FinSequence of
NAT st f
= $1 & (
RP[f] implies
CC[f]);
A1:
now
let fp, d such that
A2:
TH[fp];
set fp1 = (fp
^
<*d*>);
((
len fp)
+ 1)
>= (
0
+ 1) by
XREAL_1: 6;
then
A3: (
len fp1)
>= 1 by
FINSEQ_2: 16;
now
assume
A4:
RP[fp1];
for a st a
in (
dom fp) holds ((fp
. a)
gcd d)
= 1
proof
let a;
A5: (
len fp1)
in (
dom fp1) by
A3,
FINSEQ_3: 25;
assume
A6: a
in (
dom fp);
then a
<= (
len fp) by
FINSEQ_3: 25;
then a
< ((
len fp)
+ 1) by
XREAL_1: 39;
then
A7: a
< (
len fp1) by
FINSEQ_2: 16;
a
in (
dom fp1) by
A6,
FINSEQ_2: 15;
then ((fp1
. a)
gcd (fp1
. (
len fp1)))
= 1 by
A4,
A7,
A5;
then
A8: ((fp1
. a)
gcd (fp1
. ((
len fp)
+ 1)))
= 1 by
FINSEQ_2: 16;
(fp1
. a)
= (fp
. a) by
A6,
FINSEQ_1:def 7;
hence thesis by
A8,
FINSEQ_1: 42;
end;
then ((
Product fp)
gcd d)
= 1 by
WSIERP_1: 36;
then
A9: ((
Product fp),d)
are_coprime by
INT_2:def 3;
A10: (
dom fp)
c= (
dom fp1) by
FINSEQ_1: 26;
A11: for b, c st b
in (
dom fp) & c
in (
dom fp) & b
<> c holds ((fp
. b)
gcd (fp
. c))
= 1
proof
let b, c;
assume that
A12: b
in (
dom fp) & c
in (
dom fp) and
A13: b
<> c;
(fp1
. b)
= (fp
. b) & (fp1
. c)
= (fp
. c) by
A12,
FINSEQ_1:def 7;
hence thesis by
A4,
A10,
A12,
A13;
end;
A14: for b st b
in (
dom fp) holds (fp
. b)
divides a
proof
let b;
assume
A15: b
in (
dom fp);
then (fp1
. b)
= (fp
. b) by
FINSEQ_1:def 7;
hence thesis by
A4,
A10,
A15;
end;
(
len fp1)
in (
dom fp1) by
FINSEQ_5: 6;
then (fp1
. (
len fp1))
divides a by
A4;
then (fp1
. ((
len fp)
+ 1))
divides a by
FINSEQ_2: 16;
then d
divides a by
FINSEQ_1: 42;
then ((
Product fp)
* d)
divides a by
A2,
A11,
A14,
A9,
PEPIN: 4;
hence
CC[fp1] by
RVSUM_1: 96;
end;
hence
TH[fp1];
end;
A16:
TH[(
<*>
NAT )]
proof
take (
<*>
NAT );
thus thesis by
NAT_D: 6,
RVSUM_1: 94;
end;
for fp holds
TH[fp] from
FINSEQ_2:sch 2(
A16,
A1);
then ex f be
FinSequence of
NAT st f
= fp & (
RP[f] implies
CC[f]);
hence thesis;
end;
theorem ::
INT_4:39
(for b, c st b
in (
dom fp) & c
in (
dom fp) & b
<> c holds ((fp
. b)
gcd (fp
. c))
= 1) & (for b st b
in (
dom fp) holds (fp
. b)
>
0 ) implies for fp1 st (for b st b
in (
dom fp) holds ((x
- (fp1
. b))
mod (fp
. b))
=
0 & ((y
- (fp1
. b))
mod (fp
. b))
=
0 ) holds (x,y)
are_congruent_mod (
Product fp)
proof
assume that
A1: for b, c st b
in (
dom fp) & c
in (
dom fp) & b
<> c holds ((fp
. b)
gcd (fp
. c))
= 1 and
A2: for b st b
in (
dom fp) holds (fp
. b)
>
0 ;
let fp1 such that
A3: for b st b
in (
dom fp) holds ((x
- (fp1
. b))
mod (fp
. b))
=
0 & ((y
- (fp1
. b))
mod (fp
. b))
=
0 ;
per cases ;
suppose x
>= y;
then (x
- y)
in
NAT by
INT_1: 3,
XREAL_1: 48;
then
reconsider k = (x
- y) as
Nat;
for b st b
in (
dom fp) holds (fp
. b)
divides k
proof
let b such that
A4: b
in (
dom fp);
A5: (fp
. b)
>
0 by
A2,
A4;
((y
- (fp1
. b))
mod (fp
. b))
=
0 by
A3,
A4;
then
A6: (fp
. b)
divides (y
- (fp1
. b)) by
A5,
INT_1: 62;
((x
- (fp1
. b))
mod (fp
. b))
=
0 by
A3,
A4;
then (fp
. b)
divides (x
- (fp1
. b)) by
A5,
INT_1: 62;
then (fp
. b)
divides ((x
- (fp1
. b))
- (y
- (fp1
. b))) by
A6,
Lm4;
then
consider i be
Integer such that
A7: (x
- y)
= ((fp
. b)
* i);
i
>=
0
proof
assume i
<
0 ;
then k
<
0 by
A2,
A4,
A7,
XREAL_1: 132;
hence contradiction;
end;
then i
in
NAT by
INT_1: 3;
then
reconsider i as
Nat;
thus thesis by
A7;
end;
then (
Product fp)
divides k by
A1,
Th38;
hence thesis;
end;
suppose x
< y;
then (y
- x)
>
0 by
XREAL_1: 50;
then (y
- x)
in
NAT by
INT_1: 3;
then
reconsider k = (y
- x) as
Nat;
for b st b
in (
dom fp) holds (fp
. b)
divides k
proof
let b such that
A8: b
in (
dom fp);
A9: (fp
. b)
>
0 by
A2,
A8;
((y
- (fp1
. b))
mod (fp
. b))
=
0 by
A3,
A8;
then
A10: (fp
. b)
divides (y
- (fp1
. b)) by
A9,
INT_1: 62;
((x
- (fp1
. b))
mod (fp
. b))
=
0 by
A3,
A8;
then (fp
. b)
divides (x
- (fp1
. b)) by
A9,
INT_1: 62;
then (fp
. b)
divides ((y
- (fp1
. b))
- (x
- (fp1
. b))) by
A10,
Lm4;
then
consider i be
Integer such that
A11: (y
- x)
= ((fp
. b)
* i);
k
= ((fp
. b)
* i) by
A11;
then i
>=
0 by
A2,
A8,
XREAL_1: 132;
then i
in
NAT by
INT_1: 3;
then
reconsider i as
Nat;
thus thesis by
A11;
end;
then (
Product fp)
divides k by
A1,
Th38;
then (y,x)
are_congruent_mod (
Product fp);
hence thesis by
INT_1: 14;
end;
end;
reserve i,m,m1,m2,m3,r,s,a,b,c,c1,c2,x,y for
Integer;
Lm10: (x
divides y implies (y
mod x)
=
0 ) & (x
<>
0 & (y
mod x)
=
0 implies x
divides y)
proof
A1: x
divides y implies (y
mod x)
=
0
proof
assume x
divides y;
then
consider i such that
A2: y
= (x
* i);
(y
mod x)
= (((x
* i)
+
0 )
mod x) by
A2
.= (
0
mod x) by
EULER_1: 12
.=
0 by
Th12;
hence thesis;
end;
x
<>
0 & (y
mod x)
=
0 implies x
divides y
proof
assume that
A3: x
<>
0 and
A4: (y
mod x)
=
0 ;
y
= (((y
div x)
* x)
+ (y
mod x)) by
A3,
INT_1: 59
.= ((y
div x)
* x) by
A4;
hence thesis;
end;
hence thesis by
A1;
end;
Lm11: x
divides y implies y
= ((y
div x)
* x)
proof
assume
A1: x
divides y;
then
A2: (y
mod x)
=
0 by
Lm10;
per cases ;
suppose x
=
0 ;
hence thesis by
A1;
end;
suppose x
<>
0 ;
hence y
= (((y
div x)
* x)
+ (y
mod x)) by
INT_1: 59
.= ((y
div x)
* x) by
A2;
end;
end;
Lm12: (x
<>
0 or y
<>
0 ) implies ((x
div (x
gcd y)),(y
div (x
gcd y)))
are_coprime
proof
assume
A1: x
<>
0 or y
<>
0 ;
then
A2: (x
gcd y)
<>
0 by
INT_2: 5;
A3: y
= ((y
div (x
gcd y))
* (x
gcd y)) by
Lm11,
INT_2: 21;
consider a,b be
Integer such that
A4: x
= ((x
gcd y)
* a) and
A5: y
= ((x
gcd y)
* b) & (a,b)
are_coprime by
A1,
INT_2: 23;
x
= ((x
div (x
gcd y))
* (x
gcd y)) by
Lm11,
INT_2: 21;
then a
= (x
div (x
gcd y)) by
A2,
A4,
XCMPLX_1: 5;
hence thesis by
A2,
A3,
A5,
XCMPLX_1: 5;
end;
Lm13: x
divides i & y
divides i & (x,y)
are_coprime implies (x
* y)
divides i
proof
assume that
A1: x
divides i and
A2: y
divides i & (x,y)
are_coprime ;
consider m such that
A3: i
= (x
* m) by
A1;
y
divides m by
A2,
A3,
INT_2: 25;
then
consider r such that
A4: m
= (y
* r);
i
= ((x
* y)
* r) by
A3,
A4;
hence thesis;
end;
theorem ::
INT_4:40
Th40: m1
<>
0 & m2
<>
0 & (m1,m2)
are_coprime implies ex r be
Integer st (for x st ((x
- c1)
mod m1)
=
0 & ((x
- c2)
mod m2)
=
0 holds (x,(c1
+ (m1
* r)))
are_congruent_mod (m1
* m2)) & (((m1
* r)
- (c2
- c1))
mod m2)
=
0
proof
assume that
A1: m1
<>
0 and
A2: m2
<>
0 and
A3: (m1,m2)
are_coprime ;
consider r be
Integer such that
A4: (((m1
* r)
- (c2
- c1))
mod m2)
=
0 by
A3,
Th15;
take r;
for x st ((x
- c1)
mod m1)
=
0 & ((x
- c2)
mod m2)
=
0 holds (x,(c1
+ (m1
* r)))
are_congruent_mod (m1
* m2)
proof
let x;
assume that
A5: ((x
- c1)
mod m1)
=
0 and
A6: ((x
- c2)
mod m2)
=
0 ;
set y = ((x
- c1)
div m1);
A7: (x
- c1)
= ((((x
- c1)
div m1)
* m1)
+ ((x
- c1)
mod m1)) by
A1,
INT_1: 59
.= (((x
- c1)
div m1)
* m1) by
A5;
then ((x
- c2)
mod m2)
= (((m1
* y)
- (c2
- c1))
mod m2);
then y
in (
Class ((
Cong m2),r)) by
A2,
A3,
A4,
A6,
Th26;
then
[r, y]
in (
Cong m2) by
EQREL_1: 18;
then (r,y)
are_congruent_mod m2 by
Def1;
then (y,r)
are_congruent_mod m2 by
INT_1: 14;
then m2
divides (y
- r);
then
consider t be
Integer such that
A8: (y
- r)
= (m2
* t);
x
= (c1
+ (y
* m1)) by
A7
.= (c1
+ ((r
+ (m2
* t))
* m1)) by
A8
.= ((c1
+ (r
* m1))
+ ((m1
* m2)
* t));
then (m1
* m2)
divides (x
- (c1
+ (r
* m1)));
hence thesis;
end;
hence thesis by
A4;
end;
theorem ::
INT_4:41
Th41: m1
<>
0 & m2
<>
0 & not (m1
gcd m2)
divides (c1
- c2) implies not ex x st ((x
- c1)
mod m1)
=
0 & ((x
- c2)
mod m2)
=
0
proof
assume that
A1: m1
<>
0 and
A2: m2
<>
0 and
A3: not (m1
gcd m2)
divides (c1
- c2);
A4: (m1
gcd m2)
divides m2 by
INT_2: 21;
given x such that
A5: ((x
- c1)
mod m1)
=
0 and
A6: ((x
- c2)
mod m2)
=
0 ;
m2
divides (x
- c2) by
A2,
A6,
Lm10;
then
A7: (m1
gcd m2)
divides (x
- c2) by
A4,
INT_2: 9;
A8: (m1
gcd m2)
divides m1 by
INT_2: 21;
m1
divides (x
- c1) by
A1,
A5,
Lm10;
then (m1
gcd m2)
divides (x
- c1) by
A8,
INT_2: 9;
then (m1
gcd m2)
divides ((x
- c2)
- (x
- c1)) by
A7,
Lm4;
hence contradiction by
A3;
end;
theorem ::
INT_4:42
Th42: m1
<>
0 & m2
<>
0 & (m1
gcd m2)
divides (c2
- c1) implies ex r st (for x st ((x
- c1)
mod m1)
=
0 & ((x
- c2)
mod m2)
=
0 holds (x,(c1
+ (m1
* r)))
are_congruent_mod (m1
lcm m2)) & ((((m1
div (m1
gcd m2))
* r)
- ((c2
- c1)
div (m1
gcd m2)))
mod (m2
div (m1
gcd m2)))
=
0
proof
assume that
A1: m1
<>
0 and
A2: m2
<>
0 and
A3: (m1
gcd m2)
divides (c2
- c1);
set d = (m1
gcd m2);
set d1 = (m1
div d);
set d2 = (m2
div d);
set d3 = ((c2
- c1)
div d);
A4: (d1,d2)
are_coprime by
A1,
Lm12;
then
consider r such that
A5: (((d1
* r)
- d3)
mod d2)
=
0 by
Th15;
take r;
A6: m1
= ((m1
div (m1
gcd m2))
* (m1
gcd m2)) by
Lm11,
INT_2: 21;
A7: m2
= ((m2
div (m1
gcd m2))
* (m1
gcd m2)) by
Lm11,
INT_2: 21;
A8: d
<>
0 by
A1,
INT_2: 5;
for x st ((x
- c1)
mod m1)
=
0 & ((x
- c2)
mod m2)
=
0 holds (x,(c1
+ (m1
* r)))
are_congruent_mod (m1
lcm m2)
proof
let x;
assume that
A9: ((x
- c1)
mod m1)
=
0 and
A10: ((x
- c2)
mod m2)
=
0 ;
set y = ((x
- c1)
div m1);
A11: (x
- c1)
= ((((x
- c1)
div m1)
* m1)
+ ((x
- c1)
mod m1)) by
A1,
INT_1: 59
.= (((x
- c1)
div m1)
* m1) by
A9;
then (x
- ((m1
* r)
+ c1))
= (m1
* (((x
- c1)
div m1)
- r));
then
A12: m1
divides (x
- ((m1
* r)
+ c1));
((x
- c2)
mod m2)
= (((m1
* y)
- (c2
- c1))
mod m2) by
A11
.= ((((d
* d1)
* y)
- (d
* d3))
mod (d
* d2)) by
A3,
A6,
A7,
Lm11;
then (d2
* d)
divides (((d1
* y)
- d3)
* d) by
A2,
A7,
A10,
Lm10;
then d2
divides ((d1
* y)
- d3) by
A8,
Th7;
then
A13: (((d1
* y)
- d3)
mod d2)
=
0 by
Lm10;
d2
<>
0 by
A2,
A7;
then r
in (
Class ((
Cong d2),y)) by
A4,
A5,
A13,
Th26;
then
[y, r]
in (
Cong d2) by
EQREL_1: 18;
then (y,r)
are_congruent_mod d2 by
Def1;
then d2
divides (y
- r);
then
consider w be
Integer such that
A14: (y
- r)
= (d2
* w);
x
= (c1
+ (y
* m1)) by
A11
.= (c1
+ (((d2
* w)
+ r)
* m1)) by
A14
.= (((m1
* r)
+ c1)
+ ((w
* d1)
* m2)) by
A6,
A7;
then m2
divides (x
- ((m1
* r)
+ c1));
then (m1
lcm m2)
divides (x
- ((m1
* r)
+ c1)) by
A12,
INT_2: 19;
hence thesis;
end;
hence thesis by
A5;
end;
theorem ::
INT_4:43
m1
<>
0 & m2
<>
0 & (a
gcd m1)
divides c1 & (b
gcd m2)
divides c2 & (m1,m2)
are_coprime implies ex w,r,s be
Integer st (for x st (((a
* x)
- c1)
mod m1)
=
0 & (((b
* x)
- c2)
mod m2)
=
0 holds (x,(r
+ ((m1
div (a
gcd m1))
* w)))
are_congruent_mod ((m1
div (a
gcd m1))
* (m2
div (b
gcd m2)))) & ((((a
div (a
gcd m1))
* r)
- (c1
div (a
gcd m1)))
mod (m1
div (a
gcd m1)))
=
0 & ((((b
div (b
gcd m2))
* s)
- (c2
div (b
gcd m2)))
mod (m2
div (b
gcd m2)))
=
0 & ((((m1
div (a
gcd m1))
* w)
- (s
- r))
mod (m2
div (b
gcd m2)))
=
0
proof
assume that
A1: m1
<>
0 and
A2: m2
<>
0 and
A3: (a
gcd m1)
divides c1 and
A4: (b
gcd m2)
divides c2 and
A5: (m1,m2)
are_coprime ;
set d2 = (b
gcd m2);
A6: d2
<>
0 by
A2,
INT_2: 5;
set d1 = (a
gcd m1);
A7: d1
<>
0 by
A1,
INT_2: 5;
A8: ((a
div d1),(m1
div d1))
are_coprime by
A1,
Lm12;
then
consider r such that
A9: ((((a
div d1)
* r)
- (c1
div d1))
mod (m1
div d1))
=
0 by
Th15;
A10: c2
= ((c2
div d2)
* d2) by
A4,
Lm11;
A11: b
= ((b
div d2)
* d2) by
Lm11,
INT_2: 21;
A12: m2
= ((m2
div d2)
* d2) by
Lm11,
INT_2: 21;
then
A13: (m2
div d2)
divides m2;
A14: (m2
div d2)
<>
0 by
A2,
A12;
A15: c1
= ((c1
div d1)
* d1) by
A3,
Lm11;
A16: a
= ((a
div d1)
* d1) by
Lm11,
INT_2: 21;
A17: ((b
div d2),(m2
div d2))
are_coprime by
A2,
Lm12;
then
consider s be
Integer such that
A18: ((((b
div d2)
* s)
- (c2
div d2))
mod (m2
div d2))
=
0 by
Th15;
A19: m1
= ((m1
div d1)
* d1) by
Lm11,
INT_2: 21;
then
A20: (m1
div d1)
divides m1;
A21: ((m1
div d1),(m2
div d2))
are_coprime
proof
reconsider e = ((m1
div d1)
gcd (m2
div d2)) as
Element of
NAT by
ORDINAL1:def 12;
assume not ((m1
div d1),(m2
div d2))
are_coprime ;
then
A22: ((m1
div d1)
gcd (m2
div d2))
<> 1 by
INT_2:def 3;
e
divides (m2
div d2) by
INT_2: 21;
then
A23: e
divides m2 by
A13,
INT_2: 9;
e
divides (m1
div d1) by
INT_2: 21;
then e
divides m1 by
A20,
INT_2: 9;
then e
divides (m1
gcd m2) by
A23,
INT_2: 22;
then e
divides 1 by
A5,
INT_2:def 3;
hence contradiction by
A22,
WSIERP_1: 15;
end;
then
consider w be
Integer such that
A24: ((((m1
div d1)
* w)
- (s
- r))
mod (m2
div d2))
=
0 by
Th15;
take w, r, s;
A25: (m1
div d1)
<>
0 by
A1,
A19;
for x st (((a
* x)
- c1)
mod m1)
=
0 & (((b
* x)
- c2)
mod m2)
=
0 holds (x,(r
+ ((m1
div (a
gcd m1))
* w)))
are_congruent_mod ((m1
div (a
gcd m1))
* (m2
div (b
gcd m2)))
proof
let x;
assume that
A26: (((a
* x)
- c1)
mod m1)
=
0 and
A27: (((b
* x)
- c2)
mod m2)
=
0 ;
((m1
div d1)
* d1)
divides ((((a
div d1)
* x)
- (c1
div d1))
* d1) by
A1,
A19,
A15,
A16,
A26,
Lm10;
then (m1
div d1)
divides (((a
div d1)
* x)
- (c1
div d1)) by
A7,
Th7;
then ((((a
div d1)
* x)
- (c1
div d1))
mod (m1
div d1))
=
0 by
Lm10;
then r
in (
Class ((
Cong (m1
div d1)),x)) by
A8,
A9,
A25,
Th26;
then
[x, r]
in (
Cong (m1
div d1)) by
EQREL_1: 18;
then (x,r)
are_congruent_mod (m1
div d1) by
Def1;
then
A28: (m1
div d1)
divides (x
- r);
((m2
div d2)
* d2)
divides ((((b
div d2)
* x)
- (c2
div d2))
* d2) by
A2,
A12,
A10,
A11,
A27,
Lm10;
then (m2
div d2)
divides (((b
div d2)
* x)
- (c2
div d2)) by
A6,
Th7;
then ((((b
div d2)
* x)
- (c2
div d2))
mod (m2
div d2))
=
0 by
Lm10;
then s
in (
Class ((
Cong (m2
div d2)),x)) by
A17,
A18,
A14,
Th26;
then
[x, s]
in (
Cong (m2
div d2)) by
EQREL_1: 18;
then (x,s)
are_congruent_mod (m2
div d2) by
Def1;
then
A29: (m2
div d2)
divides (x
- s);
(m2
div d2)
divides (((m1
div d1)
* w)
- (s
- r)) by
A14,
A24,
Lm10;
then
A30: (m2
div d2)
divides ((x
- s)
- ((((m1
div d1)
* w)
+ r)
- s)) by
A29,
Lm4;
(m1
div d1)
divides ((m1
div d1)
* w);
then (m1
div d1)
divides ((x
- r)
- ((m1
div d1)
* w)) by
A28,
Lm4;
then ((m1
div d1)
* (m2
div d2))
divides (x
- (r
+ ((m1
div d1)
* w))) by
A21,
A30,
Lm13;
hence thesis;
end;
hence thesis by
A9,
A18,
A24;
end;
theorem ::
INT_4:44
m1
<>
0 & m2
<>
0 & m3
<>
0 & (m1,m2)
are_coprime & (m1,m3)
are_coprime & (m2,m3)
are_coprime implies ex r, s st for x st ((x
- a)
mod m1)
=
0 & ((x
- b)
mod m2)
=
0 & ((x
- c)
mod m3)
=
0 holds (x,((a
+ (m1
* r))
+ ((m1
* m2)
* s)))
are_congruent_mod ((m1
* m2)
* m3) & (((m1
* r)
- (b
- a))
mod m2)
=
0 & ((((m1
* m2)
* s)
- ((c
- a)
- (m1
* r)))
mod m3)
=
0
proof
assume that
A1: m1
<>
0 & m2
<>
0 and
A2: m3
<>
0 and
A3: (m1,m2)
are_coprime and
A4: (m1,m3)
are_coprime & (m2,m3)
are_coprime ;
consider r such that
A5: for x st ((x
- a)
mod m1)
=
0 & ((x
- b)
mod m2)
=
0 holds (x,(a
+ (m1
* r)))
are_congruent_mod (m1
* m2) and
A6: (((m1
* r)
- (b
- a))
mod m2)
=
0 by
A1,
A3,
Th40;
(m1
* m2)
<>
0 by
A1,
XCMPLX_1: 6;
then
consider s such that
A7: (for x st ((x
- (a
+ (m1
* r)))
mod (m1
* m2))
=
0 & ((x
- c)
mod m3)
=
0 holds (x,((a
+ (m1
* r))
+ ((m1
* m2)
* s)))
are_congruent_mod ((m1
* m2)
* m3)) & ((((m1
* m2)
* s)
- (c
- (a
+ (m1
* r))))
mod m3)
=
0 by
A2,
A4,
Th40,
INT_2: 26;
take r, s;
for x st ((x
- a)
mod m1)
=
0 & ((x
- b)
mod m2)
=
0 & ((x
- c)
mod m3)
=
0 holds (x,((a
+ (m1
* r))
+ ((m1
* m2)
* s)))
are_congruent_mod ((m1
* m2)
* m3) & (((m1
* r)
- (b
- a))
mod m2)
=
0 & ((((m1
* m2)
* s)
- ((c
- a)
- (m1
* r)))
mod m3)
=
0
proof
let x;
assume that
A8: ((x
- a)
mod m1)
=
0 & ((x
- b)
mod m2)
=
0 and
A9: ((x
- c)
mod m3)
=
0 ;
(x,(a
+ (m1
* r)))
are_congruent_mod (m1
* m2) by
A5,
A8;
then (m1
* m2)
divides (x
- (a
+ (m1
* r)));
then ((x
- (a
+ (m1
* r)))
mod (m1
* m2))
=
0 by
Lm10;
hence thesis by
A6,
A7,
A9;
end;
hence thesis;
end;
theorem ::
INT_4:45
m1
<>
0 & m2
<>
0 & m3
<>
0 & ( not (m1
gcd m2)
divides (a
- b) or not (m1
gcd m3)
divides (a
- c) or not (m2
gcd m3)
divides (b
- c)) implies not ex x st ((x
- a)
mod m1)
=
0 & ((x
- b)
mod m2)
=
0 & ((x
- c)
mod m3)
=
0 by
Th41;
theorem ::
INT_4:46
Th46: for n1,n2,n3 be non
zero
Nat holds ((n1
gcd n3)
lcm (n2
gcd n3))
= ((n1
lcm n2)
gcd n3)
proof
let n1,n2,n3 be non
zero
Nat;
set d1 = (n1
gcd n3);
set d2 = (n2
gcd n3);
set M = (n1
lcm n2);
reconsider d = (M
gcd n3) as non
zero
Nat by
INT_2: 5;
reconsider M as non
zero
Nat by
INT_2: 4;
d1
divides n3 & d2
divides n3 by
NAT_D:def 5;
then
A1: (d1
lcm d2)
divides n3 by
NAT_D:def 4;
d2
divides n2 & n2
divides M by
NAT_D:def 4,
NAT_D:def 5;
then
A2: d2
divides M by
NAT_D: 4;
A3: for p be
Nat st p
in (
support (
pfexp d)) holds ((
ppf d)
. p)
divides n1 or ((
ppf d)
. p)
divides n2
proof
let p be
Nat;
assume that
A4: p
in (
support (
pfexp d)) and
A5: not ((
ppf d)
. p)
divides n1 and
A6: not ((
ppf d)
. p)
divides n2;
A7: not (p
|^ (p
|-count d))
divides n2 by
A4,
A6,
NAT_3:def 9;
A8: p is
Prime by
A4,
NAT_3: 34;
A9: not (p
|^ (p
|-count d))
divides n1 by
A4,
A5,
NAT_3:def 9;
A10: (p
|-count d)
> (p
|-count M)
proof
A11: (p
|-count M)
= ((
pfexp M)
. p) by
A8,
NAT_3:def 8
.= ((
max ((
pfexp n1),(
pfexp n2)))
. p) by
NAT_3: 54;
per cases ;
suppose ((
pfexp n1)
. p)
<= ((
pfexp n2)
. p);
then (p
|-count M)
= ((
pfexp n2)
. p) by
A11,
NAT_3:def 4
.= (p
|-count n2) by
A8,
NAT_3:def 8;
hence thesis by
A7,
A8,
MOEBIUS1: 9;
end;
suppose ((
pfexp n1)
. p)
> ((
pfexp n2)
. p);
then (p
|-count M)
= ((
pfexp n1)
. p) by
A11,
NAT_3:def 4
.= (p
|-count n1) by
A8,
NAT_3:def 8;
hence thesis by
A9,
A8,
MOEBIUS1: 9;
end;
end;
d
divides M by
NAT_D:def 5;
hence contradiction by
A8,
A10,
NAT_3: 30;
end;
A12: for p be
Nat st p
in (
support (
pfexp d)) holds ((
ppf d)
. p)
divides (d1
lcm d2)
proof
A13: d2
divides (d1
lcm d2) by
NAT_D:def 4;
let p be
Nat;
A14: d1
divides (d1
lcm d2) by
NAT_D:def 4;
assume
A15: p
in (
support (
pfexp d));
then
A16: p is
Prime by
NAT_3: 34;
d
divides n3 by
NAT_D:def 5;
then (p
|-count d)
<= (p
|-count n3) by
A16,
NAT_3: 30;
then (p
|^ (p
|-count d))
divides (p
|^ (p
|-count n3)) by
NEWTON: 89;
then
A17: ((
ppf d)
. p)
divides (p
|^ (p
|-count n3)) by
A15,
NAT_3:def 9;
p
<> 1 by
A16,
INT_2:def 4;
then (p
|^ (p
|-count n3))
divides n3 by
NAT_3:def 7;
then
A18: ((
ppf d)
. p)
divides n3 by
A17,
NAT_D: 4;
per cases by
A3,
A15;
suppose ((
ppf d)
. p)
divides n1;
then ((
ppf d)
. p)
divides d1 by
A18,
NAT_D:def 5;
hence thesis by
A14,
NAT_D: 4;
end;
suppose ((
ppf d)
. p)
divides n2;
then ((
ppf d)
. p)
divides d2 by
A18,
NAT_D:def 5;
hence thesis by
A13,
NAT_D: 4;
end;
end;
(
Product (
ppf d))
divides (d1
lcm d2)
proof
set g = (
ppf d);
set K = (
canFS (
support g));
consider f be
FinSequence of
COMPLEX such that
A19: (
Product g)
= (
Product f) and
A20: f
= (g
* K) by
NAT_3:def 5;
(
rng f)
c=
NAT by
A20,
VALUED_0:def 6;
then
reconsider f as
FinSequence of
NAT by
FINSEQ_1:def 4;
A21: (
rng K)
= (
support g) by
FUNCT_2:def 3;
then (
rng K)
c=
NAT by
XBOOLE_1: 1;
then
reconsider K as
FinSequence of
NAT by
FINSEQ_1:def 4;
A22: for m,n be
Element of
NAT st m
in (
dom f) & n
in (
dom f) & m
<> n holds ((f
. m)
gcd (f
. n))
= 1
proof
let m,n be
Element of
NAT ;
assume that
A23: m
in (
dom f) and
A24: n
in (
dom f) and
A25: m
<> n;
A26: m
in (
dom K) by
A20,
A23,
FUNCT_1: 11;
then (K
. m)
in (
support g) by
A21,
FUNCT_1: 3;
then
A27: (K
. m)
in (
support (
pfexp d)) by
NAT_3:def 9;
then
A28: (K
. m) is
prime by
NAT_3: 34;
A29: n
in (
dom K) by
A20,
A24,
FUNCT_1: 11;
then (K
. n)
in (
support g) by
A21,
FUNCT_1: 3;
then
A30: (K
. n)
in (
support (
pfexp d)) by
NAT_3:def 9;
then
A31: (K
. n) is
prime by
NAT_3: 34;
(f
. n)
= (g
. (K
. n)) by
A20,
A24,
FUNCT_1: 12;
then
A32: (f
. n)
= ((K
. n)
|^ ((K
. n)
|-count d)) by
A30,
NAT_3:def 9;
(f
. m)
= (g
. (K
. m)) by
A20,
A23,
FUNCT_1: 12;
then
A33: (f
. m)
= ((K
. m)
|^ ((K
. m)
|-count d)) by
A27,
NAT_3:def 9;
(K
. m)
<> (K
. n) by
A25,
A26,
A29,
FUNCT_1:def 4;
then
A34: ((K
. n),((K
. m)
|^ ((K
. m)
|-count d)))
are_coprime by
A28,
A31,
EULER_2: 17,
INT_2: 30;
A35: (K
. n)
>
0 by
A30,
NAT_3: 34;
(K
. m)
>
0 by
A27,
NAT_3: 34;
then (((K
. n)
|^ ((K
. n)
|-count d)),((K
. m)
|^ ((K
. m)
|-count d)))
are_coprime by
A35,
A34,
EULER_2: 17;
hence thesis by
A33,
A32,
INT_2:def 3;
end;
for m be
Element of
NAT st m
in (
dom f) holds (f
. m)
divides (d1
lcm d2)
proof
let m be
Element of
NAT ;
assume
A36: m
in (
dom f);
then m
in (
dom K) by
A20,
FUNCT_1: 11;
then (K
. m)
in (
support g) by
A21,
FUNCT_1: 3;
then (K
. m)
in (
support (
pfexp d)) by
NAT_3:def 9;
then (g
. (K
. m))
divides (d1
lcm d2) by
A12;
hence thesis by
A20,
A36,
FUNCT_1: 12;
end;
hence thesis by
A19,
A22,
Th38;
end;
then
A37: d
divides (d1
lcm d2) by
NAT_3: 61;
d1
divides n1 & n1
divides M by
NAT_D:def 4,
NAT_D:def 5;
then d1
divides M by
NAT_D: 4;
then (d1
lcm d2)
divides M by
A2,
NAT_D:def 4;
then (d1
lcm d2)
divides d by
A1,
NAT_D:def 5;
hence thesis by
A37,
NAT_D: 5;
end;
theorem ::
INT_4:47
for n1,n2,n3 be non
zero
Nat st (n1
gcd n2)
divides (a
- b) holds ex r, s st for x st ((x
- a)
mod n1)
=
0 & ((x
- b)
mod n2)
=
0 & ((x
- c)
mod n3)
=
0 holds (x,((a
+ (n1
* r))
+ ((n1
lcm n2)
* s)))
are_congruent_mod ((n1
lcm n2)
lcm n3) & ((((n1
div (n1
gcd n2))
* r)
- ((b
- a)
div (n1
gcd n2)))
mod (n2
div (n1
gcd n2)))
=
0 & (((((n1
lcm n2)
div ((n1
lcm n2)
gcd n3))
* s)
- ((c
- (a
+ (n1
* r)))
div ((n1
lcm n2)
gcd n3)))
mod (n3
div ((n1
lcm n2)
gcd n3)))
=
0
proof
let n1,n2,n3 be non
zero
Nat;
set d1 = (n1
gcd n2);
set d2 = (n1
gcd n3);
set d3 = (n2
gcd n3);
set dd1 = (n1
gcd n2);
set K = (n1
lcm n2);
A1: n2
divides (n1
lcm n2) by
NAT_D:def 4;
assume (n1
gcd n2)
divides (a
- b);
then d1
divides (
- (a
- b)) by
INT_2: 10;
then
consider r such that
A2: for x st ((x
- a)
mod n1)
=
0 & ((x
- b)
mod n2)
=
0 holds (x,(a
+ (n1
* r)))
are_congruent_mod K and
A3: ((((n1
div dd1)
* r)
- ((b
- a)
div dd1))
mod (n2
div dd1))
=
0 by
Th42;
take r;
set y = (a
+ (n1
* r));
A4: ((K
div (K
gcd n3)),(n3
div (K
gcd n3)))
are_coprime by
Lm12;
then
consider s such that
A5: ((((K
div (K
gcd n3))
* s)
- ((c
- y)
div (K
gcd n3)))
mod (n3
div (K
gcd n3)))
=
0 by
Th15;
take s;
A6: n1
divides (n1
lcm n2) by
NAT_D:def 4;
A7: for x st ((x
- a)
mod n1)
=
0 & ((x
- b)
mod n2)
=
0 & ((x
- c)
mod n3)
=
0 holds ((n1
lcm n2)
gcd n3)
divides (y
- c)
proof
let x;
assume that
A8: ((x
- a)
mod n1)
=
0 & ((x
- b)
mod n2)
=
0 and
A9: ((x
- c)
mod n3)
=
0 ;
A10: n3
divides (x
- c) by
A9,
Lm10;
(x,y)
are_congruent_mod K by
A2,
A8;
then K
divides (x
- y);
then
A11: K
divides (
- (x
- y)) by
INT_2: 10;
then n1
divides (y
- x) by
A6,
INT_2: 9;
then
consider t1 be
Integer such that
A12: (y
- x)
= (n1
* t1);
d3
divides n3 by
NAT_D:def 5;
then
A13: d3
divides (x
- c) by
A10,
INT_2: 9;
d2
divides n3 by
NAT_D:def 5;
then
A14: d2
divides (x
- c) by
A10,
INT_2: 9;
n2
divides (y
- x) by
A1,
A11,
INT_2: 9;
then
consider t2 be
Integer such that
A15: (y
- x)
= (n2
* t2);
d3
divides n2 by
NAT_D:def 5;
then
A16: d3
divides (n2
* t2) by
INT_2: 2;
(y
- c)
= ((x
- c)
+ (n2
* t2)) by
A15;
then
A17: d3
divides (y
- c) by
A16,
A13,
WSIERP_1: 4;
d2
divides n1 by
NAT_D:def 5;
then
A18: d2
divides (n1
* t1) by
INT_2: 2;
(y
- c)
= ((x
- c)
+ (n1
* t1)) by
A12;
then d2
divides (y
- c) by
A18,
A14,
WSIERP_1: 4;
then (d2
lcm d3)
divides (y
- c) by
A17,
INT_2: 19;
hence thesis by
Th46;
end;
for x st ((x
- a)
mod n1)
=
0 & ((x
- b)
mod n2)
=
0 & ((x
- c)
mod n3)
=
0 holds (x,(y
+ ((n1
lcm n2)
* s)))
are_congruent_mod ((n1
lcm n2)
lcm n3)
proof
A19: K
<>
0 by
INT_2: 4;
let x;
assume that
A20: ((x
- a)
mod n1)
=
0 & ((x
- b)
mod n2)
=
0 and
A21: ((x
- c)
mod n3)
=
0 ;
((n1
lcm n2)
gcd n3)
divides (y
- c) by
A7,
A20,
A21;
then (K
gcd n3)
divides (
- (y
- c)) by
INT_2: 10;
then
consider w be
Integer such that
A22: for x st ((x
- y)
mod K)
=
0 & ((x
- c)
mod n3)
=
0 holds (x,(y
+ (K
* w)))
are_congruent_mod (K
lcm n3) and
A23: ((((K
div (K
gcd n3))
* w)
- ((c
- y)
div (K
gcd n3)))
mod (n3
div (K
gcd n3)))
=
0 by
A19,
Th42;
A24: n3
= ((n3
div (K
gcd n3))
* (K
gcd n3)) by
Lm11,
INT_2: 21;
then (n3
div (K
gcd n3))
<>
0 ;
then w
in (
Class ((
Cong (n3
div (K
gcd n3))),s)) by
A4,
A5,
A23,
Th26;
then
[s, w]
in (
Cong (n3
div (K
gcd n3))) by
EQREL_1: 18;
then (s,w)
are_congruent_mod (n3
div (K
gcd n3)) by
Def1;
then
A25: ((K
* s),(K
* w))
are_congruent_mod (K
* (n3
div (K
gcd n3))) by
Th10;
(K
* (n3
div (K
gcd n3)))
= (((K
div (K
gcd n3))
* (K
gcd n3))
* (n3
div (K
gcd n3))) by
Lm11,
INT_2: 21
.= (n3
* (K
div (K
gcd n3))) by
A24;
then ((K
* s),(K
* w))
are_congruent_mod n3 by
A25,
INT_1: 20;
then
A26: n3
divides ((K
* s)
- (K
* w));
K
divides (K
* (s
- w));
then (K
lcm n3)
divides (((K
* s)
+ y)
- ((K
* w)
+ y)) by
A26,
INT_2: 19;
then (((K
* s)
+ y),((K
* w)
+ y))
are_congruent_mod (K
lcm n3);
then
A27: (((K
* w)
+ y),((K
* s)
+ y))
are_congruent_mod (K
lcm n3) by
INT_1: 14;
(x,y)
are_congruent_mod K by
A2,
A20;
then K
divides (x
- y);
then ((x
- y)
mod K)
=
0 by
Lm10;
then (x,((K
* w)
+ y))
are_congruent_mod (K
lcm n3) by
A21,
A22;
hence thesis by
A27,
INT_1: 15;
end;
hence thesis by
A3,
A5;
end;
begin
reserve a,b,c,m for
Element of
NAT ;
definition
let m be
Nat, X be
set;
::
INT_4:def2
pred X
is_CRS_of m means ex fp be
FinSequence of
INT st X
= (
rng fp) & (
len fp)
= m & for b be
Nat st b
in (
dom fp) holds (fp
. b)
in (
Class ((
Cong m),(b
-' 1)));
end
theorem ::
INT_4:48
{ a where a be
Nat : a
< m }
is_CRS_of m
proof
deffunc
F(
Nat) = ($1
-' 1);
consider fp be
FinSequence such that
A1: (
len fp)
= m & for a be
Nat st a
in (
dom fp) holds (fp
. a)
=
F(a) from
FINSEQ_1:sch 2;
for a be
Nat st a
in (
dom fp) holds (fp
. a)
in
INT
proof
let a be
Nat;
assume a
in (
dom fp);
then (fp
. a)
=
F(a) by
A1;
hence thesis by
INT_1:def 2;
end;
then
reconsider fp as
FinSequence of
INT by
FINSEQ_2: 12;
A2: { a where a be
Nat : a
< m }
= (
rng fp)
proof
set A = { a where a be
Nat : a
< m };
A3: (
rng fp)
c= A
proof
let b be
object;
assume b
in (
rng fp);
then
consider k be
object such that
A4: k
in (
dom fp) and
A5: b
= (fp
. k) by
FUNCT_1:def 3;
reconsider k as
Element of
NAT by
A4;
A6: k
in (
Seg m) by
A1,
A4,
FINSEQ_1:def 3;
then k
<= m by
FINSEQ_1: 1;
then
A7: (k
- 1)
< m by
XREAL_1: 147;
k
>= 1 by
A6,
FINSEQ_1: 1;
then
A8: (k
-' 1)
< m by
A7,
XREAL_1: 233;
reconsider b as
Integer by
A5;
b
= (k
-' 1) by
A1,
A4,
A5;
hence thesis by
A8;
end;
A
c= (
rng fp)
proof
let b be
object;
assume b
in A;
then
consider k be
Nat such that
A9: k
= b and
A10: k
< m;
(k
+ 1)
>= 1 & (k
+ 1)
<= m by
A10,
NAT_1: 11,
NAT_1: 13;
then
A11: (k
+ 1)
in (
dom fp) by
A1,
FINSEQ_3: 25;
then (fp
. (k
+ 1))
= ((k
+ 1)
-' 1) by
A1
.= k by
NAT_D: 34;
hence thesis by
A9,
A11,
FUNCT_1:def 3;
end;
hence thesis by
A3;
end;
for a be
Nat st a
in (
dom fp) holds (fp
. a)
in (
Class ((
Cong m),(a
-' 1)))
proof
let a be
Nat;
((a
-' 1),(a
-' 1))
are_congruent_mod m by
INT_1: 11;
then
A12:
[(a
-' 1), (a
-' 1)]
in (
Cong m) by
Def1;
assume a
in (
dom fp);
then (fp
. a)
= (a
-' 1) by
A1;
hence thesis by
A12,
EQREL_1: 18;
end;
hence thesis by
A1,
A2;
end;
theorem ::
INT_4:49
Th49: for X be
finite
set st X
is_CRS_of m holds (
card X)
= m & for x,y be
Integer st x
in X & y
in X & x
<> y holds not
[x, y]
in (
Cong m)
proof
let X be
finite
set;
assume X
is_CRS_of m;
then
consider fp be
FinSequence of
INT such that
A1: X
= (
rng fp) and
A2: (
len fp)
= m and
A3: for b be
Nat st b
in (
dom fp) holds (fp
. b)
in (
Class ((
Cong m),(b
-' 1)));
A4: for x,y be
Integer st x
in X & y
in X & x
<> y holds not
[x, y]
in (
Cong m)
proof
let x,y be
Integer;
assume that
A5: x
in X and
A6: y
in X and
A7: x
<> y;
consider a be
object such that
A8: a
in (
dom fp) and
A9: x
= (fp
. a) by
A1,
A5,
FUNCT_1:def 3;
reconsider a as
Element of
NAT by
A8;
x
in (
Class ((
Cong m),(a
-' 1))) by
A3,
A8,
A9;
then
[(a
-' 1), x]
in (
Cong m) by
EQREL_1: 18;
then
A10: ((a
-' 1),x)
are_congruent_mod m by
Def1;
consider b be
object such that
A11: b
in (
dom fp) and
A12: y
= (fp
. b) by
A1,
A6,
FUNCT_1:def 3;
reconsider b as
Element of
NAT by
A11;
A13: b
in (
Seg m) by
A2,
A11,
FINSEQ_1:def 3;
then
A14: b
>= 1 by
FINSEQ_1: 1;
y
in (
Class ((
Cong m),(b
-' 1))) by
A3,
A11,
A12;
then
[(b
-' 1), y]
in (
Cong m) by
EQREL_1: 18;
then ((b
-' 1),y)
are_congruent_mod m by
Def1;
then
A15: (y,(b
-' 1))
are_congruent_mod m by
INT_1: 14;
assume
[x, y]
in (
Cong m);
then (x,y)
are_congruent_mod m by
Def1;
then (x,(b
-' 1))
are_congruent_mod m by
A15,
INT_1: 15;
then ((a
-' 1),(b
-' 1))
are_congruent_mod m by
A10,
INT_1: 15;
then
A16: m
divides ((a
-' 1)
- (b
-' 1));
A17: a
in (
Seg m) by
A2,
A8,
FINSEQ_1:def 3;
then
A18: a
>= 1 by
FINSEQ_1: 1;
b
<= m by
A13,
FINSEQ_1: 1;
then (a
- b)
>= (1
- m) by
A18,
XREAL_1: 13;
then
A19: (a
- b)
> (
- m) by
XREAL_1: 145;
a
<= m by
A17,
FINSEQ_1: 1;
then (a
- b)
<= (m
- 1) by
A14,
XREAL_1: 13;
then (a
- b)
< m by
XREAL_1: 147;
then
|.(a
- b).|
< m by
A19,
SEQ_2: 1;
then
A20:
|.(a
- b).|
<
|.m.| by
ABSVALUE:def 1;
A21: ((a
-' 1)
- (b
-' 1))
= ((a
- 1)
- (b
-' 1)) by
A18,
XREAL_1: 233
.= ((a
- 1)
- (b
- 1)) by
A14,
XREAL_1: 233
.= (a
- b);
now
assume a
<> b;
then (a
- b)
<>
0 ;
hence contradiction by
A16,
A21,
A20,
Th6;
end;
hence contradiction by
A7,
A9,
A12;
end;
for a,b be
object st a
in (
dom fp) & b
in (
dom fp) & (fp
. a)
= (fp
. b) holds a
= b
proof
let a,b be
object;
assume that
A22: a
in (
dom fp) and
A23: b
in (
dom fp) and
A24: (fp
. a)
= (fp
. b);
reconsider a, b as
Element of
NAT by
A22,
A23;
A25: b
in (
Seg m) by
A2,
A23,
FINSEQ_1:def 3;
then
A26: b
>= 1 by
FINSEQ_1: 1;
reconsider l = (fp
. a), ll = (fp
. b) as
Element of
INT by
A22,
A23,
FINSEQ_2: 11;
(fp
. b)
in (
Class ((
Cong m),(b
-' 1))) by
A3,
A23;
then
[(b
-' 1), (fp
. b)]
in (
Cong m) by
EQREL_1: 18;
then ((b
-' 1),ll)
are_congruent_mod m by
Def1;
then
A27: (l,(b
-' 1))
are_congruent_mod m by
A24,
INT_1: 14;
A28: a
in (
Seg m) by
A2,
A22,
FINSEQ_1:def 3;
then
A29: a
>= 1 by
FINSEQ_1: 1;
then
A30: ((a
-' 1)
- (b
-' 1))
= ((a
- 1)
- (b
-' 1)) by
XREAL_1: 233
.= ((a
- 1)
- (b
- 1)) by
A26,
XREAL_1: 233
.= (a
- b);
b
<= m by
A25,
FINSEQ_1: 1;
then (a
- b)
>= (1
- m) by
A29,
XREAL_1: 13;
then
A31: (a
- b)
> (
- m) by
XREAL_1: 145;
a
<= m by
A28,
FINSEQ_1: 1;
then (a
- b)
<= (m
- 1) by
A26,
XREAL_1: 13;
then (a
- b)
< m by
XREAL_1: 147;
then
|.(a
- b).|
< m by
A31,
SEQ_2: 1;
then
A32:
|.(a
- b).|
<
|.m.| by
ABSVALUE:def 1;
(fp
. a)
in (
Class ((
Cong m),(a
-' 1))) by
A3,
A22;
then
[(a
-' 1), (fp
. a)]
in (
Cong m) by
EQREL_1: 18;
then ((a
-' 1),l)
are_congruent_mod m by
Def1;
then ((a
-' 1),(b
-' 1))
are_congruent_mod m by
A27,
INT_1: 15;
then
A33: m
divides (a
- b) by
A30;
now
assume a
<> b;
then (a
- b)
<>
0 ;
hence contradiction by
A33,
A32,
Th6;
end;
hence thesis;
end;
then fp is
one-to-one;
hence thesis by
A1,
A2,
A4,
FINSEQ_4: 62;
end;
theorem ::
INT_4:50
Th50:
{}
is_CRS_of m iff m
=
0
proof
set fp = (
<*>
INT );
thus
{}
is_CRS_of m implies m
=
0 by
Th49,
CARD_1: 27;
assume m
=
0 ;
then
A1: (
len fp)
= m;
{}
= (
rng fp) & for b be
Nat st b
in (
dom fp) holds (fp
. b)
in (
Class ((
Cong m),(b
-' 1)));
hence thesis by
A1;
end;
theorem ::
INT_4:51
Th51: for X be
finite
set st (
card X)
= m holds ex fp be
FinSequence st (
len fp)
= m & (for a st a
in (
dom fp) holds (fp
. a)
in X) & fp is
one-to-one
proof
defpred
P[
Nat] means for X be
finite
set holds (
card X)
= $1 implies ex fp be
FinSequence st (
len fp)
= $1 & (for a st a
in (
dom fp) holds (fp
. a)
in X) & fp is
one-to-one;
let X be
finite
set;
A1: for m be
Nat st
P[m] holds
P[(m
+ 1)]
proof
let m be
Nat such that
A2:
P[m];
let X be
finite
set;
assume
A3: (
card X)
= (m
+ 1);
then
consider x be
object such that
A4: x
in X by
CARD_1: 27,
XBOOLE_0:def 1;
set Y = (X
\
{x});
(
card Y)
= ((
card X)
- (
card
{x})) by
A4,
EULER_1: 4
.= ((m
+ 1)
- 1) by
A3,
CARD_1: 30
.= m;
then
consider fp1 be
FinSequence such that
A5: (
len fp1)
= m and
A6: for a st a
in (
dom fp1) holds (fp1
. a)
in Y and
A7: fp1 is
one-to-one by
A2;
set fp = (fp1
^
<*x*>);
A8: (
len fp)
= (m
+ 1) by
A5,
FINSEQ_2: 16;
for a,b be
object st a
in (
dom fp) & b
in (
dom fp) & a
<> b holds (fp
. a)
<> (fp
. b)
proof
let a,b be
object;
assume that
A9: a
in (
dom fp) and
A10: b
in (
dom fp) and
A11: a
<> b;
A12: a
in (
Seg (m
+ 1)) by
A8,
A9,
FINSEQ_1:def 3;
A13: b
in (
Seg (m
+ 1)) by
A8,
A10,
FINSEQ_1:def 3;
reconsider a, b as
Element of
NAT by
A9,
A10;
per cases by
A12,
FINSEQ_2: 7;
suppose
A14: a
in (
Seg m);
per cases by
A13,
FINSEQ_2: 7;
suppose b
in (
Seg m);
then
A15: b
in (
dom fp1) by
A5,
FINSEQ_1:def 3;
then
A16: (fp
. b)
= (fp1
. b) by
FINSEQ_1:def 7;
A17: a
in (
dom fp1) by
A5,
A14,
FINSEQ_1:def 3;
then (fp
. a)
= (fp1
. a) by
FINSEQ_1:def 7;
hence thesis by
A7,
A11,
A17,
A15,
A16;
end;
suppose
A18: b
= (m
+ 1);
a
in (
dom fp1) by
A5,
A14,
FINSEQ_1:def 3;
then (fp1
. a)
in Y & (fp
. a)
= (fp1
. a) by
A6,
FINSEQ_1:def 7;
then
A19: not (fp
. a)
in
{x} by
XBOOLE_0:def 5;
(fp
. b)
= x by
A5,
A18,
FINSEQ_1: 42;
hence thesis by
A19,
TARSKI:def 1;
end;
end;
suppose
A20: a
= (m
+ 1);
then b
in (
Seg m) by
A11,
A13,
FINSEQ_2: 7;
then b
in (
dom fp1) by
A5,
FINSEQ_1:def 3;
then (fp1
. b)
in Y & (fp
. b)
= (fp1
. b) by
A6,
FINSEQ_1:def 7;
then not (fp
. b)
in
{x} by
XBOOLE_0:def 5;
then (fp
. b)
<> x by
TARSKI:def 1;
hence thesis by
A5,
A20,
FINSEQ_1: 42;
end;
end;
then
A21: for a,b be
object st a
in (
dom fp) & b
in (
dom fp) & (fp
. a)
= (fp
. b) holds a
= b;
take fp;
for a be
object st a
in (
dom fp) holds (fp
. a)
in X
proof
let a be
object;
assume a
in (
dom fp);
then
A22: a
in (
Seg (m
+ 1)) by
A8,
FINSEQ_1:def 3;
per cases by
A22,
FINSEQ_2: 7;
suppose a
in (
Seg m);
then
A23: a
in (
dom fp1) by
A5,
FINSEQ_1:def 3;
then (fp
. a)
= (fp1
. a) by
FINSEQ_1:def 7;
then (fp
. a)
in Y by
A6,
A23;
hence thesis;
end;
suppose a
= (m
+ 1);
hence thesis by
A4,
A5,
FINSEQ_1: 42;
end;
end;
hence thesis by
A5,
A21,
FINSEQ_2: 16;
end;
A24:
P[
0 ]
proof
set fp = (
<*>
NAT );
let X be
finite
set;
assume (
card X)
=
0 ;
take fp;
thus (
len fp)
=
0 ;
thus thesis;
end;
for m be
Nat holds
P[m] from
NAT_1:sch 2(
A24,
A1);
hence thesis;
end;
theorem ::
INT_4:52
Th52: for X be
finite
Subset of
INT st (
card X)
= m & (for x,y be
Integer st x
in X & y
in X & x
<> y holds not
[x, y]
in (
Cong m)) holds X
is_CRS_of m
proof
let X be
finite
Subset of
INT ;
assume that
A1: (
card X)
= m and
A2: for x,y be
Integer st x
in X & y
in X & x
<> y holds not
[x, y]
in (
Cong m);
per cases ;
suppose X is
empty;
hence thesis by
A1,
Th50;
end;
suppose X is non
empty;
then
reconsider X as non
empty
finite
Subset of
INT ;
defpred
P[
Nat,
set] means $2
in (
Class ((
Cong m),($1
-' 1)));
A3: X
<>
{} ;
A4: for a be
Nat st a
in (
Seg m) holds ex y be
Element of X st
P[a, y]
proof
set Y = (
Segm m);
let a be
Nat such that
A5: a
in (
Seg m);
a
<= m by
A5,
FINSEQ_1: 1;
then
A6: (a
- 1)
< m by
XREAL_1: 147;
consider fp be
FinSequence such that
A7: (
len fp)
= m and
A8: for b st b
in (
dom fp) holds (fp
. b)
in X and
A9: fp is
one-to-one by
A1,
Th51;
for b be
Nat st b
in (
dom fp) holds (fp
. b)
in X by
A8;
then
reconsider fp as
FinSequence of X by
FINSEQ_2: 12;
defpred
PP[
Nat,
set] means (fp
. $1)
in (
Class ((
Cong m),$2));
A10: for c st c
in (
Seg m) holds ex r be
Element of Y st
PP[c, r]
proof
let c;
assume c
in (
Seg m);
consider q,r be
Integer such that
A11: (fp
. c)
= ((m
* q)
+ r) and
A12: r
>=
0 and
A13: r
< m by
A1,
Th13;
((fp
. c)
mod m)
= (r
mod m) by
A11,
NAT_D: 61;
then (r,(fp
. c))
are_congruent_mod m by
A1,
NAT_D: 64;
then
A14:
[r, (fp
. c)]
in (
Cong m) by
Def1;
reconsider r as
Element of
NAT by
A12,
INT_1: 3;
reconsider r as
Element of Y by
A13,
NAT_1: 44;
take r;
thus thesis by
A14,
EQREL_1: 18;
end;
reconsider Y as non
empty
set by
A1,
A3;
A15: for c be
Nat st c
in (
Seg m) holds ex r be
Element of Y st
PP[c, r] by
A10;
consider fr be
FinSequence of Y such that
A16: (
dom fr)
= (
Seg m) & for c be
Nat st c
in (
Seg m) holds
PP[c, (fr
. c)] from
FINSEQ_1:sch 5(
A15);
for x1,x2 be
object st x1
in (
dom fr) & x2
in (
dom fr) & (fr
. x1)
= (fr
. x2) holds x1
= x2
proof
let x1,x2 be
object;
assume that
A17: x1
in (
dom fr) and
A18: x2
in (
dom fr) and
A19: (fr
. x1)
= (fr
. x2);
(fp
. x1)
in (
Class ((
Cong m),(fr
. x1))) & (fp
. x2)
in (
Class ((
Cong m),(fr
. x1))) by
A16,
A17,
A18,
A19;
then
A20:
[(fp
. x1), (fp
. x2)]
in (
Cong m) by
EQREL_1: 22;
assume
A21: x1
<> x2;
reconsider x1, x2 as
Element of
NAT by
A17,
A18;
A22: x1
in (
dom fp) by
A7,
A16,
A17,
FINSEQ_1:def 3;
then
A23: (fp
. x1)
in X by
FINSEQ_2: 11;
A24: x2
in (
dom fp) by
A7,
A16,
A18,
FINSEQ_1:def 3;
then
A25: (fp
. x2)
in X by
FINSEQ_2: 11;
(fp
. x1)
<> (fp
. x2) by
A9,
A21,
A22,
A24;
hence contradiction by
A2,
A20,
A23,
A25;
end;
then fr is
one-to-one;
then
A26: (
card (
rng fr))
= (
len fr) by
FINSEQ_4: 62
.= m by
A16,
FINSEQ_1:def 3;
reconsider Y as
finite
set;
a
>= 1 by
A5,
FINSEQ_1: 1;
then (a
-' 1)
< m by
A6,
XREAL_1: 233;
then
A27: (a
-' 1)
in Y by
NAT_1: 44;
(
card Y)
= m;
then (
rng fr)
= Y by
A26,
CARD_2: 102;
then
consider w be
object such that
A28: w
in (
dom fr) and
A29: (fr
. w)
= (a
-' 1) by
A27,
FUNCT_1:def 3;
reconsider w as
Element of
NAT by
A28;
w
in (
dom fp) by
A7,
A16,
A28,
FINSEQ_1:def 3;
then
reconsider y = (fp
. w) as
Element of X by
FINSEQ_2: 11;
take y;
thus thesis by
A16,
A28,
A29;
end;
consider fp be
FinSequence of X such that
A30: (
dom fp)
= (
Seg m) & for a be
Nat st a
in (
Seg m) holds
P[a, (fp
. a)] from
FINSEQ_1:sch 5(
A4);
A31: (
rng fp)
c= X by
FINSEQ_1:def 4;
A32: (
len fp)
= m by
A30,
FINSEQ_1:def 3;
for a,b be
object st a
in (
dom fp) & b
in (
dom fp) & (fp
. a)
= (fp
. b) holds a
= b
proof
let a,b be
object;
assume that
A33: a
in (
dom fp) and
A34: b
in (
dom fp) and
A35: (fp
. a)
= (fp
. b);
reconsider a, b as
Element of
NAT by
A33,
A34;
A36: b
>= 1 by
A30,
A34,
FINSEQ_1: 1;
A37: a
>= 1 by
A30,
A33,
FINSEQ_1: 1;
then
A38: ((a
-' 1)
- (b
-' 1))
= ((a
- 1)
- (b
-' 1)) by
XREAL_1: 233
.= ((a
- 1)
- (b
- 1)) by
A36,
XREAL_1: 233
.= (a
- b);
reconsider l = (fp
. a), ll = (fp
. b) as
Element of
INT by
A33,
A34,
FINSEQ_2: 11;
(fp
. b)
in (
Class ((
Cong m),(b
-' 1))) by
A30,
A34;
then
[(b
-' 1), (fp
. b)]
in (
Cong m) by
EQREL_1: 18;
then ((b
-' 1),ll)
are_congruent_mod m by
Def1;
then
A39: (l,(b
-' 1))
are_congruent_mod m by
A35,
INT_1: 14;
b
<= m by
A30,
A34,
FINSEQ_1: 1;
then (a
- b)
>= (1
- m) by
A37,
XREAL_1: 13;
then
A40: (a
- b)
> (
- m) by
XREAL_1: 145;
a
<= m by
A30,
A33,
FINSEQ_1: 1;
then (a
- b)
<= (m
- 1) by
A36,
XREAL_1: 13;
then (a
- b)
< m by
XREAL_1: 147;
then
|.(a
- b).|
< m by
A40,
SEQ_2: 1;
then
A41:
|.(a
- b).|
<
|.m.| by
ABSVALUE:def 1;
(fp
. a)
in (
Class ((
Cong m),(a
-' 1))) by
A30,
A33;
then
[(a
-' 1), (fp
. a)]
in (
Cong m) by
EQREL_1: 18;
then ((a
-' 1),l)
are_congruent_mod m by
Def1;
then ((a
-' 1),(b
-' 1))
are_congruent_mod m by
A39,
INT_1: 15;
then
A42: m
divides (a
- b) by
A38;
now
assume a
<> b;
then (a
- b)
<>
0 ;
hence contradiction by
A42,
A41,
Th6;
end;
hence thesis;
end;
then fp is
one-to-one;
then (
card X)
= (
card (
rng fp)) by
A1,
A32,
FINSEQ_4: 62;
then X
= (
rng fp) by
A31,
CARD_2: 102;
hence thesis by
A30,
A32;
end;
end;
reserve a for
Integer;
theorem ::
INT_4:53
for X be
finite
Subset of
INT st X
is_CRS_of m holds (a
++ X)
is_CRS_of m
proof
let X be
finite
Subset of
INT ;
assume
A1: X
is_CRS_of m;
then (
card X)
= m by
Th49;
then
A2: (
card (a
++ X))
= m by
Th2;
A3: for i,j be
Integer st i
in (a
++ X) & j
in (a
++ X) & i
<> j holds not
[i, j]
in (
Cong m)
proof
let i,j be
Integer;
assume that
A4: i
in (a
++ X) and
A5: j
in (a
++ X) and
A6: i
<> j;
consider u be
Complex such that
A7: i
= (a
+ u) and
A8: u
in X by
A4,
MEMBER_1: 143;
consider w be
Complex such that
A9: j
= (a
+ w) and
A10: w
in X by
A5,
MEMBER_1: 143;
reconsider u9 = u, w9 = w as
Integer by
A8,
A10;
assume
[i, j]
in (
Cong m);
then (i,j)
are_congruent_mod m by
Def1;
then m
divides ((a
+ u9)
- (a
+ w9)) by
A7,
A9;
then m
divides (u9
- w9);
then
A11: (u9,w9)
are_congruent_mod m;
not
[u9, w9]
in (
Cong m) by
A1,
A6,
A8,
A7,
A10,
A9,
Th49;
hence contradiction by
A11,
Def1;
end;
(a
++ X) is
Subset of
INT by
Lm1;
hence thesis by
A2,
A3,
Th52;
end;
theorem ::
INT_4:54
for X be
finite
Subset of
INT st (a,m)
are_coprime & X
is_CRS_of m holds (a
** X)
is_CRS_of m
proof
let X be
finite
Subset of
INT ;
assume that
A1: (a,m)
are_coprime and
A2: X
is_CRS_of m;
A3: (
card X)
= m by
A2,
Th49;
A4: (a
** X)
c=
INT by
Lm2;
per cases ;
suppose
A5: a
=
0 ;
then (a
gcd m)
=
|.m.| by
WSIERP_1: 8
.= m by
ABSVALUE:def 1;
then
A6: m
= 1 by
A1,
INT_2:def 3;
then ex x be
object st X
=
{x} by
A3,
CARD_2: 42;
then
A7: (a
** X)
=
{
0 } by
A5,
Th4;
A8: for x,y be
Integer st x
in (a
** X) & y
in (a
** X) & x
<> y holds not
[x, y]
in (
Cong m)
proof
let x,y be
Integer;
assume that
A9: x
in (a
** X) and
A10: y
in (a
** X) & x
<> y;
assume
[x, y]
in (
Cong m);
x
=
0 by
A7,
A9,
TARSKI:def 1;
hence contradiction by
A7,
A10,
TARSKI:def 1;
end;
(
card (a
** X))
= m by
A6,
A7,
CARD_2: 42;
hence thesis by
A4,
A8,
Th52;
end;
suppose
A11: a
<>
0 ;
A12: for x,y be
Integer st x
in (a
** X) & y
in (a
** X) & x
<> y holds not
[x, y]
in (
Cong m)
proof
let x,y be
Integer;
assume that
A13: x
in (a
** X) and
A14: y
in (a
** X) and
A15: x
<> y;
consider y1 be
Integer such that
A16: y1
in X and
A17: y
= (a
* y1) by
A14,
Lm3;
consider x1 be
Integer such that
A18: x1
in X and
A19: x
= (a
* x1) by
A13,
Lm3;
not
[x1, y1]
in (
Cong m) by
A2,
A15,
A18,
A19,
A16,
A17,
Th49;
then
A20: not (x1,y1)
are_congruent_mod m by
Def1;
assume
[x, y]
in (
Cong m);
then ((a
* x1),(a
* y1))
are_congruent_mod m by
A19,
A17,
Def1;
hence contradiction by
A1,
A20,
Th9;
end;
(
card (a
** X))
= m by
A3,
A11,
Th5;
hence thesis by
A4,
A12,
Th52;
end;
end;