
theorem Th14:
  for C,D being with_identities CategoryStr st
  C ~= D holds card Mor C = card Mor D & card Ob C = card Ob D
  proof
    let C,D be with_identities CategoryStr;
    assume C ~= D;
    then consider F be Functor of C,D, G be Functor of D,C such that
A1: F is covariant & G is covariant & G(*)F = id C & F(*)G = id D
    by CAT_6:def 28;
    F * G = id C by A1,CAT_6:def 27 .= id the carrier of C by STRUCT_0:def 4;
    then
A2: F is one-to-one by FUNCT_2:23;
A3: G * F = id D by A1,CAT_6:def 27 .= id the carrier of D by STRUCT_0:def 4;
    per cases;
    suppose
A4:   D is empty;
      C is empty by A4,A1,CAT_6:31;
      hence thesis by A4;
    end;
    suppose
A5:  D is not empty;
      F is onto by A3,FUNCT_2:23;
      then rng F = the carrier of D by FUNCT_2:def 3;
      then
A6:   rng F = Mor D by CAT_6:def 1;
A7:  dom F = the carrier of C by A5,FUNCT_2:def 1;
      then
A8:   dom F = Mor C by CAT_6:def 1;
      hence card Mor C = card Mor D by CARD_1:5,A6,A2,WELLORD2:def 4;
      set F1 = F|(Ob C);
A9:   dom F1 = Ob C by A8,RELAT_1:62;
      for y being object holds y in rng F1 iff y in Ob D
      proof
        let y be object;
        hereby
          assume y in rng F1;
          then consider x be object such that
A10:      x in dom F1 & y = F1.x by FUNCT_1:def 3;
A11:      x in Ob C by A10;
A12:      y = F.x by A10,FUNCT_1:49;
          x in {f where f is morphism of C : f is identity & f in Mor C}
          by A11,CAT_6:def 17;
          then consider f be morphism of C such that
A13:      x = f & f is identity & f in Mor C;
          C is non empty by A10;
          then
A14:      y = F.f by A12,A13,CAT_6:def 21;
          then reconsider g = y as morphism of D;
          Mor D <> {} by A5;
          then g is identity & g in Mor D
          by A14,A13,CAT_6:def 22,A1,CAT_6:def 25;
          then g in {f1 where f1 is morphism of D :
          f1 is identity & f1 in Mor D};
          hence y in Ob D by CAT_6:def 17;
        end;
        assume y in Ob D;
        then y in {g where g is morphism of D : g is identity & g in Mor D}
        by CAT_6:def 17;
        then consider g be morphism of D such that
A15:    y = g & g is identity & g in Mor D;
        consider x be object such that
A16:    x in dom F & g = F.x by A15,A6,FUNCT_1:def 3;
        reconsider f = x as morphism of C by A16,CAT_6:def 1;
A17:    C is non empty by A16;
        then g = F.f by A16,CAT_6:def 21;
        then G.g = (G (*) F).f by A1,A17,CAT_6:34
        .= (id C).x by A1,A17,CAT_6:def 21
        .= (id the carrier of C).x by STRUCT_0:def 4
        .= x by FUNCT_1:18,A16;
        then f is identity & f in Mor C
        by A16,A7,A15,CAT_6:def 22,A1,CAT_6:def 25,CAT_6:def 1;
        then f in {f1 where f1 is morphism of C:f1 is identity & f1 in Mor C};
        then
A18:    f in Ob C by CAT_6:def 17;
        g = F1.f by A18,A16,FUNCT_1:49;
        hence y in rng F1 by A9,A18,A15,FUNCT_1:def 3;
      end;
      then
A19:   rng F1 = Ob D by TARSKI:2;
      F1 is one-to-one by A2,FUNCT_1:52;
      hence card Ob C = card Ob D by CARD_1:5,A9,A19,WELLORD2:def 4;
    end;
  end;
