It is highly unlikely that Fred moved to the office. It is impossible that Sandra dropped the apple. Chances are about even that Bernhard is green. It is highly likely that if either 'Bernhard is green' or 'Sandra dropped the apple' but not both then Lily is a lion. It is highly unlikely that if either 'Sandra dropped the apple' or 'Bernhard is green' but not both then Mary went to the garden. It is probably the case that if 'Fred moved to the office and Bernhard is green' then John left the football.
It is highly unlikely that 'John left the football' or 'Fred moved to the office' or both.
It is highly unlikely that 'John left the football' or 'Fred moved to the office' or both.
It is probably the case that 'John left the football' or 'Fred moved to the office' 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.05::factA.
  0.0::factB.
  0.5::factC.
  %hop1
  0.9::factX:-xor(factC,factB).
  0.05::factY:-xor(factB,factC).
  0.7::factZ:-and(factA,factC).

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

  query(conclusion).
  
'John left the football' or 'Fred moved to the office' or both.