
theorem lempowers:
  for a being Nat, m being positive Integer, f being XFinSequence of INT st
  a>1 & len f = m-1 & for i being Nat st i in dom f holds f.i=a|^(i+1)-1
  holds (a|^m - 1) div (a-1) = Sum f + m
  proof
    let a be Nat, m be positive Integer, f be XFinSequence of INT such that
    f: a>1 & len f = m-1 & for i being Nat st i in dom f holds f.i=a|^(i+1)-1;
    a: a-1<>0 by f;
    reconsider a1=a-1 as Nat by f,INT_1:74;
    m>=0+1 by INT_1:7;
    then reconsider m0=m as Nat by POLYFORM:3;
    reconsider m1=m0-1 as Nat by INT_1:74;
    defpred P[Nat] means
    for f being XFinSequence of INT st
    len f = $1 & for i being Nat st i in dom f holds f.i=a|^(i+1)-1
    holds (a|^($1+1) - 1) div (a-1) = Sum f + ($1+1);
    z: P[0]
    proof
      let f0 be XFinSequence of INT such that
      f0: len f0 = 0 & for i being Nat st i in dom f0 holds f0.i=a|^(i+1)-1;
      f0={} by f0;
      then sz: Sum f0=0;
      thus (a|^(0+1) - 1) div (a-1) = (a-1) div (a-1) by NEWTON:5
      .= Sum f0 + (0+1) by sz,a,INT_1:49;
    end;
    k:
    now
      let k be Nat;
      assume pk: P[k];
      thus P[k+1]
      proof
        let f1 be XFinSequence of INT such that
        f1: len f1 = k+1 & for i being Nat st i in dom f1
        holds f1.i=a|^(i+1)-1;
        set fk=f1|k;
        km: k < k+1 by NAT_1:13;
        then df: dom fk=k by f1,AFINSQ_1:11;
        k in Segm (k+1) & dom f1 = k+1 by f1,km,NAT_1:44; then
        kd: k in dom f1;
        lek: len fk=k by km,f1,AFINSQ_1:54;
        now
          let i be Nat;
          assume idk: i in dom fk;
          dom fk c= dom f1 by RELAT_1:60;
          then idf: i in dom f1 by idk;
          thus fk.i=f1.i by df,km,idk,f1,AFINSQ_1:53
          .= a|^(i+1)-1 by f1,idf;
        end;
        then pek: (a|^(k+1) - 1) div (a-1) = Sum fk + (k+1) by pk,lek;
        sf: Sum <% f1.k %>=f1.k by AFINSQ_2:53;
        f1=fk^<% f1.k %> by f1,AFINSQ_1:56;
        then ss: Sum f1 = Sum fk + f1.k by sf,AFINSQ_2:55;

        ld: a-1 divides a|^((k+1)+1) - 1 & a-1 divides a|^(k+1) - 1 by lemdiv;
        hence (a|^((k+1)+1) - 1) div (a-1) = (a|^((k+1)+1) - 1) / a1
        by RING_3:6
        .= (a|^((k+1))*a + a|^(k+1) - a|^(k+1) - 1) / a1 by NEWTON:6
        .= (a|^((k+1))*(a-1) + (a|^(k+1) - 1)) / a1
        .= (a|^((k+1))*(a-1))/a1 + (a|^(k+1) - 1) / a1 by XCMPLX_1:62
        .= a|^(k+1) + ((a|^(k+1) - 1) / a1) by a,XCMPLX_1:89
        .= a|^(k+1) + ((a|^(k+1) - 1) div a1) by ld,RING_3:6
        .= (a|^(k+1) - 1) + Sum fk + ((k+1)+1) by pek
        .= f1.k + Sum fk + ((k+1)+1) by f1,kd
        .= Sum f1 + ((k+1)+1) by ss;
      end;
    end;
    for k being Nat holds P[k] from NAT_1:sch 2(z,k);
    then (a|^(m1+1) - 1) div (a-1) = Sum f + (m1+1) by f;
    hence (a|^m - 1) div (a-1) = Sum f + m;
  end;
