It is improbable that Winona is a wolf. It is highly unlikely that Greg is white. It is highly likely that Julius is yellow. Chances are about even that if either 'Julius is yellow' or 'Greg is white' but not both then Bernhard is a frog. It is probable that if 'Julius is yellow and Greg is white' then Lily is a lion. We believe that if 'Greg is white' or 'Julius is yellow' or both then John went to the bedroom.
It is probable that 'John went to the bedroom and Winona is a wolf'.
It is highly unlikely that 'John went to the bedroom and Winona is a wolf'.
It is probable that 'John went to the bedroom and Winona is a wolf'.

  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.05::factB.
  0.9::factC.
  %hop1
  0.5::factX:-xor(factC,factB).
  0.7::factY:-and(factC,factB).
  0.75::factZ:-or(factB,factC).

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

  query(conclusion).
  
'John went to the bedroom and Winona is a wolf'.