let a be Int_position ; for l being Element of NAT holds NIC (return a),l = { k where k is Element of NAT : k > 1 }
let l be Element of NAT ; NIC (return a),l = { k where k is Element of NAT : k > 1 }
consider s being State of SCMPDS ;
set X = { k where k is Element of NAT : k > 1 } ;
set i = return a;
hereby TARSKI:def 3,
XBOOLE_0:def 10 { k where k is Element of NAT : k > 1 } c= NIC (return a),l
let x be
set ;
( x in NIC (return a),l implies x in { k where k is Element of NAT : k > 1 } )assume
x in NIC (return a),
l
;
x in { k where k is Element of NAT : k > 1 } then consider s being
Element of
product the
Object-Kind of
SCMPDS such that A1:
x = IC (Following (ProgramPart s),s)
and A2:
(
IC s = l &
(ProgramPart s) /. l = return a )
;
x in NAT
by A1;
then consider k being
Element of
NAT such that A3:
x = k
;
Y:
(ProgramPart s) /. (IC s) = s . (IC s)
by COMPOS_1:38;
A4:
(abs (s . (DataLoc (s . a),1))) + 2
>= 0 + 2
by XREAL_1:8;
(ProgramPart s) . (IC s) = s . (IC s)
by COMPOS_1:2;
then x =
(Exec (return a),s) . (IC SCMPDS )
by A1, A2, Y, AMI_1:131
.=
(abs (s . (DataLoc (s . a),1))) + 2
by SCMPDS_1:def 23, SCMPDS_2:70
;
then
k >= 1
+ 1
by A3, A4;
then
k > 1
by NAT_1:13;
hence
x in { k where k is Element of NAT : k > 1 }
by A3;
verum
end;
let x be set ; TARSKI:def 3 ( not x in { k where k is Element of NAT : k > 1 } or x in NIC (return a),l )
reconsider I = return a as Element of the Object-Kind of SCMPDS . l by COMPOS_1:def 8;
reconsider n = l as Element of NAT ;
assume
x in { k where k is Element of NAT : k > 1 }
; x in NIC (return a),l
then consider k being Element of NAT such that
A5:
x = k
and
A6:
k > 1
;
reconsider il1 = l as Element of ObjectKind (IC SCMPDS ) by COMPOS_1:def 6;
reconsider k2 = k - 2 as Element of NAT by A6, Lm1;
X:
((IC SCMPDS ) .--> il1) +* (l .--> (return a)) is the Object-Kind of SCMPDS -compatible PartState of SCMPDS
;
(IC SCMPDS ),l --> il1,I = ((IC SCMPDS ) .--> il1) +* (l .--> I)
by FUNCT_4:def 4;
then reconsider u = s +* ((IC SCMPDS ),l --> il1,I) as Element of product the Object-Kind of SCMPDS by X, PBOOLE:155;
A7: u . (IC SCMPDS ) =
IC u
by COMPOS_1:def 9
.=
n
by AMI_1:129
;
a in SCM-Data-Loc
by SCMPDS_2:def 2;
then consider j being Element of NAT such that
A8:
a = [1,j]
by AMI_2:32;
set t = [1,(j + 1)];
reconsider t1 = [1,(j + 1)] as Int_position by AMI_2:33, SCMPDS_2:9;
A9: DataLoc j,1 =
[1,(abs (j + 1))]
by SCMPDS_2:def 4
.=
[1,(j + 1)]
by ABSVALUE:def 1
;
set g = a,t1 --> j,k2;
reconsider v = u +* (a,t1 --> j,k2) as Element of product the Object-Kind of SCMPDS by PBOOLE:155;
A10:
dom (a,t1 --> j,k2) = {a,[1,(j + 1)]}
by FUNCT_4:65;
j <> j + 1
;
then A11:
a <> [1,(j + 1)]
by A8, ZFMISC_1:33;
then A12:
v . a = j
by FUNCT_4:89;
( l <> a & l <> t1 )
by SCMPDS_2:53;
then
( u . n = return a & not l in dom (a,t1 --> j,k2) )
by A10, AMI_1:129, TARSKI:def 2;
then A13:
v . l = return a
by FUNCT_4:12;
( a <> IC SCMPDS & t1 <> IC SCMPDS )
by SCMPDS_2:52;
then A14:
not IC SCMPDS in dom (a,t1 --> j,k2)
by A10, TARSKI:def 2;
A15: IC v =
v . (IC SCMPDS )
by COMPOS_1:def 9
.=
l
by A7, A14, FUNCT_4:12
;
A16:
v . [1,(j + 1)] = k2
by A11, FUNCT_4:89;
X:
(ProgramPart v) /. l = v . l
by COMPOS_1:38;
Y:
(ProgramPart v) . l = v . l
by COMPOS_1:2;
x =
k2 + 2
by A5
.=
(abs (v . (DataLoc j,1))) + 2
by A16, A9, ABSVALUE:def 1
.=
(Exec (return a),v) . (IC SCMPDS )
by A12, SCMPDS_1:def 23, SCMPDS_2:70
.=
IC (Following (ProgramPart v),v)
by A13, A15, Y, AMI_1:131
;
hence
x in NIC (return a),l
by A13, A15, X; verum