It is probably the case that Bill went to the office. It is probably not the case that Lily is a rhino. It is certain that Julius is a frog. It is probably the case that if either 'Lily is a rhino' or 'Bill went to the office' but not both then John moved to the garden. It is probable that if 'Julius is a frog and Lily is a rhino' then Mary dropped the apple. It is probably not the case that if 'Bill went to the office and Julius is a frog' then Brian is gray.
It is probably not the case that either 'Mary dropped the apple' or 'Brian is gray' but not both.
It is probably not the case that either 'Mary dropped the apple' or 'Brian is gray' but not both.
It is highly likely that either 'Mary dropped the apple' or 'Brian is gray' 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.7::factA.
  0.25::factB.
  1.0::factC.
  %hop1
  0.7::factX:-xor(factB,factA).
  0.7::factY:-and(factC,factB).
  0.25::factZ:-and(factA,factC).

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

  query(conclusion).
  
Either 'Mary dropped the apple' or 'Brian is gray' but not both.