:: OSAFREE semantic presentation
:: deftheorem Def1 defines OSGeneratorSet OSAFREE:def 1 :
theorem Th1: :: OSAFREE:1
:: deftheorem Def2 defines osfree OSAFREE:def 2 :
:: deftheorem Def3 defines osfree OSAFREE:def 3 :
definition
let c
1 be
OrderSortedSign;
let c
2 be
ManySortedSet of c
1;
func OSREL 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 :
Def4:
:: OSAFREE:def 4
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 ) ) & not ( b
2 . b
4 in Union (coprod a2) & ( for b
5 being
Element of a
1 holds
not ( b
5 <= (the_arity_of b3) /. b
4 & b
2 . b
4 in coprod b
5,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 ) ) & not ( b3 . b5 in Union (coprod c2) & ( for b6 being Element of c1 holds
not ( b6 <= (the_arity_of b4) /. b5 & b3 . b5 in coprod b6,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 ) ) & not ( b4 . b6 in Union (coprod c2) & ( for b7 being Element of c1 holds
not ( b7 <= (the_arity_of b5) /. b6 & b4 . b6 in coprod b7,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 ) ) & not ( b4 . b6 in Union (coprod c2) & ( for b7 being Element of c1 holds
not ( b7 <= (the_arity_of b5) /. b6 & b4 . b6 in coprod b7,c2 ) ) ) ) ) ) ) ) ) ) ) ) implies b1 = b2 )
end;
:: deftheorem Def4 defines OSREL OSAFREE:def 4 :
for b
1 being
OrderSortedSignfor b
2 being
ManySortedSet 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 = OSREL 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 ) ) & not ( b
5 . b
7 in Union (coprod b2) & ( for b
8 being
Element of b
1 holds
not ( b
8 <= (the_arity_of b6) /. b
7 & b
5 . b
7 in coprod b
8,b
2 ) ) ) ) ) ) ) ) ) ) ) );
theorem Th2: :: OSAFREE:2
:: deftheorem Def5 defines DTConOSA OSAFREE:def 5 :
theorem Th3: :: OSAFREE:3
theorem Th4: :: OSAFREE:4
:: deftheorem Def6 defines OSSym OSAFREE:def 6 :
:: deftheorem Def7 defines ParsedTerms OSAFREE:def 7 :
:: deftheorem Def8 defines ParsedTerms OSAFREE:def 8 :
theorem Th5: :: OSAFREE:5
theorem Th6: :: OSAFREE:6
theorem Th7: :: OSAFREE:7
theorem Th8: :: OSAFREE:8
definition
let c
1 be
OrderSortedSign;
let c
2 be
V5 ManySortedSet of c
1;
let c
3 be
OperSymbol of c
1;
func PTDenOp c
3,c
2 -> Function of
(((ParsedTerms a2) # ) * the Arity of a1) . a
3,
((ParsedTerms a2) * the ResultSort of a1) . a
3 means :
Def9:
:: OSAFREE:def 9
for b
1 being
FinSequence of
TS (DTConOSA a2) holds
(
OSSym a
3,a
2 ==> roots b
1 implies a
4 . b
1 = (OSSym a3,a2) -tree b
1 );
existence
ex b1 being Function of (((ParsedTerms c2) # ) * the Arity of c1) . c3,((ParsedTerms c2) * the ResultSort of c1) . c3 st
for b2 being FinSequence of TS (DTConOSA c2) holds
( OSSym c3,c2 ==> roots b2 implies b1 . b2 = (OSSym c3,c2) -tree b2 )
uniqueness
for b1, b2 being Function of (((ParsedTerms c2) # ) * the Arity of c1) . c3,((ParsedTerms c2) * the ResultSort of c1) . c3 holds
( ( for b3 being FinSequence of TS (DTConOSA c2) holds
( OSSym c3,c2 ==> roots b3 implies b1 . b3 = (OSSym c3,c2) -tree b3 ) ) & ( for b3 being FinSequence of TS (DTConOSA c2) holds
( OSSym c3,c2 ==> roots b3 implies b2 . b3 = (OSSym c3,c2) -tree b3 ) ) implies b1 = b2 )
end;
:: deftheorem Def9 defines PTDenOp OSAFREE:def 9 :
:: deftheorem Def10 defines PTOper OSAFREE:def 10 :
:: deftheorem Def11 defines ParsedTermsOSA OSAFREE:def 11 :
theorem Th9: :: OSAFREE:9
theorem Th10: :: OSAFREE:10
theorem Th11: :: OSAFREE:11
theorem Th12: :: OSAFREE:12
theorem Th13: :: OSAFREE:13
theorem Th14: :: OSAFREE:14
:: deftheorem Def12 defines LeastSort OSAFREE:def 12 :
theorem Th15: :: OSAFREE:15
theorem Th16: :: OSAFREE:16
theorem Th17: :: OSAFREE:17
theorem Th18: :: OSAFREE:18
:: deftheorem Def13 OSAFREE:def 13 :
canceled;
:: deftheorem Def14 defines LeastSorts OSAFREE:def 14 :
theorem Th19: :: OSAFREE:19
:: deftheorem Def15 defines pi OSAFREE:def 15 :
:: deftheorem Def16 defines @ OSAFREE:def 16 :
:: deftheorem Def17 defines pi OSAFREE:def 17 :
:: deftheorem Def18 defines LCongruence OSAFREE:def 18 :
:: deftheorem Def19 defines FreeOSA OSAFREE:def 19 :
:: deftheorem Def20 defines @ OSAFREE:def 20 :
definition
let c
1 be
OrderSortedSign;
let c
2 be
V5 ManySortedSet of c
1;
let c
3 be
Symbol of
(DTConOSA c2);
let c
4 be
FinSequence of
bool [:(TS (DTConOSA c2)),the carrier of c1:];
func @ c
3,c
4 -> Subset of
[:(TS (DTConOSA a2)),the carrier of a1:] equals :: OSAFREE:def 21
{ [((Den b1,(ParsedTermsOSA a2)) . b2),b3] where B is OperSymbol of a1, B is Element of Args b1,(ParsedTermsOSA a2), B is Element of a1 : ( ex b1 being OperSymbol of a1 st
( a3 = [b4,the carrier of a1] & b4 ~= b1 & len (the_arity_of b4) = len (the_arity_of b1) & the_result_sort_of b4 <= b3 & the_result_sort_of b1 <= b3 ) & ex b1 being Element of the carrier of a1 * st
( dom b4 = dom a4 & ( for b2 being Nat holds
( b5 in dom a4 implies [(b2 . b5),(b4 /. b5)] in a4 . b5 ) ) ) ) } ;
correctness
coherence
{ [((Den b1,(ParsedTermsOSA c2)) . b2),b3] where B is OperSymbol of c1, B is Element of Args b1,(ParsedTermsOSA c2), B is Element of c1 : ( ex b1 being OperSymbol of c1 st
( c3 = [b4,the carrier of c1] & b4 ~= b1 & len (the_arity_of b4) = len (the_arity_of b1) & the_result_sort_of b4 <= b3 & the_result_sort_of b1 <= b3 ) & ex b1 being Element of the carrier of c1 * st
( dom b4 = dom c4 & ( for b2 being Nat holds
( b5 in dom c4 implies [(b2 . b5),(b4 /. b5)] in c4 . b5 ) ) ) ) } is Subset of [:(TS (DTConOSA c2)),the carrier of c1:];
end;
:: deftheorem Def21 defines @ OSAFREE:def 21 :
definition
let c
1 be
locally_directed OrderSortedSign;
let c
2 be
V5 ManySortedSet of c
1;
func PTClasses c
2 -> Function of
TS (DTConOSA a2),
bool [:(TS (DTConOSA a2)),the carrier of a1:] means :
Def22:
:: OSAFREE:def 22
( ( for b
1 being
Symbol of
(DTConOSA a2) holds
( b
1 in Terminals (DTConOSA a2) implies a
3 . (root-tree b1) = @ b
1 ) ) & ( for b
1 being
Symbol of
(DTConOSA a2)for b
2 being
FinSequence of
TS (DTConOSA a2) holds
( b
1 ==> roots b
2 implies a
3 . (b1 -tree b2) = @ b
1,
(a3 * b2) ) ) );
existence
ex b1 being Function of TS (DTConOSA c2), bool [:(TS (DTConOSA c2)),the carrier of c1:] st
( ( for b2 being Symbol of (DTConOSA c2) holds
( b2 in Terminals (DTConOSA c2) implies b1 . (root-tree b2) = @ b2 ) ) & ( for b2 being Symbol of (DTConOSA c2)
for b3 being FinSequence of TS (DTConOSA c2) holds
( b2 ==> roots b3 implies b1 . (b2 -tree b3) = @ b2,(b1 * b3) ) ) )
uniqueness
for b1, b2 being Function of TS (DTConOSA c2), bool [:(TS (DTConOSA c2)),the carrier of c1:] holds
( ( for b3 being Symbol of (DTConOSA c2) holds
( b3 in Terminals (DTConOSA c2) implies b1 . (root-tree b3) = @ b3 ) ) & ( for b3 being Symbol of (DTConOSA c2)
for b4 being FinSequence of TS (DTConOSA c2) holds
( b3 ==> roots b4 implies b1 . (b3 -tree b4) = @ b3,(b1 * b4) ) ) & ( for b3 being Symbol of (DTConOSA c2) holds
( b3 in Terminals (DTConOSA c2) implies b2 . (root-tree b3) = @ b3 ) ) & ( for b3 being Symbol of (DTConOSA c2)
for b4 being FinSequence of TS (DTConOSA c2) holds
( b3 ==> roots b4 implies b2 . (b3 -tree b4) = @ b3,(b2 * b4) ) ) implies b1 = b2 )
end;
:: deftheorem Def22 defines PTClasses OSAFREE:def 22 :
theorem Th20: :: OSAFREE:20
theorem Th21: :: OSAFREE:21
theorem Th22: :: OSAFREE:22
theorem Th23: :: OSAFREE:23
definition
let c
1 be
locally_directed OrderSortedSign;
let c
2 be
V5 ManySortedSet of c
1;
func PTCongruence c
2 -> MSEquivalence-like OrderSortedRelation of
ParsedTermsOSA a
2 means :
Def23:
:: OSAFREE:def 23
for b
1 being
set holds
( b
1 in the
carrier of a
1 implies a
3 . b
1 = { [b2,b3] where B is Element of TS (DTConOSA a2), B is Element of TS (DTConOSA a2) : [b2,b1] in (PTClasses a2) . b3 } );
existence
ex b1 being MSEquivalence-like OrderSortedRelation of ParsedTermsOSA c2 st
for b2 being set holds
( b2 in the carrier of c1 implies b1 . b2 = { [b3,b4] where B is Element of TS (DTConOSA c2), B is Element of TS (DTConOSA c2) : [b3,b2] in (PTClasses c2) . b4 } )
uniqueness
for b1, b2 being MSEquivalence-like OrderSortedRelation of ParsedTermsOSA c2 holds
( ( for b3 being set holds
( b3 in the carrier of c1 implies b1 . b3 = { [b4,b5] where B is Element of TS (DTConOSA c2), B is Element of TS (DTConOSA c2) : [b4,b3] in (PTClasses c2) . b5 } ) ) & ( for b3 being set holds
( b3 in the carrier of c1 implies b2 . b3 = { [b4,b5] where B is Element of TS (DTConOSA c2), B is Element of TS (DTConOSA c2) : [b4,b3] in (PTClasses c2) . b5 } ) ) implies b1 = b2 )
end;
:: deftheorem Def23 defines PTCongruence OSAFREE:def 23 :
theorem Th24: :: OSAFREE:24
theorem Th25: :: OSAFREE:25
theorem Th26: :: OSAFREE:26
theorem Th27: :: OSAFREE:27
for b
1 being
locally_directed OrderSortedSignfor b
2 being
V5 ManySortedSet of b
1for b
3 being
ManySortedRelation of
(ParsedTermsOSA b2) holds
( b
3 = PTCongruence b
2 iff ( ( for b
4, b
5 being
Element of b
1for b
6 being
set holds
( b
6 in b
2 . b
4 implies ( ( b
4 <= b
5 implies
[(root-tree [b6,b4]),(root-tree [b6,b4])] in b
3 . b
5 ) & ( for b
7 being
set holds
( (
[(root-tree [b6,b4]),b7] in b
3 . b
5 or
[b7,(root-tree [b6,b4])] in b
3 . b
5 ) implies ( b
4 <= b
5 & b
7 = root-tree [b6,b4] ) ) ) ) ) ) & ( for b
4, b
5 being
OperSymbol of b
1for b
6 being
Element of
Args b
4,
(ParsedTermsOSA b2)for b
7 being
Element of
Args b
5,
(ParsedTermsOSA b2)for b
8 being
Element of b
1 holds
(
[((Den b4,(ParsedTermsOSA b2)) . b6),((Den b5,(ParsedTermsOSA b2)) . b7)] in b
3 . b
8 iff ( b
4 ~= b
5 &
len (the_arity_of b4) = len (the_arity_of b5) &
the_result_sort_of b
4 <= b
8 &
the_result_sort_of b
5 <= b
8 & ex b
9 being
Element of the
carrier of b
1 * st
(
dom b
9 = dom b
6 & ( for b
10 being
Nat holds
( b
10 in dom b
9 implies
[(b6 . b10),(b7 . b10)] in b
3 . (b9 /. b10) ) ) ) ) ) ) ) )
theorem Th28: :: OSAFREE:28
:: deftheorem Def24 defines PTVars OSAFREE:def 24 :
theorem Th29: :: OSAFREE:29
:: deftheorem Def25 defines PTVars OSAFREE:def 25 :
theorem Th30: :: OSAFREE:30
definition
let c
1 be
locally_directed OrderSortedSign;
let c
2 be
V5 ManySortedSet of c
1;
let c
3 be
Element of c
1;
func OSFreeGen c
3,c
2 -> Subset of
(the Sorts of (FreeOSA a2) . a3) means :
Def26:
:: OSAFREE:def 26
for b
1 being
set holds
( b
1 in a
4 iff ex b
2 being
set st
( b
2 in a
2 . a
3 & b
1 = ((OSNat_Hom (ParsedTermsOSA a2),(LCongruence a2)) . a3) . (root-tree [b2,a3]) ) );
existence
ex b1 being Subset of (the Sorts of (FreeOSA c2) . c3) st
for b2 being set holds
( b2 in b1 iff ex b3 being set st
( b3 in c2 . c3 & b2 = ((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree [b3,c3]) ) )
uniqueness
for b1, b2 being Subset of (the Sorts of (FreeOSA c2) . c3) holds
( ( for b3 being set holds
( b3 in b1 iff ex b4 being set st
( b4 in c2 . c3 & b3 = ((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree [b4,c3]) ) ) ) & ( for b3 being set holds
( b3 in b2 iff ex b4 being set st
( b4 in c2 . c3 & b3 = ((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree [b4,c3]) ) ) ) implies b1 = b2 )
end;
:: deftheorem Def26 defines OSFreeGen OSAFREE:def 26 :
theorem Th31: :: OSAFREE:31
:: deftheorem Def27 defines OSFreeGen OSAFREE:def 27 :
theorem Th32: :: OSAFREE:32
:: deftheorem Def28 defines OSClass OSAFREE:def 28 :
theorem Th33: :: OSAFREE:33
theorem Th34: :: OSAFREE:34
theorem Th35: :: OSAFREE:35
theorem Th36: :: OSAFREE:36
theorem Th37: :: OSAFREE:37
:: deftheorem Def29 defines pi OSAFREE:def 29 :
theorem Th38: :: OSAFREE:38
definition
let c
1 be
locally_directed OrderSortedSign;
let c
2 be
V5 ManySortedSet of c
1;
let c
3 be
Element of c
1;
func NHReverse c
3,c
2 -> Function of
OSFreeGen a
3,a
2,
PTVars a
3,a
2 means :: OSAFREE:def 30
for b
1 being
Symbol of
(DTConOSA a2) holds
(
((OSNat_Hom (ParsedTermsOSA a2),(LCongruence a2)) . a3) . (root-tree b1) in OSFreeGen a
3,a
2 implies a
4 . (((OSNat_Hom (ParsedTermsOSA a2),(LCongruence a2)) . a3) . (root-tree b1)) = root-tree b
1 );
existence
ex b1 being Function of OSFreeGen c3,c2, PTVars c3,c2 st
for b2 being Symbol of (DTConOSA c2) holds
( ((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree b2) in OSFreeGen c3,c2 implies b1 . (((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree b2)) = root-tree b2 )
uniqueness
for b1, b2 being Function of OSFreeGen c3,c2, PTVars c3,c2 holds
( ( for b3 being Symbol of (DTConOSA c2) holds
( ((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree b3) in OSFreeGen c3,c2 implies b1 . (((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree b3)) = root-tree b3 ) ) & ( for b3 being Symbol of (DTConOSA c2) holds
( ((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree b3) in OSFreeGen c3,c2 implies b2 . (((OSNat_Hom (ParsedTermsOSA c2),(LCongruence c2)) . c3) . (root-tree b3)) = root-tree b3 ) ) implies b1 = b2 )
end;
:: deftheorem Def30 defines NHReverse OSAFREE:def 30 :
:: deftheorem Def31 defines NHReverse OSAFREE:def 31 :
theorem Th39: :: OSAFREE:39
theorem Th40: :: OSAFREE:40
definition
let c
1 be
monotone regular locally_directed OrderSortedSign;
let c
2 be
V5 ManySortedSet of c
1;
func PTMin c
2 -> Function of
TS (DTConOSA a2),
TS (DTConOSA a2) means :
Def32:
:: OSAFREE:def 32
( ( for b
1 being
Symbol of
(DTConOSA a2) holds
( b
1 in Terminals (DTConOSA a2) implies a
3 . (root-tree b1) = pi b
1 ) ) & ( for b
1 being
Symbol of
(DTConOSA a2)for b
2 being
FinSequence of
TS (DTConOSA a2) holds
( b
1 ==> roots b
2 implies a
3 . (b1 -tree b2) = pi (@ a2,b1),
(a3 * b2) ) ) );
existence
ex b1 being Function of TS (DTConOSA c2), TS (DTConOSA c2) st
( ( for b2 being Symbol of (DTConOSA c2) holds
( b2 in Terminals (DTConOSA c2) implies b1 . (root-tree b2) = pi b2 ) ) & ( for b2 being Symbol of (DTConOSA c2)
for b3 being FinSequence of TS (DTConOSA c2) holds
( b2 ==> roots b3 implies b1 . (b2 -tree b3) = pi (@ c2,b2),(b1 * b3) ) ) )
uniqueness
for b1, b2 being Function of TS (DTConOSA c2), TS (DTConOSA c2) holds
( ( for b3 being Symbol of (DTConOSA c2) holds
( b3 in Terminals (DTConOSA c2) implies b1 . (root-tree b3) = pi b3 ) ) & ( for b3 being Symbol of (DTConOSA c2)
for b4 being FinSequence of TS (DTConOSA c2) holds
( b3 ==> roots b4 implies b1 . (b3 -tree b4) = pi (@ c2,b3),(b1 * b4) ) ) & ( for b3 being Symbol of (DTConOSA c2) holds
( b3 in Terminals (DTConOSA c2) implies b2 . (root-tree b3) = pi b3 ) ) & ( for b3 being Symbol of (DTConOSA c2)
for b4 being FinSequence of TS (DTConOSA c2) holds
( b3 ==> roots b4 implies b2 . (b3 -tree b4) = pi (@ c2,b3),(b2 * b4) ) ) implies b1 = b2 )
end;
:: deftheorem Def32 defines PTMin OSAFREE:def 32 :
theorem Th41: :: OSAFREE:41
theorem Th42: :: OSAFREE:42
theorem Th43: :: OSAFREE:43
theorem Th44: :: OSAFREE:44
theorem Th45: :: OSAFREE:45
theorem Th46: :: OSAFREE:46
theorem Th47: :: OSAFREE:47
:: deftheorem Def33 defines MinTerm OSAFREE:def 33 :
:: deftheorem Def34 defines MinTerms OSAFREE:def 34 :
theorem Th48: :: OSAFREE:48