reserve A,B,a,b,c,d,e,f,g,h for set;

theorem Th16:
  for G being strict irreflexive RelStr holds ComplRelStr ( ComplRelStr G) = G
proof
  let G be strict irreflexive RelStr;
  set CCmpG = ComplRelStr (ComplRelStr G), CmpG = ComplRelStr G, cG = the
  carrier of G, IG = the InternalRel of G, ICmpG = the InternalRel of CmpG,
  ICCmpG = the InternalRel of CCmpG;
A1: cG = the carrier of CmpG by NECKLACE:def 8
    .= the carrier of CCmpG by NECKLACE:def 8;
A2: cG = the carrier of CmpG by NECKLACE:def 8;
A3: id cG misses IG
  proof
    assume not thesis;
    then id cG /\ IG <> {};
    then consider a being object such that
A4: a in id cG /\ IG by XBOOLE_0:def 1;
A5: a in IG by A4,XBOOLE_0:def 4;
    consider x,y being object such that
A6: a = [x,y] and
A7: x in cG and
    y in cG by A4,RELSET_1:2;
    a in id cG by A4,XBOOLE_0:def 4;
    then x = y by A6,RELAT_1:def 10;
    hence contradiction by A5,A6,A7,NECKLACE:def 5;
  end;
  ICCmpG = (ICmpG)` \ id the carrier of CmpG by NECKLACE:def 8
    .= [:the carrier of CmpG,the carrier of CmpG:] \ ICmpG \ id the carrier
  of CmpG by SUBSET_1:def 4
    .= ([:cG,cG:] \ (IG` \ id cG)) \ id cG by A2,NECKLACE:def 8
    .= (([:cG,cG:] \ IG`) \/ ([:cG,cG:] /\ id cG)) \ id cG by XBOOLE_1:52
    .= ( ([:cG,cG:] \ IG`) \/ id cG ) \ id cG by XBOOLE_1:28
    .= ([:cG,cG:] \ IG`) \ id cG by XBOOLE_1:40
    .= ([:cG,cG:] \ ([:cG,cG:] \ IG)) \ id cG by SUBSET_1:def 4
    .= ([:cG,cG:] /\ IG) \ id cG by XBOOLE_1:48
    .= IG \ id cG by XBOOLE_1:28
    .= IG by A3,XBOOLE_1:83;
  hence thesis by A1;
end;
