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 ) = 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 ) = 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 ) = 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 SCM-State by CARD_3:107;
reconsider da = a, db = b as Element of SCM-Data-Loc by AMI_2:def 16;
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 15 by NAT_1:44;
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_I:7;
A3: InsCode I = 12 by RECDEF_2:def 1;
A4: Exec ((Divide (a,k1,b,k2)),s) = SCM-Exec-Res (I,S) by SCMPDS_1:def 23
.= 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 A3, SCMPDS_1:def 22 ;
hence (Exec ((Divide (a,k1,b,k2)),s)) . (IC ) = succ (IC s) by Th2, AMI_2:11; :: 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 ) )

A5: ( I P42address = db & I P44const = k2 ) by A1, SCMPDS_I:7;
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 AMI_2:def 16;
assume A6: 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 A4, AMI_2:12
.= (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, A5, A6, AMI_2:16
.= (s . (DataLoc ((s . a),k1))) div (s . (DataLoc ((s . b),k2))) by A2, A5, AMI_2:15 ; :: 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 A4, A5, AMI_2:12
.= (s . (DataLoc ((s . a),k1))) mod (s . (DataLoc ((s . b),k2))) by A2, A5, AMI_2:15 ; :: 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 AMI_2:def 16;
assume that
A7: c <> DataLoc ((s . a),k1) and
A8: 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 A4, AMI_2:12
.= (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 A5, A8, AMI_2:16
.= s . c by A2, A7, AMI_2:16 ; :: thesis: verum