Chances are slight that Bernhard is a lion. There is a better than even chance that John got the football. We doubt that Jason is thirsty. Chances are slight that if 'Bernhard is a lion' or 'Jason is thirsty' or both then Brian is gray. There is a better than even chance that if either 'Bernhard is a lion' or 'John got the football' but not both then Greg is yellow. It is probably not the case that if either 'Jason is thirsty' or 'John got the football' but not both then Mary moved to the office.
It is unlikely that 'Jason is thirsty' or 'Brian is gray' or both.
It is unlikely that 'Jason is thirsty' or 'Brian is gray' or both.
There is a very good chance that 'Jason is thirsty' or 'Brian is gray' 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.1::factA.
  0.6::factB.
  0.2::factC.
  %hop1
  0.1::factX:-or(factA,factC).
  0.6::factY:-xor(factA,factB).
  0.25::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Jason is thirsty' or 'Brian is gray' or both.