defpred S1[ Integer, set ] means ex i being Integer st
( i = p . ($1 + 1) & $2 = ((aSeq ((intloc 1),($1 + 1))) ^ (aSeq ((intloc 2),i))) ^ <%((f,(intloc 1)) := (intloc 2))%> );
set D = the InstructionsF of SCM+FSA ^omega ;
A1:
for k being Nat st k in Segm (len p) holds
ex d being Element of the InstructionsF of SCM+FSA ^omega st S1[k,d]
consider pp being XFinSequence of the InstructionsF of SCM+FSA ^omega such that
A2:
dom pp = Segm (len p)
and
A3:
for k being Nat st k in Segm (len p) holds
S1[k,pp . k]
from STIRL2_1:sch 5(A1);
reconsider tt = FlattenSeq pp as XFinSequence of the InstructionsF of SCM+FSA by AFINSQ_1:def 7;
take
tt
; ex pp being XFinSequence of the InstructionsF of SCM+FSA ^omega st
( len pp = len p & ( for k being Nat st k < len pp holds
ex i being Integer st
( i = p . (k + 1) & pp . k = ((aSeq ((intloc 1),(k + 1))) ^ (aSeq ((intloc 2),i))) ^ <%((f,(intloc 1)) := (intloc 2))%> ) ) & tt = FlattenSeq pp )
take
pp
; ( len pp = len p & ( for k being Nat st k < len pp holds
ex i being Integer st
( i = p . (k + 1) & pp . k = ((aSeq ((intloc 1),(k + 1))) ^ (aSeq ((intloc 2),i))) ^ <%((f,(intloc 1)) := (intloc 2))%> ) ) & tt = FlattenSeq pp )
thus
len pp = len p
by A2; ( ( for k being Nat st k < len pp holds
ex i being Integer st
( i = p . (k + 1) & pp . k = ((aSeq ((intloc 1),(k + 1))) ^ (aSeq ((intloc 2),i))) ^ <%((f,(intloc 1)) := (intloc 2))%> ) ) & tt = FlattenSeq pp )
thus
for k being Nat st k < len pp holds
ex i being Integer st
( i = p . (k + 1) & ((aSeq ((intloc 1),(k + 1))) ^ (aSeq ((intloc 2),i))) ^ <%((f,(intloc 1)) := (intloc 2))%> = pp . k )
by A2, A3, NAT_1:44; tt = FlattenSeq pp
thus
tt = FlattenSeq pp
; verum