let a, b be Element of INT ; for A1, B1, A2, B2 being sequence of NAT st A1 . 0 = abs a & B1 . 0 = abs b & ( for i being Element of NAT holds
( A1 . (i + 1) = B1 . i & B1 . (i + 1) = (A1 . i) mod (B1 . i) ) ) & A2 . 0 = abs a & B2 . 0 = abs b & ( for i being Element of NAT holds
( A2 . (i + 1) = B2 . i & B2 . (i + 1) = (A2 . i) mod (B2 . i) ) ) holds
( A1 = A2 & B1 = B2 )
let A1, B1, A2, B2 be sequence of NAT; ( A1 . 0 = abs a & B1 . 0 = abs b & ( for i being Element of NAT holds
( A1 . (i + 1) = B1 . i & B1 . (i + 1) = (A1 . i) mod (B1 . i) ) ) & A2 . 0 = abs a & B2 . 0 = abs b & ( for i being Element of NAT holds
( A2 . (i + 1) = B2 . i & B2 . (i + 1) = (A2 . i) mod (B2 . i) ) ) implies ( A1 = A2 & B1 = B2 ) )
assume P1:
( A1 . 0 = abs a & B1 . 0 = abs b & ( for i being Element of NAT holds
( A1 . (i + 1) = B1 . i & B1 . (i + 1) = (A1 . i) mod (B1 . i) ) ) )
; ( not A2 . 0 = abs a or not B2 . 0 = abs b or ex i being Element of NAT st
( A2 . (i + 1) = B2 . i implies not B2 . (i + 1) = (A2 . i) mod (B2 . i) ) or ( A1 = A2 & B1 = B2 ) )
assume P2:
( A2 . 0 = abs a & B2 . 0 = abs b & ( for i being Element of NAT holds
( A2 . (i + 1) = B2 . i & B2 . (i + 1) = (A2 . i) mod (B2 . i) ) ) )
; ( A1 = A2 & B1 = B2 )
defpred S1[ Nat] means ( A1 . $1 = A2 . $1 & B1 . $1 = B2 . $1 );
P0:
S1[ 0 ]
by P1, P2;
PN:
for n being Element of NAT st S1[n] holds
S1[n + 1]
proof
let n be
Element of
NAT ;
( S1[n] implies S1[n + 1] )
assume PN1:
S1[
n]
;
S1[n + 1]
PN2:
A1 . (n + 1) =
B1 . n
by P1
.=
A2 . (n + 1)
by P2, PN1
;
B1 . (n + 1) =
(A1 . n) mod (B1 . n)
by P1
.=
B2 . (n + 1)
by P2, PN1
;
hence
S1[
n + 1]
by PN2;
verum
end;
for n being Element of NAT holds S1[n]
from NAT_1:sch 1(P0, PN);
hence
( A1 = A2 & B1 = B2 )
by FUNCT_2:def 8; verum