There is a very good chance that Bernhard is a rhino. There is little chance that Lily is green. There is a very good chance that Mary got the milk. There is a better than even chance that if 'Mary got the milk' or 'Lily is green' or both then Greg is a swan. We believe that if 'Mary got the milk and Lily is green' then John moved to the garden. It is probable that if 'Mary got the milk' or 'Lily is green' or both then Gertrude is a cat.
There is almost no chance that 'Mary got the milk' or 'John moved to the garden' or both.
There is a very good chance that 'Mary got the milk' or 'John moved to the garden' or both.
There is almost no chance that 'Mary got the milk' or 'John 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.8::factA.
  0.1::factB.
  0.8::factC.
  %hop1
  0.6::factX:-or(factC,factB).
  0.75::factY:-and(factC,factB).
  0.7::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Mary got the milk' or 'John moved to the garden' or both.