Chances are about even that Bernhard is green. It is almost certain that Greg is a swan. It is unlikely that Daniel got the football. It is impossible that if 'Daniel got the football and Bernhard is green' then Sandra left the apple. It is highly likely that if 'Greg is a swan and Daniel got the football' then Mary discarded the milk. There is almost no chance that if 'Daniel got the football and Greg is a swan' then John went to the hallway.
It is impossible that 'Sandra left the apple' or 'John went to the hallway' or both.
It is impossible that 'Sandra left the apple' or 'John went to the hallway' or both.
It is probable that 'Sandra left the apple' or 'John went to the hallway' 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.5::factA.
  0.95::factB.
  0.2::factC.
  %hop1
  0.0::factX:-and(factC,factA).
  0.9::factY:-and(factB,factC).
  0.02::factZ:-and(factC,factB).

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

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