It is improbable that John moved to the office. It is probably the case that Mary left the apple. It is impossible that Jeff went to the bedroom. Chances are slight that if 'John moved to the office' or 'Jeff went to the bedroom' or both then Greg is gray. It is almost certain that if 'Jeff went to the bedroom and John moved to the office' then Bernhard is green. It is likely that if either 'Mary left the apple' or 'John moved to the office' but not both then Winona is a mouse.
There is almost no chance that 'Jeff went to the bedroom' or 'Greg is gray' or both.
There is almost no chance that 'Jeff went to the bedroom' or 'Greg is gray' or both.
It is probably the case that 'Jeff went to the bedroom' or 'Greg is gray' 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.1::factA.
  0.7::factB.
  0.0::factC.
  %hop1
  0.1::factX:-or(factA,factC).
  0.95::factY:-and(factC,factA).
  0.7::factZ:-xor(factB,factA).

  %hop2
  conclusion:-or(factC,factX).

  query(conclusion).
  
'Jeff went to the bedroom' or 'Greg is gray' or both.