begin
:: deftheorem defines zero TERMORD:def 1 :
for X being set
for b being bag of X holds
( b is zero iff b = EmptyBag X );
theorem Th1:
for
X being
set for
b1,
b2 being
bag of
X holds
(
b1 divides b2 iff ex
b being
bag of
X st
b2 = b1 + b )
theorem Th2:
theorem Th3:
theorem
begin
Lm1:
for n being Ordinal
for T being TermOrder of n
for b being set st b in field T holds
b is bag of n
:: deftheorem Def2 defines <= TERMORD:def 2 :
for n being Ordinal
for T being TermOrder of n
for b, b9 being bag of n holds
( b <= b9,T iff [b,b9] in T );
:: deftheorem Def3 defines < TERMORD:def 3 :
for n being Ordinal
for T being TermOrder of n
for b, b9 being bag of n holds
( b < b9,T iff ( b <= b9,T & b <> b9 ) );
definition
let n be
Ordinal;
let T be
TermOrder of
n;
let b1,
b2 be
bag of
n;
func min (
b1,
b2,
T)
-> bag of
n equals :
Def4:
b1 if b1 <= b2,
T otherwise b2;
correctness
coherence
( ( b1 <= b2,T implies b1 is bag of n ) & ( not b1 <= b2,T implies b2 is bag of n ) );
consistency
for b1 being bag of n holds verum;
;
func max (
b1,
b2,
T)
-> bag of
n equals :
Def5:
b1 if b2 <= b1,
T otherwise b2;
correctness
coherence
( ( b2 <= b1,T implies b1 is bag of n ) & ( not b2 <= b1,T implies b2 is bag of n ) );
consistency
for b1 being bag of n holds verum;
;
end;
:: deftheorem Def4 defines min TERMORD:def 4 :
for n being Ordinal
for T being TermOrder of n
for b1, b2 being bag of n holds
( ( b1 <= b2,T implies min (b1,b2,T) = b1 ) & ( not b1 <= b2,T implies min (b1,b2,T) = b2 ) );
:: deftheorem Def5 defines max TERMORD:def 5 :
for n being Ordinal
for T being TermOrder of n
for b1, b2 being bag of n holds
( ( b2 <= b1,T implies max (b1,b2,T) = b1 ) & ( not b2 <= b1,T implies max (b1,b2,T) = b2 ) );
Lm2:
for n being Ordinal
for T being TermOrder of n
for b being bag of n holds b <= b,T
Lm3:
for n being Ordinal
for T being TermOrder of n
for b1, b2 being bag of n st b1 <= b2,T & b2 <= b1,T holds
b1 = b2
Lm4:
for n being Ordinal
for T being TermOrder of n
for b being bag of n holds b in field T
theorem Th5:
Lm5:
for n being Ordinal
for T being connected TermOrder of n
for b1, b2 being bag of n holds
( b1 <= b2,T or b2 <= b1,T )
theorem
theorem
theorem Th8:
theorem Th9:
theorem
theorem Th11:
theorem Th12:
Lm6:
for n being Ordinal
for T being TermOrder of n
for b being bag of n holds
( min (b,b,T) = b & max (b,b,T) = b )
theorem
theorem Th14:
theorem Th15:
theorem
begin
:: deftheorem Def6 defines HT TERMORD:def 6 :
for n being Ordinal
for T being connected TermOrder of n
for L being non empty ZeroStr
for p being Polynomial of n,L
for b5 being Element of Bags n holds
( b5 = HT (p,T) iff ( ( Support p = {} & b5 = EmptyBag n ) or ( b5 in Support p & ( for b being bag of n st b in Support p holds
b <= b5,T ) ) ) );
:: deftheorem defines HC TERMORD:def 7 :
for n being Ordinal
for T being connected TermOrder of n
for L being non empty ZeroStr
for p being Polynomial of n,L holds HC (p,T) = p . (HT (p,T));
definition
let n be
Ordinal;
let T be
connected TermOrder of
n;
let L be non
empty ZeroStr ;
let p be
Polynomial of
n,
L;
func HM (
p,
T)
-> Monomial of
n,
L equals
Monom (
(HC (p,T)),
(HT (p,T)));
correctness
coherence
Monom ((HC (p,T)),(HT (p,T))) is Monomial of n,L;
;
end;
:: deftheorem defines HM TERMORD:def 8 :
for n being Ordinal
for T being connected TermOrder of n
for L being non empty ZeroStr
for p being Polynomial of n,L holds HM (p,T) = Monom ((HC (p,T)),(HT (p,T)));
Lm7:
for n being Ordinal
for O being connected TermOrder of n
for L being non empty ZeroStr
for p being Polynomial of n,L holds
( HC (p,O) = 0. L iff p = 0_ (n,L) )
Lm8:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial ZeroStr
for p being Polynomial of n,L holds (HM (p,O)) . (HT (p,O)) = p . (HT (p,O))
Lm9:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial ZeroStr
for p being Polynomial of n,L st HC (p,O) <> 0. L holds
HT (p,O) in Support (HM (p,O))
Lm10:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial ZeroStr
for p being Polynomial of n,L st HC (p,O) = 0. L holds
Support (HM (p,O)) = {}
Lm11:
for n being Ordinal
for O being connected TermOrder of n
for L being non empty ZeroStr
for m being Monomial of n,L holds
( HT (m,O) = term m & HC (m,O) = coefficient m & HM (m,O) = m )
theorem
theorem
theorem Th19:
Lm12:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial ZeroStr
for p being Polynomial of n,L holds
( Support (HM (p,O)) = {} or Support (HM (p,O)) = {(HT (p,O))} )
theorem
theorem
theorem
theorem
theorem
theorem
theorem Th26:
theorem
theorem
Lm13:
for X being set
for S being Subset of X
for R being Order of X st R is being_linear-order holds
R linearly_orders S
Lm14:
for n being Ordinal
for O being connected admissible TermOrder of n
for L being non trivial right_complementable well-unital distributive add-associative right_zeroed left_zeroed doubleLoopStr
for p, q being non-zero Polynomial of n,L holds (p *' q) . ((HT (p,O)) + (HT (q,O))) = (p . (HT (p,O))) * (q . (HT (q,O)))
theorem Th29:
theorem Th30:
theorem Th31:
theorem Th32:
theorem
theorem
begin
:: deftheorem defines Red TERMORD:def 9 :
for n being Ordinal
for T being connected TermOrder of n
for L being non empty right_complementable add-associative right_zeroed addLoopStr
for p being Polynomial of n,L holds Red (p,T) = p - (HM (p,T));
Lm15:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial right_complementable add-associative right_zeroed addLoopStr
for p being Polynomial of n,L holds not HT (p,O) in Support (Red (p,O))
Lm16:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial right_complementable add-associative right_zeroed addLoopStr
for p being Polynomial of n,L
for b being bag of n st b in Support p & b <> HT (p,O) holds
b in Support (Red (p,O))
Lm17:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial right_complementable add-associative right_zeroed addLoopStr
for p being Polynomial of n,L holds Support (Red (p,O)) = (Support p) \ {(HT (p,O))}
theorem
theorem
Lm18:
for n being Ordinal
for T being connected TermOrder of n
for L being non trivial right_complementable add-associative right_zeroed addLoopStr
for p being Polynomial of n,L holds (Red (p,T)) . (HT (p,T)) = 0. L
Lm19:
for n being Ordinal
for O being connected TermOrder of n
for L being non trivial right_complementable add-associative right_zeroed addLoopStr
for p being Polynomial of n,L
for b being bag of n st b <> HT (p,O) holds
(Red (p,O)) . b = p . b
theorem
theorem
theorem
theorem