There is almost no chance that Sandra left the football. There is almost no chance that Julius is white. There is almost no chance that Jessica is a cat. It is highly likely that if 'Sandra left the football' or 'Julius is white' or both then Lily is a swan. There is almost no chance that if either 'Sandra left the football' or 'Julius is white' but not both then Emily is a mouse. It is probably the case that if 'Julius is white and Jessica is a cat' then John got the apple.
It is likely that 'John got the apple and Sandra left the football'.
It is impossible that 'John got the apple and Sandra left the football'.
It is likely that 'John got the apple and Sandra left the football'.

  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.02::factA.
  0.02::factB.
  0.02::factC.
  %hop1
  0.9::factX:-or(factA,factB).
  0.02::factY:-xor(factA,factB).
  0.7::factZ:-and(factB,factC).

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

  query(conclusion).
  
'John got the apple and Sandra left the football'.