It is probable that Lily is white. It is unlikely that Brian is a rhino. It is almost certain that Mary went to the hallway. It is highly likely that if either 'Brian is a rhino' or 'Lily is white' but not both then Daniel got the football. It is likely that if 'Mary went to the hallway and Brian is a rhino' then Bernhard is yellow. It is highly likely that if either 'Brian is a rhino' or 'Lily is white' but not both then Sandra left the apple.
It is certain that 'Mary went to the hallway' or 'Sandra left the apple' or both.
It is certain that 'Mary went to the hallway' or 'Sandra left the apple' or both.
It is impossible that 'Mary went to the hallway' or 'Sandra left the apple' 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.7::factA.
  0.2::factB.
  0.95::factC.
  %hop1
  0.9::factX:-xor(factB,factA).
  0.7::factY:-and(factC,factB).
  0.9::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Mary went to the hallway' or 'Sandra left the apple' or both.