let a be Int_position ; :: thesis: 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 ; :: thesis: NIC (return a),l = { k where k is Element of NAT : k > 1 }
set i = return a;
set X = { k where k is Element of NAT : k > 1 } ;
hereby :: according to TARSKI:def 3,XBOOLE_0:def 10 :: thesis: { k where k is Element of NAT : k > 1 } c= NIC (return a),l
let x be set ; :: thesis: ( 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 ; :: thesis: x in { k where k is Element of NAT : k > 1 }
then consider s being State of SCMPDS such that
A1: x = IC (Following s) and
A2: IC s = l and
A3: s . l = return a ;
A4: x = (Exec (return a),s) . (IC SCMPDS ) by A1, A2, A3, AMI_1:131
.= (abs (s . (DataLoc (s . a),1))) + 2 by SCMPDS_1:def 23, SCMPDS_2:70 ;
x in NAT by A1, AMI_1:def 4;
then consider k being Element of NAT such that
A5: x = k ;
(abs (s . (DataLoc (s . a),1))) + 2 >= 0 + 2 by XREAL_1:8;
then k >= 1 + 1 by A4, A5;
then k > 1 by NAT_1:13;
hence x in { k where k is Element of NAT : k > 1 } by A5; :: thesis: verum
end;
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in { k where k is Element of NAT : k > 1 } or x in NIC (return a),l )
assume x in { k where k is Element of NAT : k > 1 } ; :: thesis: x in NIC (return a),l
then consider k being Element of NAT such that
A6: x = k and
A7: k > 1 ;
reconsider k2 = k - 2 as Element of NAT by A7, Lm2;
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;
consider s being State of SCMPDS ;
l in NAT by AMI_1:def 4;
then reconsider il1 = l as Element of ObjectKind (IC SCMPDS ) by AMI_1:def 11;
reconsider I = return a as Element of ObjectKind l by AMI_1:def 14;
set u = s +* ((IC SCMPDS ),l --> il1,I);
set t = [1,(j + 1)];
reconsider t1 = [1,(j + 1)] as Int_position by AMI_2:33, SCMPDS_2:9;
set g = a,t1 --> j,k2;
set v = (s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2);
A9: dom (a,t1 --> j,k2) = {a,[1,(j + 1)]} by FUNCT_4:65;
A10: (s +* ((IC SCMPDS ),l --> il1,I)) . l = return a by AMI_1:129;
A11: (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 ;
( l <> a & l <> t1 ) by SCMPDS_2:53;
then not l in dom (a,t1 --> j,k2) by A9, TARSKI:def 2;
then A12: ((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . l = return a by A10, FUNCT_4:12;
( a <> IC SCMPDS & t1 <> IC SCMPDS ) by SCMPDS_2:52;
then A13: not IC SCMPDS in dom (a,t1 --> j,k2) by A9, TARSKI:def 2;
A14: 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 A11, A13, FUNCT_4:12 ;
j <> j + 1 ;
then A15: a <> [1,(j + 1)] by A8, ZFMISC_1:33;
then A16: ((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . a = j by FUNCT_4:89;
A17: ((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . [1,(j + 1)] = k2 by A15, FUNCT_4:89;
A18: DataLoc j,1 = [1,(abs (j + 1))] by SCMPDS_2:def 4
.= [1,(j + 1)] by ABSVALUE:def 1 ;
x = k2 + 2 by A6
.= (abs (((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2)) . (DataLoc j,1))) + 2 by A17, ABSVALUE:def 1, A18
.= (Exec (return a),((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2))) . (IC SCMPDS ) by A16, SCMPDS_1:def 23, SCMPDS_2:70
.= IC (Following ((s +* ((IC SCMPDS ),l --> il1,I)) +* (a,t1 --> j,k2))) by A12, A14, AMI_1:131 ;
hence x in NIC (return a),l by A12, A14; :: thesis: verum