We believe that John got the apple. It is certain that Yann is thirsty. It is highly likely that Julius is a frog. There is a very good chance that if 'Julius is a frog and Yann is thirsty' then Mary dropped the milk. It is probably not the case that if either 'John got the apple' or 'Yann is thirsty' but not both then Greg is a swan. It is unlikely that if 'Yann is thirsty and Julius is a frog' then Lily is green.
There is a very good chance that 'Greg is a swan' or 'John got the apple' or both.
There is a very good chance that 'Greg is a swan' or 'John got the apple' or both.
It is highly unlikely that 'Greg is a swan' 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.75::factA.
  1.0::factB.
  0.9::factC.
  %hop1
  0.8::factX:-and(factC,factB).
  0.25::factY:-xor(factA,factB).
  0.2::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Greg is a swan' or 'John got the apple' or both.