let n be Element of NAT ; :: thesis: for T being connected admissible TermOrder of n
for L being non degenerated non trivial right_complementable almost_left_invertible well-unital distributive Abelian add-associative right_zeroed associative commutative doubleLoopStr
for G being Subset of (Polynom-Ring (n,L)) st not 0_ (n,L) in G & ( for g1, g2 being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint holds
PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ) holds
for g1, g2, h being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & h is_a_normal_form_of S-Poly (g1,g2,T), PolyRedRel (G,T) holds
h = 0_ (n,L)

let T be connected admissible TermOrder of n; :: thesis: for L being non degenerated non trivial right_complementable almost_left_invertible well-unital distributive Abelian add-associative right_zeroed associative commutative doubleLoopStr
for G being Subset of (Polynom-Ring (n,L)) st not 0_ (n,L) in G & ( for g1, g2 being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint holds
PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ) holds
for g1, g2, h being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & h is_a_normal_form_of S-Poly (g1,g2,T), PolyRedRel (G,T) holds
h = 0_ (n,L)

let L be non degenerated non trivial right_complementable almost_left_invertible well-unital distributive Abelian add-associative right_zeroed associative commutative doubleLoopStr ; :: thesis: for G being Subset of (Polynom-Ring (n,L)) st not 0_ (n,L) in G & ( for g1, g2 being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint holds
PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ) holds
for g1, g2, h being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & h is_a_normal_form_of S-Poly (g1,g2,T), PolyRedRel (G,T) holds
h = 0_ (n,L)

let G be Subset of (Polynom-Ring (n,L)); :: thesis: ( not 0_ (n,L) in G & ( for g1, g2 being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint holds
PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ) implies for g1, g2, h being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & h is_a_normal_form_of S-Poly (g1,g2,T), PolyRedRel (G,T) holds
h = 0_ (n,L) )

assume A1: not 0_ (n,L) in G ; :: thesis: ( ex g1, g2 being Polynomial of n,L st
( g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & not PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ) or for g1, g2, h being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & h is_a_normal_form_of S-Poly (g1,g2,T), PolyRedRel (G,T) holds
h = 0_ (n,L) )

assume A2: for g1, g2 being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint holds
PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ; :: thesis: for g1, g2, h being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & h is_a_normal_form_of S-Poly (g1,g2,T), PolyRedRel (G,T) holds
h = 0_ (n,L)

for g1, g2 being Polynomial of n,L st g1 in G & g2 in G holds
PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L)
proof
let g1, g2 be Polynomial of n,L; :: thesis: ( g1 in G & g2 in G implies PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) )
assume that
A3: g1 in G and
A4: g2 in G ; :: thesis: PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L)
now :: thesis: ( ( HT (g1,T), HT (g2,T) are_disjoint & PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ) or ( not HT (g1,T), HT (g2,T) are_disjoint & PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ) )
per cases ( HT (g1,T), HT (g2,T) are_disjoint or not HT (g1,T), HT (g2,T) are_disjoint ) ;
case A5: HT (g1,T), HT (g2,T) are_disjoint ; :: thesis: PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L)
now :: thesis: for u being object st u in {g1,g2} holds
u in G
let u be object ; :: thesis: ( u in {g1,g2} implies u in G )
assume A6: u in {g1,g2} ; :: thesis: u in G
now :: thesis: ( ( u = g1 & u in G ) or ( u = g2 & u in G ) )
per cases ( u = g1 or u = g2 ) by ;
case u = g1 ; :: thesis: u in G
hence u in G by A3; :: thesis: verum
end;
case u = g2 ; :: thesis: u in G
hence u in G by A4; :: thesis: verum
end;
end;
end;
hence u in G ; :: thesis: verum
end;
then A7: {g1,g2} c= G ;
PolyRedRel ({g1,g2},T) reduces S-Poly (g1,g2,T), 0_ (n,L) by ;
hence PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) by ; :: thesis: verum
end;
case not HT (g1,T), HT (g2,T) are_disjoint ; :: thesis: PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L)
hence PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) by A2, A3, A4; :: thesis: verum
end;
end;
end;
hence PolyRedRel (G,T) reduces S-Poly (g1,g2,T), 0_ (n,L) ; :: thesis: verum
end;
then G is_Groebner_basis_wrt T by ;
hence for g1, g2, h being Polynomial of n,L st g1 in G & g2 in G & not HT (g1,T), HT (g2,T) are_disjoint & h is_a_normal_form_of S-Poly (g1,g2,T), PolyRedRel (G,T) holds
h = 0_ (n,L) by GROEB_2:23; :: thesis: verum