
theorem Th3:
  for s being non empty finite Subset of F_Complex, x being Element
  of F_Complex, r being FinSequence of REAL st len r = card s & for i being
  Element of NAT, c being Element of F_Complex st i in dom r & c = (canFS(s)).i
  holds r.i = |.x-c.| holds |.eval(poly_with_roots((s,1)-bag),x).| = Product(r)
proof
  set FC = F_Complex;
  let s be non empty finite Subset of FC, x being Element of FC, r being
  FinSequence of REAL such that
A1: len r = card s and
A2: for i being Element of NAT, c being Element of FC st i in dom r & c
  = (canFS(s)).i holds r.i = |.x-c.|;
  defpred P[set,set] means ex c being Element of FC st c = (canFS(s)).$1 & $2
  = eval(<% -c, 1_F_Complex %>,x);
  len canFS(s) = card s by FINSEQ_1:93;
  then
A3: dom canFS(s) = Seg card s by FINSEQ_1:def 3;
A4: for k being Nat st k in Seg card s ex y being Element of FC
  st P[k,y]
  proof
    let k be Nat such that
A5: k in Seg card s;
    set c = (canFS(s)).k;
    c in s by A3,A5,FINSEQ_2:11;
    then reconsider c as Element of FC;
    reconsider fi = eval(<% -c, 1_F_Complex %>,x) as Element of FC;
    take fi, c;
    thus thesis;
  end;
  consider f being FinSequence of FC such that
A6: dom f = Seg card s and
A7: for k being Nat st k in Seg card s holds P[k,f/.k] from
  RECDEF_1:sch 17(A4);
A8: now
    let i being Element of NAT, c be Element of FC such that
A9: i in dom f and
A10: c = (canFS(s)).i;
    ex c1 being Element of FC st c1 = (canFS(s)).i & f/.i = eval(<% -c1,
    1_F_Complex %>,x) by A6,A7,A9;
    hence f.i = eval(<% -c, 1_F_Complex %>,x) by A9,A10,PARTFUN1:def 6;
  end;
A11: dom r = Seg card s by A1,FINSEQ_1:def 3;
A12: for i being Element of NAT st i in dom f holds |. f/.i .| = r.i
  proof
    let i be Element of NAT;
    set c = (canFS(s)).i;
    assume
A13: i in dom f;
    then c in s by A3,A6,FINSEQ_2:11;
    then reconsider c = (canFS(s)).i as Element of FC;
A14: f.i = eval(<% -c, 1_F_Complex %>,x) by A8,A13;
    f/.i = f.i by A13,PARTFUN1:def 6
      .= -c + x by A14,POLYNOM5:47
      .= x-c;
    hence thesis by A2,A11,A6,A13;
  end;
A15: len f = len r by A1,A6,FINSEQ_1:def 3;
  then eval(poly_with_roots((s,1)-bag),x) = Product(f) by A1,A8,UPROOTS:67;
  hence thesis by A15,A12,Th2;
end;
