It is highly likely that Greg is yellow. It is highly likely that Sandra got the milk. It is highly unlikely that Julius is a rhino. We believe that if 'Sandra got the milk and Julius is a rhino' then Bernhard is a swan. There is a very good chance that if 'Sandra got the milk and Julius is a rhino' then John went to the garden. It is almost certain that if 'Sandra got the milk and Julius is a rhino' then Brian is green.
There is almost no chance that 'Greg is yellow and John went to the garden'.
There is almost no chance that 'Greg is yellow and John went to the garden'.
It is almost certain that 'Greg is yellow 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.9::factA.
  0.9::factB.
  0.05::factC.
  %hop1
  0.75::factX:-and(factB,factC).
  0.8::factY:-and(factB,factC).
  0.95::factZ:-and(factB,factC).

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

  query(conclusion).
  
'Greg is yellow and John went to the garden'.