There is little chance that Jeff moved to the garden. It is impossible that Julius is gray. There is a very good chance that Bill went to the kitchen. It is highly unlikely that if either 'Jeff moved to the garden' or 'Bill went to the kitchen' but not both then Greg is white. We doubt that if 'Jeff moved to the garden and Bill went to the kitchen' then Lily is a lion. We believe that if 'Jeff moved to the garden' or 'Julius is gray' or both then Bernhard is a rhino.
It is impossible that 'Bill went to the kitchen' or 'Jeff moved to the garden' or both.
There is a very good chance that 'Bill went to the kitchen' or 'Jeff moved to the garden' or both.
It is impossible that 'Bill went to the kitchen' or 'Jeff moved to the garden' 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.0::factB.
  0.8::factC.
  %hop1
  0.05::factX:-xor(factA,factC).
  0.2::factY:-and(factA,factC).
  0.75::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Bill went to the kitchen' or 'Jeff moved to the garden' or both.