There is little chance that Brian is green. It is improbable that Sandra dropped the apple. There is a very good chance that John went to the kitchen. Chances are slight that if 'Sandra dropped the apple' or 'Brian is green' or both then Bernhard is a lion. It is impossible that if 'Sandra dropped the apple and John went to the kitchen' then Lily is a frog. There is little chance that if 'John went to the kitchen' or 'Brian is green' or both then Mary moved to the garden.
It is probable that 'Brian is green and Mary moved to the garden'.
There is almost no chance that 'Brian is green and Mary moved to the garden'.
It is probable that 'Brian is green and Mary moved to the garden'.

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

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

  query(conclusion).
  
'Brian is green and Mary moved to the garden'.