
theorem PLG:
  for a,b be Integer holds (Parity a) lcm (Parity b) = Parity (a lcm b)
  proof
    let a,b be Integer;
    |.a.| in NAT by INT_1:3; then
    reconsider k = |.a.| as Nat;
    |.b.| in NAT by INT_1:3; then
    reconsider l = |.b.| as Nat;
    per cases;
    suppose
      A1: a = 0 or b = 0; then
      Parity a = 0 or Parity b = 0 by Def1;
      hence thesis by A1;
    end;
    suppose
      A0: a <> 0 & b <> 0;
      reconsider a as non zero Integer by A0;
      reconsider b as non zero Integer by A0;
      ((Parity a) lcm (Parity b))*((Parity a) gcd (Parity b))
      = (Parity a)*(Parity b) by NAT_D:29
      .= Parity (a*b) by ILP
      .= Parity |.a*b.| by PMP
      .= Parity (k*l) by COMPLEX1:65
      .= Parity ((k gcd l)*(k lcm l)) by NAT_D:29
      .= (Parity (k gcd l)) * (Parity (k lcm l)) by ILP
      .= (Parity (a gcd b)) * (Parity (k lcm l)) by INT_2:34
      .= (Parity (a gcd b)) *(Parity (a lcm b)) by INT_2:33
      .= ((Parity a) gcd (Parity b))*(Parity (a lcm b)) by PGG;
      hence thesis by XCMPLX_1:5;
    end;
  end;
