We believe that John went to the kitchen. It is probably not the case that Lily is green. It is improbable that Sumit is thirsty. It is almost certain that if 'John went to the kitchen and Sumit is thirsty' then Jessica is a sheep. Chances are about even that if either 'Sumit is thirsty' or 'John went to the kitchen' but not both then Sandra left the milk. It is probable that if 'Sumit is thirsty' or 'Lily is green' or both then Julius is a rhino.
We believe that 'Sumit is thirsty' or 'Lily is green' or both.
It is probably not the case that 'Sumit is thirsty' or 'Lily is green' or both.
We believe that 'Sumit is thirsty' or 'Lily 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.75::factA.
  0.25::factB.
  0.1::factC.
  %hop1
  0.95::factX:-and(factA,factC).
  0.5::factY:-xor(factC,factA).
  0.7::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Sumit is thirsty' or 'Lily is green' or both.