It is certain that Bill went to the garden. There is almost no chance that Bernhard is gray. It is almost certain that Jessica is a cat. It is certain that if 'Bill went to the garden and Jessica is a cat' then Winona is a mouse. It is probably not the case that if 'Jessica is a cat and Bernhard is gray' then Greg is a swan. There is little chance that if either 'Bill went to the garden' or 'Bernhard is gray' but not both then John put down the apple.
It is highly likely that 'Winona is a mouse and John put down the apple'.
It is improbable that 'Winona is a mouse and John put down the apple'.
It is highly likely that 'Winona is a mouse and John put down the apple'.

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

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

  query(conclusion).
  
'Winona is a mouse and John put down the apple'.