let s be State of SCMPDS ; :: thesis: for k1, k2 being Integer
for a, b being Int_position holds
( (Exec (Divide a,k1,b,k2),s) . (IC SCMPDS ) = succ (IC s) & ( DataLoc (s . a),k1 <> DataLoc (s . b),k2 implies (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . a),k1) = (s . (DataLoc (s . a),k1)) div (s . (DataLoc (s . b),k2)) ) & (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . b),k2) = (s . (DataLoc (s . a),k1)) mod (s . (DataLoc (s . b),k2)) & ( for c being Int_position st c <> DataLoc (s . a),k1 & c <> DataLoc (s . b),k2 holds
(Exec (Divide a,k1,b,k2),s) . c = s . c ) )

let k1, k2 be Integer; :: thesis: for a, b being Int_position holds
( (Exec (Divide a,k1,b,k2),s) . (IC SCMPDS ) = succ (IC s) & ( DataLoc (s . a),k1 <> DataLoc (s . b),k2 implies (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . a),k1) = (s . (DataLoc (s . a),k1)) div (s . (DataLoc (s . b),k2)) ) & (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . b),k2) = (s . (DataLoc (s . a),k1)) mod (s . (DataLoc (s . b),k2)) & ( for c being Int_position st c <> DataLoc (s . a),k1 & c <> DataLoc (s . b),k2 holds
(Exec (Divide a,k1,b,k2),s) . c = s . c ) )

let a, b be Int_position ; :: thesis: ( (Exec (Divide a,k1,b,k2),s) . (IC SCMPDS ) = succ (IC s) & ( DataLoc (s . a),k1 <> DataLoc (s . b),k2 implies (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . a),k1) = (s . (DataLoc (s . a),k1)) div (s . (DataLoc (s . b),k2)) ) & (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . b),k2) = (s . (DataLoc (s . a),k1)) mod (s . (DataLoc (s . b),k2)) & ( for c being Int_position st c <> DataLoc (s . a),k1 & c <> DataLoc (s . b),k2 holds
(Exec (Divide a,k1,b,k2),s) . c = s . c ) )

reconsider S = s as SCMPDS-State by PBOOLE:155;
reconsider da = a, db = b as Element of SCM-Data-Loc by Def2;
reconsider I = Divide a,k1,b,k2 as Element of SCMPDS-Instr ;
set A2 = Address_Add S,(I P41address ),(I P43const );
set A4 = Address_Add S,(I P42address ),(I P44const );
set S1 = SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))));
set S2 = SCM-Chg (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))))),(Address_Add S,(I P42address ),(I P44const )),((S . (Address_Add S,(I P41address ),(I P43const ))) mod (S . (Address_Add S,(I P42address ),(I P44const ))));
reconsider i = 12 as Element of Segm 14 by NAT_1:45;
set Da = DataLoc (s . a),k1;
set Db = DataLoc (s . b),k2;
A1: I = [i,<*da,db,k1,k2*>] ;
then A2: ( I P41address = da & I P43const = k1 ) by SCMPDS_1:37;
A3: Exec (Divide a,k1,b,k2),s = SCM-Exec-Res I,S by SCMPDS_1:def 25
.= SCM-Chg (SCM-Chg (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))))),(Address_Add S,(I P42address ),(I P44const )),((S . (Address_Add S,(I P41address ),(I P43const ))) mod (S . (Address_Add S,(I P42address ),(I P44const ))))),(succ (IC S)) by A1, SCMPDS_1:def 24 ;
hence (Exec (Divide a,k1,b,k2),s) . (IC SCMPDS ) = succ (IC s) by Th6, SCMPDS_1:26; :: thesis: ( ( DataLoc (s . a),k1 <> DataLoc (s . b),k2 implies (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . a),k1) = (s . (DataLoc (s . a),k1)) div (s . (DataLoc (s . b),k2)) ) & (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . b),k2) = (s . (DataLoc (s . a),k1)) mod (s . (DataLoc (s . b),k2)) & ( for c being Int_position st c <> DataLoc (s . a),k1 & c <> DataLoc (s . b),k2 holds
(Exec (Divide a,k1,b,k2),s) . c = s . c ) )

A4: ( I P42address = db & I P44const = k2 ) by A1, SCMPDS_1:37;
hereby :: thesis: ( (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . b),k2) = (s . (DataLoc (s . a),k1)) mod (s . (DataLoc (s . b),k2)) & ( for c being Int_position st c <> DataLoc (s . a),k1 & c <> DataLoc (s . b),k2 holds
(Exec (Divide a,k1,b,k2),s) . c = s . c ) )
reconsider mn = DataLoc (s . a),k1 as Element of SCM-Data-Loc by Def2;
assume A5: DataLoc (s . a),k1 <> DataLoc (s . b),k2 ; :: thesis: (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . a),k1) = (s . (DataLoc (s . a),k1)) div (s . (DataLoc (s . b),k2))
thus (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . a),k1) = (SCM-Chg (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))))),(Address_Add S,(I P42address ),(I P44const )),((S . (Address_Add S,(I P41address ),(I P43const ))) mod (S . (Address_Add S,(I P42address ),(I P44const ))))) . mn by A3, SCMPDS_1:27
.= (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))))) . (Address_Add S,(I P41address ),(I P43const )) by A2, A4, A5, SCMPDS_1:31
.= (s . (DataLoc (s . a),k1)) div (s . (DataLoc (s . b),k2)) by A2, A4, SCMPDS_1:30 ; :: thesis: verum
end;
thus (Exec (Divide a,k1,b,k2),s) . (DataLoc (s . b),k2) = (SCM-Chg (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))))),(Address_Add S,(I P42address ),(I P44const )),((S . (Address_Add S,(I P41address ),(I P43const ))) mod (S . (Address_Add S,(I P42address ),(I P44const ))))) . (Address_Add S,(I P42address ),(I P44const )) by A3, A4, SCMPDS_1:27
.= (s . (DataLoc (s . a),k1)) mod (s . (DataLoc (s . b),k2)) by A2, A4, SCMPDS_1:30 ; :: thesis: for c being Int_position st c <> DataLoc (s . a),k1 & c <> DataLoc (s . b),k2 holds
(Exec (Divide a,k1,b,k2),s) . c = s . c

let c be Int_position ; :: thesis: ( c <> DataLoc (s . a),k1 & c <> DataLoc (s . b),k2 implies (Exec (Divide a,k1,b,k2),s) . c = s . c )
reconsider mn = c as Element of SCM-Data-Loc by Def2;
assume that
A6: c <> DataLoc (s . a),k1 and
A7: c <> DataLoc (s . b),k2 ; :: thesis: (Exec (Divide a,k1,b,k2),s) . c = s . c
thus (Exec (Divide a,k1,b,k2),s) . c = (SCM-Chg (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))))),(Address_Add S,(I P42address ),(I P44const )),((S . (Address_Add S,(I P41address ),(I P43const ))) mod (S . (Address_Add S,(I P42address ),(I P44const ))))) . mn by A3, SCMPDS_1:27
.= (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),((S . (Address_Add S,(I P41address ),(I P43const ))) div (S . (Address_Add S,(I P42address ),(I P44const ))))) . mn by A4, A7, SCMPDS_1:31
.= s . c by A2, A6, SCMPDS_1:31 ; :: thesis: verum