We believe that Bernhard is a swan. It is probably the case that Lily is a rhino. It is probably not the case that Jeff left the football. There is a better than even chance that if 'Lily is a rhino and Jeff left the football' then Brian is gray. It is almost certain that if either 'Lily is a rhino' or 'Jeff left the football' but not both then John took the football. It is probably not the case that if 'Jeff left the football' or 'Bernhard is a swan' or both then Sandra put down the milk.
It is probably not the case that 'Brian is gray' or 'Sandra put down the milk' or both.
It is probably not the case that 'Brian is gray' or 'Sandra put down the milk' or both.
It is likely that 'Brian is gray' or 'Sandra put down the milk' 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.75::factA.
  0.7::factB.
  0.25::factC.
  %hop1
  0.6::factX:-and(factB,factC).
  0.95::factY:-xor(factB,factC).
  0.25::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Brian is gray' or 'Sandra put down the milk' or both.