There is almost no chance that Mary went to the kitchen. It is impossible that Bernhard is a rhino. It is probably the case that Julius is a frog. It is certain that if 'Mary went to the kitchen' or 'Bernhard is a rhino' or both then Gertrude is a wolf. It is unlikely that if either 'Julius is a frog' or 'Bernhard is a rhino' but not both then Fred left the football. It is probable that if either 'Julius is a frog' or 'Mary went to the kitchen' but not both then Lily is white.
Chances are about even that 'Fred left the football' or 'Lily is white' or both.
Chances are about even that 'Fred left the football' or 'Lily is white' or both.
It is impossible that 'Fred left the football' or 'Lily 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.02::factA.
  0.0::factB.
  0.7::factC.
  %hop1
  1.0::factX:-or(factA,factB).
  0.2::factY:-xor(factC,factB).
  0.7::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Fred left the football' or 'Lily is white' or both.