let k be Element of NAT ; for s being 0 -started State of SCM
for P being Instruction-Sequence of SCM st Euclide-Algorithm c= P & s . (dl. 0) > 0 & s . (dl. 1) > 0 holds
( (Comput (P,s,(4 * k))) . (dl. 0) > 0 & ( ( (Comput (P,s,(4 * k))) . (dl. 1) > 0 & IC (Comput (P,s,(4 * k))) = 0 ) or ( (Comput (P,s,(4 * k))) . (dl. 1) = 0 & IC (Comput (P,s,(4 * k))) = 4 ) ) )
let s be 0 -started State of SCM; for P being Instruction-Sequence of SCM st Euclide-Algorithm c= P & s . (dl. 0) > 0 & s . (dl. 1) > 0 holds
( (Comput (P,s,(4 * k))) . (dl. 0) > 0 & ( ( (Comput (P,s,(4 * k))) . (dl. 1) > 0 & IC (Comput (P,s,(4 * k))) = 0 ) or ( (Comput (P,s,(4 * k))) . (dl. 1) = 0 & IC (Comput (P,s,(4 * k))) = 4 ) ) )
let P be Instruction-Sequence of SCM; ( Euclide-Algorithm c= P & s . (dl. 0) > 0 & s . (dl. 1) > 0 implies ( (Comput (P,s,(4 * k))) . (dl. 0) > 0 & ( ( (Comput (P,s,(4 * k))) . (dl. 1) > 0 & IC (Comput (P,s,(4 * k))) = 0 ) or ( (Comput (P,s,(4 * k))) . (dl. 1) = 0 & IC (Comput (P,s,(4 * k))) = 4 ) ) ) )
assume that
A1:
Euclide-Algorithm c= P
and
A2:
( s . (dl. 0) > 0 & s . (dl. 1) > 0 )
; ( (Comput (P,s,(4 * k))) . (dl. 0) > 0 & ( ( (Comput (P,s,(4 * k))) . (dl. 1) > 0 & IC (Comput (P,s,(4 * k))) = 0 ) or ( (Comput (P,s,(4 * k))) . (dl. 1) = 0 & IC (Comput (P,s,(4 * k))) = 4 ) ) )
A3:
IC s = 0
by MEMSTR_0:def 9;
defpred S2[ Element of NAT ] means ( (Comput (P,s,(4 * $1))) . (dl. 0) > 0 & ( ( (Comput (P,s,(4 * $1))) . (dl. 1) > 0 & IC (Comput (P,s,(4 * $1))) = 0 ) or ( (Comput (P,s,(4 * $1))) . (dl. 1) = 0 & IC (Comput (P,s,(4 * $1))) = 4 ) ) );
A4:
for k being Element of NAT st S2[k] holds
S2[k + 1]
proof
let k be
Element of
NAT ;
( S2[k] implies S2[k + 1] )
set c4 =
Comput (
P,
s,
(4 * k));
set c5 =
Comput (
P,
s,
((4 * k) + 1));
set c6 =
Comput (
P,
s,
((4 * k) + 2));
set c7 =
Comput (
P,
s,
((4 * k) + 3));
set c8 =
Comput (
P,
s,
((4 * k) + 4));
A5:
Comput (
P,
s,
((4 * k) + 3))
= Comput (
P,
s,
(((4 * k) + 2) + 1))
;
A6:
Comput (
P,
s,
((4 * k) + 4))
= Comput (
P,
s,
(((4 * k) + 3) + 1))
;
assume A7:
(Comput (P,s,(4 * k))) . (dl. 0) > 0
;
( ( not ( (Comput (P,s,(4 * k))) . (dl. 1) > 0 & IC (Comput (P,s,(4 * k))) = 0 ) & not ( (Comput (P,s,(4 * k))) . (dl. 1) = 0 & IC (Comput (P,s,(4 * k))) = 4 ) ) or S2[k + 1] )
assume A8:
( (
(Comput (P,s,(4 * k))) . (dl. 1) > 0 &
IC (Comput (P,s,(4 * k))) = 0 ) or (
(Comput (P,s,(4 * k))) . (dl. 1) = 0 &
IC (Comput (P,s,(4 * k))) = 4 ) )
;
S2[k + 1]
A9:
Comput (
P,
s,
((4 * k) + 2))
= Comput (
P,
s,
(((4 * k) + 1) + 1))
;
now per cases
( (Comput (P,s,(4 * k))) . (dl. 1) > 0 or (Comput (P,s,(4 * k))) . (dl. 1) = 0 )
by A8;
case A10:
(Comput (P,s,(4 * k))) . (dl. 1) > 0
;
( (Comput (P,s,((4 * k) + 4))) . (dl. 0) > 0 & ( ( (Comput (P,s,((4 * k) + 4))) . (dl. 1) > 0 & IC (Comput (P,s,((4 * k) + 4))) = 0 ) or ( (Comput (P,s,((4 * k) + 4))) . (dl. 1) = 0 & IC (Comput (P,s,((4 * k) + 4))) = 4 ) ) )then A11:
IC (Comput (P,s,((4 * k) + 1))) = 1
by A1, A8, Th5;
then A12:
IC (Comput (P,s,((4 * k) + 2))) = 2
by A1, A9, Th6;
then A13:
IC (Comput (P,s,((4 * k) + 3))) = 3
by A1, A5, Th7;
then A14:
(Comput (P,s,((4 * k) + 4))) . (dl. 1) = (Comput (P,s,((4 * k) + 3))) . (dl. 1)
by A1, A6, Th8;
A15:
(
(Comput (P,s,((4 * k) + 3))) . (dl. 0) = (Comput (P,s,((4 * k) + 2))) . (dl. 2) &
(Comput (P,s,((4 * k) + 3))) . (dl. 1) = (Comput (P,s,((4 * k) + 2))) . (dl. 1) )
by A1, A5, A12, Th7;
A16:
(
(Comput (P,s,((4 * k) + 2))) . (dl. 1) = ((Comput (P,s,((4 * k) + 1))) . (dl. 0)) mod ((Comput (P,s,((4 * k) + 1))) . (dl. 1)) &
(Comput (P,s,((4 * k) + 2))) . (dl. 2) = (Comput (P,s,((4 * k) + 1))) . (dl. 2) )
by A1, A9, A11, Th6;
A17:
(
(Comput (P,s,((4 * k) + 1))) . (dl. 1) = (Comput (P,s,(4 * k))) . (dl. 1) &
(Comput (P,s,((4 * k) + 1))) . (dl. 2) = (Comput (P,s,(4 * k))) . (dl. 1) )
by A1, A8, A10, Th5;
(
(Comput (P,s,((4 * k) + 3))) . (dl. 1) > 0 implies
IC (Comput (P,s,((4 * k) + 4))) = 0 )
by A1, A6, A13, Th8;
hence
(
(Comput (P,s,((4 * k) + 4))) . (dl. 0) > 0 & ( (
(Comput (P,s,((4 * k) + 4))) . (dl. 1) > 0 &
IC (Comput (P,s,((4 * k) + 4))) = 0 ) or (
(Comput (P,s,((4 * k) + 4))) . (dl. 1) = 0 &
IC (Comput (P,s,((4 * k) + 4))) = 4 ) ) )
by A1, A6, A10, A17, A16, A13, A15, A14, Th8, NEWTON:64;
verum end; end; end;
hence
S2[
k + 1]
;
verum
end;
A18:
S2[ 0 ]
by A3, A2, EXTPRO_1:2;
for k being Element of NAT holds S2[k]
from NAT_1:sch 1(A18, A4);
hence
( (Comput (P,s,(4 * k))) . (dl. 0) > 0 & ( ( (Comput (P,s,(4 * k))) . (dl. 1) > 0 & IC (Comput (P,s,(4 * k))) = 0 ) or ( (Comput (P,s,(4 * k))) . (dl. 1) = 0 & IC (Comput (P,s,(4 * k))) = 4 ) ) )
; verum