It is impossible that Mary picked up the milk. There is a better than even chance that Lily is a rhino. There is a very good chance that Sandra left the football. It is probably not the case that if 'Sandra left the football' or 'Mary picked up the milk' or both then Jessica is a cat. Chances are about even that if 'Sandra left the football' or 'Mary picked up the milk' or both then Bernhard is a swan. It is probably not the case that if 'Sandra left the football' or 'Lily is a rhino' or both then John discarded the apple.
There is a better than even chance that 'Lily is a rhino' or 'Mary picked up the milk' or both.
There is a better than even chance that 'Lily is a rhino' or 'Mary picked up the milk' or both.
It is impossible that 'Lily is a rhino' or 'Mary picked up 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.0::factA.
  0.6::factB.
  0.8::factC.
  %hop1
  0.25::factX:-or(factC,factA).
  0.5::factY:-or(factC,factA).
  0.25::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Lily is a rhino' or 'Mary picked up the milk' or both.