Chances are slight that Lily is yellow. It is probably not the case that Greg is white. We believe that Mary went to the kitchen. There is almost no chance that if 'Mary went to the kitchen and Greg is white' then John grabbed the apple. We doubt that if 'Mary went to the kitchen and Greg is white' then Brian is a swan. It is certain that if 'Mary went to the kitchen and Greg is white' then Bernhard is gray.
It is probably not the case that 'Greg is white' or 'Lily is yellow' or both.
It is probably not the case that 'Greg is white' or 'Lily is yellow' or both.
It is probably the case that 'Greg is white' or 'Lily 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.1::factA.
  0.25::factB.
  0.75::factC.
  %hop1
  0.02::factX:-and(factC,factB).
  0.2::factY:-and(factC,factB).
  1.0::factZ:-and(factC,factB).

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

  query(conclusion).
  
'Greg is white' or 'Lily is yellow' or both.