:: BAGORDER semantic presentation
theorem Th1: :: BAGORDER:1
for
b1,
b2,
b3 being
set st
b3 in b1 &
b3 in b2 holds
(
b1 \ {b3} = b2 \ {b3} iff
b1 = b2 )
theorem Th2: :: BAGORDER:2
for
b1,
b2 being
Nat holds
(
b2 in Seg b1 iff (
b2 - 1 is
Nat &
b2 - 1
< b1 ) )
theorem Th3: :: BAGORDER:3
theorem Th4: :: BAGORDER:4
theorem Th5: :: BAGORDER:5
:: deftheorem Def1 defines -cut BAGORDER:def 1 :
theorem Th6: :: BAGORDER:6
:: deftheorem Def2 defines Fin BAGORDER:def 2 :
theorem Th7: :: BAGORDER:7
theorem Th8: :: BAGORDER:8
theorem Th9: :: BAGORDER:9
:: deftheorem Def3 defines non-increasing BAGORDER:def 3 :
theorem Th10: :: BAGORDER:10
theorem Th11: :: BAGORDER:11
theorem Th12: :: BAGORDER:12
:: deftheorem Def4 defines TotDegree BAGORDER:def 4 :
theorem Th13: :: BAGORDER:13
theorem Th14: :: BAGORDER:14
theorem Th15: :: BAGORDER:15
theorem Th16: :: BAGORDER:16
theorem Th17: :: BAGORDER:17
theorem Th18: :: BAGORDER:18
for
b1,
b2,
b3 being
Nat for
b4,
b5 being
bag of
b3 holds
b1,
b2 -cut (b4 + b5) = (b1,b2 -cut b4) + (b1,b2 -cut b5)
theorem Th19: :: BAGORDER:19
theorem Th20: :: BAGORDER:20
theorem Th21: :: BAGORDER:21
for
b1,
b2 being
Ordinal for
b3 being
bag of
b1 st
b2 in b1 holds
b3 | b2 is
bag of
b2
theorem Th22: :: BAGORDER:22
:: deftheorem Def5 BAGORDER:def 5 :
canceled;
:: deftheorem Def6 BAGORDER:def 6 :
canceled;
:: deftheorem Def7 defines admissible BAGORDER:def 7 :
theorem Th23: :: BAGORDER:23
theorem Th24: :: BAGORDER:24
:: deftheorem Def8 defines InvLexOrder BAGORDER:def 8 :
theorem Th25: :: BAGORDER:25
theorem Th26: :: BAGORDER:26
definition
let c1 be
Ordinal;
let c2 be
TermOrder of
c1;
assume E26:
for
b1,
b2,
b3 being
bag of
c1 st
[b1,b2] in c2 holds
[(b1 + b3),(b2 + b3)] in c2
;
func Graded c2 -> TermOrder of
a1 means :
Def9:
:: BAGORDER:def 9
for
b1,
b2 being
bag of
a1 holds
(
[b1,b2] in a3 iff (
TotDegree b1 < TotDegree b2 or (
TotDegree b1 = TotDegree b2 &
[b1,b2] in a2 ) ) );
existence
ex b1 being TermOrder of c1 st
for b2, b3 being bag of c1 holds
( [b2,b3] in b1 iff ( TotDegree b2 < TotDegree b3 or ( TotDegree b2 = TotDegree b3 & [b2,b3] in c2 ) ) )
uniqueness
for b1, b2 being TermOrder of c1 st ( for b3, b4 being bag of c1 holds
( [b3,b4] in b1 iff ( TotDegree b3 < TotDegree b4 or ( TotDegree b3 = TotDegree b4 & [b3,b4] in c2 ) ) ) ) & ( for b3, b4 being bag of c1 holds
( [b3,b4] in b2 iff ( TotDegree b3 < TotDegree b4 or ( TotDegree b3 = TotDegree b4 & [b3,b4] in c2 ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def9 defines Graded BAGORDER:def 9 :
theorem Th27: :: BAGORDER:27
:: deftheorem Def10 defines GrLexOrder BAGORDER:def 10 :
:: deftheorem Def11 defines GrInvLexOrder BAGORDER:def 11 :
theorem Th28: :: BAGORDER:28
theorem Th29: :: BAGORDER:29
theorem Th30: :: BAGORDER:30
theorem Th31: :: BAGORDER:31
definition
let c1,
c2 be
Nat;
let c3 be
TermOrder of
(c1 + 1);
let c4 be
TermOrder of
(c2 -' (c1 + 1));
func BlockOrder c1,
c2,
c3,
c4 -> TermOrder of
a2 means :
Def12:
:: BAGORDER:def 12
for
b1,
b2 being
bag of
a2 holds
(
[b1,b2] in a5 iff ( ( 0,
(a1 + 1) -cut b1 <> 0,
(a1 + 1) -cut b2 &
[(0,(a1 + 1) -cut b1),(0,(a1 + 1) -cut b2)] in a3 ) or ( 0,
(a1 + 1) -cut b1 = 0,
(a1 + 1) -cut b2 &
[((a1 + 1),a2 -cut b1),((a1 + 1),a2 -cut b2)] in a4 ) ) );
existence
ex b1 being TermOrder of c2 st
for b2, b3 being bag of c2 holds
( [b2,b3] in b1 iff ( ( 0,(c1 + 1) -cut b2 <> 0,(c1 + 1) -cut b3 & [(0,(c1 + 1) -cut b2),(0,(c1 + 1) -cut b3)] in c3 ) or ( 0,(c1 + 1) -cut b2 = 0,(c1 + 1) -cut b3 & [((c1 + 1),c2 -cut b2),((c1 + 1),c2 -cut b3)] in c4 ) ) )
uniqueness
for b1, b2 being TermOrder of c2 st ( for b3, b4 being bag of c2 holds
( [b3,b4] in b1 iff ( ( 0,(c1 + 1) -cut b3 <> 0,(c1 + 1) -cut b4 & [(0,(c1 + 1) -cut b3),(0,(c1 + 1) -cut b4)] in c3 ) or ( 0,(c1 + 1) -cut b3 = 0,(c1 + 1) -cut b4 & [((c1 + 1),c2 -cut b3),((c1 + 1),c2 -cut b4)] in c4 ) ) ) ) & ( for b3, b4 being bag of c2 holds
( [b3,b4] in b2 iff ( ( 0,(c1 + 1) -cut b3 <> 0,(c1 + 1) -cut b4 & [(0,(c1 + 1) -cut b3),(0,(c1 + 1) -cut b4)] in c3 ) or ( 0,(c1 + 1) -cut b3 = 0,(c1 + 1) -cut b4 & [((c1 + 1),c2 -cut b3),((c1 + 1),c2 -cut b4)] in c4 ) ) ) ) holds
b1 = b2
end;
:: deftheorem Def12 defines BlockOrder BAGORDER:def 12 :
for
b1,
b2 being
Nat for
b3 being
TermOrder of
(b1 + 1) for
b4 being
TermOrder of
(b2 -' (b1 + 1)) for
b5 being
TermOrder of
b2 holds
(
b5 = BlockOrder b1,
b2,
b3,
b4 iff for
b6,
b7 being
bag of
b2 holds
(
[b6,b7] in b5 iff ( ( 0,
(b1 + 1) -cut b6 <> 0,
(b1 + 1) -cut b7 &
[(0,(b1 + 1) -cut b6),(0,(b1 + 1) -cut b7)] in b3 ) or ( 0,
(b1 + 1) -cut b6 = 0,
(b1 + 1) -cut b7 &
[((b1 + 1),b2 -cut b6),((b1 + 1),b2 -cut b7)] in b4 ) ) ) );
theorem Th32: :: BAGORDER:32
:: deftheorem Def13 defines NaivelyOrderedBags BAGORDER:def 13 :
theorem Th33: :: BAGORDER:33
theorem Th34: :: BAGORDER:34
theorem Th35: :: BAGORDER:35
definition
let c1 be non
empty connected Poset;
let c2 be
Element of
Fin the
carrier of
c1;
assume E34:
not
c2 is
empty
;
func PosetMin c2 -> Element of
a1 means :: BAGORDER:def 14
(
a3 in a2 &
a3 is_minimal_wrt a2,the
InternalRel of
a1 );
existence
ex b1 being Element of c1 st
( b1 in c2 & b1 is_minimal_wrt c2,the InternalRel of c1 )
uniqueness
for b1, b2 being Element of c1 st b1 in c2 & b1 is_minimal_wrt c2,the InternalRel of c1 & b2 in c2 & b2 is_minimal_wrt c2,the InternalRel of c1 holds
b1 = b2
func PosetMax c2 -> Element of
a1 means :
Def15:
:: BAGORDER:def 15
(
a3 in a2 &
a3 is_maximal_wrt a2,the
InternalRel of
a1 );
existence
ex b1 being Element of c1 st
( b1 in c2 & b1 is_maximal_wrt c2,the InternalRel of c1 )
uniqueness
for b1, b2 being Element of c1 st b1 in c2 & b1 is_maximal_wrt c2,the InternalRel of c1 & b2 in c2 & b2 is_maximal_wrt c2,the InternalRel of c1 holds
b1 = b2
end;
:: deftheorem Def14 defines PosetMin BAGORDER:def 14 :
:: deftheorem Def15 defines PosetMax BAGORDER:def 15 :
definition
let c1 be non
empty connected Poset;
func FinOrd-Approx c1 -> Function of
NAT ,
bool [:(Fin the carrier of a1),(Fin the carrier of a1):] means :
Def16:
:: BAGORDER:def 16
(
dom a2 = NAT &
a2 . 0
= { [b1,b2] where B is Element of Fin the carrier of a1, B is Element of Fin the carrier of a1 : ( b1 = {} or ( b1 <> {} & b2 <> {} & PosetMax b1 <> PosetMax b2 & [(PosetMax b1),(PosetMax b2)] in the InternalRel of a1 ) ) } & ( for
b1 being
Element of
NAT holds
a2 . (b1 + 1) = { [b2,b3] where B is Element of Fin the carrier of a1, B is Element of Fin the carrier of a1 : ( b2 <> {} & b3 <> {} & PosetMax b2 = PosetMax b3 & [(b2 \ {(PosetMax b2)}),(b3 \ {(PosetMax b3)})] in a2 . b1 ) } ) );
existence
ex b1 being Function of NAT , bool [:(Fin the carrier of c1),(Fin the carrier of c1):] st
( dom b1 = NAT & b1 . 0 = { [b2,b3] where B is Element of Fin the carrier of c1, B is Element of Fin the carrier of c1 : ( b2 = {} or ( b2 <> {} & b3 <> {} & PosetMax b2 <> PosetMax b3 & [(PosetMax b2),(PosetMax b3)] in the InternalRel of c1 ) ) } & ( for b2 being Element of NAT holds b1 . (b2 + 1) = { [b3,b4] where B is Element of Fin the carrier of c1, B is Element of Fin the carrier of c1 : ( b3 <> {} & b4 <> {} & PosetMax b3 = PosetMax b4 & [(b3 \ {(PosetMax b3)}),(b4 \ {(PosetMax b4)})] in b1 . b2 ) } ) )
uniqueness
for b1, b2 being Function of NAT , bool [:(Fin the carrier of c1),(Fin the carrier of c1):] st dom b1 = NAT & b1 . 0 = { [b3,b4] where B is Element of Fin the carrier of c1, B is Element of Fin the carrier of c1 : ( b3 = {} or ( b3 <> {} & b4 <> {} & PosetMax b3 <> PosetMax b4 & [(PosetMax b3),(PosetMax b4)] in the InternalRel of c1 ) ) } & ( for b3 being Element of NAT holds b1 . (b3 + 1) = { [b4,b5] where B is Element of Fin the carrier of c1, B is Element of Fin the carrier of c1 : ( b4 <> {} & b5 <> {} & PosetMax b4 = PosetMax b5 & [(b4 \ {(PosetMax b4)}),(b5 \ {(PosetMax b5)})] in b1 . b3 ) } ) & dom b2 = NAT & b2 . 0 = { [b3,b4] where B is Element of Fin the carrier of c1, B is Element of Fin the carrier of c1 : ( b3 = {} or ( b3 <> {} & b4 <> {} & PosetMax b3 <> PosetMax b4 & [(PosetMax b3),(PosetMax b4)] in the InternalRel of c1 ) ) } & ( for b3 being Element of NAT holds b2 . (b3 + 1) = { [b4,b5] where B is Element of Fin the carrier of c1, B is Element of Fin the carrier of c1 : ( b4 <> {} & b5 <> {} & PosetMax b4 = PosetMax b5 & [(b4 \ {(PosetMax b4)}),(b5 \ {(PosetMax b5)})] in b2 . b3 ) } ) holds
b1 = b2
end;
:: deftheorem Def16 defines FinOrd-Approx BAGORDER:def 16 :
theorem Th36: :: BAGORDER:36
theorem Th37: :: BAGORDER:37
theorem Th38: :: BAGORDER:38
Lemma39:
for b1 being non empty connected Poset
for b2 being Nat
for b3 being Element of Fin the carrier of b1 st Card b3 = b2 + 1 holds
Card (b3 \ {(PosetMax b3)}) = b2
theorem Th39: :: BAGORDER:39
:: deftheorem Def17 defines FinOrd BAGORDER:def 17 :
:: deftheorem Def18 defines FinPoset BAGORDER:def 18 :
theorem Th40: :: BAGORDER:40
:: deftheorem Def19 defines MinElement BAGORDER:def 19 :
:: deftheorem Def20 defines SeqShift BAGORDER:def 20 :
theorem Th41: :: BAGORDER:41
theorem Th42: :: BAGORDER:42