let s be State of SCMPDS ; for i being Instruction of SCMPDS
for l being Element of NAT holds (Exec i,s) . l = s . l
let i be Instruction of SCMPDS ; for l being Element of NAT holds (Exec i,s) . l = s . l
let l be Element of NAT ; (Exec i,s) . l = s . l
reconsider c = i as Element of SCMPDS-Instr ;
reconsider S = s as Element of product SCMPDS-OK by PBOOLE:155;
reconsider l9 = l as Element of NAT ;
now per cases
( c in { [0 ,{} ,<*k1*>] where k1 is Element of INT : verum } or c in { [1,{} ,<*d1*>] where d1 is Element of SCM-Data-Loc : verum } or c in { [I1,{} ,<*d2,k2*>] where I1 is Element of Segm 14, d2 is Element of SCM-Data-Loc , k2 is Element of INT : I1 in {2,3} } or c in { [I2,{} ,<*d3,k3,k4*>] where I2 is Element of Segm 14, d3 is Element of SCM-Data-Loc , k3, k4 is Element of INT : I2 in {4,5,6,7,8} } or c in { [I3,{} ,<*d4,d5,k5,k6*>] where I3 is Element of Segm 14, d4, d5 is Element of SCM-Data-Loc , k5, k6 is Element of INT : I3 in {9,10,11,12,13} } )
by Lm1;
case A1:
c in { [1,{} ,<*d1*>] where d1 is Element of SCM-Data-Loc : verum }
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(c address_1 ),
(S . (Address_Add S,(c address_1 ),RetSP ));
ex
d1 being
Element of
SCM-Data-Loc st
c = [1,{} ,<*d1*>]
by A1;
hence (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(c address_1 ),(S . (Address_Add S,(c address_1 ),RetSP ))),(PopInstrLoc S,(Address_Add S,(c address_1 ),RetIC ))) . l9
by SCMPDS_1:def 24
.=
(SCM-Chg S,(c address_1 ),(S . (Address_Add S,(c address_1 ),RetSP ))) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; case A2:
c in { [I1,{} ,<*d2,k2*>] where I1 is Element of Segm 14, d2 is Element of SCM-Data-Loc , k2 is Element of INT : I1 in {2,3} }
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(c P21address ),
(c P22const );
consider I1 being
Element of
Segm 14,
d1 being
Element of
SCM-Data-Loc ,
k1 being
Element of
INT such that A3:
c = [I1,{} ,<*d1,k1*>]
and A4:
I1 in {2,3}
by A2;
now per cases
( I1 = 2 or I1 = 3 )
by A4, TARSKI:def 2;
case A5:
I1 = 3
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(Address_Add S,(c P21address ),(c P22const )),
(IC S);
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P21address ),(c P22const )),(IC S)),(succ (IC S))) . l9
by A3, A5, SCMPDS_1:def 24
.=
(SCM-Chg S,(Address_Add S,(c P21address ),(c P22const )),(IC S)) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; end; end; hence
(SCM-Exec-Res c,S) . l9 = S . l9
;
verum end; case
c in { [I2,{} ,<*d3,k3,k4*>] where I2 is Element of Segm 14, d3 is Element of SCM-Data-Loc , k3, k4 is Element of INT : I2 in {4,5,6,7,8} }
;
(SCM-Exec-Res c,S) . l9 = S . l9then consider I1 being
Element of
Segm 14,
d1 being
Element of
SCM-Data-Loc ,
k1,
k2 being
Element of
INT such that A6:
c = [I1,{} ,<*d1,k1,k2*>]
and A7:
I1 in {4,5,6,7,8}
;
now per cases
( I1 = 4 or I1 = 5 or I1 = 6 or I1 = 7 or I1 = 8 )
by A7, ENUMSET1:def 3;
case A8:
I1 = 7
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(Address_Add S,(c P31address ),(c P32const )),
(c P33const );
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P31address ),(c P32const )),(c P33const )),(succ (IC S))) . l9
by A6, A8, SCMPDS_1:def 24
.=
(SCM-Chg S,(Address_Add S,(c P31address ),(c P32const )),(c P33const )) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; case A9:
I1 = 8
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(Address_Add S,(c P31address ),(c P32const )),
((S . (Address_Add S,(c P31address ),(c P32const ))) + (c P33const ));
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P31address ),(c P32const )),((S . (Address_Add S,(c P31address ),(c P32const ))) + (c P33const ))),(succ (IC S))) . l9
by A6, A9, SCMPDS_1:def 24
.=
(SCM-Chg S,(Address_Add S,(c P31address ),(c P32const )),((S . (Address_Add S,(c P31address ),(c P32const ))) + (c P33const ))) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; end; end; hence
(SCM-Exec-Res c,S) . l9 = S . l9
;
verum end; case
c in { [I3,{} ,<*d4,d5,k5,k6*>] where I3 is Element of Segm 14, d4, d5 is Element of SCM-Data-Loc , k5, k6 is Element of INT : I3 in {9,10,11,12,13} }
;
(SCM-Exec-Res c,S) . l9 = S . l9then consider I1 being
Element of
Segm 14,
d1,
d2 being
Element of
SCM-Data-Loc ,
k1,
k2 being
Element of
INT such that A10:
c = [I1,{} ,<*d1,d2,k1,k2*>]
and A11:
I1 in {9,10,11,12,13}
;
now per cases
( I1 = 9 or I1 = 10 or I1 = 11 or I1 = 12 or I1 = 13 )
by A11, ENUMSET1:def 3;
case A12:
I1 = 9
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(Address_Add S,(c P41address ),(c P43const )),
((S . (Address_Add S,(c P41address ),(c P43const ))) + (S . (Address_Add S,(c P42address ),(c P44const ))));
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) + (S . (Address_Add S,(c P42address ),(c P44const ))))),(succ (IC S))) . l9
by A10, A12, SCMPDS_1:def 24
.=
(SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) + (S . (Address_Add S,(c P42address ),(c P44const ))))) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; case A13:
I1 = 10
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(Address_Add S,(c P41address ),(c P43const )),
((S . (Address_Add S,(c P41address ),(c P43const ))) - (S . (Address_Add S,(c P42address ),(c P44const ))));
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) - (S . (Address_Add S,(c P42address ),(c P44const ))))),(succ (IC S))) . l9
by A10, A13, SCMPDS_1:def 24
.=
(SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) - (S . (Address_Add S,(c P42address ),(c P44const ))))) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; case A14:
I1 = 11
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(Address_Add S,(c P41address ),(c P43const )),
((S . (Address_Add S,(c P41address ),(c P43const ))) * (S . (Address_Add S,(c P42address ),(c P44const ))));
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) * (S . (Address_Add S,(c P42address ),(c P44const ))))),(succ (IC S))) . l9
by A10, A14, SCMPDS_1:def 24
.=
(SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) * (S . (Address_Add S,(c P42address ),(c P44const ))))) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; case A15:
I1 = 12
;
(SCM-Exec-Res c,S) . l9 = S . l9set SA =
SCM-Chg S,
(Address_Add S,(c P41address ),(c P43const )),
((S . (Address_Add S,(c P41address ),(c P43const ))) div (S . (Address_Add S,(c P42address ),(c P44const ))));
set SB =
SCM-Chg (SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) div (S . (Address_Add S,(c P42address ),(c P44const ))))),
(Address_Add S,(c P42address ),(c P44const )),
((S . (Address_Add S,(c P41address ),(c P43const ))) mod (S . (Address_Add S,(c P42address ),(c P44const ))));
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg (SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) div (S . (Address_Add S,(c P42address ),(c P44const ))))),(Address_Add S,(c P42address ),(c P44const )),((S . (Address_Add S,(c P41address ),(c P43const ))) mod (S . (Address_Add S,(c P42address ),(c P44const ))))),(succ (IC S))) . l9
by A10, A15, SCMPDS_1:def 24
.=
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) div (S . (Address_Add S,(c P42address ),(c P44const ))))),(Address_Add S,(c P42address ),(c P44const )),((S . (Address_Add S,(c P41address ),(c P43const ))) mod (S . (Address_Add S,(c P42address ),(c P44const ))))) . l9
by SCMPDS_1:28
.=
(SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),((S . (Address_Add S,(c P41address ),(c P43const ))) div (S . (Address_Add S,(c P42address ),(c P44const ))))) . l9
by SCMPDS_1:32
.=
S . l9
by SCMPDS_1:32
;
verum end; case A16:
I1 = 13
;
(SCM-Exec-Res c,S) . l9 = S . l9set SS =
SCM-Chg S,
(Address_Add S,(c P41address ),(c P43const )),
(S . (Address_Add S,(c P42address ),(c P44const )));
thus (SCM-Exec-Res c,S) . l9 =
(SCM-Chg (SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),(S . (Address_Add S,(c P42address ),(c P44const )))),(succ (IC S))) . l9
by A10, A16, SCMPDS_1:def 24
.=
(SCM-Chg S,(Address_Add S,(c P41address ),(c P43const )),(S . (Address_Add S,(c P42address ),(c P44const )))) . l9
by SCMPDS_1:28
.=
S . l9
by SCMPDS_1:32
;
verum end; end; end; hence
(SCM-Exec-Res c,S) . l9 = S . l9
;
verum end; end; end;
hence
(Exec i,s) . l = s . l
by SCMPDS_1:def 25; verum