let n be Element of NAT ; :: thesis: for s1, s2 being State of SCMPDS st GCD-Algorithm c= s1 & GCD-Algorithm c= s2 & IC s1 = inspos 5 & n = s1 . SBP & s1 . GBP = 0 & s1 . (DataLoc (s1 . SBP ),3) > 0 & IC s2 = IC s1 & s2 . SBP = s1 . SBP & s2 . GBP = 0 & s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) & s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) holds
( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
let s1, s2 be State of SCMPDS ; :: thesis: ( GCD-Algorithm c= s1 & GCD-Algorithm c= s2 & IC s1 = inspos 5 & n = s1 . SBP & s1 . GBP = 0 & s1 . (DataLoc (s1 . SBP ),3) > 0 & IC s2 = IC s1 & s2 . SBP = s1 . SBP & s2 . GBP = 0 & s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) & s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) implies ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 ) )
set GA = GCD-Algorithm ;
assume A1:
( GCD-Algorithm c= s1 & GCD-Algorithm c= s2 )
; :: thesis: ( not IC s1 = inspos 5 or not n = s1 . SBP or not s1 . GBP = 0 or not s1 . (DataLoc (s1 . SBP ),3) > 0 or not IC s2 = IC s1 or not s2 . SBP = s1 . SBP or not s2 . GBP = 0 or not s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) or not s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) or ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 ) )
assume A2:
IC s1 = inspos 5
; :: thesis: ( not n = s1 . SBP or not s1 . GBP = 0 or not s1 . (DataLoc (s1 . SBP ),3) > 0 or not IC s2 = IC s1 or not s2 . SBP = s1 . SBP or not s2 . GBP = 0 or not s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) or not s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) or ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 ) )
assume A3:
n = s1 . SBP
; :: thesis: ( not s1 . GBP = 0 or not s1 . (DataLoc (s1 . SBP ),3) > 0 or not IC s2 = IC s1 or not s2 . SBP = s1 . SBP or not s2 . GBP = 0 or not s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) or not s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) or ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 ) )
assume A4:
s1 . GBP = 0
; :: thesis: ( not s1 . (DataLoc (s1 . SBP ),3) > 0 or not IC s2 = IC s1 or not s2 . SBP = s1 . SBP or not s2 . GBP = 0 or not s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) or not s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) or ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 ) )
assume A5:
s1 . (DataLoc (s1 . SBP ),3) > 0
; :: thesis: ( not IC s2 = IC s1 or not s2 . SBP = s1 . SBP or not s2 . GBP = 0 or not s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) or not s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) or ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 ) )
assume A6:
( IC s2 = IC s1 & s2 . SBP = s1 . SBP & s2 . GBP = 0 )
; :: thesis: ( not s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) or not s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) or ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 ) )
assume A7:
( s2 . (DataLoc (s1 . SBP ),2) = s1 . (DataLoc (s1 . SBP ),2) & s2 . (DataLoc (s1 . SBP ),3) = s1 . (DataLoc (s1 . SBP ),3) )
; :: thesis: ( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 & (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
A8:
DataLoc (s1 . SBP ),2 = intpos (n + 2)
by A3, Th5;
A9:
DataLoc (s1 . SBP ),3 = intpos (n + 3)
by A3, Th5;
thus
( IC (Computation s1,7) = inspos (5 + 7) & Computation s1,8 = Exec (goto (- 7)),(Computation s1,7) & (Computation s1,7) . SBP = n + 4 & (Computation s1,7) . GBP = 0 )
by A1, A2, A3, A4, A5, Lm4; :: thesis: ( (Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
thus
(Computation s1,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3)))
by A1, A2, A3, A4, A5, A8, A9, Lm4; :: thesis: ( (Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
thus
(Computation s1,7) . (intpos (n + 6)) = s1 . (intpos (n + 3))
by A1, A2, A3, A4, A5, A9, Lm4; :: thesis: ( IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 & (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
thus
( IC (Computation s2,7) = inspos (5 + 7) & Computation s2,8 = Exec (goto (- 7)),(Computation s2,7) & (Computation s2,7) . SBP = n + 4 & (Computation s2,7) . GBP = 0 )
by A1, A2, A3, A5, A6, A7, Lm4; :: thesis: ( (Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3))) & (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
thus
(Computation s2,7) . (intpos (n + 7)) = (s1 . (intpos (n + 2))) mod (s1 . (intpos (n + 3)))
by A1, A2, A3, A5, A6, A7, A8, A9, Lm4; :: thesis: ( (Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3)) & (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
thus
(Computation s2,7) . (intpos (n + 6)) = s1 . (intpos (n + 3))
by A1, A2, A3, A5, A6, A7, A9, Lm4; :: thesis: ( (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 & (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
thus
( (Computation s1,7) . (intpos (n + 4)) = n & (Computation s1,7) . (intpos (n + 5)) = inspos 11 )
by A1, A2, A3, A4, A5, Lm4; :: thesis: ( (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
thus
( (Computation s2,7) . (intpos (n + 4)) = n & (Computation s2,7) . (intpos (n + 5)) = inspos 11 )
by A1, A2, A3, A5, A6, A7, Lm4; :: thesis: verum