There is a very good chance that Greg is a frog. It is certain that Sumit is hungry. It is likely that John dropped the milk. It is impossible that if 'Greg is a frog and John dropped the milk' then Julius is white. There is almost no chance that if 'John dropped the milk' or 'Greg is a frog' or both then Mary went to the garden. It is certain that if either 'Sumit is hungry' or 'John dropped the milk' but not both then Lily is green.
There is almost no chance that 'Greg is a frog and Sumit is hungry'.
There is a very good chance that 'Greg is a frog and Sumit is hungry'.
There is almost no chance that 'Greg is a frog and Sumit is hungry'.

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

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

  query(conclusion).
  
'Greg is a frog and Sumit is hungry'.