reserve x,y,z for Real,
  a,b,c,d,e,f,g,h for Nat,
  k,l,m,n,m1,n1,m2,n2 for Integer,
  q for Rational;

theorem
  |.m.| divides k iff m divides k
proof
A1: now
    assume m divides k;
    then consider l such that
A2: m*l=k;
    now
      per cases;
      suppose
        m>=0;
        then |.m.|*l=k by A2,ABSVALUE:def 1;
        hence (|.m.|) divides k;
      end;
      suppose
        m<0;
        then |.m.|*(-l)=(-m)*(-l) by ABSVALUE:def 1
          .=k by A2;
        hence |.m.| divides k;
      end;
    end;
    hence |.m.| divides k;
  end;
  now
    assume |.m.| divides k;
    then consider l such that
A3: |.m.|*l=k;
    now
      per cases;
      suppose
        m>=0;
        then m*l=k by A3,ABSVALUE:def 1;
        hence m divides k;
      end;
      suppose
        m<0;
        then k=(-m)*l by A3,ABSVALUE:def 1
          .=m*(-l);
        hence m divides k;
      end;
    end;
    hence m divides k;
  end;
  hence thesis by A1;
end;
