Chances are slight that Sumit is tired. We doubt that Yann is bored. It is likely that Bernhard is green. Chances are slight that if 'Sumit is tired and Yann is bored' then Lily is green. We believe that if 'Sumit is tired and Bernhard is green' then Julius is a frog. There is little chance that if 'Sumit is tired and Yann is bored' then Brian is white.
It is impossible that either 'Lily is green' or 'Brian is white' but not both.
It is impossible that either 'Lily is green' or 'Brian is white' but not both.
It is probable that either 'Lily is green' or 'Brian is white' 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.1::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.1::factX:-and(factA,factB).
  0.75::factY:-and(factA,factC).
  0.1::factZ:-and(factA,factB).

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

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