It is highly unlikely that Brian is green. There is a better than even chance that Julius is a swan. Chances are about even that Greg is yellow. It is impossible that if either 'Brian is green' or 'Julius is a swan' but not both then John got the apple. We doubt that if 'Julius is a swan and Greg is yellow' then Mary went to the bedroom. It is improbable that if either 'Greg is yellow' or 'Julius is a swan' but not both then Lily is a rhino.
Chances are about even that 'Mary went to the bedroom' or 'John got the apple' or both.
It is highly unlikely that 'Mary went to the bedroom' or 'John got the apple' or both.
Chances are about even that 'Mary went to the bedroom' or 'John got the apple' 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.05::factA.
  0.6::factB.
  0.5::factC.
  %hop1
  0.0::factX:-xor(factA,factB).
  0.2::factY:-and(factB,factC).
  0.1::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Mary went to the bedroom' or 'John got the apple' or both.