There is little chance that Brian is green. It is improbable that Bernhard is a lion. Chances are about even that Gertrude is a mouse. There is a better than even chance that if 'Brian is green' or 'Bernhard is a lion' or both then Sumit is hungry. We doubt that if 'Bernhard is a lion and Brian is green' then Lily is yellow. There is a better than even chance that if 'Brian is green' or 'Gertrude is a mouse' or both then John got the apple.
It is probably the case that 'Sumit is hungry and Lily is yellow'.
It is impossible that 'Sumit is hungry and Lily is yellow'.
It is probably the case that 'Sumit is hungry and Lily is yellow'.

  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.1::factA.
  0.1::factB.
  0.5::factC.
  %hop1
  0.6::factX:-or(factA,factB).
  0.2::factY:-and(factB,factA).
  0.6::factZ:-or(factA,factC).

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

  query(conclusion).
  
'Sumit is hungry and Lily is yellow'.