We doubt that Lily is a swan. It is unlikely that John discarded the apple. It is unlikely that Julius is a lion. There is a very good chance that if either 'John discarded the apple' or 'Lily is a swan' but not both then Brian is yellow. It is probably not the case that if 'Lily is a swan and John discarded the apple' then Mary left the football. It is unlikely that if 'John discarded the apple and Lily is a swan' then Daniel took the milk.
We believe that 'Brian is yellow' or 'John discarded the apple' or both.
It is probably not the case that 'Brian is yellow' or 'John discarded the apple' or both.
We believe that 'Brian is yellow' or 'John discarded 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.2::factA.
  0.2::factB.
  0.2::factC.
  %hop1
  0.8::factX:-xor(factB,factA).
  0.25::factY:-and(factA,factB).
  0.2::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Brian is yellow' or 'John discarded the apple' or both.