There is a very good chance that Brian is a frog. There is almost no chance that Mary got the milk. There is little chance that John moved to the office. It is probably not the case that if 'Mary got the milk' or 'Brian is a frog' or both then Emily is a mouse. It is improbable that if 'John moved to the office and Mary got the milk' then Greg is a rhino. Chances are about even that if 'Mary got the milk' or 'Brian is a frog' or both then Bernhard is a lion.
It is probable that 'Bernhard is a lion and Emily is a mouse'.
There is little chance that 'Bernhard is a lion and Emily is a mouse'.
It is probable that 'Bernhard is a lion and Emily is a mouse'.

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

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

  query(conclusion).
  
'Bernhard is a lion and Emily is a mouse'.