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: ((Int-Locations \/ FinSeq-Locations ) \/ {(IC SCM+FSA )}) \/ NAT = (Int-Locations \/ FinSeq-Locations ) \/ ({(IC SCM+FSA )} \/ NAT ) by XBOOLE_1:4;
A2: now end;
A6: now
assume A7: for x being set st x in Int-Locations \/ FinSeq-Locations 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 = ((Int-Locations \/ FinSeq-Locations ) \/ {(IC SCM+FSA )}) \/ NAT by PARTFUN1:def 4, SCMFSA_2:8;
then A8: Int-Locations \/ FinSeq-Locations c= dom s2 by A1, XBOOLE_1:7;
dom s1 = ((Int-Locations \/ FinSeq-Locations ) \/ {(IC SCM+FSA )}) \/ NAT by PARTFUN1:def 4, SCMFSA_2:8;
then Int-Locations \/ FinSeq-Locations 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, SCMFSA_2:127; :: thesis: verum