It is impossible that Gertrude is a sheep. Chances are slight that Jessica is a cat. It is probably the case that Daniel left the football. It is certain that if either 'Gertrude is a sheep' or 'Jessica is a cat' but not both then Bernhard is a frog. It is impossible that if either 'Jessica is a cat' or 'Daniel left the football' but not both then Greg is yellow. We believe that if 'Gertrude is a sheep' or 'Daniel left the football' or both then Lily is a swan.
It is probably the case that 'Daniel left the football' or 'Greg is yellow' or both.
It is probably the case that 'Daniel left the football' or 'Greg is yellow' or both.
There is almost no chance that 'Daniel left the football' or 'Greg is yellow' 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.0::factA.
  0.1::factB.
  0.7::factC.
  %hop1
  1.0::factX:-xor(factA,factB).
  0.0::factY:-xor(factB,factC).
  0.75::factZ:-or(factA,factC).

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

  query(conclusion).
  
'Daniel left the football' or 'Greg is yellow' or both.