let s be State of SCMPDS; for a being Int_position holds
( (Exec ((return a),s)) . (IC ) = (abs (s . (DataLoc ((s . a),RetIC)))) + 2 & (Exec ((return a),s)) . a = s . (DataLoc ((s . a),RetSP)) & ( for b being Int_position st a <> b holds
(Exec ((return a),s)) . b = s . b ) )
let a be Int_position; ( (Exec ((return a),s)) . (IC ) = (abs (s . (DataLoc ((s . a),RetIC)))) + 2 & (Exec ((return a),s)) . a = s . (DataLoc ((s . a),RetSP)) & ( for b being Int_position st a <> b holds
(Exec ((return a),s)) . b = s . b ) )
reconsider S = s as SCM-State by CARD_3:107;
reconsider da = a as Element of SCM-Data-Loc by AMI_2:def 16;
reconsider I = return a as Element of SCMPDS-Instr ;
set A1 = Address_Add (S,(I address_1),RetSP);
set S1 = SCM-Chg (S,(I address_1),(S . (Address_Add (S,(I address_1),RetSP))));
set A2 = Address_Add (S,(I address_1),RetIC);
set lc = PopInstrLoc (S,(Address_Add (S,(I address_1),RetIC)));
reconsider i = 1 as Element of Segm 15 by NAT_1:44;
I = [i,{},<*da*>]
;
then A1:
I address_1 = da
by SCMPDS_I:3;
A2:
InsCode I = 1
by RECDEF_2:def 1;
A3: Exec ((return a),s) =
SCM-Exec-Res (I,S)
by SCMPDS_1:def 23
.=
SCM-Chg ((SCM-Chg (S,(I address_1),(S . (Address_Add (S,(I address_1),RetSP))))),(PopInstrLoc (S,(Address_Add (S,(I address_1),RetIC)))))
by A2, SCMPDS_1:def 22
;
hence
(Exec ((return a),s)) . (IC ) = (abs (s . (DataLoc ((s . a),RetIC)))) + 2
by A1, Th2, AMI_2:11; ( (Exec ((return a),s)) . a = s . (DataLoc ((s . a),RetSP)) & ( for b being Int_position st a <> b holds
(Exec ((return a),s)) . b = s . b ) )
thus (Exec ((return a),s)) . a =
(SCM-Chg (S,(I address_1),(S . (Address_Add (S,(I address_1),RetSP))))) . da
by A3, AMI_2:12
.=
s . (DataLoc ((s . a),RetSP))
by A1, AMI_2:15
; for b being Int_position st a <> b holds
(Exec ((return a),s)) . b = s . b
let b be Int_position; ( a <> b implies (Exec ((return a),s)) . b = s . b )
reconsider mn = b as Element of SCM-Data-Loc by AMI_2:def 16;
assume A4:
b <> a
; (Exec ((return a),s)) . b = s . b
thus (Exec ((return a),s)) . b =
(SCM-Chg (S,(I address_1),(S . (Address_Add (S,(I address_1),RetSP))))) . mn
by A3, AMI_2:12
.=
s . b
by A1, A4, AMI_2:16
; verum