reserve C for category,
  o1, o2, o3 for Object of C;

theorem Th43:
  AllCoretr C is non empty subcategory of AllMono C
proof
  the carrier of AllCoretr C = the carrier of C by Def4;
  then
A1: the carrier of AllCoretr C c= the carrier of AllMono C by Def1;
  the Arrows of AllCoretr C cc= the Arrows of AllMono C
  proof
    thus [:the carrier of AllCoretr C,the carrier of AllCoretr C:] c= [:the
    carrier of AllMono C,the carrier of AllMono C:] by A1,ZFMISC_1:96;
    let i be set;
    assume
A2: i in [:the carrier of AllCoretr C,the carrier of AllCoretr C:];
    then consider o1, o2 being object such that
A3: o1 in the carrier of AllCoretr C & o2 in the carrier of AllCoretr C and
A4: i = [o1,o2] by ZFMISC_1:84;
    reconsider o1, o2 as Object of C by A3,Def4;
    let m be object;
    assume
A5: m in (the Arrows of AllCoretr C).i;
    the Arrows of AllCoretr C cc= the Arrows of C by Def4;
    then (the Arrows of AllCoretr C).[o1,o2] c= (the Arrows of C).(o1,o2) by A2
,A4;
    then reconsider m1 = m as Morphism of o1, o2 by A4,A5;
    m in (the Arrows of AllCoretr C).(o1,o2) by A4,A5;
    then
A6: m1 is coretraction by Def4;
A7: m1 in (the Arrows of AllCoretr C).(o1,o2) by A4,A5;
    then
A8: <^o1,o2^> <> {} by Def4;
    <^o2,o1^> <> {} by A7,Def4;
    then m1 is mono by A8,A6,ALTCAT_3:16;
    then m in (the Arrows of AllMono C).(o1,o2) by A8,Def1;
    hence thesis by A4;
  end;
  then reconsider
  A = AllCoretr C as with_units non empty SubCatStr of AllMono C
  by A1,ALTCAT_2:24;
  now
    let o be Object of A, o1 be Object of AllMono C such that
A9: o = o1;
    reconsider oo = o as Object of C by Def4;
    idm o = idm oo by ALTCAT_2:34
      .= idm o1 by A9,ALTCAT_2:34;
    hence idm o1 in <^o,o^>;
  end;
  hence thesis by ALTCAT_2:def 14;
end;
