It is probably the case that Bernhard is gray. It is probably not the case that Jason is tired. Chances are slight that Lily is yellow. It is improbable that if either 'Lily is yellow' or 'Bernhard is gray' but not both then Mary went to the bedroom. It is highly likely that if 'Jason is tired' or 'Lily is yellow' or both then Brian is a rhino. It is highly unlikely that if 'Bernhard is gray and Lily is yellow' then John grabbed the apple.
It is likely that 'Bernhard is gray and Mary went to the bedroom'.
It is highly unlikely that 'Bernhard is gray and Mary went to the bedroom'.
It is likely that 'Bernhard is gray and Mary went to the bedroom'.

  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.
  0.25::factB.
  0.1::factC.
  %hop1
  0.1::factX:-xor(factC,factA).
  0.9::factY:-or(factB,factC).
  0.05::factZ:-and(factA,factC).

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

  query(conclusion).
  
'Bernhard is gray and Mary went to the bedroom'.