We believe that Greg is a swan. There is almost no chance that Mary got the football. We believe that Sumit is thirsty. It is impossible that if either 'Mary got the football' or 'Sumit is thirsty' but not both then Brian is green. Chances are about even that if 'Sumit is thirsty and Greg is a swan' then Julius is gray. It is highly unlikely that if 'Sumit is thirsty and Mary got the football' then John went to the hallway.
We believe that 'Sumit is thirsty and Brian is green'.
It is impossible that 'Sumit is thirsty and Brian is green'.
We believe that 'Sumit is thirsty and Brian is green'.

  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.02::factB.
  0.75::factC.
  %hop1
  0.0::factX:-xor(factB,factC).
  0.5::factY:-and(factC,factA).
  0.05::factZ:-and(factC,factB).

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

  query(conclusion).
  
'Sumit is thirsty and Brian is green'.