
theorem
  for A being finite Chain, n being Nat st card(the carrier of A) = n
  holds A,InclPoset n are_isomorphic
proof
  defpred P[Nat] means for A being finite Chain st card(the carrier of A) = $1
  holds A,InclPoset $1 are_isomorphic;
A1: for n being Nat st P[n] holds P[n + 1]
  proof
    let n be Nat;
    assume
A2: for A being finite Chain st card(the carrier of A) = n holds A,
    InclPoset(n) are_isomorphic;
    n >= 0 by NAT_1:2;
    then n + 1 >= 0 + 1 by XREAL_1:6;
    then
A3: n >= 1 or n + 1 = 1 by NAT_1:8;
    let A be finite Chain;
    assume
A4: card(the carrier of A) = n + 1;
    then reconsider A as non empty finite Chain;
    set b = Top A;
    per cases by A3,NAT_1:13;
    suppose
A5:   n + 1 = 1;
      then consider x be object such that
A6:   the carrier of A = {x} by A4,CARD_2:42;
      A,InclPoset(1) are_isomorphic
      proof
        set g = (the carrier of A) --> 0;
A7:     rng g = {0} by FUNCOP_1:8;
A8:     {0} = the carrier of InclPoset 1 by CARD_1:49,YELLOW_1:1;
        then reconsider g as
          Function of A, InclPoset 1;
A9:     for e,f being Element of A holds e <= f iff g.e <= g.f
        proof
          let e,f be Element of A;
          hereby
            assume e <= f;
            g.e = 0 by FUNCOP_1:7;
            hence g.e <= g.f by FUNCOP_1:7;
          end;
          assume g.e <= g.f;
          e = x by A6,TARSKI:def 1;
          hence thesis by A6,TARSKI:def 1;
        end;
        g is one-to-one
        proof
          let x1,x2 be Element of A;
          assume g.x1 = g.x2;
          x1 = x by A6,TARSKI:def 1;
          hence thesis by A6,TARSKI:def 1;
        end;
        then g is isomorphic by A7,A8,A9,WAYBEL_0:66;
        hence thesis;
      end;
      hence thesis by A5;
    end;
    suppose
A10:  n + 1 > 1;
A11:  card((the carrier of A) \ {b}) = (card the carrier of A) - card {b}
      by CARD_2:44
        .= (n + 1) -1 by A4,CARD_1:30
        .= n;
      n + 1 - 1 > 1 - 1 by A10,XREAL_1:9;
      then reconsider Ab=(the carrier of A)\{b} as non empty Subset of A by A11
;
      reconsider B = subrelstr Ab as finite Chain by Def1;
      card(the carrier of B) = n by A11,YELLOW_0:def 15;
      then B,InclPoset(n) are_isomorphic by A2;
      then consider f be Function of B,InclPoset(n) such that
A12:  f is isomorphic;
      the carrier of B = (the carrier of A)\{b} by YELLOW_0:def 15;
      then
A13:  (the carrier of B) , { b } form_upper_lower_partition_of A by Th3;
A14:  Segm(n+1) = Segm n \/ {n} by AFINSQ_1:2;
      then {n} c= Segm(n+1) by XBOOLE_1:7;
      then reconsider n9 = {n} as non empty Subset of InclPoset (n+1) by
YELLOW_1:1;
      set X = InclPoset {b};
A15:  the carrier of subrelstr n9 = n9 by YELLOW_0:def 15;
      {b} c= {b};
      then reconsider b9 = {b} as non empty Subset of X by YELLOW_1:1;
      set X9 = subrelstr b9;
      set g = (the carrier of X9) --> n;
      dom g = the carrier of X9 by FUNCOP_1:13;
      then reconsider g as ManySortedSet of the carrier of X9 by PARTFUN1:def 2
;
A16:  for a,b be Element of InclPoset(n+1) st a in (the carrier of
      InclPoset(n)) & b in {n} holds a < b
      proof
        let a,b be Element of InclPoset(n+1);
        assume that
A17:    a in the carrier of InclPoset(n) and
A18:    b in {n};
A19:    a in n by A17,YELLOW_1:1;
        then a in { i where i is Nat: i < n } by AXIOMS:4;
        then consider h be Nat such that
A20:    h = a and
A21:    h < n;
A22:    b = n by A18,TARSKI:def 1;
        a c= b
        proof
          assume not a c= b;
          then consider x be object such that
A23:      x in a and
A24:      not x in b;
          x in { w where w is Nat: w < h } by A20,A23,AXIOMS:4;
          then consider w9 be Nat such that
A25:      w9 = x and
A26:      w9 < h;
          w9 < n by A21,A26,XXREAL_0:2;
          then w9 in { t where t is Nat: t < n};
          hence contradiction by A22,A24,A25,AXIOMS:4;
        end;
        then
A27:    a <= b by YELLOW_1:3;
        a <> b by A19,A22;
        hence thesis by A27,ORDERS_2:def 6;
      end;
      the carrier of InclPoset(n) = n by YELLOW_1:1;
      then
      (the carrier of InclPoset(n)) \/ {n} = the carrier of InclPoset(n+1
      ) by A14,YELLOW_1:1;
      then
A28:  (the carrier of InclPoset(n)),{n} form_upper_lower_partition_of
      InclPoset(n+1) by A16;
      n <= n+1 by NAT_1:11;
      then Segm n c= Segm(n+1) by NAT_1:39;
      then n c= the carrier of InclPoset(n+1) by YELLOW_1:1;
      then reconsider A2 = the carrier of InclPoset n as Subset of
      InclPoset (n+1) by YELLOW_1:1;
A29:  the carrier of subrelstr {b } = {b} by YELLOW_0:def 15;
A30:  the carrier of X9 = {b} by YELLOW_0:def 15;
      then reconsider g as Function of subrelstr {b}, subrelstr n9 by A15,A29;
      g.b in n9 by A15,A29,FUNCT_2:47;
      then g.b = n by TARSKI:def 1;
      then
A31:  rng g = the carrier of subrelstr n9 by A15,A29,FUNCT_2:48;
A32:  for e,f being Element of subrelstr {b} holds e <= f iff g.e <= g.f
      proof
        let e,f be Element of subrelstr {b};
        reconsider f1=f as Element of X9 by A30,YELLOW_0:def 15;
        reconsider e1=e as Element of X9 by A30,YELLOW_0:def 15;
        hereby
          assume e <= f;
          g.e1 = n & g.f1 = n by FUNCOP_1:7;
          hence g.e <= g.f;
        end;
        assume g.e <= g.f;
        e in the carrier of subrelstr {b};
        then e in {b} by YELLOW_0:def 15;
        then
A33:    e = b by TARSKI:def 1;
        f in the carrier of subrelstr {b};
        then f in {b} by YELLOW_0:def 15;
        hence thesis by A33,TARSKI:def 1;
      end;
      g is one-to-one by A29,PARTFUN1:17;
      then
A34:  g is isomorphic by A31,A32,WAYBEL_0:66;
      InclPoset n is full SubRelStr of InclPoset (n+1) by Th1,NAT_1:11;
      then
A35:  InclPoset n = subrelstr A2 by YELLOW_0:def 15;
      the carrier of B = Ab by YELLOW_0:def 15;
      then
      ex h be Function of A,InclPoset(n+1) st h = f +* g & h is isomorphic
      by A12,A13,A28,A34,A35,Th5;
      hence thesis;
    end;
  end;
A36: P[ 0 ]
  proof
    let A be finite Chain;
    set f = the Function of A, InclPoset 0;
    assume card(the carrier of A) = 0;
    then
A37: A is empty;
    take f;
    InclPoset(0) is empty by YELLOW_1:1;
    hence thesis by A37,WAYBEL_0:def 38;
  end;
  for n being Nat holds P[n] from NAT_1:sch 2(A36,A1);
  hence thesis;
end;
