We believe that John dropped the apple. It is almost certain that Bernhard is a rhino. It is almost certain that Lily is a frog. It is highly likely that if either 'Lily is a frog' or 'Bernhard is a rhino' but not both then Sumit is thirsty. It is highly likely that if 'John dropped the apple and Lily is a frog' then Julius is yellow. There is a better than even chance that if either 'Lily is a frog' or 'John dropped the apple' but not both then Mary went to the bedroom.
There is almost no chance that 'Mary went to the bedroom and Sumit is thirsty'.
There is almost no chance that 'Mary went to the bedroom and Sumit is thirsty'.
We believe that 'Mary went to the bedroom and Sumit is thirsty'.

  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.75::factA.
  0.95::factB.
  0.95::factC.
  %hop1
  0.9::factX:-xor(factC,factB).
  0.9::factY:-and(factA,factC).
  0.6::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Mary went to the bedroom and Sumit is thirsty'.