There is a very good chance that Bill went to the bedroom. There is a very good chance that John put down the apple. It is highly likely that Brian is a swan. It is highly unlikely that if 'Bill went to the bedroom and John put down the apple' then Sandra got the football. There is little chance that if either 'Bill went to the bedroom' or 'Brian is a swan' but not both then Bernhard is a rhino. There is a very good chance that if either 'Bill went to the bedroom' or 'Brian is a swan' but not both then Greg is yellow.
It is improbable that 'Bill went to the bedroom' or 'Sandra got the football' or both.
There is a very good chance that 'Bill went to the bedroom' or 'Sandra got the football' or both.
It is improbable that 'Bill went to the bedroom' or 'Sandra got the football' 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.8::factB.
  0.9::factC.
  %hop1
  0.05::factX:-and(factA,factB).
  0.1::factY:-xor(factA,factC).
  0.8::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Bill went to the bedroom' or 'Sandra got the football' or both.