It is impossible that Gertrude is a mouse. Chances are about even that Bernhard is gray. It is almost certain that Brian is a rhino. We believe that if either 'Brian is a rhino' or 'Gertrude is a mouse' but not both then John went to the garden. There is a better than even chance that if 'Gertrude is a mouse' or 'Brian is a rhino' or both then Julius is white. It is unlikely that if 'Bernhard is gray and Gertrude is a mouse' then Lily is green.
It is certain that 'Julius is white and John went to the garden'.
Chances are about even that 'Julius is white and John went to the garden'.
It is certain that 'Julius is white and John 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.0::factA.
  0.5::factB.
  0.95::factC.
  %hop1
  0.75::factX:-xor(factC,factA).
  0.6::factY:-or(factA,factC).
  0.2::factZ:-and(factB,factA).

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

  query(conclusion).
  
'Julius is white and John went to the garden'.