It is improbable that Mary grabbed the milk. There is a better than even chance that John went to the garden. It is impossible that Julius is green. It is probably the case that if either 'John went to the garden' or 'Mary grabbed the milk' but not both then Jessica is a mouse. It is highly unlikely that if 'Julius is green and Mary grabbed the milk' then Lily is a frog. It is probably not the case that if either 'Mary grabbed the milk' or 'Julius is green' but not both then Sandra took the football.
It is impossible that 'Sandra took the football and Julius is green'.
It is impossible that 'Sandra took the football and Julius is green'.
It is probably the case that 'Sandra took the football and Julius is green'.

  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.6::factB.
  0.0::factC.
  %hop1
  0.7::factX:-xor(factB,factA).
  0.05::factY:-and(factC,factA).
  0.25::factZ:-xor(factA,factC).

  %hop2
  conclusion:-and(factZ,factC).

  query(conclusion).
  
'Sandra took the football and Julius is green'.