There is a better than even chance that Bernhard is a rhino. It is probable that John went to the office. We believe that Greg is a lion. It is highly likely that if 'Greg is a lion' or 'Bernhard is a rhino' or both then Mary left the milk. There is little chance that if either 'John went to the office' or 'Greg is a lion' but not both then Brian is a lion. It is likely that if either 'Greg is a lion' or 'Bernhard is a rhino' but not both then Lily is yellow.
There is almost no chance that 'Mary left the milk' or 'John went to the office' or both.
It is almost certain that 'Mary left the milk' or 'John went to the office' or both.
There is almost no chance that 'Mary left the milk' or 'John went 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.6::factA.
  0.7::factB.
  0.75::factC.
  %hop1
  0.9::factX:-or(factC,factA).
  0.1::factY:-xor(factB,factC).
  0.7::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Mary left the milk' or 'John went to the office' or both.