Chances are about even that Jeff discarded the milk. It is impossible that John moved to the garden. There is almost no chance that Bernhard is gray. We believe that if 'Jeff discarded the milk' or 'John moved to the garden' or both then Mary got the milk. It is improbable that if either 'Jeff discarded the milk' or 'John moved to the garden' but not both then Brian is a rhino. There is little chance that if 'Bernhard is gray and John moved to the garden' then Greg is a lion.
It is probable that 'John moved to the garden' or 'Brian is a rhino' or both.
It is highly unlikely that 'John moved to the garden' or 'Brian is a rhino' or both.
It is probable that 'John moved to the garden' or 'Brian 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.5::factA.
  0.0::factB.
  0.02::factC.
  %hop1
  0.75::factX:-or(factA,factB).
  0.1::factY:-xor(factA,factB).
  0.1::factZ:-and(factC,factB).

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

  query(conclusion).
  
'John moved to the garden' or 'Brian is a rhino' or both.