There is almost no chance that Fred is in the office. There is almost no chance that John went to the garden. We believe that Lily is a rhino. We believe that if either 'John went to the garden' or 'Fred is in the office' but not both then Greg is white. We believe that if 'John went to the garden' or 'Fred is in the office' or both then Sandra dropped the milk. There is a better than even chance that if either 'Fred is in the office' or 'John went to the garden' but not both then Mary got the football.
There is a very good chance that 'Fred is in the office' or 'Sandra dropped the milk' or both.
There is almost no chance that 'Fred is in the office' or 'Sandra dropped the milk' or both.
There is a very good chance that 'Fred is in the office' or 'Sandra dropped the milk' 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.02::factA.
  0.02::factB.
  0.75::factC.
  %hop1
  0.75::factX:-xor(factB,factA).
  0.75::factY:-or(factB,factA).
  0.6::factZ:-xor(factA,factB).

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

  query(conclusion).
  
'Fred is in the office' or 'Sandra dropped the milk' or both.