There is a very good chance that Sumit is thirsty. It is unlikely that Greg is gray. We doubt that John went to the hallway. There is a very good chance that if 'John went to the hallway' or 'Sumit is thirsty' or both then Bernhard is white. There is a very good chance that if 'John went to the hallway' or 'Sumit is thirsty' or both then Brian is yellow. It is unlikely that if 'John went to the hallway and Sumit is thirsty' then Lily is green.
It is probably not the case that 'Greg is gray' or 'Lily is green' or both.
It is probably not the case that 'Greg is gray' or 'Lily is green' or both.
There is a very good chance that 'Greg is gray' 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.8::factA.
  0.2::factB.
  0.2::factC.
  %hop1
  0.8::factX:-or(factC,factA).
  0.8::factY:-or(factC,factA).
  0.2::factZ:-and(factC,factA).

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

  query(conclusion).
  
'Greg is gray' or 'Lily is green' or both.