We believe that Mary left the football. It is improbable that Brian is a frog. Chances are about even that John moved to the garden. It is certain that if either 'John moved to the garden' or 'Brian is a frog' but not both then Gertrude is a cat. Chances are slight that if 'Brian is a frog and John moved to the garden' then Greg is green. There is a very good chance that if 'John moved to the garden' or 'Mary left the football' or both then Lily is a swan.
It is impossible that 'John moved to the garden and Greg is green'.
It is impossible that 'John moved to the garden and Greg is green'.
It is likely that 'John moved to the garden and Greg is green'.

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

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

  query(conclusion).
  
'John moved to the garden and Greg is green'.