There is a very good chance that Bernhard is green. It is probably the case that John put down the apple. It is probably not the case that Sandra took the football. It is almost certain that if 'Bernhard is green and Sandra took the football' then Mary went to the garden. There is little chance that if either 'Bernhard is green' or 'John put down the apple' but not both then Winona is a mouse. There is a very good chance that if either 'Sandra took the football' or 'Bernhard is green' but not both then Brian is yellow.
There is a better than even chance that 'Mary went to the garden and Brian is yellow'.
It is impossible that 'Mary went to the garden and Brian is yellow'.
There is a better than even chance that 'Mary went to the garden and Brian is yellow'.

  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.8::factA.
  0.7::factB.
  0.25::factC.
  %hop1
  0.95::factX:-and(factA,factC).
  0.1::factY:-xor(factA,factB).
  0.8::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Mary went to the garden and Brian is yellow'.