let f be Function of Gauss_INT_Ring,NAT; ( ( for x being G_INTEG holds f . x = Norm x ) implies for a, b being Element of Gauss_INT_Ring st b <> 0. Gauss_INT_Ring holds
ex q, r being Element of Gauss_INT_Ring st
( a = (q * b) + r & ( r = 0. Gauss_INT_Ring or f . r < f . b ) ) )
assume A1:
for x being G_INTEG holds f . x = Norm x
; for a, b being Element of Gauss_INT_Ring st b <> 0. Gauss_INT_Ring holds
ex q, r being Element of Gauss_INT_Ring st
( a = (q * b) + r & ( r = 0. Gauss_INT_Ring or f . r < f . b ) )
let a, b be Element of Gauss_INT_Ring; ( b <> 0. Gauss_INT_Ring implies ex q, r being Element of Gauss_INT_Ring st
( a = (q * b) + r & ( r = 0. Gauss_INT_Ring or f . r < f . b ) ) )
assume A2:
b <> 0. Gauss_INT_Ring
; ex q, r being Element of Gauss_INT_Ring st
( a = (q * b) + r & ( r = 0. Gauss_INT_Ring or f . r < f . b ) )
reconsider a0 = a, b0 = b as G_INTEG by Th2;
reconsider x = a0 / b0, b1 = b0 as G_RAT ;
consider m being Element of INT such that
A3:
|.((Re x) - m).| <= 1 / 2
by Th48;
consider n being Element of INT such that
A4:
|.((Im x) - n).| <= 1 / 2
by Th48;
set q0 = m + (n * <i>);
reconsider q0 = m + (n * <i>) as G_INTEG ;
reconsider q1 = q0 as G_RAT ;
reconsider r0 = a0 - (q0 * b0) as G_INTEG ;
A5: Re (x - q0) =
(Re x) - (Re q0)
by COMPLEX1:19
.=
(Re x) - m
by COMPLEX1:12
;
A6: Im (x - q0) =
(Im x) - (Im q0)
by COMPLEX1:19
.=
(Im x) - n
by COMPLEX1:12
;
reconsider xq1 = x - q1 as G_RAT ;
0 <= |.((Re x) - m).|
by COMPLEX1:46;
then A7:
|.((Re x) - m).| ^2 <= (1 / 2) ^2
by A3, SQUARE_1:15;
0 <= |.((Im x) - n).|
by COMPLEX1:46;
then A8:
|.((Im x) - n).| ^2 <= (1 / 2) ^2
by A4, SQUARE_1:15;
(|.((Re x) - m).| ^2) + (|.((Im x) - n).| ^2) <= ((1 / 2) ^2) + ((1 / 2) ^2)
by A7, A8, XREAL_1:7;
then A9:
Norm xq1 <= 1 / 2
by A5, A6, Th47;
reconsider bxq1 = b1 * xq1 as G_RAT ;
A10: b1 * xq1 =
(b0 * (a0 / b0)) - (b0 * q0)
.=
r0
by A2, XCMPLX_1:87
;
A11:
Norm bxq1 = (Norm b1) * (Norm xq1)
by Th34;
A12:
Norm r0 <= (Norm b1) / 2
by A9, A10, A11, XREAL_1:64;
Norm b0 <> 0
by A2, Th36;
then
(Norm b1) / 2 < Norm b1
by XREAL_1:216;
then A13:
Norm r0 < Norm b1
by A12, XXREAL_0:2;
reconsider q = q0, r = r0 as Element of Gauss_INT_Ring by Th3;
A14:
q * b = q0 * b0
by Th6;
a0 = (q0 * b0) + r0
;
then A15:
a = (q * b) + r
by A14, Th4;
A16:
f . r = Norm r0
by A1;
f . b = Norm b0
by A1;
hence
ex q, r being Element of Gauss_INT_Ring st
( a = (q * b) + r & ( r = 0. Gauss_INT_Ring or f . r < f . b ) )
by A13, A15, A16; verum