It is probable that Sandra took the football. Chances are about even that Mary dropped the apple. It is likely that Bernhard is gray. It is probable that if either 'Bernhard is gray' or 'Sandra took the football' but not both then Greg is a lion. It is almost certain that if either 'Bernhard is gray' or 'Sandra took the football' but not both then Jeff went to the hallway. There is a better than even chance that if either 'Mary dropped the apple' or 'Bernhard is gray' but not both then Lily is a swan.
There is a very good chance that 'Jeff went to the hallway and Sandra took the football'.
It is unlikely that 'Jeff went to the hallway and Sandra took the football'.
There is a very good chance that 'Jeff went to the hallway and Sandra took 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.7::factA.
  0.5::factB.
  0.7::factC.
  %hop1
  0.7::factX:-xor(factC,factA).
  0.95::factY:-xor(factC,factA).
  0.6::factZ:-xor(factB,factC).

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

  query(conclusion).
  
'Jeff went to the hallway and Sandra took the football'.