It is probably not the case that Bernhard is a frog. There is little chance that Greg is white. There is little chance that John went to the bedroom. We doubt that if 'Greg is white' or 'John went to the bedroom' or both then Sandra got the milk. It is impossible that if 'John went to the bedroom and Bernhard is a frog' then Lily is yellow. We believe that if 'John went to the bedroom' or 'Bernhard is a frog' or both then Brian is a lion.
We believe that 'Lily is yellow' or 'John went to the bedroom' or both.
It is improbable that 'Lily is yellow' or 'John went to the bedroom' or both.
We believe that 'Lily is yellow' or 'John 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.25::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.2::factX:-or(factB,factC).
  0.0::factY:-and(factC,factA).
  0.75::factZ:-or(factC,factA).

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

  query(conclusion).
  
'Lily is yellow' or 'John went to the bedroom' or both.