Chances are slight that Bernhard is green. It is highly unlikely that John discarded the milk. We believe that Brian is a lion. We believe that if 'Bernhard is green' or 'Brian is a lion' or both then Jeff went to the bedroom. It is unlikely that if 'Bernhard is green and John discarded the milk' then Greg is white. It is probable that if either 'Bernhard is green' or 'John discarded the milk' but not both then Mary moved to the garden.
It is impossible that 'Greg is white and Brian is a lion'.
It is impossible that 'Greg is white and Brian is a lion'.
Chances are about even that 'Greg is white and Brian is a lion'.

  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.1::factA.
  0.05::factB.
  0.75::factC.
  %hop1
  0.75::factX:-or(factA,factC).
  0.2::factY:-and(factA,factB).
  0.7::factZ:-xor(factA,factB).

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

  query(conclusion).
  
'Greg is white and Brian is a lion'.