We doubt that Jessica is a cat. It is unlikely that Bill went to the bedroom. It is likely that Mary dropped the apple. There is little chance that if 'Jessica is a cat and Bill went to the bedroom' then Antoine is bored. There is little chance that if 'Mary dropped the apple' or 'Bill went to the bedroom' or both then John picked up the apple. It is probably the case that if 'Bill went to the bedroom and Jessica is a cat' then Bernhard is yellow.
It is likely that either 'Jessica is a cat' or 'Antoine is bored' but not both.
It is unlikely that either 'Jessica is a cat' or 'Antoine is bored' but not both.
It is likely that either 'Jessica is a cat' or 'Antoine is bored' 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.2::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.1::factX:-and(factA,factB).
  0.1::factY:-or(factC,factB).
  0.7::factZ:-and(factB,factA).

  %hop2
  conclusion:-xor(factA,factX).

  query(conclusion).
  
Either 'Jessica is a cat' or 'Antoine is bored' but not both.