Chances are slight that Jason is bored. It is impossible that Greg is yellow. We doubt that John dropped the apple. It is probably not the case that if either 'Greg is yellow' or 'Jason is bored' but not both then Bernhard is a swan. We doubt that if 'Greg is yellow and John dropped the apple' then Julius is a rhino. There is almost no chance that if either 'John dropped the apple' or 'Jason is bored' but not both then Brian is green.
We believe that either 'John dropped the apple' or 'Brian is green' but not both.
We doubt that either 'John dropped the apple' or 'Brian is green' but not both.
We believe that either 'John dropped the apple' or 'Brian is green' 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.0::factB.
  0.2::factC.
  %hop1
  0.25::factX:-xor(factB,factA).
  0.2::factY:-and(factB,factC).
  0.02::factZ:-xor(factC,factA).

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

  query(conclusion).
  
Either 'John dropped the apple' or 'Brian is green' but not both.