It is likely that Brian is a swan. It is highly unlikely that Bernhard is a rhino. We believe that Jeff went to the bedroom. It is unlikely that if 'Bernhard is a rhino' or 'Brian is a swan' or both then John discarded the apple. It is highly likely that if 'Brian is a swan' or 'Jeff went to the bedroom' or both then Mary moved to the garden. We doubt that if either 'Bernhard is a rhino' or 'Brian is a swan' but not both then Lily is a lion.
It is impossible that 'Jeff went to the bedroom and Mary moved to the garden'.
It is probable that 'Jeff went to the bedroom and Mary moved to the garden'.
It is impossible that 'Jeff went to the bedroom 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.7::factA.
  0.05::factB.
  0.75::factC.
  %hop1
  0.2::factX:-or(factB,factA).
  0.9::factY:-or(factA,factC).
  0.2::factZ:-xor(factB,factA).

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

  query(conclusion).
  
'Jeff went to the bedroom and Mary moved to the garden'.