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
  a, a+EmptyMS C are_isomorphic & a,EmptyMS C+a are_isomorphic
proof
A1: in2(EmptyMS C,a)*init a = in1(EmptyMS C,a) by Th54;
A2: Hom(EmptyMS C,a) <> {} & Hom(a,a) <> {} by Th55;
  thus a,a+EmptyMS C are_isomorphic
  proof
    thus
A3: Hom(a,a+EmptyMS C) <> {} by Th61;
    thus Hom(a+EmptyMS C,a) <> {} by A2,Th65;
    take g = in1(a,EmptyMS C), f = [$id a,init a$];
A4: in1(a,EmptyMS C)*init a = in2(a,EmptyMS C) by Th54;
    in1(a,EmptyMS C)*id(a) = in1(a,EmptyMS C) by A3,CAT_1:29;
    then g*f = [$in1(a,EmptyMS C),in2(a,EmptyMS C)$] by A2,A3,A4,Th67;
    hence thesis by A2,Def28,Th66;
  end;
  thus
A5: Hom(a,EmptyMS C+a) <> {} by Th61;
  thus Hom(EmptyMS C+a,a) <> {} by A2,Th65;
  take g = in2(EmptyMS C,a), f = [$init a,id a$];
  in2(EmptyMS C,a)*id(a) = in2(EmptyMS C,a) by A5,CAT_1:29;
  then g*f = [$in1(EmptyMS C,a),in2(EmptyMS C,a)$] by A2,A5,A1,Th67;
  hence thesis by A2,Def28,Th66;
end;
