There is almost no chance that Lily is green. It is almost certain that Sandra left the football. It is almost certain that Daniel took the apple. We doubt that if 'Sandra left the football and Daniel took the apple' then John grabbed the apple. It is certain that if 'Daniel took the apple' or 'Sandra left the football' or both then Greg is white. There is a better than even chance that if 'Lily is green and Daniel took the apple' then Mary went to the hallway.
It is certain that 'Mary went to the hallway' or 'Greg is white' or both.
It is certain that 'Mary went to the hallway' or 'Greg is white' or both.
There is little chance that 'Mary went to the hallway' or 'Greg is white' 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.02::factA.
  0.95::factB.
  0.95::factC.
  %hop1
  0.2::factX:-and(factB,factC).
  1.0::factY:-or(factC,factB).
  0.6::factZ:-and(factA,factC).

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

  query(conclusion).
  
'Mary went to the hallway' or 'Greg is white' or both.