We doubt that Gertrude is a sheep. It is highly unlikely that Antoine is bored. It is almost certain that Bill went to the garden. There is little chance that if either 'Bill went to the garden' or 'Antoine is bored' but not both then Brian is yellow. It is almost certain that if 'Gertrude is a sheep' or 'Antoine is bored' or both then Greg is a frog. Chances are slight that if 'Antoine is bored' or 'Gertrude is a sheep' or both then Fred dropped the apple.
There is little chance that either 'Antoine is bored' or 'Brian is yellow' but not both.
There is little chance that either 'Antoine is bored' or 'Brian is yellow' but not both.
It is probably the case that either 'Antoine is bored' or 'Brian is yellow' 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.05::factB.
  0.95::factC.
  %hop1
  0.1::factX:-xor(factC,factB).
  0.95::factY:-or(factA,factB).
  0.1::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Antoine is bored' or 'Brian is yellow' but not both.