It is almost certain that Yann is bored. It is improbable that Greg is a rhino. It is highly unlikely that Brian is white. It is probably not the case that if 'Yann is bored' or 'Brian is white' or both then Daniel put down the milk. Chances are slight that if 'Yann is bored and Brian is white' then Julius is a frog. There is little chance that if 'Yann is bored and Greg is a rhino' then John went to the bedroom.
There is a very good chance that 'Greg is a rhino and Brian is white'.
It is impossible that 'Greg is a rhino and Brian is white'.
There is a very good chance that 'Greg is a rhino and Brian is white'.

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

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

  query(conclusion).
  
'Greg is a rhino and Brian is white'.