Chances are about even that Jeff moved to the garden. There is almost no chance that Mary picked up the apple. It is certain that Brian is green. There is little chance that if 'Jeff moved to the garden' or 'Mary picked up the apple' or both then Bernhard is white. There is almost no chance that if 'Jeff moved to the garden' or 'Mary picked up the apple' or both then Julius is a frog. There is almost no chance that if either 'Brian is green' or 'Jeff moved to the garden' but not both then Lily is a rhino.
There is almost no chance that 'Julius is a frog' or 'Jeff moved to the garden' or both.
Chances are about even that 'Julius is a frog' or 'Jeff moved to the garden' or both.
There is almost no chance that 'Julius is a frog' 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.5::factA.
  0.02::factB.
  1.0::factC.
  %hop1
  0.1::factX:-or(factA,factB).
  0.02::factY:-or(factA,factB).
  0.02::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Julius is a frog' or 'Jeff moved to the garden' or both.