It is certain that Brian is a frog. It is improbable that Bill left the milk. Chances are slight that Julius is green. It is probably not the case that if 'Bill left the milk and Julius is green' then Lily is a frog. It is probable that if either 'Brian is a frog' or 'Julius is green' but not both then Mary put down the apple. There is little chance that if 'Julius is green and Bill left the milk' then John went to the office.
We doubt that either 'Julius is green' or 'Bill left the milk' but not both.
We doubt that either 'Julius is green' or 'Bill left the milk' but not both.
There is a very good chance that either 'Julius is green' or 'Bill left the milk' 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
  1.0::factA.
  0.1::factB.
  0.1::factC.
  %hop1
  0.25::factX:-and(factB,factC).
  0.7::factY:-xor(factA,factC).
  0.1::factZ:-and(factC,factB).

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

  query(conclusion).
  
Either 'Julius is green' or 'Bill left the milk' but not both.