There is almost no chance that Brian is a rhino. It is highly unlikely that John moved to the garden. It is probably not the case that Mary got the apple. It is improbable that if 'John moved to the garden and Mary got the apple' then Bill went to the office. It is probably not the case that if either 'Brian is a rhino' or 'Mary got the apple' but not both then Julius is a lion. It is likely that if 'John moved to the garden and Mary got the apple' then Sandra left the milk.
It is impossible that 'Sandra left the milk and Brian is a rhino'.
It is impossible that 'Sandra left the milk and Brian is a rhino'.
It is almost certain that 'Sandra left the milk and Brian is a rhino'.

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

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

  query(conclusion).
  
'Sandra left the milk and Brian is a rhino'.