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

theorem Th41:
  AllIso C is non empty subcategory of AllRetr C
proof
  the carrier of AllIso C = the carrier of C by Def5;
  then
A1: the carrier of AllIso C c= the carrier of AllRetr C by Def3;
  the Arrows of AllIso C cc= the Arrows of AllRetr C
  proof
    thus [:the carrier of AllIso C,the carrier of AllIso C:] c= [:the carrier
    of AllRetr C,the carrier of AllRetr C:] by A1,ZFMISC_1:96;
    let i be set;
    assume
A2: i in [:the carrier of AllIso C,the carrier of AllIso C:];
    then consider o1, o2 being object such that
A3: o1 in the carrier of AllIso C & o2 in the carrier of AllIso C and
A4: i = [o1,o2] by ZFMISC_1:84;
    reconsider o1, o2 as Object of C by A3,Def5;
    let m be object;
    assume
A5: m in (the Arrows of AllIso C).i;
    the Arrows of AllIso C cc= the Arrows of C by Def5;
    then
    (the Arrows of AllIso 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 AllIso C).(o1,o2) by A4,A5;
    then m1 is iso by Def5;
    then
A6: m1 is retraction by ALTCAT_3:5;
    m1 in (the Arrows of AllIso C).(o1,o2) by A4,A5;
    then <^o1,o2^> <> {} & <^o2,o1^> <> {} by Def5;
    then m in (the Arrows of AllRetr C).(o1,o2) by A6,Def3;
    hence thesis by A4;
  end;
  then reconsider
  A = AllIso C as with_units non empty SubCatStr of AllRetr C by A1,ALTCAT_2:24
;
  now
    let o be Object of A, o1 be Object of AllRetr C such that
A7: o = o1;
    reconsider oo = o as Object of C by Def5;
    idm o = idm oo by ALTCAT_2:34
      .= idm o1 by A7,ALTCAT_2:34;
    hence idm o1 in <^o,o^>;
  end;
  hence thesis by ALTCAT_2:def 14;
end;
