It is unlikely that Lily is a frog. Chances are about even that John went to the garden. It is highly likely that Greg is a lion. We believe that if either 'Lily is a frog' or 'John went to the garden' but not both then Fred dropped the milk. Chances are about even that if either 'Lily is a frog' or 'John went to the garden' but not both then Brian is green. It is unlikely that if either 'John went to the garden' or 'Greg is a lion' but not both then Julius is a frog.
It is improbable that 'John went to the garden' or 'Fred dropped the milk' or both.
There is a better than even chance that 'John went to the garden' or 'Fred dropped the milk' or both.
It is improbable that 'John went to the garden' or 'Fred dropped the milk' or 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.2::factA.
  0.5::factB.
  0.9::factC.
  %hop1
  0.75::factX:-xor(factA,factB).
  0.5::factY:-xor(factA,factB).
  0.2::factZ:-xor(factB,factC).

  %hop2
  conclusion:-or(factB,factX).

  query(conclusion).
  
'John went to the garden' or 'Fred dropped the milk' or both.