It is highly likely that Greg is a swan. It is unlikely that Lily is yellow. It is almost certain that John got the football. We believe that if either 'Lily is yellow' or 'Greg is a swan' but not both then Winona is a sheep. Chances are slight that if 'Lily is yellow and Greg is a swan' then Julius is a lion. It is improbable that if either 'Lily is yellow' or 'Greg is a swan' but not both then Brian is a rhino.
It is probably not the case that 'John got the football' or 'Lily is yellow' or both.
It is almost certain that 'John got the football' or 'Lily is yellow' or both.
It is probably not the case that 'John got the football' or 'Lily is yellow' 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.9::factA.
  0.2::factB.
  0.95::factC.
  %hop1
  0.75::factX:-xor(factB,factA).
  0.1::factY:-and(factB,factA).
  0.1::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'John got the football' or 'Lily is yellow' or both.