It is highly likely that Julius is a frog. It is probably not the case that Brian is a lion. It is highly likely that John went to the garden. It is probable that if 'Julius is a frog' or 'John went to the garden' or both then Greg is yellow. There is a very good chance that if 'Brian is a lion' or 'John went to the garden' or both then Jeff discarded the milk. It is certain that if either 'Brian is a lion' or 'John went to the garden' but not both then Bernhard is yellow.
It is highly unlikely that either 'Greg is yellow' or 'Jeff discarded the milk' but not both.
Chances are about even that either 'Greg is yellow' or 'Jeff discarded the milk' but not both.
It is highly unlikely that either 'Greg is yellow' or 'Jeff discarded the milk' 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.25::factB.
  0.9::factC.
  %hop1
  0.7::factX:-or(factA,factC).
  0.8::factY:-or(factB,factC).
  1.0::factZ:-xor(factB,factC).

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

  query(conclusion).
  
Either 'Greg is yellow' or 'Jeff discarded the milk' but not both.