It is likely that Mary took the football. We believe that Greg is gray. We believe that Bernhard is white. It is almost certain that if either 'Mary took the football' or 'Bernhard is white' but not both then Brian is a lion. It is probably the case that if 'Mary took the football' or 'Bernhard is white' or both then Jessica is a cat. There is a very good chance that if 'Mary took the football and Greg is gray' then John put down the milk.
Chances are about even that 'Mary took the football and Jessica is a cat'.
Chances are about even that 'Mary took the football and Jessica is a cat'.
It is impossible that 'Mary took the football and Jessica 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.7::factA.
  0.75::factB.
  0.75::factC.
  %hop1
  0.95::factX:-xor(factA,factC).
  0.7::factY:-or(factA,factC).
  0.8::factZ:-and(factA,factB).

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

  query(conclusion).
  
'Mary took the football and Jessica is a cat'.