It is certain that Bernhard is yellow. There is almost no chance that Greg is yellow. It is probable that Julius is green. It is highly unlikely that if 'Julius is green' or 'Greg is yellow' or both then Mary went to the bedroom. It is impossible that if either 'Julius is green' or 'Greg is yellow' but not both then Sandra put down the milk. There is almost no chance that if 'Greg is yellow' or 'Bernhard is yellow' or both then John moved to the office.
It is impossible that 'Greg is yellow and Mary went to the bedroom'.
It is impossible that 'Greg is yellow and Mary went to the bedroom'.
We believe that 'Greg is yellow 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
  1.0::factA.
  0.02::factB.
  0.7::factC.
  %hop1
  0.05::factX:-or(factC,factB).
  0.0::factY:-xor(factC,factB).
  0.02::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Greg is yellow and Mary went to the bedroom'.