It is likely that Lily is green. It is highly unlikely that Greg is gray. There is little chance that Brian is yellow. It is probable that if 'Greg is gray' or 'Lily is green' or both then Bernhard is yellow. It is likely that if either 'Brian is yellow' or 'Lily is green' but not both then Bill went to the office. There is almost no chance that if 'Greg is gray' or 'Lily is green' or both then John discarded the apple.
It is probably the case that either 'Greg is gray' or 'Lily is green' but not both.
It is probably the case that either 'Greg is gray' or 'Lily is green' but not both.
It is unlikely that either 'Greg is gray' or 'Lily 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.7::factA.
  0.05::factB.
  0.1::factC.
  %hop1
  0.7::factX:-or(factB,factA).
  0.7::factY:-xor(factC,factA).
  0.02::factZ:-or(factB,factA).

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

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