reserve A,B,C for non empty set,
  f for Function of [:A,B:],C;
reserve K for non empty doubleLoopStr;
reserve V for non empty ModuleStr over K;
reserve W for non empty RightModStr over K;
reserve J for Function of K,K;
reserve K,L for Ring;
reserve J for Function of K,L;
reserve x,y for Scalar of K;
reserve K,L for add-associative right_zeroed right_complementable non empty
  doubleLoopStr;
reserve J for Function of K,L;
reserve K for add-associative right_zeroed right_complementable non empty
  doubleLoopStr;
reserve L for add-associative right_zeroed right_complementable well-unital
  non empty doubleLoopStr;
reserve J for Function of K,L;

theorem Th28:
  J is antilinear iff opp(J) is linear
proof
  set J9 = opp(J), L9 = opp(L);
  hereby
    assume
A1: J is antilinear;
A2: J9 is additive
    proof
      let x,y be Scalar of K;
      thus J9.(x+y) = J.x+J.y by A1,VECTSP_1:def 20
        .= J9.x+J9.y;
    end;
A3: J9 is multiplicative
    proof
      let x,y be Scalar of K;
      thus J9.(x*y) = J.y*J.x by A1,Def6
        .= J9.x*J9.y by Lm3;
    end;
    J9.(1_K) = 1_L by A1,GROUP_1:def 13
      .= 1_L9;
    then J9 is unity-preserving;
    hence J9 is linear by A2,A3;
  end;
  assume
A4: J9 is additive multiplicative unity-preserving;
  hereby
    let x,y be Scalar of K;
    thus J.(x+y) = J9.x+J9.y by A4
      .= J.x+J.y;
  end;
  hereby
    let x,y be Scalar of K;
    thus J.(x*y) = J9.x*J9.y by A4
      .= J.y*J.x by Lm3;
  end;
  thus J.(1_K) = 1_L by A4;
end;
