We believe that Jason is bored. It is almost certain that Winona is a sheep. We doubt that Mary left the football. We believe that if 'Winona is a sheep and Mary left the football' then Lily is white. It is probable that if either 'Jason is bored' or 'Mary left the football' but not both then John took the apple. It is likely that if 'Mary left the football and Winona is a sheep' then Brian is a rhino.
There is little chance that either 'Brian is a rhino' or 'Winona is a sheep' but not both.
There is a very good chance that either 'Brian is a rhino' or 'Winona is a sheep' but not both.
There is little chance that either 'Brian is a rhino' or 'Winona is a sheep' 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.95::factB.
  0.2::factC.
  %hop1
  0.75::factX:-and(factB,factC).
  0.7::factY:-xor(factA,factC).
  0.7::factZ:-and(factC,factB).

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

  query(conclusion).
  
Either 'Brian is a rhino' or 'Winona is a sheep' but not both.