let s be State of SCMPDS ; :: thesis: for k1, k2 being Integer
for a, b being Int_position holds
( (Exec (a,k1 := b,k2),s) . (IC SCMPDS ) = Next (IC s) & (Exec (a,k1 := b,k2),s) . (DataLoc (s . a),k1) = s . (DataLoc (s . b),k2) & ( for c being Int_position st c <> DataLoc (s . a),k1 holds
(Exec (a,k1 := b,k2),s) . c = s . c ) )
let k1, k2 be Integer; :: thesis: for a, b being Int_position holds
( (Exec (a,k1 := b,k2),s) . (IC SCMPDS ) = Next (IC s) & (Exec (a,k1 := b,k2),s) . (DataLoc (s . a),k1) = s . (DataLoc (s . b),k2) & ( for c being Int_position st c <> DataLoc (s . a),k1 holds
(Exec (a,k1 := b,k2),s) . c = s . c ) )
let a, b be Int_position ; :: thesis: ( (Exec (a,k1 := b,k2),s) . (IC SCMPDS ) = Next (IC s) & (Exec (a,k1 := b,k2),s) . (DataLoc (s . a),k1) = s . (DataLoc (s . b),k2) & ( for c being Int_position st c <> DataLoc (s . a),k1 holds
(Exec (a,k1 := b,k2),s) . c = s . c ) )
reconsider da = a, db = b as Element of SCM-Data-Loc by Def2;
reconsider I = a,k1 := b,k2 as Element of SCMPDS-Instr ;
reconsider S = s as SCMPDS-State ;
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 P42address ),(I P44const )));
reconsider i = 13 as Element of Segm 14 by GR_CY_1:10;
A1:
I = [i,<*da,db,k1,k2*>]
;
A2: Exec (a,k1 := b,k2),s =
SCM-Exec-Res I,S
by SCMPDS_1:def 25
.=
SCM-Chg (SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),(S . (Address_Add S,(I P42address ),(I P44const )))),(succ (IC S))
by A1, SCMPDS_1:def 24
;
A3:
( I P41address = da & I P42address = db & I P43const = k1 & I P44const = k2 )
by A1, SCMPDS_1:37;
thus
(Exec (a,k1 := b,k2),s) . (IC SCMPDS ) = Next (IC s)
by A2, Th6, SCMPDS_1:26; :: thesis: ( (Exec (a,k1 := b,k2),s) . (DataLoc (s . a),k1) = s . (DataLoc (s . b),k2) & ( for c being Int_position st c <> DataLoc (s . a),k1 holds
(Exec (a,k1 := b,k2),s) . c = s . c ) )
thus (Exec (a,k1 := b,k2),s) . (DataLoc (s . a),k1) =
(SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),(S . (Address_Add S,(I P42address ),(I P44const )))) . (Address_Add S,(I P41address ),(I P43const ))
by A2, A3, SCMPDS_1:27
.=
s . (DataLoc (s . b),k2)
by A3, SCMPDS_1:30
; :: thesis: for c being Int_position st c <> DataLoc (s . a),k1 holds
(Exec (a,k1 := b,k2),s) . c = s . c
let c be Int_position ; :: thesis: ( c <> DataLoc (s . a),k1 implies (Exec (a,k1 := b,k2),s) . c = s . c )
reconsider mn = c as Element of SCM-Data-Loc by Def2;
assume A4:
c <> DataLoc (s . a),k1
; :: thesis: (Exec (a,k1 := b,k2),s) . c = s . c
thus (Exec (a,k1 := b,k2),s) . c =
(SCM-Chg S,(Address_Add S,(I P41address ),(I P43const )),(S . (Address_Add S,(I P42address ),(I P44const )))) . mn
by A2, SCMPDS_1:27
.=
s . c
by A3, A4, SCMPDS_1:31
; :: thesis: verum