reserve a,b,c for Integer;
reserve i,j,k,l for Nat;
reserve n for Nat;
reserve a,b,c,d,a1,b1,a2,b2,k,l for Integer;

theorem
  a divides b & b divides a implies a = b or a = -b
proof
  assume that
A1: a divides b and
A2: b divides a;
  consider a1 such that
A3: b = a*a1 by A1;
  consider b1 such that
A4: a = b*b1 by A2;
  a<>0 implies a = b or a = -b
  proof
    assume
A5: a<>0;
    1*a = a*(a1*b1) by A3,A4;
    then a1*b1 = 1 by A5,XCMPLX_1:5;
    then a = b*1 or a = b*(-1) by A4,INT_1:9;
    hence thesis;
  end;
  hence thesis by A1;
end;
