We doubt that Mary went to the bedroom. It is unlikely that Jeff moved to the garden. Chances are about even that Lily is a rhino. It is impossible that if 'Lily is a rhino and Jeff moved to the garden' then Bernhard is yellow. It is probably not the case that if either 'Mary went to the bedroom' or 'Jeff moved to the garden' but not both then Julius is white. It is certain that if 'Lily is a rhino' or 'Jeff moved to the garden' or both then John dropped the apple.
It is impossible that 'Julius is white' or 'Lily is a rhino' or both.
Chances are about even that 'Julius is white' or 'Lily is a rhino' or both.
It is impossible that 'Julius is white' or 'Lily is a rhino' 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.2::factA.
  0.2::factB.
  0.5::factC.
  %hop1
  0.0::factX:-and(factC,factB).
  0.25::factY:-xor(factA,factB).
  1.0::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Julius is white' or 'Lily is a rhino' or both.