We believe that Sandra left the football. Chances are about even that Yann is tired. There is little chance that Julius is a swan. There is a better than even chance that if 'Yann is tired' or 'Sandra left the football' or both then John discarded the apple. There is almost no chance that if 'Yann is tired' or 'Julius is a swan' or both then Greg is yellow. It is impossible that if 'Sandra left the football and Julius is a swan' then Brian is white.
There is almost no chance that 'Brian is white' or 'Sandra left the football' or both.
We believe that 'Brian is white' or 'Sandra left the football' or both.
There is almost no chance that 'Brian is white' or 'Sandra left 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.5::factB.
  0.1::factC.
  %hop1
  0.6::factX:-or(factB,factA).
  0.02::factY:-or(factB,factC).
  0.0::factZ:-and(factA,factC).

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

  query(conclusion).
  
'Brian is white' or 'Sandra left the football' or both.