We believe that John moved to the garden. Chances are slight that Jeff went to the bedroom. We believe that Bernhard is a swan. It is likely that if either 'Bernhard is a swan' or 'John moved to the garden' but not both then Fred left the football. We doubt that if 'John moved to the garden' or 'Jeff went to the bedroom' or both then Brian is yellow. There is almost no chance that if either 'Bernhard is a swan' or 'Jeff went to the bedroom' but not both then Greg is a lion.
It is unlikely that 'Bernhard is a swan' or 'Brian is yellow' or both.
There is a very good chance that 'Bernhard is a swan' or 'Brian is yellow' or both.
It is unlikely that 'Bernhard is a swan' or 'Brian is yellow' 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.1::factB.
  0.75::factC.
  %hop1
  0.7::factX:-xor(factC,factA).
  0.2::factY:-or(factA,factB).
  0.02::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Bernhard is a swan' or 'Brian is yellow' or both.