It is likely that John went to the garden. It is highly likely that Mary got the football. It is likely that Brian is yellow. It is certain that if 'Brian is yellow' or 'John went to the garden' or both then Bernhard is green. It is likely that if 'Mary got the football and Brian is yellow' then Sandra dropped the apple. It is almost certain that if 'John went to the garden' or 'Brian is yellow' or both then Greg is a rhino.
There is little chance that 'Greg is a rhino and John went to the garden'.
It is likely that 'Greg is a rhino and John went to the garden'.
There is little chance that 'Greg is a rhino and John went to the garden'.

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

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

  query(conclusion).
  
'Greg is a rhino and John went to the garden'.