Chances are slight that Bernhard is a swan. It is likely that John left the apple. It is improbable that Mary put down the apple. It is unlikely that if 'Mary put down the apple' or 'John left the apple' or both then Bill moved to the office. It is unlikely that if 'Mary put down the apple' or 'Bernhard is a swan' or both then Greg is a frog. It is almost certain that if 'John left the apple and Bernhard is a swan' then Brian is a rhino.
It is improbable that 'Greg is a frog' or 'Mary put down the apple' or both.
It is improbable that 'Greg is a frog' or 'Mary put down the apple' or both.
It is highly likely that 'Greg is a frog' or 'Mary put down 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.7::factB.
  0.1::factC.
  %hop1
  0.2::factX:-or(factC,factB).
  0.2::factY:-or(factC,factA).
  0.95::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Greg is a frog' or 'Mary put down the apple' or both.