It is probably not the case that Jessica is a mouse. It is impossible that Greg is green. Chances are slight that John went to the garden. There is almost no chance that if 'John went to the garden' or 'Greg is green' or both then Brian is yellow. It is probably not the case that if either 'Greg is green' or 'Jessica is a mouse' but not both then Emily is a cat. It is probably the case that if 'Greg is green' or 'John went to the garden' or both then Mary got the milk.
It is impossible that 'Greg is green and Emily is a cat'.
It is impossible that 'Greg is green and Emily is a cat'.
It is certain that 'Greg is green 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.0::factB.
  0.1::factC.
  %hop1
  0.02::factX:-or(factC,factB).
  0.25::factY:-xor(factB,factA).
  0.7::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Greg is green and Emily is a cat'.