
theorem Th1:
  for C being Category,
    D being non empty non void CatStr
   st the CatStr of C = the CatStr of D holds
      D is Category-like transitive associative reflexive with_identities
proof
  let C be Category,
      D be non empty non void CatStr such that
A1: the CatStr of C = the CatStr of D;
  thus
A2: for f,g being Morphism of D
    holds [g,f] in dom(the Comp of D) iff dom g=cod f
   proof let f,g be Morphism of D;
      reconsider ff=f, gg=g as Morphism of C by A1;
A3:   [gg,ff] in dom(the Comp of D) iff dom gg=cod ff by A1,CAT_1:def 6;
    thus [g,f] in dom(the Comp of D) implies dom g=cod f
     proof
      assume
A4:     [g,f] in dom the Comp of D;
      thus dom g = dom gg by A1
        .= cod ff by A4,A1,CAT_1:def 6
        .= cod f by A1;
     end;
    thus thesis by A1,A3;
   end;
  thus
A5: for f,g being Morphism of D
  st dom g=cod f holds dom(g(*)f) = dom f & cod(g(*)f) = cod g
   proof let f,g be Morphism of D;
     reconsider ff=f, gg=g as Morphism of C by A1;
    assume
A6:   dom g = cod f;
A7:    dom gg = cod ff by A1,A6;
     then  [gg,ff] in dom(the Comp of C) by CAT_1:def 6;
     then
A8:   (the Comp of C).(gg,ff) = gg(*)ff by CAT_1:def 1;
     dom(gg(*)ff) = dom ff & cod(gg(*)ff) = cod gg by A7,CAT_1:def 7;
    hence thesis by A1,A8,A6,A2,CAT_1:def 1;
   end;
A9:  for f,g being Morphism of D st cod g = dom f
    for ff,gg being Morphism of C st ff=f & gg=g
     holds f(*)g = ff(*)gg
   proof let f,g be Morphism of D such that
A10:  cod g = dom f;
    let ff,gg be Morphism of C such that
A11:   ff=f & gg=g;
A12:   cod gg = dom ff by A10,A11,A1;
    thus f(*)g
          = (the Comp of D).(f,g) by A10,A2,CAT_1:def 1
         .= (the Comp of C).(ff,gg) by A1,A11
         .= ff(*)gg by A12,CAT_1:16;
   end;
  thus for f,g,h being Morphism of D
  st dom h = cod g & dom g = cod f
  holds h(*)(g(*)f) = (h(*)g)(*)f
   proof let f,g,h being Morphism of D;
     reconsider ff=f, gg=g, hh=h as Morphism of C by A1;
    assume that
A13:  dom h = cod g and
A14:  dom g = cod f;
A15:  dom hh = cod gg & dom gg = cod ff by A13,A14,A1;
A16:   g(*)f = gg(*)ff by A14,A9;
A17:   h(*)g = hh(*)gg by A13,A9;
A18:  dom(h(*)g) = dom g by A13,A5;
     cod(g(*)f) = cod g by A14,A5;
    hence h(*)(g(*)f)
        = hh(*)(gg(*)ff) by A9,A16,A13
       .= hh(*)gg(*)ff by A15,CAT_1:def 8
       .= (h(*)g)(*)f by A14,A9,A17,A18;
   end;
  thus
 D is reflexive
  proof
  let b be Element of D;
   reconsider bb = b as Element of C by A1;
   reconsider ii = id bb as Morphism of D by A1;
A19:  cod ii = cod id bb by A1
      .= b;
    dom ii = dom id bb by A1
      .= b;
    then id bb in Hom(b,b) by A19;
   hence Hom(b,b)<>{};
  end;
  let a be Element of D;
   reconsider aa = a as Element of C by A1;
   reconsider ii = id aa as Morphism of D by A1;
A20:  cod ii = cod id aa by A1
      .= a;
    dom ii = dom id aa by A1
      .= a;
   then reconsider ii as Morphism of a,a by A20,CAT_1:4;
   take ii;
   let b be Element of D;
    reconsider bb = b as Element of C by A1;
   thus Hom(a,b)<>{} implies for g being Morphism of a,b holds g(*)ii = g
    proof assume
A21:    Hom(a,b)<>{};
     let g be Morphism of a,b;
      reconsider gg = g as Morphism of C by A1;
A22:    cod gg = cod g by A1
         .= bb by A21,CAT_1:5;
A23:    cod id aa = aa;
A24:    dom gg = dom g by A1
         .= aa by A21,CAT_1:5;
      then
      gg in Hom(aa,bb) by A22;
      then reconsider gg as Morphism of aa,bb by CAT_1:def 5;
A25:    dom g = dom gg by A1
         .= a by A24;
      cod ii = cod id aa by A1
         .= a;
     hence g(*)ii = (the Comp of D).(g,ii) by A25,A2,CAT_1:def 1
          .= (the Comp of C).(gg,id aa) by A1
          .= gg(*)id aa by A23,A24,CAT_1:16
          .= g by A24,CAT_1:22;
    end;
      assume
A26:    Hom(b,a)<>{};
     let g be Morphism of b,a;
      reconsider gg = g as Morphism of C by A1;
A27:    dom gg = dom g by A1
         .= bb by A26,CAT_1:5;
A28:    dom id aa = aa;
A29:    cod gg = cod g by A1
         .= aa by A26,CAT_1:5;
      then
      gg in Hom(bb,aa) by A27;
      then reconsider gg as Morphism of bb,aa by CAT_1:def 5;
A30:    cod g = cod gg by A1
         .= a by A29;
      dom ii = dom id aa by A1
         .= a;
     hence ii(*)g = (the Comp of D).(ii,g) by A30,A2,CAT_1:def 1
          .= (the Comp of C).(id aa,gg) by A1
          .= (id aa)(*)gg by A28,A29,CAT_1:16
          .= g by A29,CAT_1:21;
end;
