It is probably not the case that Daniel took the apple. It is improbable that Mary got the milk. We doubt that Bernhard is gray. It is improbable that if either 'Daniel took the apple' or 'Mary got the milk' but not both then Brian is white. There is a very good chance that if either 'Mary got the milk' or 'Daniel took the apple' but not both then Greg is a lion. We doubt that if 'Bernhard is gray' or 'Daniel took the apple' or both then John moved to the garden.
It is impossible that 'John moved to the garden and Brian is white'.
It is impossible that 'John moved to the garden and Brian is white'.
It is almost certain that 'John moved to the garden and Brian is white'.

  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.25::factA.
  0.1::factB.
  0.2::factC.
  %hop1
  0.1::factX:-xor(factA,factB).
  0.8::factY:-xor(factB,factA).
  0.2::factZ:-or(factC,factA).

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

  query(conclusion).
  
'John moved to the garden and Brian is white'.