We doubt that Greg is yellow. There is almost no chance that Sumit is bored. There is almost no chance that Bernhard is yellow. We doubt that if either 'Bernhard is yellow' or 'Sumit is bored' but not both then Sandra got the milk. It is probable that if 'Sumit is bored and Bernhard is yellow' then Brian is a swan. It is highly unlikely that if either 'Sumit is bored' or 'Greg is yellow' but not both then Jeff moved to the garden.
It is highly unlikely that 'Sumit is bored' or 'Bernhard is yellow' or both.
It is highly unlikely that 'Sumit is bored' or 'Bernhard is yellow' or both.
It is almost certain that 'Sumit is bored' or 'Bernhard 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.2::factA.
  0.02::factB.
  0.02::factC.
  %hop1
  0.2::factX:-xor(factC,factB).
  0.7::factY:-and(factB,factC).
  0.05::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Sumit is bored' or 'Bernhard is yellow' or both.