It is highly likely that Fred is in the cinema. It is almost certain that Julius is gray. It is impossible that John went to the hallway. It is highly unlikely that if either 'Julius is gray' or 'John went to the hallway' but not both then Lily is a swan. It is probably not the case that if 'Julius is gray and John went to the hallway' then Mary got the apple. It is highly likely that if 'Julius is gray' or 'Fred is in the cinema' or both then Brian is a frog.
It is almost certain that either 'Mary got the apple' or 'Julius is gray' but not both.
It is almost certain that either 'Mary got the apple' or 'Julius is gray' but not both.
There is almost no chance that either 'Mary got the apple' or 'Julius 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.9::factA.
  0.95::factB.
  0.0::factC.
  %hop1
  0.05::factX:-xor(factB,factC).
  0.25::factY:-and(factB,factC).
  0.9::factZ:-or(factB,factA).

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

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