It is improbable that John got the apple. We doubt that Antoine is thirsty. It is highly likely that Mary moved to the garden. We believe that if 'John got the apple and Mary moved to the garden' then Bernhard is a frog. There is almost no chance that if either 'Mary moved to the garden' or 'Antoine is thirsty' but not both then Greg is gray. It is impossible that if 'Antoine is thirsty' or 'Mary moved to the garden' or both then Brian is yellow.
It is improbable that 'Mary moved to the garden' or 'John got the apple' or both.
It is highly likely that 'Mary moved to the garden' or 'John got the apple' or both.
It is improbable that 'Mary moved to the garden' 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.1::factA.
  0.2::factB.
  0.9::factC.
  %hop1
  0.75::factX:-and(factA,factC).
  0.02::factY:-xor(factC,factB).
  0.0::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Mary moved to the garden' or 'John got the apple' or both.