It is probably not the case that Bernhard is white. It is likely that Julius is green. There is almost no chance that John went to the garden. We believe that if 'John went to the garden and Julius is green' then Greg is a frog. It is probable that if 'Bernhard is white' or 'Julius is green' or both then Jessica is a mouse. It is improbable that if 'Bernhard is white and John went to the garden' then Brian is gray.
It is impossible that 'Greg is a frog and Bernhard is white'.
It is impossible that 'Greg is a frog and Bernhard is white'.
It is almost certain that 'Greg is a frog and Bernhard is white'.

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

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

  query(conclusion).
  
'Greg is a frog and Bernhard is white'.