It is probably not the case that Mary went to the kitchen. It is probable that Brian is green. It is impossible that John dropped the milk. There is little chance that if 'Mary went to the kitchen and Brian is green' then Julius is a swan. There is almost no chance that if 'Mary went to the kitchen' or 'Brian is green' or both then Gertrude is a wolf. There is little chance that if either 'Mary went to the kitchen' or 'John dropped the milk' but not both then Emily is a cat.
It is impossible that 'John dropped the milk and Emily is a cat'.
It is impossible that 'John dropped the milk and Emily is a cat'.
It is likely that 'John dropped the milk and Emily is a cat'.

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

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

  query(conclusion).
  
'John dropped the milk and Emily is a cat'.