It is improbable that Sandra left the football. It is likely that John dropped the milk. It is impossible that Jeff went to the hallway. Chances are about even that if 'Sandra left the football and John dropped the milk' then Brian is a swan. It is probably not the case that if 'Sandra left the football' or 'Jeff went to the hallway' or both then Jessica is a mouse. Chances are slight that if 'John dropped the milk' or 'Jeff went to the hallway' or both then Bernhard is a swan.
It is likely that 'Jeff went to the hallway' or 'Bernhard is a swan' or both.
It is highly unlikely that 'Jeff went to the hallway' or 'Bernhard is a swan' or both.
It is likely that 'Jeff went to the hallway' or 'Bernhard is a swan' 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.1::factA.
  0.7::factB.
  0.0::factC.
  %hop1
  0.5::factX:-and(factA,factB).
  0.25::factY:-or(factA,factC).
  0.1::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Jeff went to the hallway' or 'Bernhard is a swan' or both.