reserve C for CategoryStr;
reserve f,f1,f2,f3 for morphism of C;
reserve g1,g2 for morphism of C opp;
reserve C,D,E for with_identities CategoryStr;
reserve F for Functor of C,D;
reserve G for Functor of D,E;
reserve f for morphism of C;

theorem Th47:
  for C being non empty category, f being morphism of C
  holds f is identity iff ex o being Object of Alter(C) st f = id o
  proof
    let C be non empty category;
    let f be morphism of C;
    set A = Alter(C);
    reconsider a=f as morphism of alter(A);
    hereby
      assume f is identity;
      then a is identity by Th25;
      then consider o be Object of Alter(C) such that
A1:   a = id o by Th42;
      take o;
      thus f = id o by A1;
    end;
    given o be Object of Alter(C) such that
A2: f = id o;
    a is identity by A2,Th42;
    hence f is identity by Th25;
  end;
