ORDERS_4

index · ← WAYBEL32 · LATTICE8 →
:: On the Isomorphism Between Finite Chains
::  by Marta Pruszy\'nska and Marek Dudzicz
::
:: Received June 29, 2000
:: Copyright (c) 2000-2026 Association of Mizar Users
::           (Stowarzyszenie Uzytkownikow Mizara, Bialystok, Poland).
:: This code can be distributed under the GNU General Public Licence
:: version 3.0 or later, or the Creative Commons Attribution-ShareAlike
:: License version 3.0 or later, subject to the binding interpretation
:: detailed in file COPYING.interpretation.
:: See COPYING.GPL and COPYING.CC-BY-SA for the full text of these
:: licenses, or see http://www.gnu.org/licenses/gpl.html and
:: http://creativecommons.org/licenses/by-sa/3.0/.

environ

 vocabularies TREES_2, ORDERS_2, RELAT_2, XBOOLE_0, STRUCT_0, ZFMISC_1, CARD_3,
      FINSET_1, CAT_1, YELLOW_0, SUBSET_1, XXREAL_0, TARSKI, NAT_1, YELLOW_1,
      WELLORD2, WELLORD1, ARYTM_3, LATTICES, FUNCT_1, FUNCT_4, RELAT_1, CARD_1,
      FUNCOP_1, ARYTM_1, PBOOLE, ORDERS_4;
 notations TARSKI, XBOOLE_0, SUBSET_1, CARD_1, ORDINAL1, NUMBERS, XCMPLX_0,
      PBOOLE, CARD_3, RELAT_2, ORDERS_1, ORDERS_2, RELAT_1, FUNCT_1, FUNCT_2,
      FUNCOP_1, FUNCT_4, DOMAIN_1, STRUCT_0, YELLOW_0, WAYBEL_0, YELLOW_1,
      WAYBEL_1, WELLORD1, XXREAL_0;
 constructors DOMAIN_1, NAT_1, NAT_D, MEMBERED, TOLER_1, LATTICE3, ORDERS_3,
      WAYBEL_1, RELSET_1, CARD_3;
 registrations XBOOLE_0, RELSET_1, FINSET_1, XREAL_0, NAT_1, MEMBERED,
      STRUCT_0, YELLOW_0, WAYBEL_0, YELLOW_1, YELLOW_2, WAYBEL_2, YELLOW11,
      CARD_1, ORDERS_2;
 requirements NUMERALS, BOOLE, SUBSET, ARITHM;
 definitions TARSKI, WAYBEL_1;
 equalities WELLORD1, ORDINAL1;
 expansions TARSKI, WAYBEL_1;
 theorems CARD_1, CARD_2, CARD_4, WAYBEL_0, YELLOW_0, YELLOW_1, ORDERS_2,
      TARSKI, WELLORD2, NAT_1, AXIOMS, FUNCT_1, FUNCT_2, FUNCT_4, RELAT_1,
      RELAT_2, FUNCOP_1, XBOOLE_0, XBOOLE_1, PARTFUN1, XREAL_1, XXREAL_0,
      AFINSQ_1;
 schemes NAT_1;

begin

definition
  mode Chain -> RelStr means
    :Def1:
    it is connected non empty Poset or it is empty;
  existence
  proof
    set R = the empty RelStr;
    take R;
    thus thesis;
  end;
end;

registration
  cluster empty -> reflexive transitive antisymmetric for RelStr;
  coherence
  proof
    let A be RelStr;
    assume
A1: A is empty;
    then
    for x,y,z be object holds x in the carrier of A & y in the carrier of A &
    z in the carrier of A & [x,y] in the InternalRel of A & [y,z] in the
    InternalRel of A implies [x,z] in the InternalRel of A;
    then
A2: the InternalRel of A is_transitive_in the carrier of A by RELAT_2:def 8;
    for x,y be object holds x in the carrier of A & y in the carrier of A & [
x,y] in the InternalRel of A & [y,x] in the InternalRel of A implies x = y by
A1;
    then
A3: the InternalRel of A is_antisymmetric_in the carrier of A by RELAT_2:def 4;
    for x be object holds x in the carrier of A implies [x,x] in the
    InternalRel of A by A1;
    then the InternalRel of A is_reflexive_in the carrier of A by RELAT_2:def 1
;
    hence thesis by A2,A3,ORDERS_2:def 2,def 3,def 4;
  end;
end;

registration
  cluster -> reflexive transitive antisymmetric for Chain;
  coherence
  proof
    let A be Chain;
    A is connected non empty Poset or A is empty RelStr by Def1;
    hence thesis;
  end;
end;

registration
  cluster non empty for Chain;
  existence
  proof
    set A = the trivial reflexive transitive antisymmetric non empty RelStr;
    A is Chain by Def1;
    hence thesis;
  end;
end;

registration
  cluster -> connected for non empty Chain;
  coherence by Def1;
end;

definition
  let L be 1-sorted;
  attr L is countable means

  the carrier of L is countable;
end;

registration
  cluster finite non empty for Chain;
  existence
  proof

set A = the trivial reflexive transitive antisymmetric non empty finite RelStr;
    A is Chain by Def1;
    hence thesis;
  end;
end;

registration
  cluster countable for Chain;
  existence
  proof
    set L = the finite Chain;
    take L;
    the carrier of L is countable by CARD_4:1;
    hence thesis;
  end;
end;

registration
  let A be connected non empty RelStr;
  cluster full -> connected for non empty SubRelStr of A;
  correctness
  proof
    let S be non empty SubRelStr of A;
    assume
A1: S is full;
    for x,y being Element of S holds x <= y or y <= x
    proof
      let x,y be Element of S;
A2:   the carrier of S c= the carrier of A by YELLOW_0:def 13;
      reconsider b=y as Element of A by A2;
      reconsider a=x as Element of A by A2;
      a <= b or b <= a by WAYBEL_0:def 29;
      hence thesis by A1,YELLOW_0:60;
    end;
    hence thesis by WAYBEL_0:def 29;
  end;
end;

registration
  let A be finite RelStr;
  cluster -> finite for SubRelStr of A;
  correctness
  proof
    let S be SubRelStr of A;
    the carrier of S c= the carrier of A by YELLOW_0:def 13;
    hence thesis;
  end;
end;

theorem Th1:
  for n,m be Nat holds n <= m implies InclPoset(n) is full
  SubRelStr of InclPoset(m)
proof
  let n,m be Nat;
A1: the InternalRel of InclPoset m = RelIncl m by YELLOW_1:1;
  assume n <= m;
  then
A2: Segm n c= Segm m by NAT_1:39;
A3: RelIncl n c= RelIncl m
  proof
    let x be object;
    assume x in RelIncl n;
    then x in (RelIncl m) |_2 n by A2,WELLORD2:7;
    hence thesis by XBOOLE_0:def 4;
  end;
  the carrier of InclPoset(m)=m by YELLOW_1:1;
  then
A4: the carrier of InclPoset(n) c= the carrier of InclPoset(m) by A2,YELLOW_1:1
;
A5: the InternalRel of InclPoset n = RelIncl n by YELLOW_1:1;
  then (RelIncl m) |_2 n = the InternalRel of InclPoset n by A2,WELLORD2:7;
  then the InternalRel of InclPoset(n) = (the InternalRel of InclPoset(m))|_2
  the carrier of InclPoset(n) by A1,YELLOW_1:1;
  hence thesis by A4,A5,A1,A3,YELLOW_0:def 13,def 14;
end;

definition
  let L be RelStr;
  let A,B be set;
  pred A,B form_upper_lower_partition_of L means

  A \/ B = the carrier
  of L & for a,b be Element of L st a in A & b in B holds a < b;
end;

theorem Th2:
  for L be RelStr for A,B be set holds A,B
  form_upper_lower_partition_of L implies A misses B
proof
  let L be RelStr;
  let A,B be set;
  assume that
A1: A,B form_upper_lower_partition_of L and
A2: A meets B;
  consider x be object such that
A3: x in A /\ B by A2,XBOOLE_0:4;
A4: x in B by A3,XBOOLE_0:def 4;
A5: x in A by A3,XBOOLE_0:def 4;
  A \/ B = the carrier of L by A1;
  then reconsider x as Element of L by A5,XBOOLE_0:def 3;
  x < x by A1,A5,A4;
  hence contradiction;
end;

theorem Th3:
  for L be upper-bounded antisymmetric non empty RelStr holds ((the
  carrier of L) \ { Top L }), { Top L } form_upper_lower_partition_of L
proof
  let L be upper-bounded antisymmetric non empty RelStr;
A1: for a,b be Element of L st a in ((the carrier of L) \ { Top L }) & b in
  { Top L } holds a < b
  proof
    let a,b be Element of L;
    assume that
A2: a in ((the carrier of L) \ { Top L }) and
A3: b in { Top L };
    not a in { Top L } by A2,XBOOLE_0:def 5;
    then
A4: a <> Top L by TARSKI:def 1;
A5: a <= Top L by YELLOW_0:45;
    b = Top L by A3,TARSKI:def 1;
    hence thesis by A4,A5,ORDERS_2:def 6;
  end;
  ((the carrier of L) \ { Top L }) \/ { Top L } = the carrier of L by
XBOOLE_1:45;
  hence thesis by A1;
end;

theorem Th4:
  for L1,L2 be RelStr for f be Function of L1,L2 st f is isomorphic
  holds (the carrier of L1 <> {} iff the carrier of L2 <> {}) & (the carrier of
  L2 <> {} or the carrier of L1 = {}) & (the carrier of L1 = {} iff the carrier
  of L2 = {})
proof
  let L1,L2 be RelStr;
  let f be Function of L1,L2 such that
A1: f is isomorphic;
  the carrier of L1 = {} iff the carrier of L2 = {}
  proof
    hereby
      assume the carrier of L1 = {};
      then L1 is empty;
      then L2 is empty by A1,WAYBEL_0:def 38;
      hence the carrier of L2 = {};
    end;
    assume the carrier of L2 = {};
    then L2 is empty;
    then L1 is empty by A1,WAYBEL_0:def 38;
    hence thesis;
  end;
  hence thesis;
end;

theorem Th5:
  for L1,L2 be antisymmetric RelStr for A1,B1 be Subset of L1 st A1
  ,B1 form_upper_lower_partition_of L1 for A2,B2 be Subset of L2 st A2,B2
  form_upper_lower_partition_of L2 for f be Function of subrelstr A1, subrelstr
  A2 st f is isomorphic for g be Function of subrelstr B1, subrelstr B2 st g is
  isomorphic ex h be Function of L1,L2 st h = f +* g & h is isomorphic
proof
  let L1,L2 be antisymmetric RelStr;
  let A1,B1 be Subset of L1 such that
A1: A1,B1 form_upper_lower_partition_of L1;
A2: A1 \/ B1 = the carrier of L1 by A1;
  let A2,B2 be Subset of L2 such that
A3: A2,B2 form_upper_lower_partition_of L2;
A4: A2 misses B2 by A3,Th2;
A5: A2 \/ B2 = the carrier of L2 by A3;
A6: A1 misses B1 by A1,Th2;
  let f be Function of subrelstr A1, subrelstr A2 such that
A7: f is isomorphic;
  let g be Function of subrelstr B1, subrelstr B2 such that
A8: g is isomorphic;
  set h = f +* g;
  per cases;
  suppose
A9: the carrier of L1 = {};
    then
A10: A1 = {} by A2;
    then the carrier of subrelstr A1 = {} by YELLOW_0:def 15;
    then dom f = the carrier of subrelstr A1;
    then
A11: dom f = A1 by YELLOW_0:def 15;
    subrelstr A1 is empty by A10,YELLOW_0:def 15;
    then subrelstr A2 is empty by A7,WAYBEL_0:def 38;
    then
A12: A2 = {} by YELLOW_0:def 15;
A13: for x be object st x in the carrier of L1 holds h.x in the carrier of L2
               by A9;
A14: B1 = {} by A2,A9;
    then
    the carrier of subrelstr B2 <> {} or the carrier of subrelstr B1 = {}
    by YELLOW_0:def 15;
    then dom g = the carrier of subrelstr B1 by FUNCT_2:def 1;
    then dom g = B1 by YELLOW_0:def 15;
    then dom h = the carrier of L1 by A2,A11,FUNCT_4:def 1;
    then reconsider h as Function of L1,L2 by A13,FUNCT_2:3;
A15: L1 is empty by A9;
    subrelstr B1 is empty by A14,YELLOW_0:def 15;
    then L2 is empty by A8,A5,A12,WAYBEL_0:def 38;
    then h is isomorphic by A15,WAYBEL_0:def 38;
    hence thesis;
  end;
  suppose
A16: the carrier of L1 <> {};
    then A1 <> {} or B1 <> {} by A2;
    then subrelstr A1 is non empty or subrelstr B1 is non empty by
YELLOW_0:def 15;
    then
A17: subrelstr A2 is non empty or subrelstr B2 is non empty by A7,A8,
WAYBEL_0:def 38;
    (A2 <> {} or B2 <> {}) implies (B2 <> {} or B1 = {})
    proof
      assume A2 <> {} or B2 <> {};
      the carrier of subrelstr B2 <> {} or the carrier of subrelstr B1 =
      {} by A8,Th4;
      hence thesis by YELLOW_0:def 15;
    end;
    then
A18: the carrier of subrelstr B2 <> {} or the carrier of subrelstr B1 = {}
    by A17,YELLOW_0:def 15;
    then
A19: dom g = the carrier of subrelstr B1 by FUNCT_2:def 1;
    then
A20: dom g = B1 by YELLOW_0:def 15;
    (A1 <> {} or B1 <> {}) implies (A2 <> {} or A1 = {})
    proof
      assume A1 <> {} or B1 <> {};
      the carrier of subrelstr A2 <> {} or the carrier of subrelstr A1 =
      {} by A7,Th4;
      hence thesis by YELLOW_0:def 15;
    end;
    then
    the carrier of subrelstr A2 <> {} or the carrier of subrelstr A1 = {}
    by YELLOW_0:def 15;
    then dom f = the carrier of subrelstr A1 by FUNCT_2:def 1;
    then
A21: dom f = A1 by YELLOW_0:def 15;
A22: dom h = dom f \/ dom g by FUNCT_4:def 1;
A23: dom f misses dom g implies rng h = rng f \/ rng g
    proof
      assume
A24:  dom f misses dom g;
A25:  rng f \/ rng g c= rng h
      proof
        let x be object;
        assume
A26:    x in rng f \/ rng g;
        per cases by A26,XBOOLE_0:def 3;
        suppose
          x in rng f;
          then consider z be object such that
A27:      z in dom f and
A28:      x = f.z by FUNCT_1:def 3;
          not z in dom g by A24,A27,XBOOLE_0:3;
          then
A29:      x = h.z by A28,FUNCT_4:11;
          z in dom h by A22,A27,XBOOLE_0:def 3;
          hence thesis by A29,FUNCT_1:def 3;
        end;
        suppose
          x in rng g;
          then consider z be object such that
A30:      z in dom g and
A31:      x = g.z by FUNCT_1:def 3;
          z in dom h & h.z = g.z by A22,A30,FUNCT_4:13,XBOOLE_0:def 3;
          hence thesis by A31,FUNCT_1:def 3;
        end;
      end;
      rng h c= rng f \/ rng g by FUNCT_4:17;
      hence thesis by A25,XBOOLE_0:def 10;
    end;
A32: rng h = the carrier of L2
    proof
      per cases;
      suppose
A33:    A2 = {} & A1 = {};
        then subrelstr B1 is non empty by A2,A16,YELLOW_0:def 15;
        then
A34:    rng g = the carrier of subrelstr B2 by A8,A17,A33,WAYBEL_0:66
,YELLOW_0:def 15;
        rng f = {} by A21,A33,RELAT_1:42;
        hence thesis by A5,A21,A23,A33,A34,XBOOLE_1:65,YELLOW_0:def 15;
      end;
      suppose
        A2 = {} & A1 <> {};
        then
        the carrier of subrelstr A2 = {} & the carrier of subrelstr A1 <>
        {} by YELLOW_0:def 15;
        hence thesis by A7,Th4;
      end;
      suppose
        A2 <> {} & A1 = {};
        then
        the carrier of subrelstr A2 <> {} & the carrier of subrelstr A1 =
        {} by YELLOW_0:def 15;
        hence thesis by A7,Th4;
      end;
      suppose
A35:    A2 <> {} & A1 <> {};
        rng h = the carrier of L2
        proof
          per cases;
          suppose
A36:        B2 <> {};
            then the carrier of subrelstr B2 <> {} by YELLOW_0:def 15;
            then the carrier of subrelstr B1 <> {} by A8,Th4;
            then
A37:        subrelstr B1 is non empty;
            subrelstr A2 is non empty & subrelstr A1 is non empty by A35,
YELLOW_0:def 15;
            then rng f = the carrier of subrelstr A2 by A7,WAYBEL_0:66;
            then
A38:        rng f = A2 by YELLOW_0:def 15;
            subrelstr B2 is non empty by A36,YELLOW_0:def 15;
            then rng g = the carrier of subrelstr B2 by A8,A37,WAYBEL_0:66;
            hence thesis by A1,A5,A21,A20,A23,A38,Th2,YELLOW_0:def 15;
          end;
          suppose
A39:        B2 = {};
            subrelstr A2 is non empty & subrelstr A1 is non empty by A35,
YELLOW_0:def 15;
            then
A40:        rng f = the carrier of subrelstr A2 by A7,WAYBEL_0:66;
            g = {} by A18,A39,YELLOW_0:def 15;
            hence thesis by A5,A23,A39,A40,RELAT_1:38,XBOOLE_1:65
,YELLOW_0:def 15;
          end;
        end;
        hence thesis;
      end;
    end;
A41: dom h = the carrier of L1 by A2,A21,A19,A22,YELLOW_0:def 15;
    then
A42: for x be object st x in the carrier of L1 holds h.x in the carrier of L2
    by A32,FUNCT_1:def 3;
    A2 <> {} or B2 <> {} by A17,YELLOW_0:def 15;
    then reconsider L2 as non empty RelStr by A5;
    reconsider L1 as non empty RelStr by A16;
    reconsider h as Function of L1,L2 by A41,A42,FUNCT_2:3;
A43: for x,y being Element of L1 holds x <= y iff h.x <= h.y
    proof
      let x,y be Element of L1;
A44:  dom f misses dom g by A6,A21,A19,YELLOW_0:def 15;
      per cases by A2,XBOOLE_0:def 3;
      suppose
A45:    x in A1 & y in A1;
        then the carrier of subrelstr A2 <> {} by A7,Th4;
        then reconsider A29 = A2 as non empty Subset of L2 by YELLOW_0:def 15;
        reconsider A19 = A1 as non empty Subset of L1 by A45;
        reconsider ax = x, ay = y as Element of subrelstr A19 by A45,
YELLOW_0:def 15;
        reconsider f9 = f as Function of subrelstr A19, subrelstr A29;
A46:    h.x = f.x & h.y = f.y by A1,A21,A20,A45,Th2,FUNCT_4:16;
        hereby
          assume x <= y;
          then ax <= ay by YELLOW_0:60;
          then f9.ax <= f9.ay by A7,WAYBEL_0:66;
          hence h.x <= h.y by A46,YELLOW_0:59;
        end;
        assume h.x <= h.y;
        then f9.ax <= f9.ay by A46,YELLOW_0:60;
        then ax <= ay by A7,WAYBEL_0:66;
        hence thesis by YELLOW_0:59;
      end;
      suppose
A47:    x in A1 & y in B1;
        hereby
          the carrier of subrelstr A2 <> {} & the carrier of subrelstr
          B2 <> {} by A7,A8,A47,Th4;
          then reconsider A29 = A2, B29 = B2 as non empty Subset of L2 by
YELLOW_0:def 15;
          reconsider A19 = A1, B19 = B1 as non empty Subset of L1 by A47;
          assume x <= y;
          reconsider f9 = f as Function of subrelstr A19, subrelstr A29;
          reconsider g9 = g as Function of subrelstr B19, subrelstr B29;
          reconsider ax = x as Element of subrelstr A19 by A47,YELLOW_0:def 15;
          reconsider ay = y as Element of subrelstr B19 by A47,YELLOW_0:def 15;
          f9.ax in the carrier of subrelstr A29;
          then
A48:      f9.ax in A29 by YELLOW_0:def 15;
          g9.ay in the carrier of subrelstr B29;
          then
A49:      g9.ay in B29 by YELLOW_0:def 15;
          f.x = h.x & g.y = h.y by A21,A20,A44,A47,FUNCT_4:13,16;
          then h.x < h.y by A3,A48,A49;
          hence h.x <= h.y by ORDERS_2:def 6;
        end;
        assume h.x <= h.y;
        x < y by A1,A47;
        hence thesis by ORDERS_2:def 6;
      end;
      suppose
A50:    x in B1 & y in A1;
        then the carrier of subrelstr B2 is non empty by A8,Th4;
        then subrelstr B2 is non empty;
        then
A51:    rng g = the carrier of subrelstr B2 by A8,A50,WAYBEL_0:66;
        g.x in rng g by A20,A50,FUNCT_1:def 3;
        then
A52:    g.x in B2 by A51,YELLOW_0:def 15;
        the carrier of subrelstr A2 is non empty by A7,A50,Th4;
        then subrelstr A2 is non empty;
        then
A53:    rng f = the carrier of subrelstr A2 by A7,A50,WAYBEL_0:66;
        f.y in rng f by A21,A50,FUNCT_1:def 3;
        then
A54:    f.y in A2 by A53,YELLOW_0:def 15;
        y < x by A1,A50;
        hence x <= y implies h.x <= h.y by ORDERS_2:6;
        assume
A55:    h.x <= h.y;
        g.x = h.x & f.y = h.y by A1,A21,A20,A50,Th2,FUNCT_4:13,16;
        then h.x > h.y by A3,A52,A54;
        hence thesis by A55,ORDERS_2:6;
      end;
      suppose
A56:    x in B1 & y in B1;
        then the carrier of subrelstr B2 <> {} by A8,Th4;
        then reconsider B29 = B2 as non empty Subset of L2 by YELLOW_0:def 15;
        reconsider B19 = B1 as non empty Subset of L1 by A56;
        reconsider ax = x, ay = y as Element of subrelstr B19 by A56,
YELLOW_0:def 15;
        reconsider g9 = g as Function of subrelstr B19, subrelstr B29;
A57:    h.x = g.x & h.y = g.y by A20,A56,FUNCT_4:13;
        hereby
          assume x <= y;
          then ax <= ay by YELLOW_0:60;
          then g9.ax <= g9.ay by A8,WAYBEL_0:66;
          hence h.x <= h.y by A57,YELLOW_0:59;
        end;
        assume h.x <= h.y;
        then g9.ax <= g9.ay by A57,YELLOW_0:60;
        then ax <= ay by A8,WAYBEL_0:66;
        hence thesis by YELLOW_0:59;
      end;
    end;
    h is one-to-one
    proof
      let x1,x2 be Element of L1;
      assume
A58:  h.x1 = h.x2;
      per cases by A2,XBOOLE_0:def 3;
      suppose
A59:    x1 in A1 & x2 in A1;
        then not x1 in B1 by A6,XBOOLE_0:3;
        then
A60:    h.x1 = f.x1 by A20,FUNCT_4:11;
        the carrier of subrelstr A2 <> {} by A7,A59,Th4;
        then
A61:    subrelstr A2 is non empty;
        not x2 in B1 by A6,A59,XBOOLE_0:3;
        then f.x1 = f.x2 by A20,A58,A60,FUNCT_4:11;
        hence thesis by A7,A21,A59,A61,FUNCT_1:def 4;
      end;
      suppose
A62:    x1 in A1 & x2 in B1;
        then the carrier of subrelstr A2 <> {} by A7,Th4;
        then subrelstr A2 is non empty;
        then rng f = the carrier of subrelstr A2 by A7,A62,WAYBEL_0:66;
        then
A63:    rng f = A2 by YELLOW_0:def 15;
        not x1 in B1 by A6,A62,XBOOLE_0:3;
        then h.x2 = f.x1 by A20,A58,FUNCT_4:11;
        then
A64:    h.x2 in rng f by A21,A62,FUNCT_1:def 3;
        h.x2 = g.x2 by A20,A62,FUNCT_4:13;
        then
A65:    h.x2 in rng g by A20,A62,FUNCT_1:def 3;
        the carrier of subrelstr B2 <> {} by A8,A62,Th4;
        then subrelstr B2 is non empty;
        then rng g = the carrier of subrelstr B2 by A8,A62,WAYBEL_0:66;
        then rng f misses rng g by A4,A63,YELLOW_0:def 15;
        hence thesis by A64,A65,XBOOLE_0:3;
      end;
      suppose
A66:    x1 in B1 & x2 in A1;
        then not x2 in dom g by A6,A20,XBOOLE_0:3;
        then h.x2 = f.x2 by FUNCT_4:11;
        then
A67:    h.x2 in rng f by A21,A66,FUNCT_1:def 3;
        the carrier of subrelstr B2 <> {} by A8,A66,Th4;
        then subrelstr B2 is non empty;
        then
A68:    rng g = the carrier of subrelstr B2 by A8,A66,WAYBEL_0:66;
        h.x2 = g.x1 by A20,A58,A66,FUNCT_4:13;
        then
A69:    h.x2 in rng g by A20,A66,FUNCT_1:def 3;
        the carrier of subrelstr A2 <> {} by A7,A66,Th4;
        then subrelstr A2 is non empty;
        then rng f = the carrier of subrelstr A2 by A7,A66,WAYBEL_0:66
          .= A2 by YELLOW_0:def 15;
        then rng f misses rng g by A4,A68,YELLOW_0:def 15;
        hence thesis by A69,A67,XBOOLE_0:3;
      end;
      suppose
A70:    x1 in B1 & x2 in B1;
        then the carrier of subrelstr B2 <> {} by A8,Th4;
        then
A71:    subrelstr B2 is non empty;
        h.x1 = g.x1 by A20,A70,FUNCT_4:13;
        then g.x1 = g.x2 by A20,A58,A70,FUNCT_4:13;
        hence thesis by A8,A20,A70,A71,FUNCT_1:def 4;
      end;
    end;
    then h is isomorphic by A32,A43,WAYBEL_0:66;
    hence thesis;
  end;
end;

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;