We believe that Jessica is a cat. There is little chance that Emily is a wolf. It is almost certain that Lily is a frog. We doubt that if either 'Emily is a wolf' or 'Jessica is a cat' but not both then Bill went to the garden. We doubt that if 'Lily is a frog and Emily is a wolf' then Julius is white. It is certain that if 'Emily is a wolf' or 'Jessica is a cat' or both then John discarded the milk.
There is little chance that 'John discarded the milk and Bill went to the garden'.
There is little chance that 'John discarded the milk and Bill went to the garden'.
It is highly likely that 'John discarded the milk and Bill went to the garden'.

  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.75::factA.
  0.1::factB.
  0.95::factC.
  %hop1
  0.2::factX:-xor(factB,factA).
  0.2::factY:-and(factC,factB).
  1.0::factZ:-or(factB,factA).

  %hop2
  conclusion:-and(factZ,factX).

  query(conclusion).
  
'John discarded the milk and Bill went to the garden'.