let s be State of SCM+FSA ; :: thesis: for I being Program of SCM+FSA holds s +* (Initialized I) = (Initialize s) +* (I +* (Start-At (insloc 0 )))
let I be Program of SCM+FSA ; :: thesis: s +* (Initialized I) = (Initialize s) +* (I +* (Start-At (insloc 0 )))
A1: dom (s +* (Initialized I)) = the carrier of SCM+FSA by AMI_1:79
.= dom ((Initialize s) +* (I +* (Start-At (insloc 0 )))) by AMI_1:79 ;
now
let x be set ; :: thesis: ( x in dom (s +* (Initialized I)) implies (s +* (Initialized I)) . b1 = ((Initialize s) +* (I +* (Start-At (insloc 0 )))) . b1 )
assume A2: x in dom (s +* (Initialized I)) ; :: thesis: (s +* (Initialized I)) . b1 = ((Initialize s) +* (I +* (Start-At (insloc 0 )))) . b1
I c= Initialized I by SCMFSA6A:26;
then A3: dom I c= dom (Initialized I) by GRFUNC_1:8;
per cases ( x = intloc 0 or x = IC SCM+FSA or x in dom I or ( x is Instruction-Location of SCM+FSA & not x in dom I ) or x is FinSeq-Location or ( x is Int-Location & x <> intloc 0 ) ) by A2, SCMFSA6A:35;
suppose A8: x in dom I ; :: thesis: (s +* (Initialized I)) . b1 = ((Initialize s) +* (I +* (Start-At (insloc 0 )))) . b1
then x in (dom I) \/ (dom (Start-At (insloc 0 ))) by XBOOLE_0:def 3;
then A9: x in dom (I +* (Start-At (insloc 0 ))) by FUNCT_4:def 1;
thus (s +* (Initialized I)) . x = (Initialized I) . x by A3, A8, FUNCT_4:14
.= I . x by A8, SCMFSA6A:50
.= (I +* (Start-At (insloc 0 ))) . x by A8, SCMFSA6B:7
.= ((Initialize s) +* (I +* (Start-At (insloc 0 )))) . x by A9, FUNCT_4:14 ; :: thesis: verum
end;
suppose A10: ( x is Instruction-Location of SCM+FSA & not x in dom I ) ; :: thesis: (s +* (Initialized I)) . b1 = ((Initialize s) +* (I +* (Start-At (insloc 0 )))) . b1
end;
end;
end;
hence s +* (Initialized I) = (Initialize s) +* (I +* (Start-At (insloc 0 ))) by A1, FUNCT_1:9; :: thesis: verum