There is a better than even chance that Bernhard is green. It is highly likely that Lily is a rhino. There is a better than even chance that Brian is a lion. It is highly likely that if 'Brian is a lion and Bernhard is green' then Mary went to the bedroom. It is probably the case that if 'Bernhard is green and Brian is a lion' then Daniel got the milk. It is likely that if either 'Bernhard is green' or 'Brian is a lion' but not both then Sumit is hungry.
It is highly unlikely that 'Mary went to the bedroom' or 'Bernhard is green' or both.
There is a better than even chance that 'Mary went to the bedroom' or 'Bernhard is green' or both.
It is highly unlikely that 'Mary went to the bedroom' or 'Bernhard is green' 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.6::factA.
  0.9::factB.
  0.6::factC.
  %hop1
  0.9::factX:-and(factC,factA).
  0.7::factY:-and(factA,factC).
  0.7::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Mary went to the bedroom' or 'Bernhard is green' or both.