reserve a, b, k, n, m for Nat,
  i for Integer,
  r for Real,
  p for Rational,
  c for Complex,
  x for object,
  f for Function;

theorem Th41:
  scf(m/n).k = divSeq(m,n).k & rfs(m/n).1 = n / modSeq(m,n).0 &
  rfs(m/n).(k+2) = (modSeq(m,n).k) / (modSeq(m,n).(k+1))
proof
  set fd = divSeq(m,n);
  set fm = modSeq(m,n);
  set r = m/n;
A1: scf(r).0 = [\ rfs(r).0 /] by Def4
    .= m div n by Def3;
  per cases;
  suppose
A2: n = 0;
    then
A3: fm = NAT --> 0 by Th22;
A4: fd = NAT --> 0 by A2,Th21;
A5: k in NAT by ORDINAL1:def 12;
    k = 0 or ex x being Nat st k = x + 1 by NAT_1:6;
    hence scf(r).k = 0 by A2,Th30
      .= fd.k by A4,A5,FUNCOP_1:7;
    thus rfs(m/n).1 = rfs(r).(0+1) .= n / fm.0 by A2,Th29;
    thus rfs(m/n).(k+2) = rfs(r).(k+1+1) .= 0 / fm.(k+1) by A2,Th29
      .= fm.k / fm.(k+1) by A3,A5,FUNCOP_1:7;
  end;
  suppose
A6: 0 < n;
    then m = n * (m div n) + (m mod n) by NAT_D:2;
    then
A7: r = (m div n) + (m mod n) / n by A6,XCMPLX_1:113;
    defpred P[Nat] means (for i being Nat st i <= $1 holds scf(r).i = fd.i) &
    for i being Nat st i+1 <= $1 holds rfs(r).(i+2) = fm.i / fm.(i+1);
A8: rfs(r).(0+1) = 1/frac(rfs(r).0) by Def3
      .= 1/(rfs(r).0-scf(r).0) by Def4
      .= 1/(r-(m div n)) by A1,Def3
      .= n / (m mod n) by A7,XCMPLX_1:57
      .= n / fm.0 by Def1;
A9: P[0]
    proof
      hereby
        let i be Nat;
        assume i <= 0;
        then i = 0;
        hence scf(r).i = fd.i by A1,Def2;
      end;
      let i be Nat;
      assume i+1 <= 0;
      hence thesis;
    end;
A10: for a being Nat st P[a] holds P[a+1]
    proof
      let a be Nat such that
A11:  P[a];
      per cases;
      suppose
A12:    a = 0;
        set x = m mod n;
A13:    scf(r).(0+1) = scf(1/frac(r)).0 by Th37
          .= [\ rfs(1/frac(r)).0 /] by Def4
          .= [\ 1 / frac(r) /] by Def3
          .= [\ 1 / ((m mod n) / n )/] by Th6
          .= n div (m mod n) by XCMPLX_1:57
          .= n div fm.0 by Def1
          .= fd.1 by Th12;
        hereby
          let i be Nat;
          assume i <= a+1;
          then i = 0 or i = 1 by A12,NAT_1:25;
          hence scf(r).i = fd.i by A9,A13;
        end;
        let i be Nat;
        assume i+1 <= a+1;
        then
A14:    i+1 = 0 or i+1 = 0+1 by A12,NAT_1:25;
        per cases;
        suppose
A15:      x = 0;
          thus rfs(r).(i+2) = rfs(r).(1+1) by A14
            .= 1/frac(rfs(r).1) by Def3
            .= 1/(n/fm.0-fd.1) by A8,A13,Def4
            .= 1/(n/x-fd.1) by Def1
            .= 1/(n/x-(n div x)) by Def2
            .= 1 / (0 - (n div x)) by A15
            .= 1 / (0 - 0) by A15
            .= fm.i / 0
            .= fm.i / (n mod x) by A15
            .= fm.i / fm.(i+1) by A14,Def1;
        end;
        suppose
A16:      0 < x;
          then
A17:      n + 0 = x * (n div x) + (n mod x) by NAT_D:2;
          per cases;
          suppose
A18:        n mod x = 0;
            then
A19:        n div x = n / x by Th4;
            thus rfs(r).(i+2) = rfs(r).(1+1) by A14
              .= 1/frac(rfs(r).1) by Def3
              .= 1/(n/fm.0-fd.1) by A8,A13,Def4
              .= 1/(n/x-fd.1) by Def1
              .= 1/(n/x-(n div x)) by Def2
              .= 1 / 0 by A19
              .= fm.i / (n mod x) by A18
              .= fm.i / fm.(i+1) by A14,Def1;
          end;
          suppose
A20:        n mod x <> 0;
            then
A21:        n/x - (n div x) <> 0 by Th5;
            thus rfs(r).(i+2) = rfs(r).(1+1) by A14
              .= 1/frac(rfs(r).1) by Def3
              .= 1/(n/fm.0-fd.1) by A8,A13,Def4
              .= 1/(n/x-fd.1) by Def1
              .= 1/(n/x-(n div x)) by Def2
              .= x / (n mod x) by A16,A17,A20,A21,Lm1
              .= fm.i / (n mod x) by A14,Def1
              .= fm.i / fm.(i+1) by A14,Def1;
          end;
        end;
      end;
      suppose
        a > 0;
        then
A22:    0+1 <= a by NAT_1:13;
        thus
A23:    now
          let b be Nat;
          assume b <= a+1;
          then
A24:      b < a+1 or b = a+1 by XXREAL_0:1;
          per cases by A24,NAT_1:13;
          suppose
            b <= a;
            hence scf(r).b = fd.b by A11;
          end;
          suppose
A25:        b-1 = a;
            reconsider a2 = a-1 as Element of NAT by A22,INT_1:5;
A26:        b = a-1+2 by A25;
            thus scf(r).b = [\ rfs(r).b /] by Def4
              .= fm.a2 div fm.(a2+1) by A11,A26
              .= fd.b by A26,Def2;
          end;
        end;
        let b be Nat;
        assume
A27:    b+1 <= a+1;
        per cases by A27,XXREAL_0:1;
        suppose
          b+1 < a+1;
          then b+1 <= a by NAT_1:13;
          hence thesis by A11;
        end;
        suppose
A28:      b+1 = a+1;
          then reconsider b1 = b-1 as Element of NAT by A22,INT_1:5;
A29:      b+1 = b1+(1+1);
A30:      b1+2 = b1+1+1;
A31:      b+2 = b+1+1;
          per cases;
          suppose
A32:        0 = fm.(b1+1);
            thus rfs(r).(b+2) = 1 / (rfs(r).(b+1)-scf(r).(b+1)) by A31,Th26
              .= 1/(rfs(r).(b+1)-fd.(b+1)) by A23,A28
              .= 1 / (fm.b1 / fm.(b1+1) - fd.(b1+1+1)) by A11,A28,A29
              .= 1 / (fm.b1 / 0 - (fm.b1 div 0)) by A30,A32,Def2
              .= fm.b / fm.(b+1) by A32;
          end;
          suppose
A33:        0 < fm.(b1+1);
            then
A34:        fm.b1 + 0 = fm.(b1+1) * (fm.b1 div fm.(b1+1)) + (fm.b1 mod fm
            .(b1+1)) by NAT_D:2;
            per cases;
            suppose
A35:          fm.b1 mod fm.(b1+1) = 0;
              then fm.b1 / fm.(b1+1) = fm.b1 div fm.(b1+1) by Th4;
              then
A36:          fm.b1 / fm.(b1+1) - (fm.b1 div fm.(b1+1)) = 0;
              thus rfs(r).(b+2) = 1 / (rfs(r).(b+1)-scf(r).(b+1)) by A31,Th26
                .= 1/(rfs(r).(b+1)-(fd.(b+1))) by A23,A28
                .= 1 / (fm.b1 / fm.(b1+1) - fd.(b1+1+1)) by A11,A28,A29
                .= 1 / 0 by A30,A36,Def2
                .= fm.(b1+1) / (fm.b1 mod fm.(b1+1)) by A35
                .= fm.b / fm.(b+1) by A30,Def1;
            end;
            suppose
A37:          fm.b1 mod fm.(b1+1) <> 0;
              then
A38:          fm.b1 / fm.(b1+1) - (fm.b1 div fm.(b1+1)) <> 0 by Th5;
              thus rfs(r).(b+2) = 1 / (rfs(r).(b+1)-scf(r).(b+1)) by A31,Th26
                .= 1 / (rfs(r).(b+1)-fd.(b+1)) by A23,A28
                .= 1 / (fm.b1 / fm.(b1+1) - fd.(b1+1+1)) by A11,A28,A29
                .= 1 / (fm.b1 / fm.(b1+1) - (fm.b1 div fm.(b1+1))) by A30,Def2
                .= fm.(b1+1) / (fm.b1 mod fm.(b1+1)) by A33,A34,A37,A38,Lm1
                .= fm.b / fm.(b+1) by A30,Def1;
            end;
          end;
        end;
      end;
    end;
    for a being Nat holds P[a] from NAT_1:sch 2(A9,A10);
    hence thesis by A8;
  end;
end;
