It is unlikely that John dropped the apple. It is improbable that Brian is a lion. We believe that Antoine is bored. It is certain that if 'John dropped the apple' or 'Brian is a lion' or both then Winona is a sheep. It is highly likely that if 'Brian is a lion' or 'John dropped the apple' or both then Greg is a swan. There is a very good chance that if 'Brian is a lion' or 'Antoine is bored' or both then Bill went to the garden.
We believe that 'Bill went to the garden' or 'Antoine is bored' or both.
We believe that 'Bill went to the garden' or 'Antoine is bored' or both.
There is almost no chance that 'Bill went to the garden' or 'Antoine is bored' or both.

  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.2::factA.
  0.1::factB.
  0.75::factC.
  %hop1
  1.0::factX:-or(factA,factB).
  0.9::factY:-or(factB,factA).
  0.8::factZ:-or(factB,factC).

  %hop2
  conclusion:-or(factZ,factC).

  query(conclusion).
  
'Bill went to the garden' or 'Antoine is bored' or both.