It is probably the case that Yann is bored. It is highly unlikely that Sandra dropped the milk. It is probably not the case that Julius is gray. There is little chance that if either 'Yann is bored' or 'Sandra dropped the milk' but not both then Mary grabbed the apple. It is probable that if 'Yann is bored and Sandra dropped the milk' then Bernhard is a frog. It is probable that if 'Sandra dropped the milk' or 'Yann is bored' or both then Brian is a rhino.
There is a better than even chance that 'Bernhard is a frog' or 'Mary grabbed the apple' or both.
There is little chance that 'Bernhard is a frog' or 'Mary grabbed the apple' or both.
There is a better than even chance that 'Bernhard is a frog' or 'Mary grabbed 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.7::factA.
  0.05::factB.
  0.25::factC.
  %hop1
  0.1::factX:-xor(factA,factB).
  0.7::factY:-and(factA,factB).
  0.7::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Bernhard is a frog' or 'Mary grabbed the apple' or both.