let s be State of SCM+FSA ; for I being Program of SCM+FSA holds s +* (Initialized I) = (Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))
let I be Program of SCM+FSA ; s +* (Initialized I) = (Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))
A1:
now let x be
set ;
( x in dom (s +* (Initialized I)) implies (s +* (Initialized I)) . b1 = ((Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))) . b1 )
I c= Initialized I
by SCMFSA6A:26;
then A2:
dom I c= dom (Initialized I)
by GRFUNC_1:8;
assume A3:
x in dom (s +* (Initialized I))
;
(s +* (Initialized I)) . b1 = ((Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))) . b1per cases
( x = intloc 0 or x = IC SCM+FSA or x in dom I or ( x is Element of NAT & not x in dom I ) or x is FinSeq-Location or ( x is Int-Location & x <> intloc 0 ) )
by A3, SCMFSA6A:35;
suppose A15:
(
x is
Int-Location &
x <> intloc 0 )
;
(s +* (Initialized I)) . b1 = ((Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))) . b1then
not
x = IC SCM+FSA
by SCMFSA_2:81;
then A16:
not
x in {(IC SCM+FSA )}
by TARSKI:def 1;
not
x in dom I
by A2, A15, SCMFSA6A:48;
then
not
x in (dom I) \/ {(IC SCM+FSA )}
by A16, XBOOLE_0:def 3;
then
not
x in (dom I) \/ (dom (Start-At 0 ,SCM+FSA ))
by FUNCOP_1:19;
then A17:
not
x in dom (I +* (Start-At 0 ,SCM+FSA ))
by FUNCT_4:def 1;
A18:
x is
read-write Int-Location
by A15, SF_MASTR:def 5;
not
x in dom (Initialized I)
by A15, SCMFSA6A:48;
hence (s +* (Initialized I)) . x =
s . x
by FUNCT_4:12
.=
(Initialize s) . x
by A18, SCMFSA6C:3
.=
((Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))) . x
by A17, FUNCT_4:12
;
verum end; end; end;
dom (s +* (Initialized I)) =
the carrier of SCM+FSA
by PARTFUN1:def 4
.=
dom ((Initialize s) +* (I +* (Start-At 0 ,SCM+FSA )))
by PARTFUN1:def 4
;
hence
s +* (Initialized I) = (Initialize s) +* (I +* (Start-At 0 ,SCM+FSA ))
by A1, FUNCT_1:9; verum