It is highly likely that Mary went to the garden. Chances are slight that Jessica is a cat. There is almost no chance that Bernhard is yellow. It is certain that if 'Bernhard is yellow' or 'Mary went to the garden' or both then John got the apple. It is improbable that if 'Mary went to the garden and Bernhard is yellow' then Greg is a swan. It is highly unlikely that if either 'Jessica is a cat' or 'Bernhard is yellow' but not both then Sumit is thirsty.
It is probable that 'Jessica is a cat and Greg is a swan'.
It is impossible that 'Jessica is a cat and Greg is a swan'.
It is probable that 'Jessica is a cat and Greg is a swan'.

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

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

  query(conclusion).
  
'Jessica is a cat and Greg is a swan'.