let s1, s2 be State of SCM+FSA; :: thesis: ( ( ( for a being Int-Location holds s1 . a = s2 . a ) & ( for f being FinSeq-Location holds s1 . f = s2 . f ) ) iff DataPart s1 = DataPart s2 )
A1: ((Data-Locations SCM+FSA) \/ {(IC )}) \/ NAT = (Data-Locations SCM+FSA) \/ ({(IC )} \/ NAT) by XBOOLE_1:4;
A2: now end;
A6: now
assume A7: for x being set st x in Data-Locations SCM+FSA holds
s1 . x = s2 . x ; :: thesis: ( ( for a being Int-Location holds s1 . a = s2 . a ) & ( for f being FinSeq-Location holds s1 . f = s2 . f ) )
hereby :: thesis: for f being FinSeq-Location holds s1 . f = s2 . f end;
hereby :: thesis: verum end;
end;
dom s2 = ((Data-Locations SCM+FSA) \/ {(IC )}) \/ NAT by COMPOS_1:172;
then A8: Data-Locations SCM+FSA c= dom s2 by A1, XBOOLE_1:7;
dom s1 = ((Data-Locations SCM+FSA) \/ {(IC )}) \/ NAT by COMPOS_1:172;
then Data-Locations SCM+FSA c= dom s1 by A1, XBOOLE_1:7;
hence ( ( ( for a being Int-Location holds s1 . a = s2 . a ) & ( for f being FinSeq-Location holds s1 . f = s2 . f ) ) iff DataPart s1 = DataPart s2 ) by A8, A2, A6, FUNCT_1:165; :: thesis: verum