let a be Int_position ; for l being Instruction-Location of SCMPDS holds NIC (return a),l = { k where k is Element of NAT : k > 1 }
let l be Instruction-Location of SCMPDS ; NIC (return a),l = { k where k is Element of NAT : k > 1 }
consider s being State of ;
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
State of
such that A1:
x = IC (Following s)
and A2:
(
IC s = l &
s . l = return a )
;
x in NAT
by A1, AMI_1:def 4;
then consider k being
Element of
NAT such that A3:
x = k
;
A4:
(abs (s . (DataLoc (s . a),1))) + 2
>= 0 + 2
by XREAL_1:8;
x =
(Exec (return a),s) . (IC SCMPDS )
by A1, A2, 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 ObjectKind l by AMI_1:def 14;
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
;
l in NAT
by AMI_1:def 4;
then reconsider il1 = l as Element of ObjectKind (IC SCMPDS ) by AMI_1:def 11;
reconsider k2 = k - 2 as Element of NAT by A6, Lm1;
set u = s +* ((IC SCMPDS ),l --> il1,I);
A7: (s +* ((IC SCMPDS ),l --> il1,I)) . (IC SCMPDS ) =
IC (s +* ((IC SCMPDS ),l --> il1,I))
by AMI_1:def 15
.=
l
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;
set v = (s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2);
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:
((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . a = j
by FUNCT_4:89;
( l <> a & l <> t1 )
by SCMPDS_2:53;
then
( (s +* ((IC SCMPDS ),l --> il1,I)) . l = return a & not l in dom (a,t1 --> j,k2) )
by A10, AMI_1:129, TARSKI:def 2;
then A13:
((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . 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 ((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) =
((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . (IC SCMPDS )
by AMI_1:def 15
.=
l
by A7, A14, FUNCT_4:12
;
A16:
((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . [1,(j + 1)] = k2
by A11, FUNCT_4:89;
x =
k2 + 2
by A5
.=
(abs (((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . (DataLoc j,1))) + 2
by A16, A9, ABSVALUE:def 1
.=
(Exec (return a),((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2))) . (IC SCMPDS )
by A12, SCMPDS_1:def 23, SCMPDS_2:70
.=
IC (Following ((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)))
by A13, A15, AMI_1:131
;
hence
x in NIC (return a),l
by A13, A15; verum