:: 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
b1 for
b3 being
Nat st
b3 in dom (the_arity_of b2) holds
for
b4,
b5 being
MSAlgebra of
b1 for
b6 being
ManySortedFunction of
b4,
b5 for
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
Nat for
b4 being
Function for
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
b1 for
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,
b4 for
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
b1 for
b4 being
ManySortedFunction of
b2,
b3 st
b4 is_homomorphism b2,
b3 holds
for
b5 being
OperSymbol of
b1 for
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
a1 for
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
a1 for
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
a2 for
b2 being
SortSymbol of
a1 for
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()
. b2 for
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
c1 for
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
c1 for
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
c1 for
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,
b2 for
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
c1 for
b4 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2 for
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
c1 for
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
c1 for
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
c1 for
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
c1 for
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
c1 for
b4 being
Function of the
Sorts of
c2 . b1,the
Sorts of
c2 . b2 for
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