It is probably the case that Brian is white. It is unlikely that Julius is yellow. It is almost certain that John put down the apple. It is impossible that if either 'Julius is yellow' or 'Brian is white' but not both then Bernhard is a swan. It is unlikely that if 'Julius is yellow' or 'John put down the apple' or both then Mary left the football. It is highly likely that if 'John put down the apple' or 'Julius is yellow' or both then Lily is a lion.
It is unlikely that 'Lily is a lion' or 'Brian is white' or both.
It is almost certain that 'Lily is a lion' or 'Brian is white' or both.
It is unlikely that 'Lily is a lion' or 'Brian is white' 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.7::factA.
  0.2::factB.
  0.95::factC.
  %hop1
  0.0::factX:-xor(factB,factA).
  0.2::factY:-or(factB,factC).
  0.9::factZ:-or(factC,factB).

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

  query(conclusion).
  
'Lily is a lion' or 'Brian is white' or both.