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 }
consider s being State of ;
set X = { k where k is Element of NAT : k > 1 } ;
set i = return a;
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 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; :: 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 )
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 } ; :: thesis: 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; :: thesis: verum