It is almost certain that Greg is a lion. It is probably not the case that Fred went to the office. We doubt that Bernhard is gray. There is little chance that if 'Greg is a lion and Fred went to the office' then Antoine is bored. It is probably not the case that if either 'Greg is a lion' or 'Fred went to the office' but not both then Gertrude is a mouse. There is a very good chance that if 'Greg is a lion and Bernhard is gray' then Daniel dropped the apple.
It is highly likely that either 'Bernhard is gray' or 'Antoine is bored' but not both.
We doubt that either 'Bernhard is gray' or 'Antoine is bored' but not both.
It is highly likely that either 'Bernhard is gray' 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.95::factA.
  0.25::factB.
  0.2::factC.
  %hop1
  0.1::factX:-and(factA,factB).
  0.25::factY:-xor(factA,factB).
  0.8::factZ:-and(factA,factC).

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

  query(conclusion).
  
Either 'Bernhard is gray' or 'Antoine is bored' but not both.