let s be 0 -started State of SCM ; for P being the Instructions of SCM -valued ManySortedSet of NAT st Euclide-Algorithm c= P holds
for x, y being Integer st s . (dl. 0 ) = x & s . (dl. 1) = y & x > y & y > 0 holds
( (Result P,s) . (dl. 0 ) = x gcd y & ex k being Element of NAT st P halts_at IC (Comput P,s,k) )
let P be the Instructions of SCM -valued ManySortedSet of NAT ; ( Euclide-Algorithm c= P implies for x, y being Integer st s . (dl. 0 ) = x & s . (dl. 1) = y & x > y & y > 0 holds
( (Result P,s) . (dl. 0 ) = x gcd y & ex k being Element of NAT st P halts_at IC (Comput P,s,k) ) )
assume A2:
Euclide-Algorithm c= P
; for x, y being Integer st s . (dl. 0 ) = x & s . (dl. 1) = y & x > y & y > 0 holds
( (Result P,s) . (dl. 0 ) = x gcd y & ex k being Element of NAT st P halts_at IC (Comput P,s,k) )
deffunc H1( Element of NAT ) -> Element of NAT = abs ((Comput P,s,(4 * $1)) . (dl. 1));
deffunc H2( Element of NAT ) -> Element of NAT = abs ((Comput P,s,(4 * $1)) . (dl. 0 ));
let x, y be Integer; ( s . (dl. 0 ) = x & s . (dl. 1) = y & x > y & y > 0 implies ( (Result P,s) . (dl. 0 ) = x gcd y & ex k being Element of NAT st P halts_at IC (Comput P,s,k) ) )
assume that
A3:
s . (dl. 0 ) = x
and
A4:
s . (dl. 1) = y
and
A5:
x > y
and
A6:
y > 0
; ( (Result P,s) . (dl. 0 ) = x gcd y & ex k being Element of NAT st P halts_at IC (Comput P,s,k) )
A7:
now let k be
Element of
NAT ;
( H1(k) > 0 implies ( H2(k + 1) = H1(k) & H1(k + 1) = H2(k) mod H1(k) ) )A8:
(
(Comput P,s,(4 * k)) . (dl. 1) > 0 or
(Comput P,s,(4 * k)) . (dl. 1) = 0 )
by A2, A3, A4, A5, A6, Lm4;
assume A9:
H1(
k)
> 0
;
( H2(k + 1) = H1(k) & H1(k + 1) = H2(k) mod H1(k) )hence
H2(
k + 1)
= H1(
k)
by A2, A3, A4, A5, A6, A8, Lm5, ABSVALUE:7;
H1(k + 1) = H2(k) mod H1(k)A10:
(Comput P,s,(4 * k)) . (dl. 0 ) >= 0
by A2, A3, A4, A5, A6, Lm4;
(Comput P,s,(4 * (k + 1))) . (dl. 1) >= 0
by A2, A3, A4, A5, A6, Lm4;
hence H1(
k + 1) =
(Comput P,s,(4 * (k + 1))) . (dl. 1)
by ABSVALUE:def 1
.=
((Comput P,s,(4 * k)) . (dl. 0 )) mod ((Comput P,s,(4 * k)) . (dl. 1))
by A2, A3, A4, A5, A6, A8, A9, Lm5, ABSVALUE:7
.=
H2(
k)
mod H1(
k)
by A8, A10, INT_2:49
;
verum end;
reconsider x9 = x, y9 = y as Element of NAT by A5, A6, INT_1:16;
A11:
y9 < x9
by A5;
A12: H2( 0 ) =
abs x
by A3, AMI_1:13
.=
x9
by ABSVALUE:def 1
;
A13: H1( 0 ) =
abs y
by A4, AMI_1:13
.=
y9
by ABSVALUE:def 1
;
A14:
0 < y9
by A6;
consider k being Element of NAT such that
A15:
H2(k) = x9 gcd y9
and
A16:
H1(k) = 0
from NEWTON:sch 1(A14, A11, A12, A13, A7);
A17:
(Comput P,s,(4 * k)) . (dl. 0 ) > 0
by A2, A3, A4, A5, A6, Lm4;
(Comput P,s,(4 * k)) . (dl. 1) = 0
by A16, ABSVALUE:7;
then A18:
IC (Comput P,s,(4 * k)) = 4
by A2, A3, A4, A5, A6, Lm4;
A19:
P halts_at 4
by A2, Lm3;
hence (Result P,s) . (dl. 0 ) =
(Comput P,s,(4 * k)) . (dl. 0 )
by A18, AMI_1:87
.=
x gcd y
by A15, A17, ABSVALUE:def 1
;
ex k being Element of NAT st P halts_at IC (Comput P,s,k)
thus
ex k being Element of NAT st P halts_at IC (Comput P,s,k)
by A18, A19; verum