It is almost certain that Jason is bored. It is probable that Gertrude is a sheep. It is probable that Greg is white. It is probably not the case that if 'Jason is bored and Greg is white' then Mary went to the office. It is almost certain that if either 'Gertrude is a sheep' or 'Greg is white' but not both then Lily is a frog. It is almost certain that if 'Gertrude is a sheep' or 'Greg is white' or both then John took the apple.
It is improbable that either 'Lily is a frog' or 'Jason is bored' but not both.
There is a better than even chance that either 'Lily is a frog' or 'Jason is bored' but not both.
It is improbable that either 'Lily is a frog' or 'Jason 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.7::factB.
  0.7::factC.
  %hop1
  0.25::factX:-and(factA,factC).
  0.95::factY:-xor(factB,factC).
  0.95::factZ:-or(factB,factC).

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

  query(conclusion).
  
Either 'Lily is a frog' or 'Jason is bored' but not both.