let s be State of SCM ; ( Euclide-Algorithm c= s implies for k being Element of NAT st IC (Comput (ProgramPart s),s,k) = 0 holds
( IC (Comput (ProgramPart s),s,(k + 1)) = 1 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = (Comput (ProgramPart s),s,k) . (dl. 0 ) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = (Comput (ProgramPart s),s,k) . (dl. 1) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 1) ) )
assume A1:
Euclide-Algorithm c= s
; for k being Element of NAT st IC (Comput (ProgramPart s),s,k) = 0 holds
( IC (Comput (ProgramPart s),s,(k + 1)) = 1 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = (Comput (ProgramPart s),s,k) . (dl. 0 ) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = (Comput (ProgramPart s),s,k) . (dl. 1) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 1) )
let k be Element of NAT ; ( IC (Comput (ProgramPart s),s,k) = 0 implies ( IC (Comput (ProgramPart s),s,(k + 1)) = 1 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = (Comput (ProgramPart s),s,k) . (dl. 0 ) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = (Comput (ProgramPart s),s,k) . (dl. 1) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 1) ) )
assume A2:
IC (Comput (ProgramPart s),s,k) = 0
; ( IC (Comput (ProgramPart s),s,(k + 1)) = 1 & (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = (Comput (ProgramPart s),s,k) . (dl. 0 ) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = (Comput (ProgramPart s),s,k) . (dl. 1) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 1) )
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 ((dl. 2) := (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:8
.=
0 + 1
by A2
.=
1
;
( (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = (Comput (ProgramPart s),s,k) . (dl. 0 ) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = (Comput (ProgramPart s),s,k) . (dl. 1) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 1) )
thus
( (Comput (ProgramPart s),s,(k + 1)) . (dl. 0 ) = (Comput (ProgramPart s),s,k) . (dl. 0 ) & (Comput (ProgramPart s),s,(k + 1)) . (dl. 1) = (Comput (ProgramPart s),s,k) . (dl. 1) )
by A3, AMI_3:8, AMI_3:52; (Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 1)
thus
(Comput (ProgramPart s),s,(k + 1)) . (dl. 2) = (Comput (ProgramPart s),s,k) . (dl. 1)
by A3, AMI_3:8; verum