Chances are about even that Sumit is tired. It is likely that Antoine is thirsty. Chances are slight that Brian is a lion. We doubt that if either 'Brian is a lion' or 'Antoine is thirsty' but not both then Winona is a mouse. It is probably the case that if 'Antoine is thirsty' or 'Sumit is tired' or both then Bernhard is a frog. Chances are slight that if either 'Brian is a lion' or 'Antoine is thirsty' but not both then John moved to the garden.
It is almost certain that 'Sumit is tired and Antoine is thirsty'.
It is probably not the case that 'Sumit is tired and Antoine is thirsty'.
It is almost certain that 'Sumit is tired and Antoine is thirsty'.

  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.5::factA.
  0.7::factB.
  0.1::factC.
  %hop1
  0.2::factX:-xor(factC,factB).
  0.7::factY:-or(factB,factA).
  0.1::factZ:-xor(factC,factB).

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

  query(conclusion).
  
'Sumit is tired and Antoine is thirsty'.