There is almost no chance that Jeff went to the bedroom. We believe that Mary dropped the milk. There is almost no chance that Sumit is thirsty. It is highly likely that if either 'Mary dropped the milk' or 'Sumit is thirsty' but not both then Lily is white. It is certain that if either 'Mary dropped the milk' or 'Jeff went to the bedroom' but not both then John got the apple. We believe that if 'Mary dropped the milk and Sumit is thirsty' then Fred left the football.
It is certain that 'Sumit is thirsty and Lily is white'.
It is impossible that 'Sumit is thirsty and Lily is white'.
It is certain that 'Sumit is thirsty and Lily is white'.

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

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

  query(conclusion).
  
'Sumit is thirsty and Lily is white'.