It is almost certain that Jeff moved to the office. It is highly unlikely that Lily is white. It is likely that John dropped the milk. Chances are slight that if either 'John dropped the milk' or 'Lily is white' but not both then Jessica is a cat. It is probably the case that if 'Jeff moved to the office' or 'Lily is white' or both then Mary went to the garden. We believe that if 'Lily is white and Jeff moved to the office' then Brian is a lion.
There is almost no chance that 'Jessica is a cat' or 'Jeff moved to the office' or both.
It is almost certain that 'Jessica is a cat' or 'Jeff moved to the office' or both.
There is almost no chance that 'Jessica is a cat' or 'Jeff moved to the office' 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.95::factA.
  0.05::factB.
  0.7::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  0.7::factY:-or(factA,factB).
  0.75::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Jessica is a cat' or 'Jeff moved to the office' or both.