We believe that Jason is tired. It is unlikely that Mary put down the apple. It is highly unlikely that Brian is yellow. Chances are slight that if 'Brian is yellow' or 'Mary put down the apple' or both then Sandra got the football. It is improbable that if 'Mary put down the apple' or 'Brian is yellow' or both then John left the milk. It is highly likely that if either 'Jason is tired' or 'Mary put down the apple' but not both then Bernhard is green.
We believe that 'Sandra got the football and John left the milk'.
It is impossible that 'Sandra got the football and John left the milk'.
We believe that 'Sandra got the football and John left 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.75::factA.
  0.2::factB.
  0.05::factC.
  %hop1
  0.1::factX:-or(factC,factB).
  0.1::factY:-or(factB,factC).
  0.9::factZ:-xor(factA,factB).

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

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