defpred S1[ set , set ] means ex m being Element of NAT st
( ( $1 = IC SCM+FSA & $2 = F4() ) or ( $1 = m & $2 = F1(m) ) or ( $1 = intloc m & $2 = F2(m) ) or ( $1 = fsloc m & $2 = F3(m) ) );
A1:
for e being set st e in the carrier of SCM+FSA holds
ex u being set st S1[e,u]
consider f being Function such that
A8:
dom f = the carrier of SCM+FSA
and
A9:
for e being set st e in the carrier of SCM+FSA holds
S1[e,f . e]
from CLASSES1:sch 1(A1);
A10:
dom the Object-Kind of SCM+FSA = the carrier of SCM+FSA
by FUNCT_2:def 1;
then reconsider f = f as State of SCM+FSA by A8, A10, FUNCT_1:def 20, PARTFUN1:def 4, RELAT_1:def 18;
take
f
; ( IC f = F4() & ( for i being Element of NAT holds
( f . i = F1(i) & f . (intloc i) = F2(i) & f . (fsloc i) = F3(i) ) ) )
ex m being Element of NAT st
( ( IC SCM+FSA = IC SCM+FSA & f . (IC SCM+FSA) = F4() ) or ( IC SCM+FSA = m & f . (IC SCM+FSA) = F1(m) ) or ( IC SCM+FSA = intloc m & f . (IC SCM+FSA) = F2(m) ) or ( IC SCM+FSA = fsloc m & f . (IC SCM+FSA) = F3(m) ) )
by A9;
hence
IC f = F4()
by COMPOS_1:3, SCMFSA_2:81, SCMFSA_2:82; for i being Element of NAT holds
( f . i = F1(i) & f . (intloc i) = F2(i) & f . (fsloc i) = F3(i) )
let i be Element of NAT ; ( f . i = F1(i) & f . (intloc i) = F2(i) & f . (fsloc i) = F3(i) )
X:
i in NAT
;
ex m being Element of NAT st
( ( i = IC SCM+FSA & f . i = F4() ) or ( i = m & f . i = F1(m) ) or ( i = intloc m & f . i = F2(m) ) or ( i = fsloc m & f . i = F3(m) ) )
by X, A9;
hence
f . i = F1(i)
by COMPOS_1:3, SCMFSA_2:84, SCMFSA_2:85; ( f . (intloc i) = F2(i) & f . (fsloc i) = F3(i) )
ex m being Element of NAT st
( ( intloc i = IC SCM+FSA & f . (intloc i) = F4() ) or ( intloc i = m & f . (intloc i) = F1(m) ) or ( intloc i = intloc m & f . (intloc i) = F2(m) ) or ( intloc i = fsloc m & f . (intloc i) = F3(m) ) )
by A9;
hence
f . (intloc i) = F2(i)
by AMI_3:52, SCMFSA_2:81, SCMFSA_2:83, SCMFSA_2:84; f . (fsloc i) = F3(i)
ex m being Element of NAT st
( ( fsloc i = IC SCM+FSA & f . (fsloc i) = F4() ) or ( fsloc i = m & f . (fsloc i) = F1(m) ) or ( fsloc i = intloc m & f . (fsloc i) = F2(m) ) or ( fsloc i = fsloc m & f . (fsloc i) = F3(m) ) )
by A9;
hence
f . (fsloc i) = F3(i)
by SCMFSA_2:82, SCMFSA_2:83, SCMFSA_2:85; verum