let P be Instruction-Sequence of SCMPDS; :: thesis: for s being 0 -started State of SCMPDS
for m3, m4 being Nat st s . GBP = 0 & s . (intpos 5) > 0 & s . (intpos 3) = m3 & s . (intpos 4) = m4 & m3 > 6 & m4 > 6 holds
( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . GBP = 0 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 1) = s . (intpos 1) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 2) = s . (intpos 2) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

set a = GBP ;
let s be 0 -started State of SCMPDS; :: thesis: for m3, m4 being Nat st s . GBP = 0 & s . (intpos 5) > 0 & s . (intpos 3) = m3 & s . (intpos 4) = m4 & m3 > 6 & m4 > 6 holds
( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . GBP = 0 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 1) = s . (intpos 1) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 2) = s . (intpos 2) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

let m3, m4 be Nat; :: thesis: ( s . GBP = 0 & s . (intpos 5) > 0 & s . (intpos 3) = m3 & s . (intpos 4) = m4 & m3 > 6 & m4 > 6 implies ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . GBP = 0 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 1) = s . (intpos 1) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 2) = s . (intpos 2) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) ) )

assume that
A1: s . GBP = 0 and
A2: s . (intpos 5) > 0 and
A3: s . (intpos 3) = m3 and
A4: s . (intpos 4) = m4 and
A5: m3 > 6 and
A6: m4 > 6 ; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . GBP = 0 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 1) = s . (intpos 1) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 2) = s . (intpos 2) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

A7: m4 > 3 by A6, XXREAL_0:2;
set x = intpos m3;
set y = intpos m4;
set t0 = Initialize s;
set t1 = IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s));
set t2 = IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s));
set t3 = IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s));
set t4 = IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s));
set t5 = IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s));
set t6 = Exec (((GBP,6) := ((intpos 4),0)),(Initialize s));
A8: (Initialize s) . GBP = 0 by A1, SCMPDS_5:15;
then A9: DataLoc (((Initialize s) . GBP),6) = intpos (0 + 6) by SCMP_GCD:1;
then A10: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . GBP = 0 by A8, AMI_3:10, SCMPDS_2:47;
A11: (Initialize s) . (intpos 4) = m4 by A4, SCMPDS_5:15;
then A12: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 4) = m4 by A9, AMI_3:10, SCMPDS_2:47;
then A13: DataLoc (((Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 4)),0) = intpos (m4 + 0) by SCMP_GCD:1;
A14: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . GBP = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . GBP by SCMPDS_5:42
.= 0 by A6, A10, A13, AMI_3:10, SCMPDS_2:47 ;
A15: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 6) = (Initialize s) . (DataLoc (((Initialize s) . (intpos 4)),0)) by A9, SCMPDS_2:47
.= (Initialize s) . (intpos (m4 + 0)) by A11, SCMP_GCD:1
.= s . (intpos m4) by SCMPDS_5:15 ;
(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 6) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos 6) by SCMPDS_5:42
.= s . (intpos m4) by A6, A15, A13, AMI_3:10, SCMPDS_2:47 ;
then A16: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (DataLoc (((IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . GBP),6)) = s . (intpos m4) by A14, SCMP_GCD:1;
(Initialize s) . (intpos 3) = m3 by A3, SCMPDS_5:15;
then A17: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 3) = m3 by A9, AMI_3:10, SCMPDS_2:47;
A18: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 3) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos 3) by SCMPDS_5:42
.= m3 by A7, A17, A13, AMI_3:10, SCMPDS_2:47 ;
then A19: DataLoc (((IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 3)),0) = intpos (m3 + 0) by SCMP_GCD:1;
A20: (Initialize s) . (intpos m3) = s . (intpos m3) by SCMPDS_5:15;
A21: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos m4) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos m4) by SCMPDS_5:42
.= (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (DataLoc (((Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 3)),0)) by A13, SCMPDS_2:47
.= (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos (m3 + 0)) by A17, SCMP_GCD:1
.= s . (intpos m3) by A5, A20, A9, AMI_3:10, SCMPDS_2:47 ;
A22: now :: thesis: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos m4) = s . (intpos m3)
per cases ( intpos m4 <> DataLoc (((IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 3)),0) or intpos m4 = DataLoc (((IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 3)),0) ) ;
suppose A23: intpos m4 <> DataLoc (((IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 3)),0) ; :: thesis: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos m4) = s . (intpos m3)
thus (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos m4) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos m4) by SCMPDS_5:41
.= s . (intpos m3) by A21, A23, SCMPDS_2:47 ; :: thesis: verum
end;
suppose A24: intpos m4 = DataLoc (((IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 3)),0) ; :: thesis: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos m4) = s . (intpos m3)
thus (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos m4) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos m4) by SCMPDS_5:41
.= s . (intpos m3) by A19, A16, A24, SCMPDS_2:47 ; :: thesis: verum
end;
end;
end;
(Initialize s) . (intpos 2) = s . (intpos 2) by SCMPDS_5:15;
then A25: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 2) = s . (intpos 2) by A9, AMI_3:10, SCMPDS_2:47;
A26: m4 > 2 by A6, XXREAL_0:2;
A27: m3 > 5 by A5, XXREAL_0:2;
A28: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . GBP = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . GBP by SCMPDS_5:41
.= 0 by A5, A14, A19, AMI_3:10, SCMPDS_2:47 ;
then A29: DataLoc (((IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . GBP),5) = intpos (0 + 5) by SCMP_GCD:1;
A30: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . GBP by SCMPDS_5:41
.= 0 by A28, A29, AMI_3:10, SCMPDS_2:48 ;
then A31: GBP <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by AMI_3:10, SCMP_GCD:1;
A32: m3 > 3 by A5, XXREAL_0:2;
then A33: intpos m3 <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by A30, AMI_3:10, SCMP_GCD:1;
A34: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos 3) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos 3) by SCMPDS_5:41
.= m3 by A32, A18, A19, AMI_3:10, SCMPDS_2:47 ;
A35: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos 3) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos 3) by SCMPDS_5:41
.= m3 by A34, A29, AMI_3:10, SCMPDS_2:48 ;
A36: DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) = intpos (0 + 3) by A30, SCMP_GCD:1;
A37: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos 3) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos 3) by SCMPDS_5:41
.= m3 + 1 by A35, A36, SCMPDS_2:48 ;
A38: m3 > 2 by A5, XXREAL_0:2;
A39: m4 > 5 by A6, XXREAL_0:2;
A40: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 2) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos 2) by SCMPDS_5:42
.= s . (intpos 2) by A25, A13, A26, AMI_3:10, SCMPDS_2:47 ;
A41: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos m3) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos m3) by SCMPDS_5:41
.= s . (intpos m4) by A19, A16, SCMPDS_2:47 ;
A42: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos m3) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos m3) by SCMPDS_5:41
.= s . (intpos m4) by A27, A41, A29, AMI_3:10, SCMPDS_2:48 ;
A43: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos m3) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos m3) by SCMPDS_5:41
.= s . (intpos m4) by A42, A33, SCMPDS_2:48 ;
A44: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos m4) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos m4) by SCMPDS_5:41
.= s . (intpos m3) by A39, A22, A29, AMI_3:10, SCMPDS_2:48 ;
A45: intpos m4 <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by A7, A30, AMI_3:10, SCMP_GCD:1;
A46: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos m4) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos m4) by SCMPDS_5:41
.= s . (intpos m3) by A44, A45, SCMPDS_2:48 ;
A47: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos 2) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos 2) by SCMPDS_5:41
.= s . (intpos 2) by A40, A19, A38, AMI_3:10, SCMPDS_2:47 ;
A48: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos 2) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos 2) by SCMPDS_5:41
.= s . (intpos 2) by A47, A29, AMI_3:10, SCMPDS_2:48 ;
A49: intpos 2 <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by A30, AMI_3:10, SCMP_GCD:1;
A50: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos 2) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos 2) by SCMPDS_5:41
.= s . (intpos 2) by A48, A49, SCMPDS_2:48 ;
A51: m4 > 1 by A6, XXREAL_0:2;
A52: DataLoc ((s . GBP),5) = intpos (0 + 5) by A1, SCMP_GCD:1;
(Initialize s) . (intpos 5) = s . (intpos 5) by SCMPDS_5:15;
then A53: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 5) = s . (intpos 5) by A9, AMI_3:10, SCMPDS_2:47;
A54: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 5) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos 5) by SCMPDS_5:42
.= s . (intpos 5) by A39, A53, A13, AMI_3:10, SCMPDS_2:47 ;
A55: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos 5) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos 5) by SCMPDS_5:41
.= s . (intpos 5) by A27, A54, A19, AMI_3:10, SCMPDS_2:47 ;
A56: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos 5) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos 5) by SCMPDS_5:41
.= ((IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos 5)) + (- 2) by A29, SCMPDS_2:48
.= (s . (intpos 5)) - 2 by A55 ;
A57: intpos 5 <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by A30, AMI_3:10, SCMP_GCD:1;
A58: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos 5) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos 5) by SCMPDS_5:41
.= (s . (intpos 5)) - 2 by A56, A57, SCMPDS_2:48 ;
(Initialize s) . (intpos 1) = s . (intpos 1) by SCMPDS_5:15;
then A59: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos 1) = s . (intpos 1) by A9, AMI_3:10, SCMPDS_2:47;
A60: m3 > 1 by A5, XXREAL_0:2;
A61: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . GBP by SCMPDS_5:41
.= 0 by A30, A31, SCMPDS_2:48 ;
then A62: GBP <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by AMI_3:10, SCMP_GCD:1;
A63: m4 > 4 by A6, XXREAL_0:2;
then A64: intpos m4 <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by A61, AMI_3:10, SCMP_GCD:1;
A65: m3 > 4 by A5, XXREAL_0:2;
then A66: intpos m3 <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by A61, AMI_3:10, SCMP_GCD:1;
A67: intpos 4 <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by A30, AMI_3:10, SCMP_GCD:1;
A68: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 4) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos 4) by SCMPDS_5:42
.= m4 by A63, A12, A13, AMI_3:10, SCMPDS_2:47 ;
A69: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos 4) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos 4) by SCMPDS_5:41
.= m4 by A65, A68, A19, AMI_3:10, SCMPDS_2:47 ;
A70: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos 4) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos 4) by SCMPDS_5:41
.= m4 by A69, A29, AMI_3:10, SCMPDS_2:48 ;
A71: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos 4) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos 4) by SCMPDS_5:41
.= m4 by A70, A67, SCMPDS_2:48 ;
A72: intpos 3 <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by A61, AMI_3:10, SCMP_GCD:1;
A73: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos 1) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos 1) by SCMPDS_5:42
.= s . (intpos 1) by A59, A13, A51, AMI_3:10, SCMPDS_2:47 ;
A74: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos 1) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos 1) by SCMPDS_5:41
.= s . (intpos 1) by A73, A19, A60, AMI_3:10, SCMPDS_2:47 ;
A75: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos 1) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos 1) by SCMPDS_5:41
.= s . (intpos 1) by A74, A29, AMI_3:10, SCMPDS_2:48 ;
A76: intpos 1 <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by A30, AMI_3:10, SCMP_GCD:1;
A77: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos 1) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos 1) by SCMPDS_5:41
.= s . (intpos 1) by A75, A76, SCMPDS_2:48 ;
A78: intpos 1 <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by A61, AMI_3:10, SCMP_GCD:1;
(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . GBP = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . GBP by SCMPDS_5:41
.= 0 by A61, A62, SCMPDS_2:48 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . GBP = 0 by A2, A52, SCMPDS_6:83; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 1) = s . (intpos 1) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 2) = s . (intpos 2) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos 1) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos 1) by SCMPDS_5:41
.= s . (intpos 1) by A77, A78, SCMPDS_2:48 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 1) = s . (intpos 1) by A2, A52, SCMPDS_6:83; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 2) = s . (intpos 2) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

A79: intpos 2 <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by A61, AMI_3:10, SCMP_GCD:1;
(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos 2) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos 2) by SCMPDS_5:41
.= s . (intpos 2) by A50, A79, SCMPDS_2:48 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 2) = s . (intpos 2) by A2, A52, SCMPDS_6:83; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos m3) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos m3) by SCMPDS_5:41
.= s . (intpos m4) by A43, A66, SCMPDS_2:48 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m3) = s . (intpos m4) by A2, A52, SCMPDS_6:83; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos m4) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos m4) by SCMPDS_5:41
.= s . (intpos m3) by A46, A64, SCMPDS_2:48 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos m4) = s . (intpos m3) by A2, A52, SCMPDS_6:83; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

A80: DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) = intpos (0 + 4) by A61, SCMP_GCD:1;
(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos 3) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos 3) by SCMPDS_5:41
.= m3 + 1 by A37, A72, SCMPDS_2:48 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 3) = (s . (intpos 3)) + 1 by A2, A3, A52, SCMPDS_6:83; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 & (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos 4) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos 4) by SCMPDS_5:41
.= ((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos 4)) + (- 1) by A80, SCMPDS_2:48
.= (s . (intpos 4)) - 1 by A4, A71 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 4) = (s . (intpos 4)) - 1 by A2, A52, SCMPDS_6:83; :: thesis: ( (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) ) )

A81: intpos 5 <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by A61, AMI_3:10, SCMP_GCD:1;
(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos 5) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos 5) by SCMPDS_5:41
.= (s . (intpos 5)) - 2 by A58, A81, SCMPDS_2:48 ;
hence (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos 5) = (s . (intpos 5)) - 2 by A2, A52, SCMPDS_6:83; :: thesis: for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i)

A82: now :: thesis: for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos i) = s . (intpos i)
let i be Nat; :: thesis: ( i >= 8 & i <> m3 & i <> m4 implies (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos i) = s . (intpos i) )
assume that
A83: i >= 8 and
i <> m3 and
i <> m4 ; :: thesis: (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos i) = s . (intpos i)
i > 6 by A83, XXREAL_0:2;
hence (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos i) = (Initialize s) . (intpos i) by A9, AMI_3:10, SCMPDS_2:47
.= s . (intpos i) by SCMPDS_5:15 ;
:: thesis: verum
end;
A84: now :: thesis: for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos i) = s . (intpos i)
let i be Nat; :: thesis: ( i >= 8 & i <> m3 & i <> m4 implies (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos i) = s . (intpos i) )
assume that
A85: i >= 8 and
A86: i <> m3 and
A87: i <> m4 ; :: thesis: (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos i) = s . (intpos i)
thus (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos i) = (Exec ((((intpos 4),0) := ((intpos 3),0)),(Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))))) . (intpos i) by SCMPDS_5:42
.= (Exec (((GBP,6) := ((intpos 4),0)),(Initialize s))) . (intpos i) by A13, A87, AMI_3:10, SCMPDS_2:47
.= s . (intpos i) by A82, A85, A86, A87 ; :: thesis: verum
end;
A88: now :: thesis: for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos i) = s . (intpos i)
let i be Nat; :: thesis: ( i >= 8 & i <> m3 & i <> m4 implies (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos i) = s . (intpos i) )
assume that
A89: i >= 8 and
A90: i <> m3 and
A91: i <> m4 ; :: thesis: (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos i) = s . (intpos i)
thus (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos i) = (Exec ((((intpos 3),0) := (GBP,6)),(IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))))) . (intpos i) by SCMPDS_5:41
.= (IExec ((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))),P,(Initialize s))) . (intpos i) by A19, A90, AMI_3:10, SCMPDS_2:47
.= s . (intpos i) by A84, A89, A90, A91 ; :: thesis: verum
end;
A92: now :: thesis: for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos i) = s . (intpos i)
let i be Nat; :: thesis: ( i >= 8 & i <> m3 & i <> m4 implies (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos i) = s . (intpos i) )
assume that
A93: i >= 8 and
A94: i <> m3 and
A95: i <> m4 ; :: thesis: (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos i) = s . (intpos i)
A96: i > 5 by A93, XXREAL_0:2;
thus (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos i) = (Exec ((AddTo (GBP,5,(- 2))),(IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))))) . (intpos i) by SCMPDS_5:41
.= (IExec (((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))),P,(Initialize s))) . (intpos i) by A29, A96, AMI_3:10, SCMPDS_2:48
.= s . (intpos i) by A88, A93, A94, A95 ; :: thesis: verum
end;
A97: now :: thesis: for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos i) = s . (intpos i)
let i be Nat; :: thesis: ( i >= 8 & i <> m3 & i <> m4 implies (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos i) = s . (intpos i) )
assume that
A98: i >= 8 and
A99: i <> m3 and
A100: i <> m4 ; :: thesis: (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos i) = s . (intpos i)
i > 3 by A98, XXREAL_0:2;
then A101: intpos i <> DataLoc (((IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . GBP),3) by A30, AMI_3:10, SCMP_GCD:1;
thus (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos i) = (Exec ((AddTo (GBP,3,1)),(IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))))) . (intpos i) by SCMPDS_5:41
.= (IExec ((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))),P,(Initialize s))) . (intpos i) by A101, SCMPDS_2:48
.= s . (intpos i) by A92, A98, A99, A100 ; :: thesis: verum
end;
A102: now :: thesis: for i being Nat st i >= 8 & i <> m3 & i <> m4 holds
(IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos i) = s . (intpos i)
let i be Nat; :: thesis: ( i >= 8 & i <> m3 & i <> m4 implies (IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos i) = s . (intpos i) )
assume that
A103: i >= 8 and
A104: i <> m3 and
A105: i <> m4 ; :: thesis: (IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos i) = s . (intpos i)
i > 4 by A103, XXREAL_0:2;
then A106: intpos i <> DataLoc (((IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . GBP),4) by A61, AMI_3:10, SCMP_GCD:1;
thus (IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos i) = (Exec ((AddTo (GBP,4,(- 1))),(IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))))) . (intpos i) by SCMPDS_5:41
.= (IExec (((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))),P,(Initialize s))) . (intpos i) by A106, SCMPDS_2:48
.= s . (intpos i) by A97, A103, A104, A105 ; :: thesis: verum
end;
hereby :: thesis: verum
let i be Nat; :: thesis: ( i >= 8 & i <> m3 & i <> m4 implies (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i) )
assume that
A107: i >= 8 and
A108: i <> m3 and
A109: i <> m4 ; :: thesis: (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = s . (intpos i)
thus (IExec ((if>0 (GBP,5,(((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))))),P,(Initialize s))) . (intpos i) = (IExec ((((((((GBP,6) := ((intpos 4),0)) ';' (((intpos 4),0) := ((intpos 3),0))) ';' (((intpos 3),0) := (GBP,6))) ';' (AddTo (GBP,5,(- 2)))) ';' (AddTo (GBP,3,1))) ';' (AddTo (GBP,4,(- 1)))),P,(Initialize s))) . (intpos i) by A2, A52, SCMPDS_6:83
.= s . (intpos i) by A102, A107, A108, A109 ; :: thesis: verum
end;