It is impossible that Bernhard is gray. It is probable that Mary went to the hallway. Chances are about even that Jeff left the football. It is almost certain that if 'Bernhard is gray' or 'Jeff left the football' or both then John discarded the apple. Chances are about even that if either 'Bernhard is gray' or 'Jeff left the football' but not both then Daniel put down the milk. It is certain that if 'Mary went to the hallway' or 'Jeff left the football' or both then Julius is a frog.
Chances are slight that 'Julius is a frog' or 'Mary went to the hallway' or both.
There is a very good chance that 'Julius is a frog' or 'Mary went to the hallway' or both.
Chances are slight that 'Julius is a frog' or 'Mary went to the hallway' 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.7::factB.
  0.5::factC.
  %hop1
  0.95::factX:-or(factA,factC).
  0.5::factY:-xor(factA,factC).
  1.0::factZ:-or(factB,factC).

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

  query(conclusion).
  
'Julius is a frog' or 'Mary went to the hallway' or both.