We believe that Greg is a swan. It is probably not the case that Daniel dropped the apple. It is almost certain that Bernhard is a swan. It is almost certain that if 'Greg is a swan and Daniel dropped the apple' then Julius is yellow. We doubt that if 'Greg is a swan' or 'Daniel dropped the apple' or both then Lily is a rhino. It is highly unlikely that if 'Greg is a swan and Bernhard is a swan' then Mary went to the garden.
It is probably not the case that either 'Mary went to the garden' or 'Daniel dropped the apple' but not both.
It is probably not the case that either 'Mary went to the garden' or 'Daniel dropped the apple' but not both.
It is almost certain that either 'Mary went to the garden' or 'Daniel dropped the apple' but not 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.
  0.25::factB.
  0.95::factC.
  %hop1
  0.95::factX:-and(factA,factB).
  0.2::factY:-or(factA,factB).
  0.05::factZ:-and(factA,factC).

  %hop2
  conclusion:-xor(factZ,factB).

  query(conclusion).
  
Either 'Mary went to the garden' or 'Daniel dropped the apple' but not both.