There is almost no chance that Fred went to the garden. It is highly likely that Greg is a swan. We doubt that John discarded the apple. It is probable that if 'John discarded the apple' or 'Fred went to the garden' or both then Lily is white. It is highly unlikely that if either 'Fred went to the garden' or 'John discarded the apple' but not both then Julius is a swan. It is likely that if 'Greg is a swan and John discarded the apple' then Bernhard is a lion.
It is likely that 'Julius is a swan and John discarded the apple'.
It is impossible that 'Julius is a swan and John discarded the apple'.
It is likely that 'Julius is a swan and John discarded the apple'.

  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.02::factA.
  0.9::factB.
  0.2::factC.
  %hop1
  0.7::factX:-or(factC,factA).
  0.05::factY:-xor(factA,factC).
  0.7::factZ:-and(factB,factC).

  %hop2
  conclusion:-and(factY,factC).

  query(conclusion).
  
'Julius is a swan and John discarded the apple'.