It is unlikely that Greg is a lion. Chances are about even that Fred is in the cinema. Chances are slight that Mary dropped the milk. It is certain that if either 'Mary dropped the milk' or 'Fred is in the cinema' but not both then Brian is yellow. It is improbable that if 'Mary dropped the milk' or 'Fred is in the cinema' or both then John got the football. There is little chance that if either 'Mary dropped the milk' or 'Greg is a lion' but not both then Julius is gray.
It is improbable that 'Mary dropped the milk' or 'Brian is yellow' or both.
There is a better than even chance that 'Mary dropped the milk' or 'Brian is yellow' or both.
It is improbable that 'Mary dropped the milk' or 'Brian is yellow' 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.2::factA.
  0.5::factB.
  0.1::factC.
  %hop1
  1.0::factX:-xor(factC,factB).
  0.1::factY:-or(factC,factB).
  0.1::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Mary dropped the milk' or 'Brian is yellow' or both.