defpred S1[ set , set ] means ex m being Element of NAT st
( $1 = m & $2 = IncAddr (pi p,m),k );
A1:
for e being set st e in dom p holds
ex u being set st S1[e,u]
proof
let e be
set ;
( e in dom p implies ex u being set st S1[e,u] )
A2:
dom p c= NAT
by RELAT_1:def 18;
assume
e in dom p
;
ex u being set st S1[e,u]
then reconsider e =
e as
Element of
NAT by A2;
reconsider m =
e as
Element of
NAT ;
take
IncAddr (pi p,m),
k
;
S1[e, IncAddr (pi p,m),k]
thus
S1[
e,
IncAddr (pi p,m),
k]
;
verum
end;
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;
f is NAT -defined
then reconsider IT = f as preProgram of SCM+FSA ;
take
IT
; ( dom IT = dom p & ( for m being Element of NAT st m in dom p holds
IT . m = IncAddr (pi 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 (pi p,m),k
let m be Element of NAT ; ( m in dom p implies IT . m = IncAddr (pi p,m),k )
assume
m in dom p
; IT . m = IncAddr (pi p,m),k
then
ex j being Element of NAT st
( m = j & f . m = IncAddr (pi p,j),k )
by A4;
hence
IT . m = IncAddr (pi p,m),k
; verum