There is a better than even chance that Greg is a swan. There is a better than even chance that Brian is gray. We believe that Lily is a frog. Chances are about even that if 'Lily is a frog' or 'Greg is a swan' or both then Bill moved to the office. It is certain that if either 'Greg is a swan' or 'Lily is a frog' but not both then John went to the kitchen. It is probably not the case that if either 'Brian is gray' or 'Lily is a frog' but not both then Mary left the milk.
We doubt that 'Bill moved to the office' or 'John went to the kitchen' or both.
It is probable that 'Bill moved to the office' or 'John went to the kitchen' or both.
We doubt that 'Bill moved to the office' or 'John went to the kitchen' 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.6::factA.
  0.6::factB.
  0.75::factC.
  %hop1
  0.5::factX:-or(factC,factA).
  1.0::factY:-xor(factA,factC).
  0.25::factZ:-xor(factB,factC).

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

  query(conclusion).
  
'Bill moved to the office' or 'John went to the kitchen' or both.