It is highly likely that John got the milk. It is improbable that Gertrude is a mouse. There is almost no chance that Mary went to the hallway. There is little chance that if either 'John got the milk' or 'Mary went to the hallway' but not both then Greg is a lion. It is likely that if either 'Gertrude is a mouse' or 'Mary went to the hallway' but not both then Bernhard is a rhino. It is probable that if 'John got the milk' or 'Gertrude is a mouse' or both then Julius is a swan.
It is impossible that 'John got the milk' or 'Gertrude is a mouse' or both.
It is highly likely that 'John got the milk' or 'Gertrude is a mouse' or both.
It is impossible that 'John got the milk' or 'Gertrude is a mouse' 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.9::factA.
  0.1::factB.
  0.02::factC.
  %hop1
  0.1::factX:-xor(factA,factC).
  0.7::factY:-xor(factB,factC).
  0.7::factZ:-or(factA,factB).

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

  query(conclusion).
  
'John got the milk' or 'Gertrude is a mouse' or both.