We believe that Fred went to the garden. It is certain that Mary got the milk. There is a better than even chance that Lily is yellow. Chances are about even that if either 'Mary got the milk' or 'Fred went to the garden' but not both then Bernhard is gray. We believe that if 'Lily is yellow and Mary got the milk' then John dropped the apple. It is unlikely that if 'Lily is yellow and Mary got the milk' then Sandra took the football.
It is probably not the case that 'Bernhard is gray' or 'Sandra took the football' or both.
It is probably not the case that 'Bernhard is gray' or 'Sandra took the football' or both.
It is probable that 'Bernhard is gray' or 'Sandra took 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.
  1.0::factB.
  0.6::factC.
  %hop1
  0.5::factX:-xor(factB,factA).
  0.75::factY:-and(factC,factB).
  0.2::factZ:-and(factC,factB).

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

  query(conclusion).
  
'Bernhard is gray' or 'Sandra took the football' or both.