It is probably the case that Jeff went to the bedroom. It is certain that Julius is gray. Chances are about even that Bernhard is gray. Chances are slight that if 'Bernhard is gray and Jeff went to the bedroom' then Sumit is thirsty. There is a better than even chance that if 'Jeff went to the bedroom' or 'Julius is gray' or both then Greg is a frog. There is almost no chance that if 'Julius is gray and Jeff went to the bedroom' then John grabbed the apple.
It is certain that 'Bernhard is gray and Greg is a frog'.
It is probably not the case that 'Bernhard is gray and Greg is a frog'.
It is certain that 'Bernhard is gray and Greg is a frog'.

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

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

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