set a = GBP ;
let s be State of SCMPDS ; for m3, m4 being Element of 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)))),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)))),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)))),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)))),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)))),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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),s) . (intpos i) = s . (intpos i) ) )
let m3, m4 be Element of NAT ; ( 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)))),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)))),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)))),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)))),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)))),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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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
; ( (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)))),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)))),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)))),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)))),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)))),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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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))),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)),s;
set t3 = IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),s;
set t4 = IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s;
set t5 = IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s;
set t6 = Exec (GBP ,6 := (intpos 4),0 ),(Initialize s);
A8:
(Initialize s) . GBP = 0
by A1, SCMPDS_5:40;
then A9:
DataLoc ((Initialize s) . GBP ),6 = intpos (0 + 6)
by SCMP_GCD:5;
then A10:
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . GBP = 0
by A8, AMI_3:52, SCMPDS_2:59;
A11:
(Initialize s) . (intpos 4) = m4
by A4, SCMPDS_5:40;
then A12:
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 4) = m4
by A9, AMI_3:52, SCMPDS_2:59;
then A13:
DataLoc ((Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 4)),0 = intpos (m4 + 0 )
by SCMP_GCD:5;
A14: (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . GBP =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . GBP
by SCMPDS_5:47
.=
0
by A6, A10, A13, AMI_3:52, SCMPDS_2:59
;
A15: (Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 6) =
(Initialize s) . (DataLoc ((Initialize s) . (intpos 4)),0 )
by A9, SCMPDS_2:59
.=
(Initialize s) . (intpos (m4 + 0 ))
by A11, SCMP_GCD:5
.=
s . (intpos m4)
by SCMPDS_5:40
;
(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 6) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos 6)
by SCMPDS_5:47
.=
s . (intpos m4)
by A6, A15, A13, AMI_3:52, SCMPDS_2:59
;
then A16:
(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (DataLoc ((IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . GBP ),6) = s . (intpos m4)
by A14, SCMP_GCD:5;
(Initialize s) . (intpos 3) = m3
by A3, SCMPDS_5:40;
then A17:
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 3) = m3
by A9, AMI_3:52, SCMPDS_2:59;
A18: (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 3) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos 3)
by SCMPDS_5:47
.=
m3
by A7, A17, A13, AMI_3:52, SCMPDS_2:59
;
then A19:
DataLoc ((IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 3)),0 = intpos (m3 + 0 )
by SCMP_GCD:5;
A20:
(Initialize s) . (intpos m3) = s . (intpos m3)
by SCMPDS_5:40;
A21: (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos m4) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos m4)
by SCMPDS_5:47
.=
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (DataLoc ((Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 3)),0 )
by A13, SCMPDS_2:59
.=
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos (m3 + 0 ))
by A17, SCMP_GCD:5
.=
s . (intpos m3)
by A5, A20, A9, AMI_3:52, SCMPDS_2:59
;
A22:
now per cases
( intpos m4 <> DataLoc ((IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 3)),0 or intpos m4 = DataLoc ((IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 3)),0 )
;
suppose A23:
intpos m4 <> DataLoc ((IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 3)),
0
;
(IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos m4) = s . (intpos m3)thus (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos m4) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos m4)
by SCMPDS_5:46
.=
s . (intpos m3)
by A21, A23, SCMPDS_2:59
;
verum end; suppose A24:
intpos m4 = DataLoc ((IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 3)),
0
;
(IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos m4) = s . (intpos m3)thus (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos m4) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos m4)
by SCMPDS_5:46
.=
s . (intpos m3)
by A19, A16, A24, SCMPDS_2:59
;
verum end; end; end;
(Initialize s) . (intpos 2) = s . (intpos 2)
by SCMPDS_5:40;
then A25:
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 2) = s . (intpos 2)
by A9, AMI_3:52, SCMPDS_2:59;
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)),s) . GBP =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . GBP
by SCMPDS_5:46
.=
0
by A5, A14, A19, AMI_3:52, SCMPDS_2:59
;
then A29:
DataLoc ((IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . GBP ),5 = intpos (0 + 5)
by SCMP_GCD:5;
A30: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),s) . GBP =
(Exec (AddTo GBP ,5,(- 2)),(IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s)) . GBP
by SCMPDS_5:46
.=
0
by A28, A29, AMI_3:52, SCMPDS_2:60
;
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))),s) . GBP ),3
by AMI_3:52, SCMP_GCD:5;
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))),s) . GBP ),3
by A30, AMI_3:52, SCMP_GCD:5;
A34: (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos 3) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos 3)
by SCMPDS_5:46
.=
m3
by A32, A18, A19, AMI_3:52, SCMPDS_2:59
;
A35: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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)),s)) . (intpos 3)
by SCMPDS_5:46
.=
m3
by A34, A29, AMI_3:52, SCMPDS_2:60
;
A36:
DataLoc ((IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),s) . GBP ),3 = intpos (0 + 3)
by A30, SCMP_GCD:5;
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)),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))),s)) . (intpos 3)
by SCMPDS_5:46
.=
m3 + 1
by A35, A36, SCMPDS_2:60
;
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 )),s) . (intpos 2) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos 2)
by SCMPDS_5:47
.=
s . (intpos 2)
by A25, A13, A26, AMI_3:52, SCMPDS_2:59
;
A41: (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos m3) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos m3)
by SCMPDS_5:46
.=
s . (intpos m4)
by A19, A16, SCMPDS_2:59
;
A42: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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)),s)) . (intpos m3)
by SCMPDS_5:46
.=
s . (intpos m4)
by A27, A41, A29, AMI_3:52, SCMPDS_2:60
;
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)),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))),s)) . (intpos m3)
by SCMPDS_5:46
.=
s . (intpos m4)
by A42, A33, SCMPDS_2:60
;
A44: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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)),s)) . (intpos m4)
by SCMPDS_5:46
.=
s . (intpos m3)
by A39, A22, A29, AMI_3:52, SCMPDS_2:60
;
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))),s) . GBP ),3
by A7, A30, AMI_3:52, SCMP_GCD:5;
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)),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))),s)) . (intpos m4)
by SCMPDS_5:46
.=
s . (intpos m3)
by A44, A45, SCMPDS_2:60
;
A47: (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos 2) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos 2)
by SCMPDS_5:46
.=
s . (intpos 2)
by A40, A19, A38, AMI_3:52, SCMPDS_2:59
;
A48: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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)),s)) . (intpos 2)
by SCMPDS_5:46
.=
s . (intpos 2)
by A47, A29, AMI_3:52, SCMPDS_2:60
;
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))),s) . GBP ),3
by A30, AMI_3:52, SCMP_GCD:5;
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)),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))),s)) . (intpos 2)
by SCMPDS_5:46
.=
s . (intpos 2)
by A48, A49, SCMPDS_2:60
;
A51:
m4 > 1
by A6, XXREAL_0:2;
A52:
DataLoc (s . GBP ),5 = intpos (0 + 5)
by A1, SCMP_GCD:5;
(Initialize s) . (intpos 5) = s . (intpos 5)
by SCMPDS_5:40;
then A53:
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 5) = s . (intpos 5)
by A9, AMI_3:52, SCMPDS_2:59;
A54: (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 5) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos 5)
by SCMPDS_5:47
.=
s . (intpos 5)
by A39, A53, A13, AMI_3:52, SCMPDS_2:59
;
A55: (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos 5) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos 5)
by SCMPDS_5:46
.=
s . (intpos 5)
by A27, A54, A19, AMI_3:52, SCMPDS_2:59
;
A56: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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)),s)) . (intpos 5)
by SCMPDS_5:46
.=
((IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos 5)) + (- 2)
by A29, SCMPDS_2:60
.=
(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))),s) . GBP ),3
by A30, AMI_3:52, SCMP_GCD:5;
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)),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))),s)) . (intpos 5)
by SCMPDS_5:46
.=
(s . (intpos 5)) - 2
by A56, A57, SCMPDS_2:60
;
(Initialize s) . (intpos 1) = s . (intpos 1)
by SCMPDS_5:40;
then A59:
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos 1) = s . (intpos 1)
by A9, AMI_3:52, SCMPDS_2:59;
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)),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))),s)) . GBP
by SCMPDS_5:46
.=
0
by A30, A31, SCMPDS_2:60
;
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)),s) . GBP ),4
by AMI_3:52, SCMP_GCD:5;
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)),s) . GBP ),4
by A61, AMI_3:52, SCMP_GCD:5;
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)),s) . GBP ),4
by A61, AMI_3:52, SCMP_GCD:5;
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))),s) . GBP ),3
by A30, AMI_3:52, SCMP_GCD:5;
A68: (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 4) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos 4)
by SCMPDS_5:47
.=
m4
by A63, A12, A13, AMI_3:52, SCMPDS_2:59
;
A69: (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos 4) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos 4)
by SCMPDS_5:46
.=
m4
by A65, A68, A19, AMI_3:52, SCMPDS_2:59
;
A70: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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)),s)) . (intpos 4)
by SCMPDS_5:46
.=
m4
by A69, A29, AMI_3:52, SCMPDS_2:60
;
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)),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))),s)) . (intpos 4)
by SCMPDS_5:46
.=
m4
by A70, A67, SCMPDS_2:60
;
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)),s) . GBP ),4
by A61, AMI_3:52, SCMP_GCD:5;
A73: (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos 1) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos 1)
by SCMPDS_5:47
.=
s . (intpos 1)
by A59, A13, A51, AMI_3:52, SCMPDS_2:59
;
A74: (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos 1) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos 1)
by SCMPDS_5:46
.=
s . (intpos 1)
by A73, A19, A60, AMI_3:52, SCMPDS_2:59
;
A75: (IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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)),s)) . (intpos 1)
by SCMPDS_5:46
.=
s . (intpos 1)
by A74, A29, AMI_3:52, SCMPDS_2:60
;
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))),s) . GBP ),3
by A30, AMI_3:52, SCMP_GCD:5;
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)),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))),s)) . (intpos 1)
by SCMPDS_5:46
.=
s . (intpos 1)
by A75, A76, SCMPDS_2:60
;
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)),s) . GBP ),4
by A61, AMI_3:52, SCMP_GCD:5;
(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))),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)),s)) . GBP
by SCMPDS_5:46
.=
0
by A61, A62, SCMPDS_2:60
;
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)))),s) . GBP = 0
by A2, A52, SCMPDS_6:97; ( (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)))),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)))),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)))),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)))),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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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))),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)),s)) . (intpos 1)
by SCMPDS_5:46
.=
s . (intpos 1)
by A77, A78, SCMPDS_2:60
;
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)))),s) . (intpos 1) = s . (intpos 1)
by A2, A52, SCMPDS_6:97; ( (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)))),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)))),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)))),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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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)),s) . GBP ),4
by A61, AMI_3:52, SCMP_GCD:5;
(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))),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)),s)) . (intpos 2)
by SCMPDS_5:46
.=
s . (intpos 2)
by A50, A79, SCMPDS_2:60
;
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)))),s) . (intpos 2) = s . (intpos 2)
by A2, A52, SCMPDS_6:97; ( (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)))),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)))),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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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))),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)),s)) . (intpos m3)
by SCMPDS_5:46
.=
s . (intpos m4)
by A43, A66, SCMPDS_2:60
;
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)))),s) . (intpos m3) = s . (intpos m4)
by A2, A52, SCMPDS_6:97; ( (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)))),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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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))),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)),s)) . (intpos m4)
by SCMPDS_5:46
.=
s . (intpos m3)
by A46, A64, SCMPDS_2:60
;
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)))),s) . (intpos m4) = s . (intpos m3)
by A2, A52, SCMPDS_6:97; ( (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)))),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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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)),s) . GBP ),4 = intpos (0 + 4)
by A61, SCMP_GCD:5;
(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))),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)),s)) . (intpos 3)
by SCMPDS_5:46
.=
m3 + 1
by A37, A72, SCMPDS_2:60
;
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)))),s) . (intpos 3) = (s . (intpos 3)) + 1
by A2, A3, A52, SCMPDS_6:97; ( (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)))),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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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))),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)),s)) . (intpos 4)
by SCMPDS_5:46
.=
((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)),s) . (intpos 4)) + (- 1)
by A80, SCMPDS_2:60
.=
(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)))),s) . (intpos 4) = (s . (intpos 4)) - 1
by A2, A52, SCMPDS_6:97; ( (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)))),s) . (intpos 5) = (s . (intpos 5)) - 2 & ( for i being Element of 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)))),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)),s) . GBP ),4
by A61, AMI_3:52, SCMP_GCD:5;
(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))),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)),s)) . (intpos 5)
by SCMPDS_5:46
.=
(s . (intpos 5)) - 2
by A58, A81, SCMPDS_2:60
;
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)))),s) . (intpos 5) = (s . (intpos 5)) - 2
by A2, A52, SCMPDS_6:97; for i being Element of 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)))),s) . (intpos i) = s . (intpos i)
A82:
now let i be
Element of
NAT ;
( 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
;
(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:52, SCMPDS_2:59
.=
s . (intpos i)
by SCMPDS_5:40
;
verum end;
A84:
now let i be
Element of
NAT ;
( i >= 8 & i <> m3 & i <> m4 implies (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos i) = s . (intpos i) )assume that A85:
i >= 8
and A86:
i <> m3
and A87:
i <> m4
;
(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos i) = s . (intpos i)thus (IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos i) =
(Exec ((intpos 4),0 := (intpos 3),0 ),(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s))) . (intpos i)
by SCMPDS_5:47
.=
(Exec (GBP ,6 := (intpos 4),0 ),(Initialize s)) . (intpos i)
by A13, A87, AMI_3:52, SCMPDS_2:59
.=
s . (intpos i)
by A82, A85, A86, A87
;
verum end;
A88:
now let i be
Element of
NAT ;
( i >= 8 & i <> m3 & i <> m4 implies (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos i) = s . (intpos i) )assume that A89:
i >= 8
and A90:
i <> m3
and A91:
i <> m4
;
(IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos i) = s . (intpos i)thus (IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos i) =
(Exec ((intpos 3),0 := GBP ,6),(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s)) . (intpos i)
by SCMPDS_5:46
.=
(IExec ((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )),s) . (intpos i)
by A19, A90, AMI_3:52, SCMPDS_2:59
.=
s . (intpos i)
by A84, A89, A90, A91
;
verum end;
A92:
now let i be
Element of
NAT ;
( 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))),s) . (intpos i) = s . (intpos i) )assume that A93:
i >= 8
and A94:
i <> m3
and A95:
i <> m4
;
(IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),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))),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)),s)) . (intpos i)
by SCMPDS_5:46
.=
(IExec (((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)),s) . (intpos i)
by A29, A96, AMI_3:52, SCMPDS_2:60
.=
s . (intpos i)
by A88, A93, A94, A95
;
verum end;
A97:
now let i be
Element of
NAT ;
( 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)),s) . (intpos i) = s . (intpos i) )assume that A98:
i >= 8
and A99:
i <> m3
and A100:
i <> m4
;
(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)),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))),s) . GBP ),3
by A30, AMI_3:52, SCMP_GCD:5;
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)),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))),s)) . (intpos i)
by SCMPDS_5:46
.=
(IExec ((((GBP ,6 := (intpos 4),0 ) ';' ((intpos 4),0 := (intpos 3),0 )) ';' ((intpos 3),0 := GBP ,6)) ';' (AddTo GBP ,5,(- 2))),s) . (intpos i)
by A101, SCMPDS_2:60
.=
s . (intpos i)
by A92, A98, A99, A100
;
verum end;
A102:
now let i be
Element of
NAT ;
( 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))),s) . (intpos i) = s . (intpos i) )assume that A103:
i >= 8
and A104:
i <> m3
and A105:
i <> m4
;
(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))),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)),s) . GBP ),4
by A61, AMI_3:52, SCMP_GCD:5;
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))),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)),s)) . (intpos i)
by SCMPDS_5:46
.=
(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)),s) . (intpos i)
by A106, SCMPDS_2:60
.=
s . (intpos i)
by A97, A103, A104, A105
;
verum end;
hereby verum
let i be
Element of
NAT ;
( 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)))),s) . (intpos i) = s . (intpos i) )assume that A107:
i >= 8
and A108:
i <> m3
and A109:
i <> 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)))),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)))),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))),s) . (intpos i)
by A2, A52, SCMPDS_6:97
.=
s . (intpos i)
by A102, A107, A108, A109
;
verum
end;