definition
let IAlph be
set ;
let OAlph be non
empty set ;
attr c3 is
strict ;
struct Mealy-FSM over
IAlph,
OAlph -> FSM over
IAlph;
aggr Mealy-FSM(#
carrier,
Tran,
OFun,
InitS #)
-> Mealy-FSM over
IAlph,
OAlph;
sel OFun c3 -> Function of
[: the carrier of c3,IAlph:],
OAlph;
attr c3 is
strict ;
struct Moore-FSM over
IAlph,
OAlph -> FSM over
IAlph;
aggr Moore-FSM(#
carrier,
Tran,
OFun,
InitS #)
-> Moore-FSM over
IAlph,
OAlph;
sel OFun c3 -> Function of the
carrier of
c3,
OAlph;
end;
registration
let IAlph be
set ;
let OAlph be non
empty set ;
let X be non
empty finite set ;
let T be
Function of
[:X,IAlph:],
X;
let O be
Function of
[:X,IAlph:],
OAlph;
let I be
Element of
X;
coherence
( Mealy-FSM(# X,T,O,I #) is finite & not Mealy-FSM(# X,T,O,I #) is empty )
;
end;
theorem Th12:
for
IAlph,
OAlph being non
empty set for
w1,
w2 being
FinSequence of
IAlph for
tfsm1,
tfsm2 being non
empty Mealy-FSM over
IAlph,
OAlph for
q11,
q12 being
State of
tfsm1 for
q21,
q22 being
State of
tfsm2 st
q11,
w1 -leads_to q12 &
q21,
w1 -leads_to q22 & (
q12,
w2)
-response <> (
q22,
w2)
-response holds
(
q11,
(w1 ^ w2))
-response <> (
q21,
(w1 ^ w2))
-response
definition
let IAlph,
OAlph be non
empty set ;
let tfsm1,
tfsm2 be non
empty Mealy-FSM over
IAlph,
OAlph;
reflexivity
for tfsm1 being non empty Mealy-FSM over IAlph,OAlph
for w being FinSequence of IAlph holds ( the InitS of tfsm1,w) -response = ( the InitS of tfsm1,w) -response
;
symmetry
for tfsm1, tfsm2 being non empty Mealy-FSM over IAlph,OAlph st ( for w being FinSequence of IAlph holds ( the InitS of tfsm1,w) -response = ( the InitS of tfsm2,w) -response ) holds
for w being FinSequence of IAlph holds ( the InitS of tfsm2,w) -response = ( the InitS of tfsm1,w) -response
;
end;
definition
let IAlph,
OAlph be non
empty set ;
let tfsm be non
empty Mealy-FSM over
IAlph,
OAlph;
let qa,
qb be
State of
tfsm;
reflexivity
for qa being State of tfsm
for w being FinSequence of IAlph holds (qa,w) -response = (qa,w) -response
;
symmetry
for qa, qb being State of tfsm st ( for w being FinSequence of IAlph holds (qa,w) -response = (qb,w) -response ) holds
for w being FinSequence of IAlph holds (qb,w) -response = (qa,w) -response
;
end;
definition
let IAlph,
OAlph be non
empty set ;
let tfsm be non
empty Mealy-FSM over
IAlph,
OAlph;
let i be
Nat;
existence
ex b1 being Equivalence_Relation of the carrier of tfsm st
for qa, qb being State of tfsm holds
( [qa,qb] in b1 iff i -equivalent qa,qb )
uniqueness
for b1, b2 being Equivalence_Relation of the carrier of tfsm st ( for qa, qb being State of tfsm holds
( [qa,qb] in b1 iff i -equivalent qa,qb ) ) & ( for qa, qb being State of tfsm holds
( [qa,qb] in b2 iff i -equivalent qa,qb ) ) holds
b1 = b2
end;
definition
let IAlph,
OAlph be non
empty set ;
let tfsm be non
empty finite Mealy-FSM over
IAlph,
OAlph;
existence
ex b1 being strict Mealy-FSM over IAlph,OAlph st
( the carrier of b1 = final_states_partition tfsm & ( for Q being State of b1
for s being Element of IAlph
for q being State of tfsm st q in Q holds
( the Tran of tfsm . (q,s) in the Tran of b1 . (Q,s) & the OFun of tfsm . (q,s) = the OFun of b1 . (Q,s) ) ) & the InitS of tfsm in the InitS of b1 )
uniqueness
for b1, b2 being strict Mealy-FSM over IAlph,OAlph st the carrier of b1 = final_states_partition tfsm & ( for Q being State of b1
for s being Element of IAlph
for q being State of tfsm st q in Q holds
( the Tran of tfsm . (q,s) in the Tran of b1 . (Q,s) & the OFun of tfsm . (q,s) = the OFun of b1 . (Q,s) ) ) & the InitS of tfsm in the InitS of b1 & the carrier of b2 = final_states_partition tfsm & ( for Q being State of b2
for s being Element of IAlph
for q being State of tfsm st q in Q holds
( the Tran of tfsm . (q,s) in the Tran of b2 . (Q,s) & the OFun of tfsm . (q,s) = the OFun of b2 . (Q,s) ) ) & the InitS of tfsm in the InitS of b2 holds
b1 = b2
end;
definition
let IAlph,
OAlph be non
empty set ;
let tfsm1,
tfsm2 be non
empty Mealy-FSM over
IAlph,
OAlph;
reflexivity
for tfsm1 being non empty Mealy-FSM over IAlph,OAlph ex Tf being Function of the carrier of tfsm1, the carrier of tfsm1 st
( Tf is bijective & Tf . the InitS of tfsm1 = the InitS of tfsm1 & ( for q11 being State of tfsm1
for s being Element of IAlph holds
( Tf . ( the Tran of tfsm1 . (q11,s)) = the Tran of tfsm1 . ((Tf . q11),s) & the OFun of tfsm1 . (q11,s) = the OFun of tfsm1 . ((Tf . q11),s) ) ) )
symmetry
for tfsm1, tfsm2 being non empty Mealy-FSM over IAlph,OAlph st ex Tf being Function of the carrier of tfsm1, the carrier of tfsm2 st
( Tf is bijective & Tf . the InitS of tfsm1 = the InitS of tfsm2 & ( for q11 being State of tfsm1
for s being Element of IAlph holds
( Tf . ( the Tran of tfsm1 . (q11,s)) = the Tran of tfsm2 . ((Tf . q11),s) & the OFun of tfsm1 . (q11,s) = the OFun of tfsm2 . ((Tf . q11),s) ) ) ) holds
ex Tf being Function of the carrier of tfsm2, the carrier of tfsm1 st
( Tf is bijective & Tf . the InitS of tfsm2 = the InitS of tfsm1 & ( for q11 being State of tfsm2
for s being Element of IAlph holds
( Tf . ( the Tran of tfsm2 . (q11,s)) = the Tran of tfsm1 . ((Tf . q11),s) & the OFun of tfsm2 . (q11,s) = the OFun of tfsm1 . ((Tf . q11),s) ) ) )
end;
theorem Th44:
for
IAlph,
OAlph being non
empty set for
tfsm1,
tfsm2 being non
empty Mealy-FSM over
IAlph,
OAlph for
q11,
q12 being
State of
tfsm1 for
Tf being
Function of the
carrier of
tfsm1, the
carrier of
tfsm2 st ( for
q being
State of
tfsm1 for
s being
Element of
IAlph holds
(
Tf . ( the Tran of tfsm1 . (q,s)) = the
Tran of
tfsm2 . (
(Tf . q),
s) & the
OFun of
tfsm1 . (
q,
s)
= the
OFun of
tfsm2 . (
(Tf . q),
s) ) ) holds
(
q11,
q12 -are_equivalent iff
Tf . q11,
Tf . q12 -are_equivalent )
theorem
for
IAlph,
OAlph being non
empty set for
tfsm being non
empty finite Mealy-FSM over
IAlph,
OAlph for
cTran being
Function of
[:(accessibleStates tfsm),IAlph:],
(accessibleStates tfsm) for
cOFun being
Function of
[:(accessibleStates tfsm),IAlph:],
OAlph for
cInitS being
Element of
accessibleStates tfsm st
cTran = the
Tran of
tfsm | [:(accessibleStates tfsm),IAlph:] &
cOFun = the
OFun of
tfsm | [:(accessibleStates tfsm),IAlph:] &
cInitS = the
InitS of
tfsm holds
tfsm,
Mealy-FSM(#
(accessibleStates tfsm),
cTran,
cOFun,
cInitS #)
-are_equivalent