It is probably the case that John got the apple. It is probable that Mary took the milk. Chances are slight that Fred is in the office. It is likely that if either 'John got the apple' or 'Fred is in the office' but not both then Brian is white. It is certain that if either 'Fred is in the office' or 'Mary took the milk' but not both then Greg is gray. There is almost no chance that if 'Mary took the milk' or 'Fred is in the office' or both then Lily is a swan.
There is almost no chance that 'Mary took the milk' or 'John got the apple' or both.
It is highly likely that 'Mary took the milk' or 'John got the apple' or both.
There is almost no chance that 'Mary took the milk' or 'John got the apple' or both.

  and(A,B) :- A,B.
  or(A,B) :- A;B.
  nand(A,B) :- not(and(A,B)).
  nor(A,B) :- not(or(A,B)).
  xor(A,B) :- or(A,B), nand(A,B).

  %hop0
  0.7::factA.
  0.7::factB.
  0.1::factC.
  %hop1
  0.7::factX:-xor(factA,factC).
  1.0::factY:-xor(factC,factB).
  0.02::factZ:-or(factB,factC).

  %hop2
  conclusion:-or(factB,factA).

  query(conclusion).
  
'Mary took the milk' or 'John got the apple' or both.