let P be Instruction-Sequence of SCMPDS; :: thesis: for s being 0 -started State of SCMPDS

for I being Program of SCMPDS

for a, b being Int_position

for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let s be 0 -started State of SCMPDS; :: thesis: for I being Program of SCMPDS

for a, b being Int_position

for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let I be Program of SCMPDS; :: thesis: for a, b being Int_position

for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let a, b be Int_position; :: thesis: for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let i be Integer; :: thesis: ( s . (DataLoc ((s . a),i)) <= 0 implies (IExec ((while>0 (a,i,I)),P,s)) . b = s . b )

assume s . (DataLoc ((s . a),i)) <= 0 ; :: thesis: (IExec ((while>0 (a,i,I)),P,s)) . b = s . b

then A1: IExec ((while>0 (a,i,I)),P,s) = s +* (Start-At (((card I) + 2),SCMPDS)) by Th19;

not b in dom (Start-At (((card I) + 2),SCMPDS)) by SCMPDS_4:18;

hence (IExec ((while>0 (a,i,I)),P,s)) . b = s . b by A1, FUNCT_4:11; :: thesis: verum

for I being Program of SCMPDS

for a, b being Int_position

for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let s be 0 -started State of SCMPDS; :: thesis: for I being Program of SCMPDS

for a, b being Int_position

for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let I be Program of SCMPDS; :: thesis: for a, b being Int_position

for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let a, b be Int_position; :: thesis: for i being Integer st s . (DataLoc ((s . a),i)) <= 0 holds

(IExec ((while>0 (a,i,I)),P,s)) . b = s . b

let i be Integer; :: thesis: ( s . (DataLoc ((s . a),i)) <= 0 implies (IExec ((while>0 (a,i,I)),P,s)) . b = s . b )

assume s . (DataLoc ((s . a),i)) <= 0 ; :: thesis: (IExec ((while>0 (a,i,I)),P,s)) . b = s . b

then A1: IExec ((while>0 (a,i,I)),P,s) = s +* (Start-At (((card I) + 2),SCMPDS)) by Th19;

not b in dom (Start-At (((card I) + 2),SCMPDS)) by SCMPDS_4:18;

hence (IExec ((while>0 (a,i,I)),P,s)) . b = s . b by A1, FUNCT_4:11; :: thesis: verum