It is impossible that Gertrude is a sheep. It is highly likely that Greg is yellow. It is probable that Bernhard is white. Chances are about even that if 'Gertrude is a sheep' or 'Bernhard is white' or both then Jessica is a mouse. It is highly unlikely that if either 'Bernhard is white' or 'Greg is yellow' but not both then John went to the garden. It is probably not the case that if 'Greg is yellow' or 'Gertrude is a sheep' or both then Daniel took the apple.
There is almost no chance that 'Bernhard is white' or 'Daniel took the apple' or both.
We believe that 'Bernhard is white' or 'Daniel took the apple' or both.
There is almost no chance that 'Bernhard is white' or 'Daniel took 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.0::factA.
  0.9::factB.
  0.7::factC.
  %hop1
  0.5::factX:-or(factA,factC).
  0.05::factY:-xor(factC,factB).
  0.25::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Bernhard is white' or 'Daniel took the apple' or both.