let s be State of SCM ; ( Euclide-Algorithm c= s implies for k being Element of NAT st IC (Comput (ProgramPart s),s,k) = 1 holds
( IC (Comput (ProgramPart s),s,(k + 1)) = 2 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) div ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) mod ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 2) ) )
assume A1:
Euclide-Algorithm c= s
; for k being Element of NAT st IC (Comput (ProgramPart s),s,k) = 1 holds
( IC (Comput (ProgramPart s),s,(k + 1)) = 2 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) div ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) mod ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 2) )
let k be Element of NAT ; ( IC (Comput (ProgramPart s),s,k) = 1 implies ( IC (Comput (ProgramPart s),s,(k + 1)) = 2 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) div ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) mod ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 2) ) )
assume A2:
IC (Comput (ProgramPart s),s,k) = 1
; ( IC (Comput (ProgramPart s),s,(k + 1)) = 2 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) div ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) mod ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 2) )
A3: Comput (ProgramPart s),s,(k + 1) =
Exec (s . (IC (Comput (ProgramPart s),s,k))),(Comput (ProgramPart s),s,k)
by AMI_1:55
.=
Exec (Divide (dl. 0 ),(dl. 1)),(Comput (ProgramPart s),s,k)
by A1, A2, Lm3
;
hence IC (Comput (ProgramPart s),s,(k + 1)) =
succ (IC (Comput (ProgramPart s),s,k))
by AMI_3:12
.=
1 + 1
by A2
.=
2
;
( (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) div ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) mod ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 2) )
thus
( (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) div ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = ((Comput (ProgramPart s),s,k) . (dl. 0 )) mod ((Comput (ProgramPart s),s,k) . (dl. 1)) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 2) )
by A3, Lm1, Lm2, AMI_3:12; verum