We doubt that Bernhard is gray. There is a very good chance that Daniel got the football. It is certain that Brian is yellow. It is probably not the case that if 'Bernhard is gray' or 'Brian is yellow' or both then Winona is a sheep. It is probable that if 'Brian is yellow and Bernhard is gray' then Mary went to the kitchen. There is a better than even chance that if either 'Brian is yellow' or 'Bernhard is gray' but not both then Lily is a lion.
It is highly unlikely that 'Mary went to the kitchen' or 'Lily is a lion' or both.
There is a better than even chance that 'Mary went to the kitchen' or 'Lily is a lion' or both.
It is highly unlikely that 'Mary went to the kitchen' or 'Lily is a lion' 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.2::factA.
  0.8::factB.
  1.0::factC.
  %hop1
  0.25::factX:-or(factA,factC).
  0.7::factY:-and(factC,factA).
  0.6::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Mary went to the kitchen' or 'Lily is a lion' or both.