It is improbable that John discarded the milk. There is a better than even chance that Mary moved to the garden. We doubt that Yann is tired. Chances are slight that if 'John discarded the milk and Yann is tired' then Julius is white. It is probably the case that if either 'Yann is tired' or 'Mary moved to the garden' but not both then Greg is a swan. Chances are about even that if either 'John discarded the milk' or 'Yann is tired' but not both then Lily is a frog.
It is almost certain that 'Yann is tired and Lily is a frog'.
There is little chance that 'Yann is tired and Lily is a frog'.
It is almost certain that 'Yann is tired and Lily is a frog'.

  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.1::factA.
  0.6::factB.
  0.2::factC.
  %hop1
  0.1::factX:-and(factA,factC).
  0.7::factY:-xor(factC,factB).
  0.5::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Yann is tired and Lily is a frog'.