reserve o,m for set;
reserve C for Cartesian_category;
reserve a,b,c,d,e,s for Object of C;
reserve C for Cocartesian_category;
reserve a,b,c,d,e,s for Object of C;

theorem
  for f being Morphism of a,c, g being Morphism of b,c st Hom(a,c) <> {}
  & Hom(b,c) <> {} & (f is epi or g is epi) holds [$f,g$] is epi
proof
  let f be Morphism of a,c, g be Morphism of b,c;
  assume that
A1: Hom(a,c) <> {} and
A2: Hom(b,c) <> {} and
A3: f is epi or g is epi;
A4: now
    assume
A5: g is epi;
    let d be Object of C, f1,f2 be Morphism of c,d such that
A6: Hom(c,d)<>{} and
A7: f1*[$f,g$] = f2*[$f,g$];
A8: Hom(a,d) <> {} & Hom(b,d) <> {} by A1,A2,A6,CAT_1:24;
    [$f1*f,f1*g$] = f1*[$f,g$] & [$f2*f,f2*g$] = f2*[$f,g$] by A1,A2,A6,Th67;
    then f1*g = f2*g by A7,A8,Th68;
    hence f1 = f2 by A5,A6;
  end;
A9: now
    assume
A10: f is epi;
    let d;
    let f1,f2 be Morphism of c,d such that
A11: Hom(c,d)<>{} and
A12: f1*[$f,g$] = f2*[$f,g$];
A13: Hom(a,d) <> {} & Hom(b,d) <> {} by A1,A2,A11,CAT_1:24;
    [$f1*f,f1*g$] = f1*[$f,g$] & [$f2*f,f2*g$] = f2*[$f,g$] by A1,A2,A11,Th67;
    then f1*f = f2*f by A12,A13,Th68;
    hence f1 = f2 by A10,A11;
  end;
  Hom(a+b,c) <> {} by A1,A2,Th65;
  hence thesis by A3,A9,A4;
end;
