It is improbable that Lily is yellow. Chances are slight that Sandra left the milk. There is a very good chance that Jessica is a cat. It is probably not the case that if either 'Lily is yellow' or 'Sandra left the milk' but not both then Mary grabbed the milk. It is probable that if either 'Sandra left the milk' or 'Lily is yellow' but not both then John went to the garden. It is certain that if 'Sandra left the milk' or 'Lily is yellow' or both then Brian is a rhino.
It is improbable that 'Jessica is a cat' or 'John went to the garden' or both.
There is a very good chance that 'Jessica is a cat' or 'John went to the garden' or both.
It is improbable that 'Jessica is a cat' or 'John went 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.1::factA.
  0.1::factB.
  0.8::factC.
  %hop1
  0.25::factX:-xor(factA,factB).
  0.7::factY:-xor(factB,factA).
  1.0::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Jessica is a cat' or 'John went to the garden' or both.