There is almost no chance that Lily is a frog. We doubt that Mary picked up the milk. It is improbable that John took the football. It is almost certain that if 'Mary picked up the milk' or 'Lily is a frog' or both then Jeff went to the bedroom. It is probably the case that if 'John took the football' or 'Mary picked up the milk' or both then Brian is gray. It is impossible that if 'Mary picked up the milk' or 'Lily is a frog' or both then Greg is a swan.
It is certain that 'Brian is gray and Jeff went to the bedroom'.
There is little chance that 'Brian is gray and Jeff went to the bedroom'.
It is certain that 'Brian is gray and Jeff went to the bedroom'.

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

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

  query(conclusion).
  
'Brian is gray and Jeff went to the bedroom'.