We believe that Jessica is a mouse. It is highly likely that Sandra got the football. It is likely that Bill went to the kitchen. It is certain that if either 'Bill went to the kitchen' or 'Sandra got the football' but not both then Julius is gray. We believe that if 'Sandra got the football and Jessica is a mouse' then Lily is a rhino. Chances are slight that if either 'Bill went to the kitchen' or 'Sandra got the football' but not both then John dropped the apple.
It is almost certain that 'Bill went to the kitchen' or 'Sandra got the football' or both.
It is almost certain that 'Bill went to the kitchen' or 'Sandra got the football' or both.
It is impossible that 'Bill went to the kitchen' or 'Sandra got the football' or both.

  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.9::factB.
  0.7::factC.
  %hop1
  1.0::factX:-xor(factC,factB).
  0.75::factY:-and(factB,factA).
  0.1::factZ:-xor(factC,factB).

  %hop2
  conclusion:-or(factC,factB).

  query(conclusion).
  
'Bill went to the kitchen' or 'Sandra got the football' or both.