reserve k, l, m, n, i, j for Nat,
  K, N for non empty Subset of NAT,
  Ke, Ne, Me for Subset of NAT,
  X,Y for set;
reserve f for Function of Segm n,Segm k;
reserve x,y for set;

theorem Th46:
(n+1) block (k+1) = (k+1)*(n block (k+1) ) + (n block k)
proof
  set F={f where f is Function of Segm(n+1),Segm(k+1):f is onto "increasing};
  set F1={f where f is Function of Segm(n+1),Segm(k+1):
f is onto "increasing&f"{f.n}={n}};
  set F2={f where f is Function of Segm(n+1),Segm(k+1):
f is onto "increasing&f"{f.n}<>{n}};
A1: F c= F1\/F2
  proof
    let x be object;
    assume x in F;
    then consider f be Function of Segm(n+1),Segm(k+1) such that
A2: f =x and
A3: f is onto "increasing;
    f"{f.n}={n} or f"{f.n}<>{n};
    then f in F1 or f in F2 by A3;
    hence thesis by A2,XBOOLE_0:def 3;
  end;
  F1\/F2 c= F
  proof
    let x be object;
    assume x in F1\/F2;
    then x in F1 or x in F2 by XBOOLE_0:def 3;
    then
    (ex f be Function of Segm(n+1),Segm(k+1)
st f = x & f is onto "increasing & f"{f.
n}={n}) or ex f be Function of Segm(n+1),Segm(k+1)
st f = x & f is onto "increasing & f"{f.
    n}<>{n};
    hence thesis;
  end;
  then
A4: F1\/F2=F by A1;
A5: F1 misses F2
  proof
    assume F1 meets F2;
    then consider x being object such that
A6: x in F1/\F2 by XBOOLE_0:4;
    x in F2 by A6,XBOOLE_0:def 4;
    then
A7: ex f be Function of Segm(n+1),Segm(k+1) st
f = x & f is onto "increasing & f"{f.n
    } <>{n};
    x in F1 by A6,XBOOLE_0:def 4;
    then
    ex f be Function of Segm(n+1),Segm(k+1)
st f = x & f is onto "increasing & f"{f.n
    } ={n};
    hence contradiction by A7;
  end;
A8: F2 c= Funcs(n+1,k+1)
  proof
    let x be object;
    assume x in F2;
    then
    ex f be Function of Segm(n+1),Segm(k+1)
st f = x & f is onto "increasing & f"{f.n
    }<>{n};
    hence thesis by FUNCT_2:8;
  end;
A9: F1 c= Funcs(n+1,k+1)
  proof
    let x be object;
    assume x in F1;
    then
    ex f be Function of Segm(n+1),Segm(k+1)
st f = x & f is onto "increasing & f"{f.n
    }={n };
    hence thesis by FUNCT_2:8;
  end;
  Funcs(n+1,k+1) is finite by FRAENKEL:6;
  then reconsider F1,F2 as finite set by A9,A8;
  reconsider k1=k+1 as Element of NAT;
A10: card F2= k1 * (n block k1) by Th45;
  card F1= n block k by Th42;
  hence thesis by A4,A5,A10,CARD_2:40;
end;
