reserve x,y for object,
        i,j,k,m,n for Nat;

theorem Th12:
  for n be Nat,
      p be one-to-one a_partition of n,
      e be odd-valued a_partition of n holds
     e = Euler_transformation p iff
      for O be odd-valued FinSequence,
          a be natural-valued FinSequence,
          sort be odd_organization of O
        st
       len O = len p = len a & p = O (#) 2|^a
       for j holds card Coim(e,j*2-1) = ((2|^a)*.sort.j,1)+...
proof
  let n be Nat,
      p be one-to-one a_partition of n,
      e be odd-valued a_partition of n;
  thus e = Euler_transformation p implies
      for O be odd-valued FinSequence,
          a be natural-valued FinSequence,
          sort be odd_organization of O
        st
       len O = len p = len a & p = O (#) 2|^a
     for j holds
       card Coim(e,j*2-1) = ((2|^a)*.sort.j,1)+...
  proof
    assume A1:e = Euler_transformation p;
    let O be odd-valued FinSequence,
    a be natural-valued FinSequence,
    sort be odd_organization of O such that
    A2:len O = len p = len a & p = O (#) 2|^a;
    let j;
    len (2|^a)=len a by CARD_1:def 7;
    then A3:dom O=dom p & dom p = dom a & dom (2|^a) = dom a
      by A2,FINSEQ_3:29;
    reconsider S = sort as DoubleReorganization of dom p by A2, FINSEQ_3:29;
    A4: 2*1-1=1;
    A5: 2*2-1=3;
    2*3-1=5;
    then A6: (1 = O.S_(1,1) & ... & 1 = O.S_(1,len (S.1))) &
             (3 = O.S_(2,1) & ... & 3 = O.S_(2,len (S.2))) &
             (5 = O.S_(3,1) & ... & 5 = O.S_(3,len (S.3))) &
    for i holds
      2*i-1 = O.S_(i,1) & ... & 2*i-1 = O.S_(i,len (S.i)) by A4,Def4,A5;
    (2|^a). sort_(j,1) = (2|^a)*.sort_(j,1) by FLEXARY1:42;
    then card Coim(e,j*2-1)
       = ((2|^a)*.sort).j.1 + ((2|^a)*.sort.j,1+1)+... by A6,A2,A1,Def5
      .= ((2|^a)*.S.j,1)+... by FLEXARY1:20,A3;
    hence thesis;
  end;
  assume A7:for O be odd-valued FinSequence,
                 a be natural-valued FinSequence,
                 sort be odd_organization of O st
        len O = len p = len a & p = O (#) 2|^a
        for j holds
          card Coim(e,j*2-1) = ((2|^a)*.sort.j,1)+...;
        for j
        for O be odd-valued FinSequence,
            a be natural-valued FinSequence st
           len O = len p = len a & p = O (#) 2|^a
        for sort be DoubleReorganization of dom p st
          (1 = O.sort_(1,1) & ... & 1 = O.sort_(1,len (sort.1))) &
          (3 = O.sort_(2,1) & ... & 3 = O.sort_(2,len (sort.2))) &
          (5 = O.sort_(3,1) & ... & 5 = O.sort_(3,len (sort.3))) &
        for i holds
           2*i-1 = O.sort_(i,1) & ... & 2*i-1 = O.sort_(i,len (sort.i))
        holds
          card Coim(e,1)=(2|^a).sort_(1,1) + ((2|^a)*.sort.1,2)+...&
          card Coim(e,3) = (2|^a).sort_(2,1) + ((2|^a)*.sort.2,2)+...&
          card Coim(e,5) = (2|^a). sort_(3,1) + ((2|^a)*.sort.3,2)+...&
          card Coim(e,j*2-1)
            = (2|^a). sort_(j,1) + ((2|^a)*.sort.j,2)+...
  proof
    let j; let O be odd-valued FinSequence,
    a be natural-valued FinSequence;
    assume A8:len O = len p = len a & p = O (#) 2|^a;
    let sort be DoubleReorganization of dom p;
    assume
    A9:(1 = O.sort_(1,1) & ... & 1 = O.sort_(1,len (sort.1))) &
        (3 = O.sort_(2,1) & ... & 3 = O.sort_(2,len (sort.2))) &
        (5 = O.sort_(3,1) & ... & 5 = O.sort_(3,len (sort.3))) &
    for i holds
      2*i-1 = O.sort_(i,1) & ... & 2*i-1 = O.sort_(i,len (sort.i));
    A10:for j holds card Coim(e,j*2-1) = (2|^a). sort_(j,1) +
                                         ((2|^a)*.sort.j,2)+...
    proof
      let j;
      len (2|^a)=len a by CARD_1:def 7;
      then A11:dom O=dom p & dom p = dom a & dom (2|^a) = dom a
        by A8,FINSEQ_3:29;
      reconsider S = sort as DoubleReorganization of dom p;
      A12: sort  is odd_organization of O by A11,A9,Th4;
      (2|^a). sort_(j,1) = (2|^a)*.sort_(j,1) by FLEXARY1:42; then
      ((2|^a)*.S.j,1)+...= (2|^a). sort_(j,1) + ((2|^a)*.sort.j,1+1)
          +... by A11,FLEXARY1:20;
      hence thesis by A12,A7,A8;
    end;
    1*2-1=1 & 2*2-1=3 & 3*2-1 = 5;
    hence thesis by A10;
  end;
  hence thesis by Def5;
end;
