let X be set ; :: thesis: for b1, b2 being bag of X holds
( b1,b2 are_disjoint iff lcm (b1,b2) = b1 + b2 )

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