IC SCMPDS in {(IC SCMPDS )}
by TARSKI:def 1;
then A1:
IC SCMPDS in SCM-Data-Loc \/ {(IC SCMPDS )}
by XBOOLE_0:def 3;
let s1, s2 be State of SCMPDS ; ( s1 | (SCM-Data-Loc \/ {(IC SCMPDS )}) = s2 | (SCM-Data-Loc \/ {(IC SCMPDS )}) implies for l being Instruction of SCMPDS holds (Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )}) )
assume A2:
s1 | (SCM-Data-Loc \/ {(IC SCMPDS )}) = s2 | (SCM-Data-Loc \/ {(IC SCMPDS )})
; for l being Instruction of SCMPDS holds (Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
A3:
DataPart s1 = DataPart s2
by A2, RELAT_1:188, SCMPDS_2:100, XBOOLE_1:7;
A4:
SCM-Data-Loc \/ {(IC SCMPDS )} c= the carrier of SCMPDS
by AMI_3:4, XBOOLE_1:7;
then
SCM-Data-Loc \/ {(IC SCMPDS )} c= dom s2
by PARTFUN1:def 4;
then A5:
IC SCMPDS in dom (s2 | (SCM-Data-Loc \/ {(IC SCMPDS )}))
by A1, RELAT_1:91;
SCM-Data-Loc \/ {(IC SCMPDS )} c= dom s1
by A4, PARTFUN1:def 4;
then
IC SCMPDS in dom (s1 | (SCM-Data-Loc \/ {(IC SCMPDS )}))
by A1, RELAT_1:91;
then A6: IC s1 =
(s2 | (SCM-Data-Loc \/ {(IC SCMPDS )})) . (IC SCMPDS )
by A2, FUNCT_1:70
.=
IC s2
by A5, FUNCT_1:70
;
let l be Instruction of SCMPDS ; (Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
A7:
dom (Exec l,s1) = the carrier of SCMPDS
by PARTFUN1:def 4;
then A8:
dom (Exec l,s1) = dom (Exec l,s2)
by PARTFUN1:def 4;
dom (Exec l,s2) = the carrier of SCMPDS
by PARTFUN1:def 4;
then A9:
dom (DataPart (Exec l,s2)) = SCM-Data-Loc
by RELAT_1:91, SCMPDS_2:100;
A10:
dom (DataPart (Exec l,s1)) = SCM-Data-Loc
by A7, RELAT_1:91, SCMPDS_2:100;
per cases
( InsCode l = 0 or InsCode l = 1 or InsCode l = 2 or InsCode l = 3 or InsCode l = 4 or InsCode l = 5 or InsCode l = 6 or InsCode l = 7 or InsCode l = 8 or InsCode l = 9 or InsCode l = 10 or InsCode l = 11 or InsCode l = 12 or InsCode l = 13 )
by NAT_1:38, SCMPDS_2:15;
suppose
InsCode l = 0
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider k1 being
Integer such that A11:
l = goto k1
by SCMPDS_2:35;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A12:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider a =
x as
Int_position by SCMPDS_2:9;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . a
by A12, FUNCT_1:72, SCMPDS_2:100
.=
s1 . a
by A11, SCMPDS_2:66
.=
(DataPart s1) . a
by A12, FUNCT_1:72, SCMPDS_2:100
.=
s2 . a
by A3, A12, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . a
by A11, SCMPDS_2:66
.=
(DataPart (Exec l,s2)) . x
by A12, FUNCT_1:72, SCMPDS_2:100
;
verum
end; then A13:
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
(Exec l,s1) . (IC SCMPDS ) =
ICplusConst s1,
k1
by A11, SCMPDS_2:66
.=
ICplusConst s2,
k1
by A6, Th2
.=
(Exec l,s2) . (IC SCMPDS )
by A11, SCMPDS_2:66
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A13, RELAT_1:185;
verum end; suppose
InsCode l = 1
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position such that A14:
l = return a
by SCMPDS_2:36;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A15:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
per cases
( b <> a or b = a )
;
suppose A16:
b <> a
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A15, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A14, A16, SCMPDS_2:70
.=
(DataPart s1) . b
by A15, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A15, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A14, A16, SCMPDS_2:70
.=
(DataPart (Exec l,s2)) . x
by A15, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A17:
b = a
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A15, FUNCT_1:72, SCMPDS_2:100
.=
s1 . (DataLoc (s1 . a),RetSP )
by A14, A17, SCMPDS_2:70
.=
s2 . (DataLoc (s2 . a),RetSP )
by A3, Th3
.=
(Exec l,s2) . b
by A14, A17, SCMPDS_2:70
.=
(DataPart (Exec l,s2)) . x
by A15, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A18:
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
(Exec l,s1) . (IC SCMPDS ) =
(abs (s1 . (DataLoc (s1 . a),RetIC ))) + 2
by A14, SCMPDS_2:70
.=
(abs (s2 . (DataLoc (s2 . a),RetIC ))) + 2
by A3, Th3
.=
(Exec l,s2) . (IC SCMPDS )
by A14, SCMPDS_2:70
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A18, RELAT_1:185;
verum end; suppose
InsCode l = 2
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position ,
k1 being
Integer such that A19:
l = a := k1
by SCMPDS_2:37;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A20:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
per cases
( b <> a or b = a )
;
suppose A21:
b <> a
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A20, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A19, A21, SCMPDS_2:57
.=
(DataPart s1) . b
by A20, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A20, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A19, A21, SCMPDS_2:57
.=
(DataPart (Exec l,s2)) . x
by A20, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A22:
b = a
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A20, FUNCT_1:72, SCMPDS_2:100
.=
k1
by A19, A22, SCMPDS_2:57
.=
(Exec l,s2) . b
by A19, A22, SCMPDS_2:57
.=
(DataPart (Exec l,s2)) . x
by A20, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A23:
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A19, SCMPDS_2:57
.=
(Exec l,s2) . (IC SCMPDS )
by A19, SCMPDS_2:57
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A23, RELAT_1:185;
verum end; suppose
InsCode l = 3
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position ,
k1 being
Integer such that A24:
l = saveIC a,
k1
by SCMPDS_2:38;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A25:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
per cases
( b <> DataLoc (s1 . a),k1 or b = DataLoc (s1 . a),k1 )
;
suppose A26:
b <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A27:
b <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A25, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A24, A26, SCMPDS_2:71
.=
(DataPart s1) . b
by A25, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A25, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A24, A27, SCMPDS_2:71
.=
(DataPart (Exec l,s2)) . x
by A25, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A28:
b = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A29:
b = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A25, FUNCT_1:72, SCMPDS_2:100
.=
IC s2
by A6, A24, A28, SCMPDS_2:71
.=
(Exec l,s2) . b
by A24, A29, SCMPDS_2:71
.=
(DataPart (Exec l,s2)) . x
by A25, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A30:
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A24, SCMPDS_2:71
.=
(Exec l,s2) . (IC SCMPDS )
by A24, SCMPDS_2:71
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A30, RELAT_1:185;
verum end; suppose
InsCode l = 4
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position ,
k1,
k2 being
Integer such that A31:
l = a,
k1 <>0_goto k2
by SCMPDS_2:39;
now per cases
( s1 . (DataLoc (s1 . a),k1) <> 0 or s1 . (DataLoc (s1 . a),k1) = 0 )
;
suppose A32:
s1 . (DataLoc (s1 . a),k1) <> 0
;
(Exec l,s1) . (IC SCMPDS ) = (Exec l,s2) . (IC SCMPDS )then A33:
s2 . (DataLoc (s2 . a),k1) <> 0
by A3, Th3;
thus (Exec l,s1) . (IC SCMPDS ) =
ICplusConst s1,
k2
by A31, A32, SCMPDS_2:67
.=
ICplusConst s2,
k2
by A6, Th2
.=
(Exec l,s2) . (IC SCMPDS )
by A31, A33, SCMPDS_2:67
;
verum end; end; end; then A36:
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A37:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A37, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A31, SCMPDS_2:67
.=
(DataPart s1) . b
by A37, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A37, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A31, SCMPDS_2:67
.=
(DataPart (Exec l,s2)) . x
by A37, FUNCT_1:72, SCMPDS_2:100
;
verum
end; then
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A36, RELAT_1:185;
verum end; suppose
InsCode l = 5
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position ,
k1,
k2 being
Integer such that A38:
l = a,
k1 <=0_goto k2
by SCMPDS_2:40;
now per cases
( s1 . (DataLoc (s1 . a),k1) <= 0 or s1 . (DataLoc (s1 . a),k1) > 0 )
;
suppose A39:
s1 . (DataLoc (s1 . a),k1) <= 0
;
(Exec l,s1) . (IC SCMPDS ) = (Exec l,s2) . (IC SCMPDS )then A40:
s2 . (DataLoc (s2 . a),k1) <= 0
by A3, Th3;
thus (Exec l,s1) . (IC SCMPDS ) =
ICplusConst s1,
k2
by A38, A39, SCMPDS_2:68
.=
ICplusConst s2,
k2
by A6, Th2
.=
(Exec l,s2) . (IC SCMPDS )
by A38, A40, SCMPDS_2:68
;
verum end; end; end; then A43:
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A44:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A44, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A38, SCMPDS_2:68
.=
(DataPart s1) . b
by A44, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A44, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A38, SCMPDS_2:68
.=
(DataPart (Exec l,s2)) . x
by A44, FUNCT_1:72, SCMPDS_2:100
;
verum
end; then
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A43, RELAT_1:185;
verum end; suppose
InsCode l = 6
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position ,
k1,
k2 being
Integer such that A45:
l = a,
k1 >=0_goto k2
by SCMPDS_2:41;
now per cases
( s1 . (DataLoc (s1 . a),k1) >= 0 or s1 . (DataLoc (s1 . a),k1) < 0 )
;
suppose A46:
s1 . (DataLoc (s1 . a),k1) >= 0
;
(Exec l,s1) . (IC SCMPDS ) = (Exec l,s2) . (IC SCMPDS )then A47:
s2 . (DataLoc (s2 . a),k1) >= 0
by A3, Th3;
thus (Exec l,s1) . (IC SCMPDS ) =
ICplusConst s1,
k2
by A45, A46, SCMPDS_2:69
.=
ICplusConst s2,
k2
by A6, Th2
.=
(Exec l,s2) . (IC SCMPDS )
by A45, A47, SCMPDS_2:69
;
verum end; end; end; then A50:
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A51:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A51, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A45, SCMPDS_2:69
.=
(DataPart s1) . b
by A51, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A51, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A45, SCMPDS_2:69
.=
(DataPart (Exec l,s2)) . x
by A51, FUNCT_1:72, SCMPDS_2:100
;
verum
end; then
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A50, RELAT_1:185;
verum end; suppose
InsCode l = 7
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position ,
k1,
k2 being
Integer such that A52:
l = a,
k1 := k2
by SCMPDS_2:42;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A53:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
per cases
( b <> DataLoc (s1 . a),k1 or b = DataLoc (s1 . a),k1 )
;
suppose A54:
b <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A55:
b <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A53, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A52, A54, SCMPDS_2:58
.=
(DataPart s1) . b
by A53, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A53, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A52, A55, SCMPDS_2:58
.=
(DataPart (Exec l,s2)) . x
by A53, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A56:
b = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A57:
b = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A53, FUNCT_1:72, SCMPDS_2:100
.=
k2
by A52, A56, SCMPDS_2:58
.=
(Exec l,s2) . b
by A52, A57, SCMPDS_2:58
.=
(DataPart (Exec l,s2)) . x
by A53, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A58:
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A52, SCMPDS_2:58
.=
(Exec l,s2) . (IC SCMPDS )
by A52, SCMPDS_2:58
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A58, RELAT_1:185;
verum end; suppose
InsCode l = 8
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a being
Int_position ,
k1,
k2 being
Integer such that A59:
l = AddTo a,
k1,
k2
by SCMPDS_2:43;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A60:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider b =
x as
Int_position by SCMPDS_2:9;
per cases
( b <> DataLoc (s1 . a),k1 or b = DataLoc (s1 . a),k1 )
;
suppose A61:
b <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A62:
b <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A60, FUNCT_1:72, SCMPDS_2:100
.=
s1 . b
by A59, A61, SCMPDS_2:60
.=
(DataPart s1) . b
by A60, FUNCT_1:72, SCMPDS_2:100
.=
s2 . b
by A3, A60, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . b
by A59, A62, SCMPDS_2:60
.=
(DataPart (Exec l,s2)) . x
by A60, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A63:
b = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A64:
b = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . b
by A60, FUNCT_1:72, SCMPDS_2:100
.=
(s1 . (DataLoc (s1 . a),k1)) + k2
by A59, A63, SCMPDS_2:60
.=
(s2 . (DataLoc (s2 . a),k1)) + k2
by A3, Th3
.=
(Exec l,s2) . b
by A59, A64, SCMPDS_2:60
.=
(DataPart (Exec l,s2)) . x
by A60, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A65:
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A59, SCMPDS_2:60
.=
(Exec l,s2) . (IC SCMPDS )
by A59, SCMPDS_2:60
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A65, RELAT_1:185;
verum end; suppose
InsCode l = 9
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a,
b being
Int_position ,
k1,
k2 being
Integer such that A66:
l = AddTo a,
k1,
b,
k2
by SCMPDS_2:44;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A67:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider c =
x as
Int_position by SCMPDS_2:9;
per cases
( c <> DataLoc (s1 . a),k1 or c = DataLoc (s1 . a),k1 )
;
suppose A68:
c <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A69:
c <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A67, FUNCT_1:72, SCMPDS_2:100
.=
s1 . c
by A66, A68, SCMPDS_2:61
.=
(DataPart s1) . c
by A67, FUNCT_1:72, SCMPDS_2:100
.=
s2 . c
by A3, A67, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . c
by A66, A69, SCMPDS_2:61
.=
(DataPart (Exec l,s2)) . x
by A67, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A70:
c = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A71:
c = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A67, FUNCT_1:72, SCMPDS_2:100
.=
(s1 . (DataLoc (s1 . a),k1)) + (s1 . (DataLoc (s1 . b),k2))
by A66, A70, SCMPDS_2:61
.=
(s2 . (DataLoc (s2 . a),k1)) + (s1 . (DataLoc (s1 . b),k2))
by A3, Th3
.=
(s2 . (DataLoc (s2 . a),k1)) + (s2 . (DataLoc (s2 . b),k2))
by A3, Th3
.=
(Exec l,s2) . c
by A66, A71, SCMPDS_2:61
.=
(DataPart (Exec l,s2)) . x
by A67, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A72:
(Exec l,s1) | SCM-Data-Loc = (Exec l,s2) | SCM-Data-Loc
by A10, A9, FUNCT_1:9, SCMPDS_2:100;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A66, SCMPDS_2:61
.=
(Exec l,s2) . (IC SCMPDS )
by A66, SCMPDS_2:61
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A72, RELAT_1:185;
verum end; suppose
InsCode l = 10
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a,
b being
Int_position ,
k1,
k2 being
Integer such that A73:
l = SubFrom a,
k1,
b,
k2
by SCMPDS_2:45;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A74:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider c =
x as
Int_position by SCMPDS_2:9;
per cases
( c <> DataLoc (s1 . a),k1 or c = DataLoc (s1 . a),k1 )
;
suppose A75:
c <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A76:
c <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A74, FUNCT_1:72, SCMPDS_2:100
.=
s1 . c
by A73, A75, SCMPDS_2:62
.=
(DataPart s1) . c
by A74, FUNCT_1:72, SCMPDS_2:100
.=
s2 . c
by A3, A74, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . c
by A73, A76, SCMPDS_2:62
.=
(DataPart (Exec l,s2)) . x
by A74, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A77:
c = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A78:
c = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A74, FUNCT_1:72, SCMPDS_2:100
.=
(s1 . (DataLoc (s1 . a),k1)) - (s1 . (DataLoc (s1 . b),k2))
by A73, A77, SCMPDS_2:62
.=
(s2 . (DataLoc (s2 . a),k1)) - (s1 . (DataLoc (s1 . b),k2))
by A3, Th3
.=
(s2 . (DataLoc (s2 . a),k1)) - (s2 . (DataLoc (s2 . b),k2))
by A3, Th3
.=
(Exec l,s2) . c
by A73, A78, SCMPDS_2:62
.=
(DataPart (Exec l,s2)) . x
by A74, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A79:
DataPart (Exec l,s1) = DataPart (Exec l,s2)
by A10, A9, FUNCT_1:9;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A73, SCMPDS_2:62
.=
(Exec l,s2) . (IC SCMPDS )
by A73, SCMPDS_2:62
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A79, RELAT_1:185, SCMPDS_2:100;
verum end; suppose
InsCode l = 11
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a,
b being
Int_position ,
k1,
k2 being
Integer such that A80:
l = MultBy a,
k1,
b,
k2
by SCMPDS_2:46;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A81:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider c =
x as
Int_position by SCMPDS_2:9;
per cases
( c <> DataLoc (s1 . a),k1 or c = DataLoc (s1 . a),k1 )
;
suppose A82:
c <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A83:
c <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A81, FUNCT_1:72, SCMPDS_2:100
.=
s1 . c
by A80, A82, SCMPDS_2:63
.=
(DataPart s1) . c
by A81, FUNCT_1:72, SCMPDS_2:100
.=
s2 . c
by A3, A81, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . c
by A80, A83, SCMPDS_2:63
.=
(DataPart (Exec l,s2)) . x
by A81, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A84:
c = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A85:
c = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A81, FUNCT_1:72, SCMPDS_2:100
.=
(s1 . (DataLoc (s1 . a),k1)) * (s1 . (DataLoc (s1 . b),k2))
by A80, A84, SCMPDS_2:63
.=
(s2 . (DataLoc (s2 . a),k1)) * (s1 . (DataLoc (s1 . b),k2))
by A3, Th3
.=
(s2 . (DataLoc (s2 . a),k1)) * (s2 . (DataLoc (s2 . b),k2))
by A3, Th3
.=
(Exec l,s2) . c
by A80, A85, SCMPDS_2:63
.=
(DataPart (Exec l,s2)) . x
by A81, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A86:
DataPart (Exec l,s1) = DataPart (Exec l,s2)
by A10, A9, FUNCT_1:9;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A80, SCMPDS_2:63
.=
(Exec l,s2) . (IC SCMPDS )
by A80, SCMPDS_2:63
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A86, RELAT_1:185, SCMPDS_2:100;
verum end; suppose
InsCode l = 12
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a,
b being
Int_position ,
k1,
k2 being
Integer such that A87:
l = Divide a,
k1,
b,
k2
by SCMPDS_2:47;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A88:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider c =
x as
Int_position by SCMPDS_2:9;
per cases
( c = DataLoc (s1 . b),k2 or c <> DataLoc (s1 . b),k2 )
;
suppose A89:
c = DataLoc (s1 . b),
k2
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A90:
c = DataLoc (s2 . b),
k2
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A88, FUNCT_1:72, SCMPDS_2:100
.=
(s1 . (DataLoc (s1 . a),k1)) mod (s1 . (DataLoc (s1 . b),k2))
by A87, A89, SCMPDS_2:64
.=
(s2 . (DataLoc (s2 . a),k1)) mod (s1 . (DataLoc (s1 . b),k2))
by A3, Th3
.=
(s2 . (DataLoc (s2 . a),k1)) mod (s2 . (DataLoc (s2 . b),k2))
by A3, Th3
.=
(Exec l,s2) . c
by A87, A90, SCMPDS_2:64
.=
(DataPart (Exec l,s2)) . x
by A88, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A91:
c <> DataLoc (s1 . b),
k2
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A92:
c <> DataLoc (s2 . b),
k2
by A3, Th4;
hereby verum
per cases
( c <> DataLoc (s1 . a),k1 or c = DataLoc (s1 . a),k1 )
;
suppose A93:
c <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A94:
c <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A88, FUNCT_1:72, SCMPDS_2:100
.=
s1 . c
by A87, A91, A93, SCMPDS_2:64
.=
s2 . c
by A3, Th4
.=
(Exec l,s2) . c
by A87, A92, A94, SCMPDS_2:64
.=
(DataPart (Exec l,s2)) . x
by A88, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A95:
c = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A96:
c = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A88, FUNCT_1:72, SCMPDS_2:100
.=
(s1 . (DataLoc (s1 . a),k1)) div (s1 . (DataLoc (s1 . b),k2))
by A87, A91, A95, SCMPDS_2:64
.=
(s2 . (DataLoc (s2 . a),k1)) div (s1 . (DataLoc (s1 . b),k2))
by A3, Th3
.=
(s2 . (DataLoc (s2 . a),k1)) div (s2 . (DataLoc (s2 . b),k2))
by A3, Th3
.=
(Exec l,s2) . c
by A87, A92, A96, SCMPDS_2:64
.=
(DataPart (Exec l,s2)) . x
by A88, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; end; end;
end; then A97:
DataPart (Exec l,s1) = DataPart (Exec l,s2)
by A10, A9, FUNCT_1:9;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A87, SCMPDS_2:64
.=
(Exec l,s2) . (IC SCMPDS )
by A87, SCMPDS_2:64
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A97, RELAT_1:185, SCMPDS_2:100;
verum end; suppose
InsCode l = 13
;
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})then consider a,
b being
Int_position ,
k1,
k2 being
Integer such that A98:
l = a,
k1 := b,
k2
by SCMPDS_2:48;
for
x being
set st
x in SCM-Data-Loc holds
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
proof
let x be
set ;
( x in SCM-Data-Loc implies (DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x )
assume A99:
x in SCM-Data-Loc
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . x
then reconsider c =
x as
Int_position by SCMPDS_2:9;
per cases
( c <> DataLoc (s1 . a),k1 or c = DataLoc (s1 . a),k1 )
;
suppose A100:
c <> DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A101:
c <> DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A99, FUNCT_1:72, SCMPDS_2:100
.=
s1 . c
by A98, A100, SCMPDS_2:59
.=
(DataPart s1) . c
by A99, FUNCT_1:72, SCMPDS_2:100
.=
s2 . c
by A3, A99, FUNCT_1:72, SCMPDS_2:100
.=
(Exec l,s2) . c
by A98, A101, SCMPDS_2:59
.=
(DataPart (Exec l,s2)) . x
by A99, FUNCT_1:72, SCMPDS_2:100
;
verum end; suppose A102:
c = DataLoc (s1 . a),
k1
;
(DataPart (Exec l,s1)) . x = (DataPart (Exec l,s2)) . xthen A103:
c = DataLoc (s2 . a),
k1
by A3, Th4;
thus (DataPart (Exec l,s1)) . x =
(Exec l,s1) . c
by A99, FUNCT_1:72, SCMPDS_2:100
.=
s1 . (DataLoc (s1 . b),k2)
by A98, A102, SCMPDS_2:59
.=
s2 . (DataLoc (s2 . b),k2)
by A3, Th3
.=
(Exec l,s2) . c
by A98, A103, SCMPDS_2:59
.=
(DataPart (Exec l,s2)) . x
by A99, FUNCT_1:72, SCMPDS_2:100
;
verum end; end;
end; then A104:
DataPart (Exec l,s1) = DataPart (Exec l,s2)
by A10, A9, FUNCT_1:9;
(Exec l,s1) . (IC SCMPDS ) =
succ (IC s2)
by A6, A98, SCMPDS_2:59
.=
(Exec l,s2) . (IC SCMPDS )
by A98, SCMPDS_2:59
;
then
(Exec l,s1) | {(IC SCMPDS )} = (Exec l,s2) | {(IC SCMPDS )}
by A8, GRFUNC_1:90;
hence
(Exec l,s1) | (SCM-Data-Loc \/ {(IC SCMPDS )}) = (Exec l,s2) | (SCM-Data-Loc \/ {(IC SCMPDS )})
by A104, RELAT_1:185, SCMPDS_2:100;
verum end; end;