Article FSM_2, MML version 4.99.1005
:: FSM_2:funcnot 1 => FSM_1:func 2
notation
let a1 be non empty set;
let a2 be non empty FSM over a1;
let a3 be Element of the carrier of a2;
let a4 be FinSequence of a1;
synonym GEN(a4,a3) for (a3,a4)-admissible;
end;
:: FSM_2:funcreg 1
registration
let a1 be non empty set;
let a2 be non empty FSM over a1;
let a3 be Element of the carrier of a2;
let a4 be FinSequence of a1;
cluster (a3,a4)-admissible -> non empty;
end;
:: FSM_2:th 1
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being non empty FSM over b1
for b4 being Element of the carrier of b3 holds
(b4,<*b2*>)-admissible = <*b4,(the Tran of b3) . [b4,b2]*>;
:: FSM_2:th 2
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being non empty FSM over b1
for b5 being Element of the carrier of b4 holds
(b5,<*b2,b3*>)-admissible = <*b5,(the Tran of b4) . [b5,b2],(the Tran of b4) . [(the Tran of b4) . [b5,b2],b3]*>;
:: FSM_2:th 3
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
for b5 being non empty FSM over b1
for b6 being Element of the carrier of b5 holds
(b6,<*b2,b3,b4*>)-admissible = <*b6,(the Tran of b5) . [b6,b2],(the Tran of b5) . [(the Tran of b5) . [b6,b2],b3],(the Tran of b5) . [(the Tran of b5) . [(the Tran of b5) . [b6,b2],b3],b4]*>;
:: FSM_2:attrnot 1 => FSM_2:attr 1
definition
let a1 be non empty set;
let a2 be non empty FSM over a1;
attr a2 is calculating_type means
for b1 being non empty Element of NAT
for b2, b3 being FinSequence of a1
st b2 . 1 = b3 . 1 & b1 <= (len b2) + 1 & b1 <= (len b3) + 1
holds (the InitS of a2,b2)-admissible . b1 = (the InitS of a2,b3)-admissible . b1;
end;
:: FSM_2:dfs 1
definiens
let a1 be non empty set;
let a2 be non empty FSM over a1;
To prove
a2 is calculating_type
it is sufficient to prove
thus for b1 being non empty Element of NAT
for b2, b3 being FinSequence of a1
st b2 . 1 = b3 . 1 & b1 <= (len b2) + 1 & b1 <= (len b3) + 1
holds (the InitS of a2,b2)-admissible . b1 = (the InitS of a2,b3)-admissible . b1;
:: FSM_2:def 1
theorem
for b1 being non empty set
for b2 being non empty FSM over b1 holds
b2 is calculating_type(b1)
iff
for b3 being non empty Element of NAT
for b4, b5 being FinSequence of b1
st b4 . 1 = b5 . 1 & b3 <= (len b4) + 1 & b3 <= (len b5) + 1
holds (the InitS of b2,b4)-admissible . b3 = (the InitS of b2,b5)-admissible . b3;
:: FSM_2:th 4
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st b2 is calculating_type(b1)
for b3, b4 being FinSequence of b1
st b3 . 1 = b4 . 1
holds (the InitS of b2,b3)-admissible,(the InitS of b2,b4)-admissible are_c=-comparable;
:: FSM_2:th 5
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st for b3, b4 being FinSequence of b1
st b3 . 1 = b4 . 1
holds (the InitS of b2,b3)-admissible,(the InitS of b2,b4)-admissible are_c=-comparable
holds b2 is calculating_type(b1);
:: FSM_2:th 6
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st b2 is calculating_type(b1)
for b3, b4 being FinSequence of b1
st b3 . 1 = b4 . 1 & len b3 = len b4
holds (the InitS of b2,b3)-admissible = (the InitS of b2,b4)-admissible;
:: FSM_2:th 7
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st for b3, b4 being FinSequence of b1
st b3 . 1 = b4 . 1 & len b3 = len b4
holds (the InitS of b2,b3)-admissible = (the InitS of b2,b4)-admissible
holds b2 is calculating_type(b1);
:: FSM_2:prednot 1 => FSM_2:pred 1
definition
let a1 be non empty set;
let a2 be non empty FSM over a1;
let a3 be Element of the carrier of a2;
let a4 be Element of a1;
pred A3 is_accessible_via A4 means
ex b1 being FinSequence of a1 st
the InitS of a2,<*a4*> ^ b1 -leads_to a3;
end;
:: FSM_2:dfs 2
definiens
let a1 be non empty set;
let a2 be non empty FSM over a1;
let a3 be Element of the carrier of a2;
let a4 be Element of a1;
To prove
a3 is_accessible_via a4
it is sufficient to prove
thus ex b1 being FinSequence of a1 st
the InitS of a2,<*a4*> ^ b1 -leads_to a3;
:: FSM_2:def 2
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
for b3 being Element of the carrier of b2
for b4 being Element of b1 holds
b3 is_accessible_via b4
iff
ex b5 being FinSequence of b1 st
the InitS of b2,<*b4*> ^ b5 -leads_to b3;
:: FSM_2:attrnot 2 => FSM_2:attr 2
definition
let a1 be non empty set;
let a2 be non empty FSM over a1;
let a3 be Element of the carrier of a2;
attr a3 is accessible means
ex b1 being FinSequence of a1 st
the InitS of a2,b1 -leads_to a3;
end;
:: FSM_2:dfs 3
definiens
let a1 be non empty set;
let a2 be non empty FSM over a1;
let a3 be Element of the carrier of a2;
To prove
a3 is accessible
it is sufficient to prove
thus ex b1 being FinSequence of a1 st
the InitS of a2,b1 -leads_to a3;
:: FSM_2:def 3
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
for b3 being Element of the carrier of b2 holds
b3 is accessible(b1, b2)
iff
ex b4 being FinSequence of b1 st
the InitS of b2,b4 -leads_to b3;
:: FSM_2:th 8
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being non empty FSM over b1
for b4 being Element of the carrier of b3
st b4 is_accessible_via b2
holds b4 is accessible(b1, b3);
:: FSM_2:th 9
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
for b3 being Element of the carrier of b2
st b3 is accessible(b1, b2) & b3 <> the InitS of b2
holds ex b4 being Element of b1 st
b3 is_accessible_via b4;
:: FSM_2:th 10
theorem
for b1 being non empty set
for b2 being non empty FSM over b1 holds
the InitS of b2 is accessible(b1, b2);
:: FSM_2:th 11
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being non empty FSM over b1
for b4 being Element of the carrier of b3
st b3 is calculating_type(b1) & b4 is_accessible_via b2
holds ex b5 being non empty Element of NAT st
for b6 being FinSequence of b1
st b5 <= (len b6) + 1 & b6 . 1 = b2
holds b4 = (the InitS of b3,b6)-admissible . b5 &
(for b7 being non empty Element of NAT
st b7 < b5
holds (the InitS of b3,b6)-admissible . b7 <> b4);
:: FSM_2:attrnot 3 => FSM_2:attr 3
definition
let a1 be non empty set;
let a2 be non empty FSM over a1;
attr a2 is regular means
for b1 being Element of the carrier of a2 holds
b1 is accessible(a1, a2);
end;
:: FSM_2:dfs 4
definiens
let a1 be non empty set;
let a2 be non empty FSM over a1;
To prove
a2 is regular
it is sufficient to prove
thus for b1 being Element of the carrier of a2 holds
b1 is accessible(a1, a2);
:: FSM_2:def 4
theorem
for b1 being non empty set
for b2 being non empty FSM over b1 holds
b2 is regular(b1)
iff
for b3 being Element of the carrier of b2 holds
b3 is accessible(b1, b2);
:: FSM_2:th 12
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st for b3, b4 being Element of b1
for b5 being Element of the carrier of b2 holds
(the Tran of b2) . [b5,b3] = (the Tran of b2) . [b5,b4]
holds b2 is calculating_type(b1);
:: FSM_2:th 13
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st (for b3, b4 being Element of b1
for b5 being Element of the carrier of b2
st b5 <> the InitS of b2
holds (the Tran of b2) . [b5,b3] = (the Tran of b2) . [b5,b4]) &
(for b3 being Element of b1
for b4 being Element of the carrier of b2 holds
(the Tran of b2) . [b4,b3] <> the InitS of b2)
holds b2 is calculating_type(b1);
:: FSM_2:th 14
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st b2 is regular(b1) & b2 is calculating_type(b1)
for b3, b4 being Element of b1
for b5 being Element of the carrier of b2
st b5 <> the InitS of b2
holds (b5,<*b3*>)-admissible . 2 = (b5,<*b4*>)-admissible . 2;
:: FSM_2:th 15
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st b2 is regular(b1) & b2 is calculating_type(b1)
for b3, b4 being Element of b1
for b5 being Element of the carrier of b2
st b5 <> the InitS of b2
holds (the Tran of b2) . [b5,b3] = (the Tran of b2) . [b5,b4];
:: FSM_2:th 16
theorem
for b1 being non empty set
for b2 being non empty FSM over b1
st b2 is regular(b1) & b2 is calculating_type(b1)
for b3, b4, b5 being Element of b1
for b6 being Element of the carrier of b2
st (the Tran of b2) . [the InitS of b2,b4] <> (the Tran of b2) . [the InitS of b2,b5]
holds (the Tran of b2) . [b6,b3] <> the InitS of b2;
:: FSM_2:structnot 1 => FSM_2:struct 1
definition
let a1 be set;
struct(FSM over a1) SM_Final(#
carrier -> set,
Tran -> Function-like quasi_total Relation of [:the carrier of it,A1:],the carrier of it,
InitS -> Element of the carrier of it,
FinalS -> Element of bool the carrier of it
#);
end;
:: FSM_2:attrnot 4 => FSM_2:attr 4
definition
let a1 be set;
let a2 be SM_Final over a1;
attr a2 is strict;
end;
:: FSM_2:exreg 1
registration
let a1 be set;
cluster strict SM_Final over a1;
end;
:: FSM_2:aggrnot 1 => FSM_2:aggr 1
definition
let a1, a2 be set;
let a3 be Function-like quasi_total Relation of [:a2,a1:],a2;
let a4 be Element of a2;
let a5 be Element of bool a2;
aggr SM_Final(#a2,a3,a4,a5#) -> strict SM_Final over a1;
end;
:: FSM_2:selnot 1 => FSM_2:sel 1
definition
let a1 be set;
let a2 be SM_Final over a1;
sel the FinalS of a2 -> Element of bool the carrier of a2;
end;
:: FSM_2:exreg 2
registration
let a1 be set;
cluster non empty SM_Final over a1;
end;
:: FSM_2:prednot 2 => FSM_2:pred 2
definition
let a1 be non empty set;
let a2 be Element of a1;
let a3 be non empty SM_Final over a1;
pred A2 leads_to_final_state_of A3 means
ex b1 being Element of the carrier of a3 st
b1 is_accessible_via a2 & b1 in the FinalS of a3;
end;
:: FSM_2:dfs 5
definiens
let a1 be non empty set;
let a2 be Element of a1;
let a3 be non empty SM_Final over a1;
To prove
a2 leads_to_final_state_of a3
it is sufficient to prove
thus ex b1 being Element of the carrier of a3 st
b1 is_accessible_via a2 & b1 in the FinalS of a3;
:: FSM_2:def 5
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being non empty SM_Final over b1 holds
b2 leads_to_final_state_of b3
iff
ex b4 being Element of the carrier of b3 st
b4 is_accessible_via b2 & b4 in the FinalS of b3;
:: FSM_2:attrnot 5 => FSM_2:attr 5
definition
let a1 be non empty set;
let a2 be non empty SM_Final over a1;
attr a2 is halting means
for b1 being Element of a1 holds
b1 leads_to_final_state_of a2;
end;
:: FSM_2:dfs 6
definiens
let a1 be non empty set;
let a2 be non empty SM_Final over a1;
To prove
a2 is halting
it is sufficient to prove
thus for b1 being Element of a1 holds
b1 leads_to_final_state_of a2;
:: FSM_2:def 6
theorem
for b1 being non empty set
for b2 being non empty SM_Final over b1 holds
b2 is halting(b1)
iff
for b3 being Element of b1 holds
b3 leads_to_final_state_of b2;
:: FSM_2:structnot 2 => FSM_2:struct 2
definition
let a1 be set;
let a2 be non empty set;
struct(SM_Final over a1, Moore-FSM over a1,a2) Moore-SM_Final(#
carrier -> set,
Tran -> Function-like quasi_total Relation of [:the carrier of it,A1:],the carrier of it,
OFun -> Function-like quasi_total Relation of the carrier of it,A2,
InitS -> Element of the carrier of it,
FinalS -> Element of bool the carrier of it
#);
end;
:: FSM_2:attrnot 6 => FSM_2:attr 6
definition
let a1 be set;
let a2 be non empty set;
let a3 be Moore-SM_Final over a1,a2;
attr a3 is strict;
end;
:: FSM_2:exreg 3
registration
let a1 be set;
let a2 be non empty set;
cluster strict Moore-SM_Final over a1,a2;
end;
:: FSM_2:aggrnot 2 => FSM_2:aggr 2
definition
let a1 be set;
let a2 be non empty set;
let a3 be set;
let a4 be Function-like quasi_total Relation of [:a3,a1:],a3;
let a5 be Function-like quasi_total Relation of a3,a2;
let a6 be Element of a3;
let a7 be Element of bool a3;
aggr Moore-SM_Final(#a3,a4,a5,a6,a7#) -> strict Moore-SM_Final over a1,a2;
end;
:: FSM_2:exreg 4
registration
let a1 be set;
let a2 be non empty set;
cluster non empty strict Moore-SM_Final over a1,a2;
end;
:: FSM_2:funcnot 2 => FSM_2:func 1
definition
let a1, a2 be non empty set;
let a3, a4 be set;
let a5 be Function-like quasi_total Relation of {a3,a4},a2;
func A1 -TwoStatesMooreSM(A3,A4,A5) -> non empty strict Moore-SM_Final over a1,a2 means
the carrier of it = {a3,a4} &
the Tran of it = [:{a3,a4},a1:] --> a4 &
the OFun of it = a5 &
the InitS of it = a3 &
the FinalS of it = {a4};
end;
:: FSM_2:def 7
theorem
for b1, b2 being non empty set
for b3, b4 being set
for b5 being Function-like quasi_total Relation of {b3,b4},b2
for b6 being non empty strict Moore-SM_Final over b1,b2 holds
b6 = b1 -TwoStatesMooreSM(b3,b4,b5)
iff
the carrier of b6 = {b3,b4} &
the Tran of b6 = [:{b3,b4},b1:] --> b4 &
the OFun of b6 = b5 &
the InitS of b6 = b3 &
the FinalS of b6 = {b4};
:: FSM_2:th 17
theorem
for b1, b2 being non empty set
for b3 being FinSequence of b2
for b4, b5 being set
for b6 being Function-like quasi_total Relation of {b4,b5},b1
for b7 being non empty Element of NAT
st 1 < b7 & b7 <= (len b3) + 1
holds (the InitS of b2 -TwoStatesMooreSM(b4,b5,b6),b3)-admissible . b7 = b5;
:: FSM_2:funcreg 2
registration
let a1, a2 be non empty set;
let a3, a4 be set;
let a5 be Function-like quasi_total Relation of {a3,a4},a2;
cluster a1 -TwoStatesMooreSM(a3,a4,a5) -> non empty calculating_type strict;
end;
:: FSM_2:funcreg 3
registration
let a1, a2 be non empty set;
let a3, a4 be set;
let a5 be Function-like quasi_total Relation of {a3,a4},a2;
cluster a1 -TwoStatesMooreSM(a3,a4,a5) -> non empty halting strict;
end;
:: FSM_2:th 18
theorem
for b1, b2 being non empty set
for b3 being Element of b2
for b4 being non empty Moore-SM_Final over b2,b1
st b4 is calculating_type(b2) & b3 leads_to_final_state_of b4 & not the InitS of b4 in the FinalS of b4
holds ex b5 being non empty Element of NAT st
(for b6 being FinSequence of b2
st b5 <= (len b6) + 1 & b6 . 1 = b3
holds (the InitS of b4,b6)-admissible . b5 in the FinalS of b4) &
(for b6 being FinSequence of b2
for b7 being non empty Element of NAT
st b7 <= (len b6) + 1 & b6 . 1 = b3 & b7 < b5
holds not (the InitS of b4,b6)-admissible . b7 in the FinalS of b4);
:: FSM_2:prednot 3 => FSM_2:pred 3
definition
let a1, a2 be non empty set;
let a3 be non empty Moore-SM_Final over a1,a2;
let a4 be Element of a1;
let a5 be set;
pred A5 is_result_of A4,A3 means
ex b1 being non empty Element of NAT st
for b2 being FinSequence of a1
st b2 . 1 = a4
holds (b1 <= (len b2) + 1 implies a5 = (the OFun of a3) . ((the InitS of a3,b2)-admissible . b1) &
(the InitS of a3,b2)-admissible . b1 in the FinalS of a3) &
(for b3 being non empty Element of NAT
st b3 < b1 & b3 <= (len b2) + 1
holds not (the InitS of a3,b2)-admissible . b3 in the FinalS of a3);
end;
:: FSM_2:dfs 8
definiens
let a1, a2 be non empty set;
let a3 be non empty Moore-SM_Final over a1,a2;
let a4 be Element of a1;
let a5 be set;
To prove
a5 is_result_of a4,a3
it is sufficient to prove
thus ex b1 being non empty Element of NAT st
for b2 being FinSequence of a1
st b2 . 1 = a4
holds (b1 <= (len b2) + 1 implies a5 = (the OFun of a3) . ((the InitS of a3,b2)-admissible . b1) &
(the InitS of a3,b2)-admissible . b1 in the FinalS of a3) &
(for b3 being non empty Element of NAT
st b3 < b1 & b3 <= (len b2) + 1
holds not (the InitS of a3,b2)-admissible . b3 in the FinalS of a3);
:: FSM_2:def 8
theorem
for b1, b2 being non empty set
for b3 being non empty Moore-SM_Final over b1,b2
for b4 being Element of b1
for b5 being set holds
b5 is_result_of b4,b3
iff
ex b6 being non empty Element of NAT st
for b7 being FinSequence of b1
st b7 . 1 = b4
holds (b6 <= (len b7) + 1 implies b5 = (the OFun of b3) . ((the InitS of b3,b7)-admissible . b6) &
(the InitS of b3,b7)-admissible . b6 in the FinalS of b3) &
(for b8 being non empty Element of NAT
st b8 < b6 & b8 <= (len b7) + 1
holds not (the InitS of b3,b7)-admissible . b8 in the FinalS of b3);
:: FSM_2:th 19
theorem
for b1, b2 being non empty set
for b3 being Element of b1
for b4 being non empty Moore-SM_Final over b1,b2
st the InitS of b4 in the FinalS of b4
holds (the OFun of b4) . the InitS of b4 is_result_of b3,b4;
:: FSM_2:th 20
theorem
for b1, b2 being non empty set
for b3 being Element of b1
for b4 being non empty Moore-SM_Final over b1,b2
st b4 is calculating_type(b1) & b3 leads_to_final_state_of b4 & not the InitS of b4 in the FinalS of b4
holds ex b5 being Element of b2 st
b5 is_result_of b3,b4;
:: FSM_2:th 21
theorem
for b1, b2 being non empty set
for b3 being Element of b1
for b4 being non empty Moore-SM_Final over b1,b2
st b4 is calculating_type(b1) & b3 leads_to_final_state_of b4
for b5, b6 being Element of b2
st b5 is_result_of b3,b4 & b6 is_result_of b3,b4
holds b5 = b6;
:: FSM_2:th 22
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
for b3 being non empty Moore-SM_Final over [:b1,b1:],succ b1
st b3 is calculating_type([:b1,b1:]) &
the carrier of b3 = succ b1 &
the FinalS of b3 = b1 &
the InitS of b3 = b1 &
the OFun of b3 = id the carrier of b3 &
(for b4, b5 being Element of b1 holds
(the Tran of b3) . [the InitS of b3,[b4,b5]] = b2 .(b4,b5))
holds b3 is halting([:b1,b1:]) &
(for b4, b5 being Element of b1 holds
b2 .(b4,b5) is_result_of [b4,b5],b3);
:: FSM_2:th 23
theorem
for b1 being non empty Moore-SM_Final over [:REAL,REAL:],succ REAL
st b1 is calculating_type([:REAL,REAL:]) &
the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL
st b3 <= b2
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b2) &
(for b2, b3 being Element of REAL
st b2 < b3
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b3)
for b2, b3 being Element of REAL holds
max(b2,b3) is_result_of [b2,b3],b1;
:: FSM_2:th 24
theorem
for b1 being non empty Moore-SM_Final over [:REAL,REAL:],succ REAL
st b1 is calculating_type([:REAL,REAL:]) &
the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL
st b2 < b3
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b2) &
(for b2, b3 being Element of REAL
st b3 <= b2
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b3)
for b2, b3 being Element of REAL holds
min(b2,b3) is_result_of [b2,b3],b1;
:: FSM_2:th 25
theorem
for b1 being non empty Moore-SM_Final over [:REAL,REAL:],succ REAL
st b1 is calculating_type([:REAL,REAL:]) &
the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL holds
(the Tran of b1) . [the InitS of b1,[b2,b3]] = b2 + b3)
for b2, b3 being Element of REAL holds
b2 + b3 is_result_of [b2,b3],b1;
:: FSM_2:th 26
theorem
for b1 being non empty Moore-SM_Final over [:REAL,REAL:],succ REAL
st b1 is calculating_type([:REAL,REAL:]) &
the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL
st (b2 <= 0 implies 0 < b3)
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = 1) &
(for b2, b3 being Element of REAL
st (b2 = 0 or b3 = 0) & b2 <= 0 & b3 <= 0
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = 0) &
(for b2, b3 being Element of REAL
st b2 < 0 & b3 < 0
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = - 1)
for b2, b3 being Element of REAL holds
max(sgn b2,sgn b3) is_result_of [b2,b3],b1;
:: FSM_2:exreg 5
registration
let a1, a2 be non empty set;
cluster non empty calculating_type halting Moore-SM_Final over a1,a2;
end;
:: FSM_2:exreg 6
registration
let a1 be non empty set;
cluster non empty calculating_type halting SM_Final over a1;
end;
:: FSM_2:funcnot 3 => FSM_2:func 2
definition
let a1, a2 be non empty set;
let a3 be non empty calculating_type halting Moore-SM_Final over a1,a2;
let a4 be Element of a1;
func Result(A4,A3) -> Element of a2 means
it is_result_of a4,a3;
end;
:: FSM_2:def 9
theorem
for b1, b2 being non empty set
for b3 being non empty calculating_type halting Moore-SM_Final over b1,b2
for b4 being Element of b1
for b5 being Element of b2 holds
b5 = Result(b4,b3)
iff
b5 is_result_of b4,b3;
:: FSM_2:th 27
theorem
for b1, b2 being non empty set
for b3 being Element of b2
for b4 being Function-like quasi_total Relation of {0,1},b1 holds
Result(b3,b2 -TwoStatesMooreSM(0,1,b4)) = b4 . 1;
:: FSM_2:th 28
theorem
for b1 being non empty calculating_type halting Moore-SM_Final over [:REAL,REAL:],succ REAL
st the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL
st b3 <= b2
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b2) &
(for b2, b3 being Element of REAL
st b2 < b3
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b3)
for b2, b3 being Element of REAL holds
Result([b2,b3],b1) = max(b2,b3);
:: FSM_2:th 29
theorem
for b1 being non empty calculating_type halting Moore-SM_Final over [:REAL,REAL:],succ REAL
st the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL
st b2 < b3
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b2) &
(for b2, b3 being Element of REAL
st b3 <= b2
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = b3)
for b2, b3 being Element of REAL holds
Result([b2,b3],b1) = min(b2,b3);
:: FSM_2:th 30
theorem
for b1 being non empty calculating_type halting Moore-SM_Final over [:REAL,REAL:],succ REAL
st the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL holds
(the Tran of b1) . [the InitS of b1,[b2,b3]] = b2 + b3)
for b2, b3 being Element of REAL holds
Result([b2,b3],b1) = b2 + b3;
:: FSM_2:th 31
theorem
for b1 being non empty calculating_type halting Moore-SM_Final over [:REAL,REAL:],succ REAL
st the carrier of b1 = succ REAL &
the FinalS of b1 = REAL &
the InitS of b1 = REAL &
the OFun of b1 = id the carrier of b1 &
(for b2, b3 being Element of REAL
st (b2 <= 0 implies 0 < b3)
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = 1) &
(for b2, b3 being Element of REAL
st (b2 = 0 or b3 = 0) & b2 <= 0 & b3 <= 0
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = 0) &
(for b2, b3 being Element of REAL
st b2 < 0 & b3 < 0
holds (the Tran of b1) . [the InitS of b1,[b2,b3]] = - 1)
for b2, b3 being Element of REAL holds
Result([b2,b3],b1) = max(sgn b2,sgn b3);