It is almost certain that John dropped the apple. We doubt that Julius is white. It is probable that Sandra grabbed the milk. It is probable that if 'John dropped the apple and Sandra grabbed the milk' then Lily is a rhino. It is almost certain that if 'Julius is white' or 'John dropped the apple' or both then Yann is tired. It is probable that if 'John dropped the apple and Sandra grabbed the milk' then Brian is a swan.
It is almost certain that 'Brian is a swan' or 'Yann is tired' or both.
It is almost certain that 'Brian is a swan' or 'Yann is tired' or both.
Chances are slight that 'Brian is a swan' or 'Yann is tired' or both.

  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.2::factB.
  0.7::factC.
  %hop1
  0.7::factX:-and(factA,factC).
  0.95::factY:-or(factB,factA).
  0.7::factZ:-and(factA,factC).

  %hop2
  conclusion:-or(factZ,factY).

  query(conclusion).
  
'Brian is a swan' or 'Yann is tired' or both.