It is highly unlikely that Julius is yellow. We doubt that Mary went to the office. There is little chance that John discarded the apple. Chances are slight that if 'Julius is yellow' or 'John discarded the apple' or both then Greg is a swan. We doubt that if 'Mary went to the office and John discarded the apple' then Jeff moved to the garden. It is certain that if 'Mary went to the office and John discarded the apple' then Brian is white.
We believe that 'Jeff moved to the garden' or 'Greg is a swan' or both.
There is almost no chance that 'Jeff moved to the garden' or 'Greg is a swan' or both.
We believe that 'Jeff moved to the garden' or 'Greg is a swan' 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.05::factA.
  0.2::factB.
  0.1::factC.
  %hop1
  0.1::factX:-or(factA,factC).
  0.2::factY:-and(factB,factC).
  1.0::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Jeff moved to the garden' or 'Greg is a swan' or both.