let s be State of SCMPDS; 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; 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 ; ( (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 SCMPDS-State by CARD_3:107;
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: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_1:22;
A3: 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 A1, SCMPDS_1:def 22
;
hence
(Exec ((Divide (a,k1,b,k2)),s)) . (IC ) = succ (IC s)
by Th6, SCMPDS_1:13; ( ( 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:22;
hereby ( (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)
;
(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:14
.=
(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:17
.=
(s . (DataLoc ((s . a),k1))) div (s . (DataLoc ((s . b),k2)))
by A2, A4, SCMPDS_1:16
;
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:14
.=
(s . (DataLoc ((s . a),k1))) mod (s . (DataLoc ((s . b),k2)))
by A2, A4, SCMPDS_1:16
; 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 ; ( 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)
; (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:14
.=
(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:17
.=
s . c
by A2, A6, SCMPDS_1:17
; verum