It is unlikely that Jeff moved to the garden. There is little chance that Jason is bored. There is little chance that Julius is a frog. It is probably the case that if 'Jason is bored' or 'Jeff moved to the garden' or both then Lily is gray. It is almost certain that if either 'Jeff moved to the garden' or 'Jason is bored' but not both then John discarded the apple. It is probably the case that if either 'Jason is bored' or 'Julius is a frog' but not both then Bernhard is a rhino.
There is almost no chance that 'Jeff moved to the garden and Jason is bored'.
There is almost no chance that 'Jeff moved to the garden and Jason is bored'.
We believe that 'Jeff moved to the garden and Jason is bored'.

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

  %hop2
  conclusion:-and(factA,factB).

  query(conclusion).
  
'Jeff moved to the garden and Jason is bored'.