 reserve f,g for Function;
 reserve R for non empty reflexive RelStr;
 reserve R for non empty RelStr;
 reserve f for Function of the carrier of R, bool the carrier of R;

theorem :: Theorem 4.2 (a) <=> (b)
  (f_0 R) * (f_0 R) = f_0 R
    iff
  Flip (f_0 R) * Flip (f_0 R) = Flip (f_0 R)
  proof
    thus (f_0 R) * (f_0 R) = f_0 R implies
      Flip (f_0 R) * Flip (f_0 R) = Flip (f_0 R) by FlipCompose;
    assume Flip (f_0 R) * Flip (f_0 R) = Flip (f_0 R); then
    Flip (Flip (f_0 R) * Flip (f_0 R)) = f_0 R by ROUGHS_2:23; then
    f_0 R = (Flip Flip (f_0 R)) * (Flip Flip (f_0 R)) by FlipCompose
       .= (f_0 R) * (Flip Flip (f_0 R)) by ROUGHS_2:23
       .= (f_0 R) * (f_0 R) by ROUGHS_2:23;
    hence thesis;
  end;
