Chances are about even that Mary went to the garden. It is probable that Lily is green. Chances are slight that Greg is a lion. It is unlikely that if 'Lily is green' or 'Greg is a lion' or both then Jason is tired. It is likely that if 'Mary went to the garden and Lily is green' then Julius is green. It is improbable that if 'Mary went to the garden and Lily is green' then Brian is a frog.
Chances are about even that either 'Lily is green' or 'Julius is green' but not both.
Chances are about even that either 'Lily is green' or 'Julius is green' but not both.
It is impossible that either 'Lily is green' or 'Julius is green' 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.5::factA.
  0.7::factB.
  0.1::factC.
  %hop1
  0.2::factX:-or(factB,factC).
  0.7::factY:-and(factA,factB).
  0.1::factZ:-and(factA,factB).

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

  query(conclusion).
  
Either 'Lily is green' or 'Julius is green' but not both.