reserve M,N for non empty multMagma,
  f for Function of M, N;
reserve M for multMagma;
reserve N,K for multSubmagma of M;
reserve M,N for non empty multMagma,
  A for Subset of M,
  f,g for Function of M,N,
  X for stable Subset of M,
  Y for stable Subset of N;
reserve X for set;
reserve x,y,Y for set;
reserve n,m,p for Nat;

theorem Th20:
  n >= 2 implies ex fs being FinSequence st len fs = n-1 &
    (for p st p>=1 & p<=n-1 holds
       fs.p = [: free_magma(X,p), free_magma(X,n-'p) :] ) &
    free_magma(X,n) = Union disjoin fs
proof
  assume n >= 2; then
  consider fs be FinSequence such that
  A1: len fs = n-1 & (for p st p>=1 & p<=n-1 holds
      fs.p = [: (free_magma_seq X).p, (free_magma_seq X).(n-p) :] ) &
      (free_magma_seq X).n = Union disjoin fs by Def13;
  take fs;
  thus len fs = n-1 by A1;
  thus for p st p>=1 & p<=n-1
       holds fs.p = [: free_magma(X,p), free_magma(X,n-'p) :]
  proof
    let p;
    assume A2: p>=1 & p<=n-1; then
    -p <= -1 & -p >= -(n-1) by XREAL_1:24; then
     -p +n <= -1+n & -p+n >= -(n-1)+n by XREAL_1:6;
    then n-p=n-'p by XREAL_0:def 2;
    hence thesis by A2,A1;
  end;
  thus free_magma(X,n) = Union disjoin fs by A1;
end;
