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

theorem Th37:
  for C being non empty transitive AltCatStr for D being non empty
transitive SubCatStr of C for o1, o2 being Object of C, p1, p2 being Object of
D for m being Morphism of o1, o2, n being Morphism of p1, p2 st p1 = o1 & p2 =
  o2 & m = n & <^p1,p2^> <> {} holds (m is mono implies n is mono) & (m is epi
  implies n is epi)
proof
  let C be non empty transitive AltCatStr, D be non empty transitive SubCatStr
of C, o1, o2 be Object of C, p1, p2 be Object of D, m be Morphism of o1, o2, n
  be Morphism of p1, p2 such that
A1: p1 = o1 and
A2: p2 = o2 and
A3: m = n & <^p1,p2^> <> {};
  thus m is mono implies n is mono
  proof
    assume
A4: m is mono;
    let p3 be Object of D such that
A5: <^p3,p1^> <> {};
    reconsider o3 = p3 as Object of C by ALTCAT_2:29;
A6: <^o3,o1^> <> {} by A1,A5,ALTCAT_2:31,XBOOLE_1:3;
    let f, g be Morphism of p3, p1 such that
A7: n * f = n * g;
    reconsider f1 = f, g1 = g as Morphism of o3, o1 by A1,A5,ALTCAT_2:33;
    m * f1 = n * f by A1,A2,A3,A5,ALTCAT_2:32
      .= m * g1 by A1,A2,A3,A5,A7,ALTCAT_2:32;
    hence thesis by A4,A6;
  end;
  assume
A8: m is epi;
  let p3 be Object of D such that
A9: <^p2,p3^> <> {};
  reconsider o3 = p3 as Object of C by ALTCAT_2:29;
A10: <^o2,o3^> <> {} by A2,A9,ALTCAT_2:31,XBOOLE_1:3;
  let f, g be Morphism of p2, p3 such that
A11: f * n = g * n;
  reconsider f1 = f, g1 = g as Morphism of o2, o3 by A2,A9,ALTCAT_2:33;
  f1 * m = f * n by A1,A2,A3,A9,ALTCAT_2:32
    .= g1 * m by A1,A2,A3,A9,A11,ALTCAT_2:32;
  hence thesis by A8,A10;
end;
