
theorem Th1050:
digits(312,10) = <%2,1,3%>
proof
  set d=<%2,1,3%>;
  set e=<%2*10|^0,1*10|^1,3*10|^2%>;
  A1: Sum e = Sum (<%2*10|^0,1*10|^1%>)+Sum(<%3*10|^2%>) by AFINSQ_2:55
  .= ((2*10|^0)+(1*10|^1))+Sum(<%3*10|^2%>) by AFINSQ_2:54
  .= ((2*10|^0)+(1*10|^1))+(3*10|^2) by AFINSQ_2:53
  .= 2*1 + 1*(10|^1) + 3*(10|^2) by NEWTON:4
  .= 2 + 1*10 + 3*(10|^2) by NEWTON:5
  .= 12 + 3*(10*10) by POLYEQ_5:1
  .= 312;
  A2: dom d = 3 by AFINSQ_1:39 .= dom e by AFINSQ_1:39;
  now
    let i be Nat;
    assume i in dom d;
    then i in 3 by AFINSQ_1:39;
    then i in {0,1,2} by CARD_1:51;
    then i = 0 or i = 1 or i = 2 by ENUMSET1:def 1;
    hence e.i=(d.i)*10|^i;
  end;
  then A3: value(d,10)=312 by A1,A2,NUMERAL1:def 1;
  len(d) - 1 = 3-1 by AFINSQ_1:39;
  then A4: d.(len(d)-1) <> 0;
  now
    let i be Nat;
    assume i in dom d;
    then i in 3 by AFINSQ_1:39;
    then i in {0,1,2} by CARD_1:51;
    then i = 0 or i = 1 or i = 2 by ENUMSET1:def 1;
    hence 0 <= d.i & d.i < 10;
  end;
  hence thesis by A3,A4,NUMERAL1:def 2;
end;
