We doubt that Bill went to the bedroom. We doubt that Greg is gray. It is highly unlikely that Lily is a lion. It is almost certain that if 'Lily is a lion and Bill went to the bedroom' then Sandra got the milk. We doubt that if either 'Greg is gray' or 'Lily is a lion' but not both then Mary moved to the office. We doubt that if either 'Bill went to the bedroom' or 'Greg is gray' but not both then Brian is yellow.
There is a very good chance that 'Brian is yellow' or 'Bill went to the bedroom' or both.
It is probably not the case that 'Brian is yellow' or 'Bill went to the bedroom' or both.
There is a very good chance that 'Brian is yellow' or 'Bill went to the bedroom' 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.2::factB.
  0.05::factC.
  %hop1
  0.95::factX:-and(factC,factA).
  0.2::factY:-xor(factB,factC).
  0.2::factZ:-xor(factA,factB).

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

  query(conclusion).
  
'Brian is yellow' or 'Bill went to the bedroom' or both.