let IAlph, OAlph be non empty set ; :: thesis: for tfsm1, tfsm2, tfsm3 being non empty Mealy-FSM of IAlph,OAlph st tfsm1,tfsm2 -are_isomorphic & tfsm2,tfsm3 -are_isomorphic holds
tfsm1,tfsm3 -are_isomorphic
let tfsm1, tfsm2, tfsm3 be non empty Mealy-FSM of IAlph,OAlph; :: thesis: ( tfsm1,tfsm2 -are_isomorphic & tfsm2,tfsm3 -are_isomorphic implies tfsm1,tfsm3 -are_isomorphic )
assume A1:
( tfsm1,tfsm2 -are_isomorphic & tfsm2,tfsm3 -are_isomorphic )
; :: thesis: tfsm1,tfsm3 -are_isomorphic
then consider Tf1 being Function of the carrier of tfsm1,the carrier of tfsm2 such that
A2:
( Tf1 is bijective & Tf1 . the InitS of tfsm1 = the InitS of tfsm2 & ( for q being Element of tfsm1
for s1 being Element of IAlph holds
( Tf1 . (the Tran of tfsm1 . q,s1) = the Tran of tfsm2 . (Tf1 . q),s1 & the OFun of tfsm1 . q,s1 = the OFun of tfsm2 . (Tf1 . q),s1 ) ) )
by Def19;
consider Tf2 being Function of the carrier of tfsm2,the carrier of tfsm3 such that
A3:
( Tf2 is bijective & Tf2 . the InitS of tfsm2 = the InitS of tfsm3 & ( for q being Element of tfsm2
for s1 being Element of IAlph holds
( Tf2 . (the Tran of tfsm2 . q,s1) = the Tran of tfsm3 . (Tf2 . q),s1 & the OFun of tfsm2 . q,s1 = the OFun of tfsm3 . (Tf2 . q),s1 ) ) )
by A1, Def19;
take Tf = Tf2 * Tf1; :: according to FSM_1:def 19 :: thesis: ( Tf is bijective & Tf . the InitS of tfsm1 = the InitS of tfsm3 & ( for q11 being State of tfsm1
for s being Element of IAlph holds
( Tf . (the Tran of tfsm1 . q11,s) = the Tran of tfsm3 . (Tf . q11),s & the OFun of tfsm1 . q11,s = the OFun of tfsm3 . (Tf . q11),s ) ) )
thus
Tf is bijective
by A2, A3, Th7; :: thesis: ( Tf . the InitS of tfsm1 = the InitS of tfsm3 & ( for q11 being State of tfsm1
for s being Element of IAlph holds
( Tf . (the Tran of tfsm1 . q11,s) = the Tran of tfsm3 . (Tf . q11),s & the OFun of tfsm1 . q11,s = the OFun of tfsm3 . (Tf . q11),s ) ) )
A4:
dom Tf1 = the carrier of tfsm1
by FUNCT_2:def 1;
hence
Tf . the InitS of tfsm1 = the InitS of tfsm3
by A2, A3, FUNCT_1:23; :: thesis: for q11 being State of tfsm1
for s being Element of IAlph holds
( Tf . (the Tran of tfsm1 . q11,s) = the Tran of tfsm3 . (Tf . q11),s & the OFun of tfsm1 . q11,s = the OFun of tfsm3 . (Tf . q11),s )
now let q be
Element of
tfsm1;
:: thesis: for s1 being Element of IAlph holds
( the Tran of tfsm3 . [(Tf . q),s1] = Tf . (the Tran of tfsm1 . q,s1) & the OFun of tfsm3 . [(Tf . q),s1] = the OFun of tfsm1 . q,s1 )let s1 be
Element of
IAlph;
:: thesis: ( the Tran of tfsm3 . [(Tf . q),s1] = Tf . (the Tran of tfsm1 . q,s1) & the OFun of tfsm3 . [(Tf . q),s1] = the OFun of tfsm1 . q,s1 )thus the
Tran of
tfsm3 . [(Tf . q),s1] =
the
Tran of
tfsm3 . (Tf2 . (Tf1 . q)),
s1
by A4, FUNCT_1:23
.=
Tf2 . (the Tran of tfsm2 . (Tf1 . q),s1)
by A3
.=
Tf2 . (Tf1 . (the Tran of tfsm1 . q,s1))
by A2
.=
Tf . (the Tran of tfsm1 . q,s1)
by A4, FUNCT_1:23
;
:: thesis: the OFun of tfsm3 . [(Tf . q),s1] = the OFun of tfsm1 . q,s1thus the
OFun of
tfsm3 . [(Tf . q),s1] =
the
OFun of
tfsm3 . (Tf2 . (Tf1 . q)),
s1
by A4, FUNCT_1:23
.=
the
OFun of
tfsm2 . (Tf1 . q),
s1
by A3
.=
the
OFun of
tfsm1 . q,
s1
by A2
;
:: thesis: verum end;
hence
for q11 being State of tfsm1
for s being Element of IAlph holds
( Tf . (the Tran of tfsm1 . q11,s) = the Tran of tfsm3 . (Tf . q11),s & the OFun of tfsm1 . q11,s = the OFun of tfsm3 . (Tf . q11),s )
; :: thesis: verum