It is almost certain that Brian is yellow. We doubt that Mary dropped the milk. There is almost no chance that John took the football. Chances are slight that if 'John took the football' or 'Mary dropped the milk' or both then Jason is thirsty. It is probably the case that if 'John took the football and Mary dropped the milk' then Greg is gray. It is probably not the case that if 'Brian is yellow' or 'Mary dropped the milk' or both then Bernhard is white.
There is a very good chance that 'Greg is gray' or 'Mary dropped the milk' or both.
It is unlikely that 'Greg is gray' or 'Mary dropped the milk' or both.
There is a very good chance that 'Greg is gray' or 'Mary dropped the milk' 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.95::factA.
  0.2::factB.
  0.02::factC.
  %hop1
  0.1::factX:-or(factC,factB).
  0.7::factY:-and(factC,factB).
  0.25::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Greg is gray' or 'Mary dropped the milk' or both.