It is likely that Greg is gray. It is improbable that Jason is bored. Chances are slight that Sandra put down the milk. Chances are slight that if 'Greg is gray and Sandra put down the milk' then Lily is green. Chances are slight that if 'Greg is gray and Jason is bored' then John got the apple. It is almost certain that if 'Jason is bored and Greg is gray' then Julius is a frog.
It is probably the case that either 'Jason is bored' or 'Sandra put down the milk' but not both.
We doubt that either 'Jason is bored' or 'Sandra put down the milk' but not both.
It is probably the case that either 'Jason is bored' or 'Sandra put down 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.7::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.1::factX:-and(factA,factC).
  0.1::factY:-and(factA,factB).
  0.95::factZ:-and(factB,factA).

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

  query(conclusion).
  
Either 'Jason is bored' or 'Sandra put down the milk' but not both.