There is little chance that John picked up the milk. We believe that Mary moved to the garden. Chances are about even that Bernhard is yellow. It is impossible that if 'Mary moved to the garden' or 'John picked up the milk' or both then Gertrude is a sheep. Chances are slight that if 'John picked up the milk' or 'Mary moved to the garden' or both then Julius is a swan. It is almost certain that if either 'John picked up the milk' or 'Bernhard is yellow' but not both then Greg is green.
There is almost no chance that 'Julius is a swan and John picked up the milk'.
There is almost no chance that 'Julius is a swan and John picked up the milk'.
It is certain that 'Julius is a swan and John picked up the milk'.

  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.75::factB.
  0.5::factC.
  %hop1
  0.0::factX:-or(factB,factA).
  0.1::factY:-or(factA,factB).
  0.95::factZ:-xor(factA,factC).

  %hop2
  conclusion:-and(factY,factA).

  query(conclusion).
  
'Julius is a swan and John picked up the milk'.