:: MSAFREE semantic presentation
theorem Th1: :: MSAFREE:1
definition
let c
1 be
set ;
let c
2, c
3 be
ManySortedSet of c
1;
let c
4 be
ManySortedSubset of c
2;
let c
5 be
ManySortedFunction of c
2,c
3;
func c
5 || c
4 -> ManySortedFunction of a
4,a
3 means :
Def1:
:: MSAFREE:def 1
for b
1 being
set holds
( b
1 in a
1 implies for b
2 being
Function of a
2 . b
1,a
3 . b
1 holds
( b
2 = a
5 . b
1 implies a
6 . b
1 = b
2 | (a4 . b1) ) );
existence
ex b1 being ManySortedFunction of c4,c3 st
for b2 being set holds
( b2 in c1 implies for b3 being Function of c2 . b2,c3 . b2 holds
( b3 = c5 . b2 implies b1 . b2 = b3 | (c4 . b2) ) )
uniqueness
for b1, b2 being ManySortedFunction of c4,c3 holds
( ( for b3 being set holds
( b3 in c1 implies for b4 being Function of c2 . b3,c3 . b3 holds
( b4 = c5 . b3 implies b1 . b3 = b4 | (c4 . b3) ) ) ) & ( for b3 being set holds
( b3 in c1 implies for b4 being Function of c2 . b3,c3 . b3 holds
( b4 = c5 . b3 implies b2 . b3 = b4 | (c4 . b3) ) ) ) implies b1 = b2 )
end;
:: deftheorem Def1 defines || MSAFREE:def 1 :
:: deftheorem Def2 defines coprod MSAFREE:def 2 :
for b
1 being
set for b
2 being
ManySortedSet of b
1for b
3 being
set holds
( b
3 in b
1 implies for b
4 being
set holds
( b
4 = coprod b
3,b
2 iff for b
5 being
set holds
( b
5 in b
4 iff ex b
6 being
set st
( b
6 in b
2 . b
3 & b
5 = [b6,b3] ) ) ) );
:: deftheorem Def3 defines coprod MSAFREE:def 3 :
theorem Th2: :: MSAFREE:2
:: deftheorem Def4 defines GeneratorSet MSAFREE:def 4 :
theorem Th3: :: MSAFREE:3
:: deftheorem Def5 defines free MSAFREE:def 5 :
:: deftheorem Def6 defines free MSAFREE:def 6 :
theorem Th4: :: MSAFREE:4
definition
let c
1 be non
empty non
void ManySortedSign ;
let c
2 be
ManySortedSet of the
carrier of c
1;
canceled;canceled;func REL c
2 -> Relation of
[:the OperSymbols of a1,{the carrier of a1}:] \/ (Union (coprod a2)),
([:the OperSymbols of a1,{the carrier of a1}:] \/ (Union (coprod a2))) * means :
Def9:
:: MSAFREE:def 9
for b
1 being
Element of
[:the OperSymbols of a1,{the carrier of a1}:] \/ (Union (coprod a2))for b
2 being
Element of
([:the OperSymbols of a1,{the carrier of a1}:] \/ (Union (coprod a2))) * holds
(
[b1,b2] in a
3 iff ( b
1 in [:the OperSymbols of a1,{the carrier of a1}:] & ( for b
3 being
OperSymbol of a
1 holds
(
[b3,the carrier of a1] = b
1 implies (
len b
2 = len (the_arity_of b3) & ( for b
4 being
set holds
( b
4 in dom b
2 implies ( ( b
2 . b
4 in [:the OperSymbols of a1,{the carrier of a1}:] implies for b
5 being
OperSymbol of a
1 holds
(
[b5,the carrier of a1] = b
2 . b
4 implies
the_result_sort_of b
5 = (the_arity_of b3) . b
4 ) ) & ( b
2 . b
4 in Union (coprod a2) implies b
2 . b
4 in coprod ((the_arity_of b3) . b4),a
2 ) ) ) ) ) ) ) ) );
existence
ex b1 being Relation of [:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2)),([:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))) * st
for b2 being Element of [:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))
for b3 being Element of ([:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))) * holds
( [b2,b3] in b1 iff ( b2 in [:the OperSymbols of c1,{the carrier of c1}:] & ( for b4 being OperSymbol of c1 holds
( [b4,the carrier of c1] = b2 implies ( len b3 = len (the_arity_of b4) & ( for b5 being set holds
( b5 in dom b3 implies ( ( b3 . b5 in [:the OperSymbols of c1,{the carrier of c1}:] implies for b6 being OperSymbol of c1 holds
( [b6,the carrier of c1] = b3 . b5 implies the_result_sort_of b6 = (the_arity_of b4) . b5 ) ) & ( b3 . b5 in Union (coprod c2) implies b3 . b5 in coprod ((the_arity_of b4) . b5),c2 ) ) ) ) ) ) ) ) )
uniqueness
for b1, b2 being Relation of [:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2)),([:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))) * holds
( ( for b3 being Element of [:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))
for b4 being Element of ([:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))) * holds
( [b3,b4] in b1 iff ( b3 in [:the OperSymbols of c1,{the carrier of c1}:] & ( for b5 being OperSymbol of c1 holds
( [b5,the carrier of c1] = b3 implies ( len b4 = len (the_arity_of b5) & ( for b6 being set holds
( b6 in dom b4 implies ( ( b4 . b6 in [:the OperSymbols of c1,{the carrier of c1}:] implies for b7 being OperSymbol of c1 holds
( [b7,the carrier of c1] = b4 . b6 implies the_result_sort_of b7 = (the_arity_of b5) . b6 ) ) & ( b4 . b6 in Union (coprod c2) implies b4 . b6 in coprod ((the_arity_of b5) . b6),c2 ) ) ) ) ) ) ) ) ) ) & ( for b3 being Element of [:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))
for b4 being Element of ([:the OperSymbols of c1,{the carrier of c1}:] \/ (Union (coprod c2))) * holds
( [b3,b4] in b2 iff ( b3 in [:the OperSymbols of c1,{the carrier of c1}:] & ( for b5 being OperSymbol of c1 holds
( [b5,the carrier of c1] = b3 implies ( len b4 = len (the_arity_of b5) & ( for b6 being set holds
( b6 in dom b4 implies ( ( b4 . b6 in [:the OperSymbols of c1,{the carrier of c1}:] implies for b7 being OperSymbol of c1 holds
( [b7,the carrier of c1] = b4 . b6 implies the_result_sort_of b7 = (the_arity_of b5) . b6 ) ) & ( b4 . b6 in Union (coprod c2) implies b4 . b6 in coprod ((the_arity_of b5) . b6),c2 ) ) ) ) ) ) ) ) ) ) implies b1 = b2 )
end;
:: deftheorem Def7 MSAFREE:def 7 :
canceled;
:: deftheorem Def8 MSAFREE:def 8 :
canceled;
:: deftheorem Def9 defines REL MSAFREE:def 9 :
for b
1 being non
empty non
void ManySortedSign for b
2 being
ManySortedSet of the
carrier of b
1for b
3 being
Relation of
[:the OperSymbols of b1,{the carrier of b1}:] \/ (Union (coprod b2)),
([:the OperSymbols of b1,{the carrier of b1}:] \/ (Union (coprod b2))) * holds
( b
3 = REL b
2 iff for b
4 being
Element of
[:the OperSymbols of b1,{the carrier of b1}:] \/ (Union (coprod b2))for b
5 being
Element of
([:the OperSymbols of b1,{the carrier of b1}:] \/ (Union (coprod b2))) * holds
(
[b4,b5] in b
3 iff ( b
4 in [:the OperSymbols of b1,{the carrier of b1}:] & ( for b
6 being
OperSymbol of b
1 holds
(
[b6,the carrier of b1] = b
4 implies (
len b
5 = len (the_arity_of b6) & ( for b
7 being
set holds
( b
7 in dom b
5 implies ( ( b
5 . b
7 in [:the OperSymbols of b1,{the carrier of b1}:] implies for b
8 being
OperSymbol of b
1 holds
(
[b8,the carrier of b1] = b
5 . b
7 implies
the_result_sort_of b
8 = (the_arity_of b6) . b
7 ) ) & ( b
5 . b
7 in Union (coprod b2) implies b
5 . b
7 in coprod ((the_arity_of b6) . b7),b
2 ) ) ) ) ) ) ) ) ) );
theorem Th5: :: MSAFREE:5
:: deftheorem Def10 defines DTConMSA MSAFREE:def 10 :
theorem Th6: :: MSAFREE:6
theorem Th7: :: MSAFREE:7
:: deftheorem Def11 defines Sym MSAFREE:def 11 :
:: deftheorem Def12 defines FreeSort MSAFREE:def 12 :
:: deftheorem Def13 defines FreeSort MSAFREE:def 13 :
theorem Th8: :: MSAFREE:8
theorem Th9: :: MSAFREE:9
theorem Th10: :: MSAFREE:10
theorem Th11: :: MSAFREE:11
canceled;
theorem Th12: :: MSAFREE:12
theorem Th13: :: MSAFREE:13
definition
let c
1 be non
empty non
void ManySortedSign ;
let c
2 be
V3 ManySortedSet of the
carrier of c
1;
let c
3 be
OperSymbol of c
1;
func DenOp c
3,c
2 -> Function of
(((FreeSort a2) # ) * the Arity of a1) . a
3,
((FreeSort a2) * the ResultSort of a1) . a
3 means :
Def14:
:: MSAFREE:def 14
for b
1 being
FinSequence of
TS (DTConMSA a2) holds
(
Sym a
3,a
2 ==> roots b
1 implies a
4 . b
1 = (Sym a3,a2) -tree b
1 );
existence
ex b1 being Function of (((FreeSort c2) # ) * the Arity of c1) . c3,((FreeSort c2) * the ResultSort of c1) . c3 st
for b2 being FinSequence of TS (DTConMSA c2) holds
( Sym c3,c2 ==> roots b2 implies b1 . b2 = (Sym c3,c2) -tree b2 )
uniqueness
for b1, b2 being Function of (((FreeSort c2) # ) * the Arity of c1) . c3,((FreeSort c2) * the ResultSort of c1) . c3 holds
( ( for b3 being FinSequence of TS (DTConMSA c2) holds
( Sym c3,c2 ==> roots b3 implies b1 . b3 = (Sym c3,c2) -tree b3 ) ) & ( for b3 being FinSequence of TS (DTConMSA c2) holds
( Sym c3,c2 ==> roots b3 implies b2 . b3 = (Sym c3,c2) -tree b3 ) ) implies b1 = b2 )
end;
:: deftheorem Def14 defines DenOp MSAFREE:def 14 :
:: deftheorem Def15 defines FreeOper MSAFREE:def 15 :
:: deftheorem Def16 defines FreeMSA MSAFREE:def 16 :
:: deftheorem Def17 defines FreeGen MSAFREE:def 17 :
theorem Th14: :: MSAFREE:14
:: deftheorem Def18 defines FreeGen MSAFREE:def 18 :
theorem Th15: :: MSAFREE:15
theorem Th16: :: MSAFREE:16
definition
let c
1 be non
empty non
void ManySortedSign ;
let c
2 be
V3 ManySortedSet of the
carrier of c
1;
let c
3 be
SortSymbol of c
1;
func Reverse c
3,c
2 -> Function of
FreeGen a
3,a
2,a
2 . a
3 means :
Def19:
:: MSAFREE:def 19
for b
1 being
Symbol of
(DTConMSA a2) holds
(
root-tree b
1 in FreeGen a
3,a
2 implies a
4 . (root-tree b1) = b
1 `1 );
existence
ex b1 being Function of FreeGen c3,c2,c2 . c3 st
for b2 being Symbol of (DTConMSA c2) holds
( root-tree b2 in FreeGen c3,c2 implies b1 . (root-tree b2) = b2 `1 )
uniqueness
for b1, b2 being Function of FreeGen c3,c2,c2 . c3 holds
( ( for b3 being Symbol of (DTConMSA c2) holds
( root-tree b3 in FreeGen c3,c2 implies b1 . (root-tree b3) = b3 `1 ) ) & ( for b3 being Symbol of (DTConMSA c2) holds
( root-tree b3 in FreeGen c3,c2 implies b2 . (root-tree b3) = b3 `1 ) ) implies b1 = b2 )
end;
:: deftheorem Def19 defines Reverse MSAFREE:def 19 :
:: deftheorem Def20 defines Reverse MSAFREE:def 20 :
:: deftheorem Def21 defines pi MSAFREE:def 21 :
:: deftheorem Def22 defines @ MSAFREE:def 22 :
:: deftheorem Def23 defines pi MSAFREE:def 23 :
theorem Th17: :: MSAFREE:17
theorem Th18: :: MSAFREE:18
theorem Th19: :: MSAFREE:19
theorem Th20: :: MSAFREE:20