
theorem Th6:
  for C being Category, I being Indexing of the Source of C, the
Target of C holds I is Indexing of C iff (for a being Object of C holds I`2.id
a = id (I`1.a)) & for m1, m2 being Morphism of C st dom m2 = cod m1 holds I`2.(
  m2(*)m1) = (I`2.m2)*(I`2.m1)
proof
  let C be Category;
  reconsider D = the CatStr of C as Category by CAT_5:1;
  let I be Indexing of the Source of C, the Target of C;
A1: D = CatStr(# the carrier of C, the carrier' of C, the Source of C, the
    Target of C, the Comp of C#);
  hereby
    assume
A2: I is Indexing of C;
   thus for a being Object of C holds I`2.id a = id (I`1.a)
     proof let a be Object of C;
 id a = (IdMap C).a by ISOCAT_1:def 12;
      hence thesis by A1,Def10,A2;
     end;
    let m1, m2 be Morphism of C;
    assume
A3: dom m2 = cod m1;
    then I`2.((the Comp of C).(m2,m1)) = (I`2.m2)*(I`2.m1) by A1,A2,Def10;
    hence I`2.(m2(*)m1) = (I`2.m2)*(I`2.m1) by A3,CAT_1:16;
  end;
  assume that
A4: for a being Object of C holds I`2.id a = id (I`1.a) and
A5: for m1, m2 being Morphism of C st dom m2 = cod m1 holds I`2.(m2(*)m1)
  = (I`2.m2)*(I`2.m1);
  thus ex D being Category st D = CatStr(# the carrier of C, the carrier' of C
    , the Source of C, the Target of C, the Comp of C#) by A1;
  hereby
    let a be Object of C;
 id a = (IdMap C).a by ISOCAT_1:def 12;
    hence I`2.((IdMap C).a) = I`2.id a .= id (I`1.a) by A4;
  end;
  let m1, m2 be Morphism of C;
  assume (the Source of C).m2 = (the Target of C).m1;
  then
A6: dom m2 = cod m1;
  then
A7: I`2.(m2(*)m1) = (I`2.m2)*(I`2.m1) by A5;
  thus I`2.((the Comp of C).[m2,m1]) = I`2.((the Comp of C).(m2,m1))
    .= (I`2.m2)*(I`2.m1) by A6,A7,CAT_1:16;
end;
