It is certain that Mary left the football. It is probably not the case that Lily is a frog. There is little chance that Brian is green. It is unlikely that if either 'Lily is a frog' or 'Brian is green' but not both then Julius is gray. There is little chance that if either 'Mary left the football' or 'Brian is green' but not both then Gertrude is a mouse. Chances are slight that if 'Lily is a frog and Brian is green' then Greg is a lion.
There is a very good chance that 'Greg is a lion and Gertrude is a mouse'.
It is impossible that 'Greg is a lion and Gertrude is a mouse'.
There is a very good chance that 'Greg is a lion and Gertrude is a mouse'.

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

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

  query(conclusion).
  
'Greg is a lion and Gertrude is a mouse'.