There is a better than even chance that Julius is a swan. It is probably the case that Greg is green. It is impossible that John picked up the apple. It is unlikely that if 'John picked up the apple and Greg is green' then Lily is a rhino. It is probably the case that if either 'Greg is green' or 'John picked up the apple' but not both then Mary dropped the milk. It is probably not the case that if 'Greg is green' or 'John picked up the apple' or both then Jeff went to the bedroom.
We believe that 'Lily is a rhino' or 'John picked up the apple' or both.
It is impossible that 'Lily is a rhino' or 'John picked up the apple' or both.
We believe that 'Lily is a rhino' or 'John picked up the apple' 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.6::factA.
  0.7::factB.
  0.0::factC.
  %hop1
  0.2::factX:-and(factC,factB).
  0.7::factY:-xor(factB,factC).
  0.25::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Lily is a rhino' or 'John picked up the apple' or both.