reserve x,y for set;

theorem Th34:
  for A,B being non empty AltGraph for F being BimapStr over A,B
st F is Contravariant one-to-one for a,b being Object of A st F.a = F.b holds a
  = b
proof
  let A,B be non empty AltGraph;
  let F be BimapStr over A,B;
  given f being Function of the carrier of A, the carrier of B such that
A1: the ObjectMap of F = ~[:f,f:];
  assume the ObjectMap of F is one-to-one;
  then [:f,f:] is one-to-one by A1,FUNCTOR0:9;
  then
A2: f is one-to-one by FUNCTOR0:7;
  let a,b be Object of A such that
A3: F.a = F.b;
A4: dom the ObjectMap of F = [:the carrier of A, the carrier of A:] by
FUNCT_2:def 1;
  [b,b] in [:the carrier of A, the carrier of A:] by ZFMISC_1:def 2;
  then (the ObjectMap of F).(b,b) = [:f,f:].(b,b) by A1,A4,FUNCT_4:43;
  then
A5: (the ObjectMap of F).(b,b) = [f.b, f.b] by FUNCT_3:75;
  [a,a] in [:the carrier of A, the carrier of A:] by ZFMISC_1:def 2;
  then (the ObjectMap of F).(a,a) = [:f,f:].(a,a) by A1,A4,FUNCT_4:43;
  then
A6: (the ObjectMap of F).(a,a) = [f.a, f.a] by FUNCT_3:75;
  [f.a,f.a]`1 = f.a & [f.b,f.b]`1 = f.b;
  hence thesis by A2,A3,A6,A5,FUNCT_2:19;
end;
