reserve L for Abelian left_zeroed add-associative associative right_zeroed
              right_complementable distributive non empty doubleLoopStr;
reserve a,b,c for Element of L;
reserve R for non degenerated comRing;
reserve n,m,i,j,k for Nat;

theorem Th1:
      n*a + n*b = n*(a+b)
      proof
        defpred P[Nat] means $1*a + $1*b = $1*(a+b);
A1:     for n be Nat st P[n] holds P[n+1]
        proof
          let n be Nat;
          assume
A2:       P[n];
          (n+1)*a + (n+1)*b = (n*a + 1*a) + (n+1)*b by BINOM:15
          .= n*a + a + (n+1)*b by BINOM:13
          .= n*a + ((n+1)*b + a) by RLVECT_1:def 3
          .= n*a + ((n*b +1*b) + a) by BINOM:15
          .= n*a + ((n*b +b) + a) by BINOM:13
          .= n*a + (n*b + (a + b)) by RLVECT_1:def 3
          .= n*(a+b) + (a+b) by A2,RLVECT_1:def 3
          .= n*(a+b) + 1*(a+b) by BINOM:13
          .= (n+1)*(a+b) by BINOM:15;
          hence thesis;
        end;
        0*a + 0*b = 0.L + 0*b by BINOM:12
        .= 0.L*(a+b) by BINOM:12
        .= 0*(a+b) by BINOM:12; then
A3:     P[0];
        for n be Nat holds P[n] from NAT_1:sch 2(A3,A1);
        hence thesis;
      end;
