It is impossible that Sandra took the football. It is improbable that Julius is yellow. There is almost no chance that John got the apple. It is impossible that if 'Sandra took the football and John got the apple' then Bernhard is a frog. It is certain that if 'Sandra took the football' or 'John got the apple' or both then Daniel dropped the milk. It is highly likely that if either 'John got the apple' or 'Julius is yellow' but not both then Greg is a rhino.
It is impossible that 'Sandra took the football and Bernhard is a frog'.
It is impossible that 'Sandra took the football and Bernhard is a frog'.
We believe that 'Sandra took the football and Bernhard is a frog'.

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

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

  query(conclusion).
  
'Sandra took the football and Bernhard is a frog'.