It is probably the case that Julius is white. There is almost no chance that Bernhard is a lion. We doubt that John moved to the garden. It is probable that if 'Julius is white and John moved to the garden' then Mary went to the office. There is almost no chance that if 'Julius is white' or 'John moved to the garden' or both then Brian is a rhino. It is highly likely that if either 'John moved to the garden' or 'Julius is white' but not both then Greg is yellow.
It is impossible that 'John moved to the garden and Brian is a rhino'.
It is impossible that 'John moved to the garden and Brian is a rhino'.
There is a better than even chance that 'John moved to the garden and Brian is a rhino'.

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

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

  query(conclusion).
  
'John moved to the garden and Brian is a rhino'.