defpred S1[ set , set ] means ex m being Element of NAT st
( $1 = m & $2 = IncAddr (p /. m),k );
A1:
for e being set st e in dom p holds
ex u being set st S1[e,u]
consider f being Function such that
A3:
dom f = dom p
and
A4:
for e being set st e in dom p holds
S1[e,f . e]
from CLASSES1:sch 1(A1);
A5:
dom p c= NAT
by RELAT_1:def 18;
then
dom p c= the carrier of SCM+FSA
by XBOOLE_1:1;
then A6:
dom f c= dom the Object-Kind of SCM+FSA
by A3, FUNCT_2:def 1;
for x being set st x in dom f holds
f . x in the Object-Kind of SCM+FSA . x
then reconsider f = f as Element of sproduct the Object-Kind of SCM+FSA by A6, CARD_3:def 9;
reconsider f = f as FinPartState of SCM+FSA by A3, FINSET_1:29;
B:
f is the Instructions of SCM+FSA -valued
f is NAT -defined
then reconsider IT = f as preProgram of SCM+FSA by B;
take
IT
; ( dom IT = dom p & ( for m being Element of NAT st m in dom p holds
IT . m = IncAddr (p /. m),k ) )
thus
dom IT = dom p
by A3; for m being Element of NAT st m in dom p holds
IT . m = IncAddr (p /. m),k
let m be Element of NAT ; ( m in dom p implies IT . m = IncAddr (p /. m),k )
assume
m in dom p
; IT . m = IncAddr (p /. m),k
then
ex j being Element of NAT st
( m = j & f . m = IncAddr (p /. j),k )
by A4;
hence
IT . m = IncAddr (p /. m),k
; verum