consider d being Element of ;
let a, b be Element of ; ( b <> 0. INT.Ring implies for b' being Integer st b' = b & 0 <= b' holds
ex q, r being Element of st
( a = (q * b) + r & 0. INT.Ring <= r & r < abs b ) )
assume A1:
b <> 0. INT.Ring
; for b' being Integer st b' = b & 0 <= b' holds
ex q, r being Element of st
( a = (q * b) + r & 0. INT.Ring <= r & r < abs b )
reconsider a' = a as Integer ;
let b' be Integer; ( b' = b & 0 <= b' implies ex q, r being Element of st
( a = (q * b) + r & 0. INT.Ring <= r & r < abs b ) )
assume A2:
b' = b
; ( not 0 <= b' or ex q, r being Element of st
( a = (q * b) + r & 0. INT.Ring <= r & r < abs b ) )
defpred S1[ Nat] means ex s being Integer st $1 = a' - (s * b');
assume A3:
0 <= b'
; ex q, r being Element of st
( a = (q * b) + r & 0. INT.Ring <= r & r < abs b )
A4:
ex k being Nat st S1[k]
proof
hence
ex
k being
Nat st
S1[
k]
;
verum
end;
ex k being Nat st
( S1[k] & ( for n being Nat st S1[n] holds
k <= n ) )
from NAT_1:sch 5(A4);
then consider k' being Nat such that
A6:
ex s being Integer st
( k' = a' - (s * b') & ( for n being Nat st ex s' being Integer st n = a' - (s' * b') holds
k' <= n ) )
;
consider l' being Integer such that
A7:
k' = a' - (l' * b')
by A6;
reconsider k = k', l = l' as Element of by INT_1:def 2;
A8:
( k' = 0 or k' < b' )
proof
assume
k' <> 0
;
k' < b'
assume
b' <= k'
;
contradiction
then reconsider k =
k' - b' as
Element of
NAT by INT_1:18;
A9:
k' > k
k' - b' = a' - ((l' + 1) * b')
by A7;
hence
contradiction
by A6, A9;
verum
end;
A11:
( 0. INT.Ring <= k & k < abs b )
k + (l * b) = a
by A2, A7;
hence
ex q, r being Element of st
( a = (q * b) + r & 0. INT.Ring <= r & r < abs b )
by A11; verum