It is highly unlikely that John went to the kitchen. It is almost certain that Jason is tired. Chances are slight that Bernhard is a rhino. There is almost no chance that if 'Bernhard is a rhino' or 'John went to the kitchen' or both then Sandra left the apple. It is impossible that if 'Jason is tired and John went to the kitchen' then Greg is green. It is likely that if either 'Bernhard is a rhino' or 'Jason is tired' but not both then Mary moved to the garden.
It is impossible that 'Bernhard is a rhino and John went to the kitchen'.
It is impossible that 'Bernhard is a rhino and John went to the kitchen'.
There is a better than even chance that 'Bernhard is a rhino and John went to the kitchen'.

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

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

  query(conclusion).
  
'Bernhard is a rhino and John went to the kitchen'.