It is improbable that Greg is a frog. There is little chance that Lily is a swan. There is a better than even chance that Brian is gray. There is almost no chance that if 'Lily is a swan and Greg is a frog' then Julius is a rhino. We believe that if 'Greg is a frog and Lily is a swan' then Fred discarded the apple. It is unlikely that if either 'Greg is a frog' or 'Lily is a swan' but not both then Daniel got the milk.
It is impossible that either 'Brian is gray' or 'Daniel got the milk' but not both.
There is a better than even chance that either 'Brian is gray' or 'Daniel got the milk' but not both.
It is impossible that either 'Brian is gray' or 'Daniel got the milk' 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.1::factA.
  0.1::factB.
  0.6::factC.
  %hop1
  0.02::factX:-and(factB,factA).
  0.75::factY:-and(factA,factB).
  0.2::factZ:-xor(factA,factB).

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

  query(conclusion).
  
Either 'Brian is gray' or 'Daniel got the milk' but not both.