There is a very good chance that Julius is a lion. Chances are slight that Mary went to the bedroom. It is unlikely that Bill moved to the office. Chances are about even that if 'Julius is a lion and Mary went to the bedroom' then John discarded the apple. It is almost certain that if either 'Mary went to the bedroom' or 'Bill moved to the office' but not both then Bernhard is yellow. It is highly likely that if 'Mary went to the bedroom' or 'Julius is a lion' or both then Greg is a frog.
It is probable that either 'Greg is a frog' or 'Mary went to the bedroom' but not both.
It is probable that either 'Greg is a frog' or 'Mary went to the bedroom' but not both.
Chances are slight that either 'Greg is a frog' or 'Mary went to the bedroom' 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.8::factA.
  0.1::factB.
  0.2::factC.
  %hop1
  0.5::factX:-and(factA,factB).
  0.95::factY:-xor(factB,factC).
  0.9::factZ:-or(factB,factA).

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

  query(conclusion).
  
Either 'Greg is a frog' or 'Mary went to the bedroom' but not both.