We believe that Lily is a swan. There is a very good chance that Jeff moved to the garden. There is a very good chance that John went to the hallway. It is probably not the case that if 'John went to the hallway and Jeff moved to the garden' then Gertrude is a cat. It is probable that if 'Lily is a swan' or 'John went to the hallway' or both then Greg is a frog. It is improbable that if 'Lily is a swan' or 'Jeff moved to the garden' or both then Mary is in the hallway.
It is likely that 'Gertrude is a cat and Greg is a frog'.
There is little chance that 'Gertrude is a cat and Greg is a frog'.
It is likely that 'Gertrude is a cat and Greg is a frog'.

  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.75::factA.
  0.8::factB.
  0.8::factC.
  %hop1
  0.25::factX:-and(factC,factB).
  0.7::factY:-or(factA,factC).
  0.1::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Gertrude is a cat and Greg is a frog'.