We doubt that Greg is a lion. It is almost certain that John went to the garden. We believe that Sumit is tired. It is improbable that if 'Sumit is tired and John went to the garden' then Daniel left the milk. It is unlikely that if either 'John went to the garden' or 'Sumit is tired' but not both then Brian is a swan. It is highly likely that if either 'John went to the garden' or 'Greg is a lion' but not both then Bernhard is a frog.
It is impossible that 'Sumit is tired and Brian is a swan'.
It is impossible that 'Sumit is tired and Brian is a swan'.
We believe that 'Sumit is tired and Brian is a swan'.

  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.95::factB.
  0.75::factC.
  %hop1
  0.1::factX:-and(factC,factB).
  0.2::factY:-xor(factB,factC).
  0.9::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Sumit is tired and Brian is a swan'.