let a1, a2 be Nat; ( MUL_MOD (i,a1,n) = 1 & a1 is_expressible_by n & MUL_MOD (i,a2,n) = 1 & a2 is_expressible_by n implies a1 = a2 )
assume that
A20:
MUL_MOD (i,a1,n) = 1
and
A21:
a1 is_expressible_by n
and
A22:
MUL_MOD (i,a2,n) = 1
and
A23:
a2 is_expressible_by n
; a1 = a2
consider b2 being Nat such that
A24:
b2 = ChangeVal_1 (a2,n)
;
b2 <= 2 to_power n
by A23, A24, Th17;
then A25:
b2 < (2 to_power n) + 1
by NAT_1:13;
consider b1 being Nat such that
A26:
b1 = ChangeVal_1 (a1,n)
;
b1 <= 2 to_power n
by A21, A26, Th17;
then A27:
b1 < (2 to_power n) + 1
by NAT_1:13;
consider k being Nat such that
A28:
k = ChangeVal_1 (i,n)
;
A29:
k <= 2 to_power n
by A1, A28, Th17;
then A30:
k < (2 to_power n) + 1
by NAT_1:13;
A31:
k > 0
by A1, A28, Th17;
b2 > 0
by A23, A24, Th17;
then A32:
(k * b2) mod ((2 to_power n) + 1) <> 0
by A2, A31, A30, A25, Th5;
b1 > 0
by A21, A26, Th17;
then
(k * b1) mod ((2 to_power n) + 1) <> 0
by A2, A31, A30, A27, Th5;
then A33:
(k * b1) mod ((2 to_power n) + 1) = (k * b2) mod ((2 to_power n) + 1)
by A20, A22, A28, A26, A24, A32, Th20;
now b1 = b2per cases
( b1 <= b2 or b2 <= b1 )
;
suppose A34:
b1 <= b2
;
b1 = b2consider b being
Integer such that A35:
b = b2 - b1
;
b1 - b1 <= b2 - b1
by A34, XREAL_1:9;
then reconsider b =
b as
Element of
NAT by A35, INT_1:3;
ex
t being
Nat st
(k * b2) - (k * b1) = ((2 to_power n) + 1) * t
by A33, A34, Th2, NAT_1:4;
then
(2 to_power n) + 1
divides k * b
by A35, NAT_D:def 3;
then A36:
(
(2 to_power n) + 1
divides k or
(2 to_power n) + 1
divides b )
by A2, NEWTON:80;
b <= 2
to_power n
by A23, A24, A35, Th4, Th17;
then A37:
not
(2 to_power n) + 1
<= b
by NAT_1:13;
not
(2 to_power n) + 1
<= k
by A29, NAT_1:13;
then
not
0 < b
by A31, A36, A37, NAT_D:7;
then
(b2 - b1) + b1 = 0 + b1
by A35;
hence
b1 = b2
;
verum end; suppose A38:
b2 <= b1
;
b2 = b1consider b being
Integer such that A39:
b = b1 - b2
;
b2 - b2 <= b1 - b2
by A38, XREAL_1:9;
then reconsider b =
b as
Element of
NAT by A39, INT_1:3;
ex
t being
Nat st
(k * b1) - (k * b2) = ((2 to_power n) + 1) * t
by A33, A38, Th2, NAT_1:4;
then
(2 to_power n) + 1
divides k * b
by A39, NAT_D:def 3;
then A40:
(
(2 to_power n) + 1
divides k or
(2 to_power n) + 1
divides b )
by A2, NEWTON:80;
b <= 2
to_power n
by A21, A26, A39, Th4, Th17;
then A41:
not
(2 to_power n) + 1
<= b
by NAT_1:13;
not
(2 to_power n) + 1
<= k
by A29, NAT_1:13;
then
not
0 < b
by A31, A40, A41, NAT_D:7;
then
(b1 - b2) + b2 = 0 + b2
by A39;
hence
b2 = b1
;
verum end; end; end;
hence
a1 = a2
by A21, A23, A26, A24, Th18; verum