let a be Int_position ; :: thesis: for s being State of SCMPDS
for P being the Instructions of SCMPDS -valued ManySortedSet of NAT
for I being halt-free Program of SCMPDS
for J being shiftable Program of SCMPDS st I is_closed_on s,P & I is_halting_on s,P & J is_closed_on IExec (I,P,s),P & J is_halting_on IExec (I,P,s),P holds
(IExec ((I ';' J),P,s)) . a = (IExec (J,P,(IExec (I,P,s)))) . a

let s be State of SCMPDS; :: thesis: for P being the Instructions of SCMPDS -valued ManySortedSet of NAT
for I being halt-free Program of SCMPDS
for J being shiftable Program of SCMPDS st I is_closed_on s,P & I is_halting_on s,P & J is_closed_on IExec (I,P,s),P & J is_halting_on IExec (I,P,s),P holds
(IExec ((I ';' J),P,s)) . a = (IExec (J,P,(IExec (I,P,s)))) . a

let P be the Instructions of SCMPDS -valued ManySortedSet of NAT ; :: thesis: for I being halt-free Program of SCMPDS
for J being shiftable Program of SCMPDS st I is_closed_on s,P & I is_halting_on s,P & J is_closed_on IExec (I,P,s),P & J is_halting_on IExec (I,P,s),P holds
(IExec ((I ';' J),P,s)) . a = (IExec (J,P,(IExec (I,P,s)))) . a

let I be halt-free Program of SCMPDS; :: thesis: for J being shiftable Program of SCMPDS st I is_closed_on s,P & I is_halting_on s,P & J is_closed_on IExec (I,P,s),P & J is_halting_on IExec (I,P,s),P holds
(IExec ((I ';' J),P,s)) . a = (IExec (J,P,(IExec (I,P,s)))) . a

let J be shiftable Program of SCMPDS; :: thesis: ( I is_closed_on s,P & I is_halting_on s,P & J is_closed_on IExec (I,P,s),P & J is_halting_on IExec (I,P,s),P implies (IExec ((I ';' J),P,s)) . a = (IExec (J,P,(IExec (I,P,s)))) . a )
assume that
A1: I is_closed_on s,P and
A2: I is_halting_on s,P and
A3: J is_closed_on IExec (I,P,s),P and
A4: J is_halting_on IExec (I,P,s),P ; :: thesis: (IExec ((I ';' J),P,s)) . a = (IExec (J,P,(IExec (I,P,s)))) . a
A5: not a in dom (Start-At (((IC (IExec (J,P,(IExec (I,P,s))))) + (card I)),SCMPDS)) by SCMPDS_4:59;
IExec ((I ';' J),P,s) = IncIC ((IExec (J,P,(IExec (I,P,s)))),(card I)) by A1, A2, A3, A4, Th48;
hence (IExec ((I ';' J),P,s)) . a = (IExec (J,P,(IExec (I,P,s)))) . a by A5, FUNCT_4:12; :: thesis: verum