There is almost no chance that Brian is a rhino. There is little chance that Yann is hungry. There is almost no chance that John left the football. It is probably the case that if either 'John left the football' or 'Brian is a rhino' but not both then Mary moved to the office. There is a very good chance that if 'Yann is hungry' or 'Brian is a rhino' or both then Julius is a swan. It is certain that if either 'Yann is hungry' or 'Brian is a rhino' but not both then Greg is white.
There is almost no chance that 'Julius is a swan and Mary moved to the office'.
There is almost no chance that 'Julius is a swan and Mary moved to the office'.
It is likely that 'Julius is a swan and Mary moved to the office'.

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

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

  query(conclusion).
  
'Julius is a swan and Mary moved to the office'.