There is little chance that John went to the hallway. It is likely that Bill left the football. There is little chance that Lily is yellow. It is unlikely that if either 'Bill left the football' or 'John went to the hallway' but not both then Brian is a rhino. Chances are slight that if 'Bill left the football' or 'Lily is yellow' or both then Bernhard is gray. It is likely that if either 'Lily is yellow' or 'John went to the hallway' but not both then Winona is a wolf.
It is probable that 'Bernhard is gray' or 'Bill left the football' or both.
It is probable that 'Bernhard is gray' or 'Bill left the football' or both.
It is probably not the case that 'Bernhard is gray' or 'Bill left the football' 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.1::factA.
  0.7::factB.
  0.1::factC.
  %hop1
  0.2::factX:-xor(factB,factA).
  0.1::factY:-or(factB,factC).
  0.7::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'Bernhard is gray' or 'Bill left the football' or both.