:: MSUALG_6 semantic presentation
theorem Th1: :: MSUALG_6:1
theorem Th2: :: MSUALG_6:2
:: deftheorem Def1 defines feasible MSUALG_6:def 1 :
theorem Th3: :: MSUALG_6:3
:: deftheorem Def2 defines Endomorphism MSUALG_6:def 2 :
theorem Th4: :: MSUALG_6:4
theorem Th5: :: MSUALG_6:5
theorem Th6: :: MSUALG_6:6
:: deftheorem Def3 defines TranslationRel MSUALG_6:def 3 :
theorem Th7: :: MSUALG_6:7
theorem Th8: :: MSUALG_6:8
theorem Th9: :: MSUALG_6:9
for
b1 being non
empty non
void ManySortedSign for
b2 being
OperSymbol of
b1for
b3 being
Nat st
b3 in dom (the_arity_of b2) holds
for
b4,
b5 being
MSAlgebra of
b1for
b6 being
ManySortedFunction of
b4,
b5for
b7,
b8 being
Element of
Args b2,
b4 st
b7 in Args b2,
b4 &
b6 # b7 in Args b2,
b5 holds
for
b9,
b10,
b11 being
Function st
b9 = b7 &
b10 = b6 # b7 &
b11 = b6 # b8 holds
for
b12 being
Element of
b4,
((the_arity_of b2) /. b3) st
b8 = b9 +* b3,
b12 holds
(
b11 . b3 = (b6 . ((the_arity_of b2) /. b3)) . b12 &
b6 # b8 = b10 +* b3,
(b11 . b3) )
definition
let c1 be non
empty non
void ManySortedSign ;
let c2 be
OperSymbol of
c1;
let c3 be
Nat;
let c4 be
MSAlgebra of
c1;
let c5 be
Function;
func transl c2,
c3,
c5,
c4 -> Function means :
Def4:
:: MSUALG_6:def 4
(
dom a6 = the
Sorts of
a4 . ((the_arity_of a2) /. a3) & ( for
b1 being
set st
b1 in the
Sorts of
a4 . ((the_arity_of a2) /. a3) holds
a6 . b1 = (Den a2,a4) . (a5 +* a3,b1) ) );
existence
ex b1 being Function st
( dom b1 = the Sorts of c4 . ((the_arity_of c2) /. c3) & ( for b2 being set st b2 in the Sorts of c4 . ((the_arity_of c2) /. c3) holds
b1 . b2 = (Den c2,c4) . (c5 +* c3,b2) ) )
uniqueness
for b1, b2 being Function st dom b1 = the Sorts of c4 . ((the_arity_of c2) /. c3) & ( for b3 being set st b3 in the Sorts of c4 . ((the_arity_of c2) /. c3) holds
b1 . b3 = (Den c2,c4) . (c5 +* c3,b3) ) & dom b2 = the Sorts of c4 . ((the_arity_of c2) /. c3) & ( for b3 being set st b3 in the Sorts of c4 . ((the_arity_of c2) /. c3) holds
b2 . b3 = (Den c2,c4) . (c5 +* c3,b3) ) holds
b1 = b2
end;
:: deftheorem Def4 defines transl MSUALG_6:def 4 :
theorem Th10: :: MSUALG_6:10
:: deftheorem Def5 defines is_e.translation_of MSUALG_6:def 5 :
theorem Th11: :: MSUALG_6:11
theorem Th12: :: MSUALG_6:12
theorem Th13: :: MSUALG_6:13
theorem Th14: :: MSUALG_6:14
definition
let c1 be non
empty non
void ManySortedSign ;
let c2 be
non-empty MSAlgebra of
c1;
let c3,
c4 be
SortSymbol of
c1;
assume E19:
TranslationRel c1 reduces c3,
c4
;
mode Translation of
c2,
c3,
c4 -> Function of the
Sorts of
a2 . a3,the
Sorts of
a2 . a4 means :
Def6:
:: MSUALG_6:def 6
ex
b1 being
RedSequence of
TranslationRel a1ex
b2 being
Function-yielding FinSequence st
(
a5 = compose b2,
(the Sorts of a2 . a3) &
len b1 = (len b2) + 1 &
a3 = b1 . 1 &
a4 = b1 . (len b1) & ( for
b3 being
Natfor
b4 being
Functionfor
b5,
b6 being
SortSymbol of
a1 st
b3 in dom b2 &
b4 = b2 . b3 &
b5 = b1 . b3 &
b6 = b1 . (b3 + 1) holds
b4 is_e.translation_of a2,
b5,
b6 ) );
existence
ex b1 being Function of the Sorts of c2 . c3,the Sorts of c2 . c4ex b2 being RedSequence of TranslationRel c1ex b3 being Function-yielding FinSequence st
( b1 = compose b3,(the Sorts of c2 . c3) & len b2 = (len b3) + 1 & c3 = b2 . 1 & c4 = b2 . (len b2) & ( for b4 being Nat
for b5 being Function
for b6, b7 being SortSymbol of c1 st b4 in dom b3 & b5 = b3 . b4 & b6 = b2 . b4 & b7 = b2 . (b4 + 1) holds
b5 is_e.translation_of c2,b6,b7 ) )
end;
:: deftheorem Def6 defines Translation MSUALG_6:def 6 :
theorem Th15: :: MSUALG_6:15
theorem Th16: :: MSUALG_6:16
theorem Th17: :: MSUALG_6:17
theorem Th18: :: MSUALG_6:18
for
b1 being non
empty non
void ManySortedSign for
b2 being
non-empty MSAlgebra of
b1for
b3,
b4,
b5 being
SortSymbol of
b1 st
TranslationRel b1 reduces b3,
b4 &
TranslationRel b1 reduces b4,
b5 holds
for
b6 being
Translation of
b2,
b3,
b4for
b7 being
Translation of
b2,
b4,
b5 holds
b7 * b6 is
Translation of
b2,
b3,
b5
theorem Th19: :: MSUALG_6:19
theorem Th20: :: MSUALG_6:20
scheme :: MSUALG_6:sch 1
s1{
F1()
-> non
empty non
void ManySortedSign ,
F2()
-> non-empty MSAlgebra of
F1(),
P1[
set ,
set ,
set ] } :
provided
E24:
for
b1 being
SortSymbol of
F1() holds
P1[
id (the Sorts of F2() . b1),
b1,
b1]
and
E25:
for
b1,
b2,
b3 being
SortSymbol of
F1() st
TranslationRel F1()
reduces b1,
b2 holds
for
b4 being
Translation of
F2(),
b1,
b2 st
P1[
b4,
b1,
b2] holds
for
b5 being
Function st
b5 is_e.translation_of F2(),
b2,
b3 holds
P1[
b5 * b4,
b1,
b3]
theorem Th21: :: MSUALG_6:21
for
b1 being non
empty non
void ManySortedSign for
b2,
b3 being
non-empty MSAlgebra of
b1for
b4 being
ManySortedFunction of
b2,
b3 st
b4 is_homomorphism b2,
b3 holds
for
b5 being
OperSymbol of
b1for
b6 being
Nat st
b6 in dom (the_arity_of b5) holds
for
b7 being
Element of
Args b5,
b2 holds
(b4 . (the_result_sort_of b5)) * (transl b5,b6,b7,b2) = (transl b5,b6,(b4 # b7),b3) * (b4 . ((the_arity_of b5) /. b6))
theorem Th22: :: MSUALG_6:22
theorem Th23: :: MSUALG_6:23
theorem Th24: :: MSUALG_6:24
theorem Th25: :: MSUALG_6:25
theorem Th26: :: MSUALG_6:26
definition
let c1 be non
empty non
void ManySortedSign ;
let c2 be
MSAlgebra of
c1;
let c3 be
ManySortedRelation of
c2;
attr a3 is
compatible means :
Def7:
:: MSUALG_6:def 7
for
b1 being
OperSymbol of
a1for
b2,
b3 being
Function st
b2 in Args b1,
a2 &
b3 in Args b1,
a2 & ( for
b4 being
Nat st
b4 in dom (the_arity_of b1) holds
[(b2 . b4),(b3 . b4)] in a3 . ((the_arity_of b1) /. b4) ) holds
[((Den b1,a2) . b2),((Den b1,a2) . b3)] in a3 . (the_result_sort_of b1);
attr a3 is
invariant means :
Def8:
:: MSUALG_6:def 8
for
b1,
b2 being
SortSymbol of
a1for
b3 being
Function st
b3 is_e.translation_of a2,
b1,
b2 holds
for
b4,
b5 being
set st
[b4,b5] in a3 . b1 holds
[(b3 . b4),(b3 . b5)] in a3 . b2;
attr a3 is
stable means :
Def9:
:: MSUALG_6:def 9
for
b1 being
Endomorphism of
a2for
b2 being
SortSymbol of
a1for
b3,
b4 being
set st
[b3,b4] in a3 . b2 holds
[((b1 . b2) . b3),((b1 . b2) . b4)] in a3 . b2;
end;
:: deftheorem Def7 defines compatible MSUALG_6:def 7 :
:: deftheorem Def8 defines invariant MSUALG_6:def 8 :
:: deftheorem Def9 defines stable MSUALG_6:def 9 :
theorem Th27: :: MSUALG_6:27
theorem Th28: :: MSUALG_6:28
:: deftheorem Def10 defines id MSUALG_6:def 10 :
scheme :: MSUALG_6:sch 4
s4{
F1()
-> non
empty non
void ManySortedSign ,
F2()
-> non-empty MSAlgebra of
F1(),
P1[
set ,
set ,
set ],
P2[
set ],
F3()
-> ManySortedRelation of
F2(),
F4()
-> ManySortedRelation of
F2() } :
provided
E33:
for
b1 being
ManySortedRelation of
F2() holds
(
P2[
b1] iff for
b2,
b3 being
SortSymbol of
F1()
for
b4 being
Function of the
Sorts of
F2()
. b2,the
Sorts of
F2()
. b3 st
P1[
b4,
b2,
b3] holds
for
b5,
b6 being
set st
[b5,b6] in b1 . b2 holds
[(b4 . b5),(b4 . b6)] in b1 . b3 )
and
E34:
for
b1,
b2,
b3 being
SortSymbol of
F1()
for
b4 being
Function of the
Sorts of
F2()
. b1,the
Sorts of
F2()
. b2for
b5 being
Function of the
Sorts of
F2()
. b2,the
Sorts of
F2()
. b3 st
P1[
b4,
b1,
b2] &
P1[
b5,
b2,
b3] holds
P1[
b5 * b4,
b1,
b3]
and
E35:
for
b1 being
SortSymbol of
F1() holds
P1[
id (the Sorts of F2() . b1),
b1,
b1]
and
E36:
for
b1 being
SortSymbol of
F1()
for
b2,
b3 being
Element of
F2(),
b1 holds
(
[b2,b3] in F4()
. b1 iff ex
b4 being
SortSymbol of
F1()ex
b5 being
Function of the
Sorts of
F2()
. b4,the
Sorts of
F2()
. b1ex
b6,
b7 being
Element of
F2(),
b4 st
(
P1[
b5,
b4,
b1] &
[b6,b7] in F3()
. b4 &
b2 = b5 . b6 &
b3 = b5 . b7 ) )
E33:
now
let c1 be non
empty non
void ManySortedSign ;
let c2 be
non-empty MSAlgebra of
c1;
let c3,
c4 be
ManySortedRelation of
c2;
defpred S1[
ManySortedRelation of
c2] means
a1 is
invariant;
defpred S2[
Function,
SortSymbol of
c1,
SortSymbol of
c1] means (
TranslationRel c1 reduces a2,
a3 &
a1 is
Translation of
c2,
a2,
a3 );
assume E34:
for
b1 being
SortSymbol of
c1for
b2,
b3 being
Element of
c2,
b1 holds
(
[b2,b3] in c4 . b1 iff ex
b4 being
SortSymbol of
c1ex
b5 being
Function of the
Sorts of
c2 . b4,the
Sorts of
c2 . b1ex
b6,
b7 being
Element of
c2,
b4 st
(
S2[
b5,
b4,
b1] &
[b6,b7] in c3 . b4 &
b2 = b5 . b6 &
b3 = b5 . b7 ) )
;
E35:
now
let c5 be
ManySortedRelation of
c2;
thus
(
S1[
c5] implies for
b1,
b2 being
SortSymbol of
c1for
b3 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2 st
S2[
b3,
b1,
b2] holds
for
b4,
b5 being
set st
[b4,b5] in c5 . b1 holds
[(b3 . b4),(b3 . b5)] in c5 . b2 )
by Th28;
assume
for
b1,
b2 being
SortSymbol of
c1for
b3 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2 st
S2[
b3,
b1,
b2] holds
for
b4,
b5 being
set st
[b4,b5] in c5 . b1 holds
[(b3 . b4),(b3 . b5)] in c5 . b2
;
then
for
b1,
b2 being
SortSymbol of
c1 st
TranslationRel c1 reduces b1,
b2 holds
for
b3 being
Translation of
c2,
b1,
b2for
b4,
b5 being
set st
[b4,b5] in c5 . b1 holds
[(b3 . b4),(b3 . b5)] in c5 . b2
;
hence
S1[
c5]
by Th28;
end;
E36:
for
b1,
b2,
b3 being
SortSymbol of
c1for
b4 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2for
b5 being
Function of the
Sorts of
c2 . b2,the
Sorts of
c2 . b3 st
S2[
b4,
b1,
b2] &
S2[
b5,
b2,
b3] holds
S2[
b5 * b4,
b1,
b3]
by Th18, REWRITE1:17;
E37:
for
b1 being
SortSymbol of
c1 holds
S2[
id (the Sorts of c2 . b1),
b1,
b1]
by Th16, REWRITE1:13;
thus
(
S1[
c4] &
c3 c= c4 & ( for
b1 being
ManySortedRelation of
c2 st
S1[
b1] &
c3 c= b1 holds
c4 c= b1 ) )
from MSUALG_6:sch 4(E35, E36, E37, E34);
end;
:: deftheorem Def11 defines InvCl MSUALG_6:def 11 :
theorem Th29: :: MSUALG_6:29
theorem Th30: :: MSUALG_6:30
E37:
now
let c1 be non
empty non
void ManySortedSign ;
let c2 be
non-empty MSAlgebra of
c1;
let c3,
c4 be
ManySortedRelation of
c2;
defpred S1[
ManySortedRelation of
c2] means
a1 is
stable;
defpred S2[
Function,
SortSymbol of
c1,
SortSymbol of
c1] means (
a2 = a3 & ex
b1 being
Endomorphism of
c2 st
a1 = b1 . a2 );
assume E38:
for
b1 being
SortSymbol of
c1for
b2,
b3 being
Element of
c2,
b1 holds
(
[b2,b3] in c4 . b1 iff ex
b4 being
SortSymbol of
c1ex
b5 being
Function of the
Sorts of
c2 . b4,the
Sorts of
c2 . b1ex
b6,
b7 being
Element of
c2,
b4 st
(
S2[
b5,
b4,
b1] &
[b6,b7] in c3 . b4 &
b2 = b5 . b6 &
b3 = b5 . b7 ) )
;
E39:
for
b1 being
ManySortedRelation of
c2 holds
(
S1[
b1] iff for
b2,
b3 being
SortSymbol of
c1for
b4 being
Function of the
Sorts of
c2 . b2,the
Sorts of
c2 . b3 st
S2[
b4,
b2,
b3] holds
for
b5,
b6 being
set st
[b5,b6] in b1 . b2 holds
[(b4 . b5),(b4 . b6)] in b1 . b3 )
proof
let c5 be
ManySortedRelation of
c2;
thus
(
c5 is
stable implies for
b1,
b2 being
SortSymbol of
c1for
b3 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2 st
b1 = b2 & ex
b4 being
Endomorphism of
c2 st
b3 = b4 . b1 holds
for
b4,
b5 being
set st
[b4,b5] in c5 . b1 holds
[(b3 . b4),(b3 . b5)] in c5 . b2 )
by Def9;
assume E40:
for
b1,
b2 being
SortSymbol of
c1for
b3 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2 st
S2[
b3,
b1,
b2] holds
for
b4,
b5 being
set st
[b4,b5] in c5 . b1 holds
[(b3 . b4),(b3 . b5)] in c5 . b2
;
thus
c5 is
stable
end;
E40:
for
b1,
b2,
b3 being
SortSymbol of
c1for
b4 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2for
b5 being
Function of the
Sorts of
c2 . b2,the
Sorts of
c2 . b3 st
S2[
b4,
b1,
b2] &
S2[
b5,
b2,
b3] holds
S2[
b5 * b4,
b1,
b3]
E41:
for
b1 being
SortSymbol of
c1 holds
S2[
id (the Sorts of c2 . b1),
b1,
b1]
thus
(
S1[
c4] &
c3 c= c4 & ( for
b1 being
ManySortedRelation of
c2 st
S1[
b1] &
c3 c= b1 holds
c4 c= b1 ) )
from MSUALG_6:sch 4(E39, E40, E41, E38);
end;
:: deftheorem Def12 defines StabCl MSUALG_6:def 12 :
theorem Th31: :: MSUALG_6:31
theorem Th32: :: MSUALG_6:32
:: deftheorem Def13 defines TRS MSUALG_6:def 13 :
theorem Th33: :: MSUALG_6:33
theorem Th34: :: MSUALG_6:34
theorem Th35: :: MSUALG_6:35
theorem Th36: :: MSUALG_6:36
theorem Th37: :: MSUALG_6:37
theorem Th38: :: MSUALG_6:38
theorem Th39: :: MSUALG_6:39
theorem Th40: :: MSUALG_6:40
theorem Th41: :: MSUALG_6:41
theorem Th42: :: MSUALG_6:42
:: deftheorem Def14 defines EqCl MSUALG_6:def 14 :
theorem Th43: :: MSUALG_6:43
theorem Th44: :: MSUALG_6:44
theorem Th45: :: MSUALG_6:45
theorem Th46: :: MSUALG_6:46
theorem Th47: :: MSUALG_6:47
theorem Th48: :: MSUALG_6:48
theorem Th49: :: MSUALG_6:49
theorem Th50: :: MSUALG_6:50
theorem Th51: :: MSUALG_6:51
:: deftheorem Def15 defines EqTh MSUALG_6:def 15 :
theorem Th52: :: MSUALG_6:52
theorem Th53: :: MSUALG_6:53
theorem Th54: :: MSUALG_6:54