It is probable that Greg is a lion. It is highly likely that Brian is white. There is little chance that Mary went to the garden. It is likely that if 'Mary went to the garden' or 'Greg is a lion' or both then Julius is green. It is impossible that if 'Mary went to the garden' or 'Brian is white' or both then John got the milk. It is probably the case that if 'Brian is white' or 'Greg is a lion' or both then Lily is a frog.
It is likely that 'Greg is a lion and John got the milk'.
It is impossible that 'Greg is a lion and John got the milk'.
It is likely that 'Greg is a lion and John got the milk'.

  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.1::factC.
  %hop1
  0.7::factX:-or(factC,factA).
  0.0::factY:-or(factC,factB).
  0.7::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Greg is a lion and John got the milk'.