
theorem
  for X being set, b1,b2 being bag of X holds b1,b2 are_disjoint iff lcm
  (b1,b2) = b1 + b2
proof
  let X be set, b1,b2 be bag of X;
A1: now
    assume
A2: lcm(b1,b2) = b1 + b2;
    now
      let k be object;
A3:   lcm(b1,b2).k = max(b1.k,b2.k) by Def2;
      now
        per cases by A2,A3,XXREAL_0:16;
        case
          (b1 + b2).k = b1.k;
          then b1.k + b2.k = b1.k + 0 by PRE_POLY:def 5;
          hence b2.k = 0;
        end;
        case
          (b1 + b2).k = b2.k;
          then b1.k + b2.k = 0 + b2.k by PRE_POLY:def 5;
          hence b1.k = 0;
        end;
      end;
      hence b1.k = 0 or b2.k = 0;
    end;
    hence b1,b2 are_disjoint;
  end;
  now
    assume
A4: b1,b2 are_disjoint;
    now
      let k be object;
      now
        per cases by A4;
        case
A5:       b1.k = 0;
          hence (b1+b2).k = 0 + b2.k by PRE_POLY:def 5
            .= max(b1.k,b2.k) by A5,XXREAL_0:def 10;
        end;
        case
A6:       b2.k = 0;
          hence (b1+b2).k = b1.k + 0 by PRE_POLY:def 5
            .= max(b1.k,b2.k) by A6,XXREAL_0:def 10;
        end;
      end;
      hence (b1+b2).k = max(b1.k,b2.k);
    end;
    hence lcm(b1,b2) = b1 + b2 by Def2;
  end;
  hence thesis by A1;
end;
