
theorem Th37: :: lemma 5.42, p. 208
  for n being Ordinal, T being admissible connected TermOrder of n
  , L being add-associative right_complementable right_zeroed commutative
  associative well-unital distributive Abelian almost_left_invertible non
degenerated non empty doubleLoopStr, I being add-closed left-ideal Subset of
Polynom-Ring(n,L), m being Monomial of n,L, f,g being Polynomial of n,L st f in
  I & g in I & HM(f,T) = m & HM(g,T) = m holds not(ex p being Polynomial of n,L
st p in I & p < f,T & HM(p,T) = m) & not(ex p being Polynomial of n,L st p in I
  & p < g,T & HM(p,T) = m) implies f = g
proof
  let n be Ordinal, T be admissible connected TermOrder of n, L be
  add-associative right_complementable right_zeroed commutative associative
  well-unital distributive Abelian almost_left_invertible non degenerated non
empty doubleLoopStr, I be add-closed left-ideal Subset of Polynom-Ring(n,L), m
  be Monomial of n,L, f,g be Polynomial of n,L;
  assume that
A1: f in I and
A2: g in I and
A3: HM(f,T) = m and
A4: HM(g,T) = m;
A5: HT(f,T) = term(HM(f,T)) by TERMORD:22
    .= HT(g,T) by A3,A4,TERMORD:22;
A6: HC(f,T) = f.(HT(f,T)) by TERMORD:def 7
    .= (HM(f,T)).(HT(f,T)) by TERMORD:18
    .= g.(HT(g,T)) by A3,A4,A5,TERMORD:18
    .= HC(g,T) by TERMORD:def 7;
  assume that
A7: not(ex p being Polynomial of n,L st p in I & p < f,T & HM(p,T) = m) and
A8: not(ex p being Polynomial of n,L st p in I & p < g,T & HM(p,T) = m);
  reconsider I as LeftIdeal of Polynom-Ring(n,L) by A1;
  per cases;
  suppose
    f - g = 0_(n,L);
    hence g = (f - g) + g by POLYRED:2
      .= (f + -g) + g by POLYNOM1:def 7
      .= f + (-g + g) by POLYNOM1:21
      .= f + 0_(n,L) by POLYRED:3
      .= f by POLYNOM1:23;
  end;
  suppose
A9: f - g <> 0_(n,L);
    now
      per cases;
      case
A10:    f = 0_(n,L);
        then HC(g,T) = 0.L by A6,TERMORD:17;
        hence thesis by A10,TERMORD:17;
      end;
      case
A11:    g = 0_(n,L);
        then HC(f,T) = 0.L by A6,TERMORD:17;
        hence thesis by A11,TERMORD:17;
      end;
      case
A12:    f <> 0_(n,L) & g <> 0_(n,L);
        set s = HT(f-g,T);
        set d = f.s - g.s;
        set c = f.s * d";
        set h = f - c * (f - g);
A13:    Support(f-g) <> {} by A9,POLYNOM7:1;
        then
A14:    HT(f-g,T) in Support(f-g) by TERMORD:def 6;
A15:    now
          assume HT(f-g,T) = HT(f,T);
          then (f-g).HT(f-g,T) = (f+-g).HT(f,T) by POLYNOM1:def 7
            .= f.HT(f,T) + (-g).HT(g,T) by A5,POLYNOM1:15
            .= f.HT(f,T) + -(g.HT(g,T)) by POLYNOM1:17
            .= HC(f,T) + -(g.HT(g,T)) by TERMORD:def 7
            .= HC(f,T) + -HC(g,T) by TERMORD:def 7
            .= 0.L by A6,RLVECT_1:5;
          hence contradiction by A14,POLYNOM1:def 4;
        end;
        HT(f-g,T) <= max(HT(f,T),HT(f,T),T),T by A5,Th7;
        then HT(f-g,T) <= HT(f,T),T by TERMORD:12;
        then HT(f-g,T) < HT(f,T),T by A15,TERMORD:def 3;
        then not HT(f,T) <= HT(f-g,T),T by TERMORD:5;
        then not HT(f,T) in Support(f-g) by TERMORD:def 6;
        then
A16:    (f-g).(HT(f,T)) = 0.L by POLYNOM1:def 4;
A17:    h.(HT(f,T)) = (f + (-(c * (f - g)))).(HT(f,T)) by POLYNOM1:def 7
          .= f.HT(f,T) + (-(c * (f - g))).(HT(f,T)) by POLYNOM1:15
          .= f.HT(f,T) + -((c * (f - g)).(HT(f,T))) by POLYNOM1:17
          .= f.HT(f,T) + -(c * 0.L) by A16,POLYNOM7:def 9
          .= f.HT(f,T) + -0.L
          .= f.HT(f,T) + 0.L by RLVECT_1:12
          .= f.HT(f,T) by RLVECT_1:def 4;
        Support f <> {} by A12,POLYNOM7:1;
        then HT(f,T) in Support(f) by TERMORD:def 6;
        then h.(HT(f,T)) <> 0.L by A17,POLYNOM1:def 4;
        then
A18:    HT(f,T) in Support h by POLYNOM1:def 4;
        then
A19:    HT(f,T) <= HT(h,T),T by TERMORD:def 6;
        Support h = Support(f + -(c * (f - g))) by POLYNOM1:def 7;
        then Support h c= Support f \/ Support(-(c * (f - g))) by POLYNOM1:20;
        then
A20:    Support h c= Support f \/ Support(c * (f - g)) by Th5;
        Support f \/ Support(c * (f - g)) c= Support f \/ Support(f - g)
        by POLYRED:19,XBOOLE_1:9;
        then
A21:    Support h c= Support f \/ Support(f - g) by A20;
        not g < f,T by A2,A4,A7;
        then
A22:    f <= g,T by POLYRED:29;
        not f < g,T by A1,A3,A8;
        then g <= f,T by POLYRED:29;
        then
A23:    Support f = Support g by A22,POLYRED:26;
        Support(f-g) = Support(f + -g) & Support(f + -g) c= Support f \/
        Support(-g) by POLYNOM1:20,def 7;
        then
A24:    Support(f-g) c= Support f \/ Support g by Th5;
        then
A25:    Support f \/ Support(f - g) c= Support f \/ Support f by A23,XBOOLE_1:9
;
        then
A26:    Support h c= Support f by A21;
        HT(h,T) in Support h by A18,TERMORD:def 6;
        then HT(h,T) <= HT(f,T),T by A26,TERMORD:def 6;
        then
A27:    HT(h,T) = HT(f,T) by A19,TERMORD:7;
        then HC(h,T) = f.(HT(f,T)) by A17,TERMORD:def 7
          .= HC(f,T) by TERMORD:def 7;
        then
A28:    HM(h,T) = Monom(HC(f,T),HT(f,T)) by A27,TERMORD:def 8
          .= m by A3,TERMORD:def 8;
        reconsider cp = c |(n,L) *' (f - g) as Element of Polynom-Ring(n,L) by
POLYNOM1:def 11;
        reconsider cc = c |(n,L) as Element of Polynom-Ring(n,L) by
POLYNOM1:def 11;
        reconsider f9 = f, g9 = g as Element of Polynom-Ring(n,L) by
POLYNOM1:def 11;
A29:    (f-g).s = (f+-g).s by POLYNOM1:def 7
          .= f.s + (-g).s by POLYNOM1:15
          .= f.s + -(g.s) by POLYNOM1:17
          .= f.s - g.s;
A30:    s in Support(f-g) by A13,TERMORD:def 6;
A31:    now
A32:      (f-g).s <> 0.L by A30,POLYNOM1:def 4;
A33:      -c * (f.s - g.s) = -(f.s) * ((f.s - g.s)" * (f.s - g.s)) by
GROUP_1:def 3
            .= -(f.s) * 1.L by A29,A32,VECTSP_1:def 10
            .= -(f.s);
          assume
A34:      Support h = Support f;
          h.s = (f + -(c * (f - g))).s by POLYNOM1:def 7
            .= f.s + (-(c * (f - g))).s by POLYNOM1:15
            .= f.s + ((-c) * (f - g)).s by POLYRED:9
            .= f.s + (-c) * (f - g).s by POLYNOM7:def 9
            .= f.s + -(f.s) by A29,A33,VECTSP_1:9
            .= 0.L by RLVECT_1:5;
          hence contradiction by A23,A14,A24,A34,POLYNOM1:def 4;
        end;
        h <= f,T by A21,A25,Th8,XBOOLE_1:1;
        then
A35:    h < f,T by A31,POLYRED:def 3;
        reconsider cp as Element of Polynom-Ring(n,L);
        reconsider cc as Element of Polynom-Ring(n,L);
        reconsider f9,g9 as Element of Polynom-Ring(n,L);
        f - g = f9 - g9 by Lm2;
        then
A36:    cp = cc * (f9 - g9) by POLYNOM1:def 11;
        f9 - g9 in I by A1,A2,IDEAL_1:15;
        then
A37:    cc * (f9 - g9) in I by IDEAL_1:def 2;
        f9 - cp = f - c |(n,L) *' (f - g) by Lm2
          .= f - c * (f - g) by POLYNOM7:27;
        hence contradiction by A1,A7,A28,A35,A37,A36,IDEAL_1:15;
      end;
    end;
    hence thesis;
  end;
end;
