let k be Element of NAT ; for s being State of SCM st s starts_at 0 & Euclide-Algorithm c= s & s . (dl. 0 ) > 0 & s . (dl. 1) > 0 & (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) > 0 holds
( (Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 0 ) = (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) & (Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 1) = ((Comput (ProgramPart s),s,(4 * k)) . (dl. 0 )) mod ((Comput (ProgramPart s),s,(4 * k)) . (dl. 1)) )
let s be State of SCM ; ( s starts_at 0 & Euclide-Algorithm c= s & s . (dl. 0 ) > 0 & s . (dl. 1) > 0 & (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) > 0 implies ( (Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 0 ) = (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) & (Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 1) = ((Comput (ProgramPart s),s,(4 * k)) . (dl. 0 )) mod ((Comput (ProgramPart s),s,(4 * k)) . (dl. 1)) ) )
assume that
A1:
s starts_at 0
and
A2:
Euclide-Algorithm c= s
and
A3:
( s . (dl. 0 ) > 0 & s . (dl. 1) > 0 )
and
A4:
(Comput (ProgramPart s),s,(4 * k)) . (dl. 1) > 0
; ( (Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 0 ) = (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) & (Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 1) = ((Comput (ProgramPart s),s,(4 * k)) . (dl. 0 )) mod ((Comput (ProgramPart s),s,(4 * k)) . (dl. 1)) )
set c4 = Comput (ProgramPart s),s,(4 * k);
set c5 = Comput (ProgramPart s),s,((4 * k) + 1);
set c6 = Comput (ProgramPart s),s,((4 * k) + 2);
set c7 = Comput (ProgramPart s),s,((4 * k) + 3);
A5:
( ( (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) > 0 & IC (Comput (ProgramPart s),s,(4 * k)) = 0 ) or ( (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) = 0 & IC (Comput (ProgramPart s),s,(4 * k)) = 4 ) )
by A1, A2, A3, Lm4;
then A6:
( Comput (ProgramPart s),s,((4 * k) + 2) = Comput (ProgramPart s),s,(((4 * k) + 1) + 1) & IC (Comput (ProgramPart s),s,((4 * k) + 1)) = 1 )
by A2, A4, Th5;
then A7:
(Comput (ProgramPart s),s,((4 * k) + 2)) . (dl. 2) = (Comput (ProgramPart s),s,((4 * k) + 1)) . (dl. 2)
by A2, Th6;
A8:
( Comput (ProgramPart s),s,((4 * k) + 3) = Comput (ProgramPart s),s,(((4 * k) + 2) + 1) & IC (Comput (ProgramPart s),s,((4 * k) + 2)) = 2 )
by A2, A6, Th6;
then A9:
( Comput (ProgramPart s),s,((4 * k) + 4) = Comput (ProgramPart s),s,(((4 * k) + 3) + 1) & IC (Comput (ProgramPart s),s,((4 * k) + 3)) = 3 )
by A2, Th7;
A10:
(Comput (ProgramPart s),s,((4 * k) + 3)) . (dl. 0 ) = (Comput (ProgramPart s),s,((4 * k) + 2)) . (dl. 2)
by A2, A8, Th7;
(Comput (ProgramPart s),s,((4 * k) + 1)) . (dl. 2) = (Comput (ProgramPart s),s,(4 * k)) . (dl. 1)
by A2, A4, A5, Th5;
hence
(Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 0 ) = (Comput (ProgramPart s),s,(4 * k)) . (dl. 1)
by A2, A7, A9, A10, Th8; (Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 1) = ((Comput (ProgramPart s),s,(4 * k)) . (dl. 0 )) mod ((Comput (ProgramPart s),s,(4 * k)) . (dl. 1))
A11:
(Comput (ProgramPart s),s,((4 * k) + 3)) . (dl. 1) = (Comput (ProgramPart s),s,((4 * k) + 2)) . (dl. 1)
by A2, A8, Th7;
A12:
(Comput (ProgramPart s),s,((4 * k) + 2)) . (dl. 1) = ((Comput (ProgramPart s),s,((4 * k) + 1)) . (dl. 0 )) mod ((Comput (ProgramPart s),s,((4 * k) + 1)) . (dl. 1))
by A2, A6, Th6;
( (Comput (ProgramPart s),s,((4 * k) + 1)) . (dl. 0 ) = (Comput (ProgramPart s),s,(4 * k)) . (dl. 0 ) & (Comput (ProgramPart s),s,((4 * k) + 1)) . (dl. 1) = (Comput (ProgramPart s),s,(4 * k)) . (dl. 1) )
by A2, A4, A5, Th5;
hence
(Comput (ProgramPart s),s,(4 * (k + 1))) . (dl. 1) = ((Comput (ProgramPart s),s,(4 * k)) . (dl. 0 )) mod ((Comput (ProgramPart s),s,(4 * k)) . (dl. 1))
by A2, A12, A9, A11, Th8; verum