It is probably the case that Greg is yellow. Chances are about even that Bernhard is a swan. Chances are slight that Fred dropped the milk. It is probably not the case that if 'Greg is yellow and Bernhard is a swan' then Bill went to the bedroom. Chances are about even that if either 'Bernhard is a swan' or 'Greg is yellow' but not both then Lily is yellow. It is probably not the case that if 'Bernhard is a swan and Greg is yellow' then John got the apple.
We believe that 'Fred dropped the milk' or 'Greg is yellow' or both.
We believe that 'Fred dropped the milk' or 'Greg is yellow' or both.
Chances are slight that 'Fred dropped the milk' or 'Greg 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.7::factA.
  0.5::factB.
  0.1::factC.
  %hop1
  0.25::factX:-and(factA,factB).
  0.5::factY:-xor(factB,factA).
  0.25::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Fred dropped the milk' or 'Greg is yellow' or both.