context: There is a better than even chance that John went to the hallway. Chances are slight that Brian is a frog. Chances are about even that Sandra dropped the apple. It is almost certain that if either 'Sandra dropped the apple' or 'Brian is a frog' but not both then Bernhard is white. There is almost no chance that if either 'John went to the hallway' or 'Brian is a frog' but not both then Julius is gray. It is almost certain that if 'Sandra dropped the apple' or 'John went to the hallway' or both then Mary left the milk.
hypothesis: There is almost no chance that either 'Bernhard is white' or 'John went to the hallway' but not both.
valid_hypothesis: Chances are about even that either 'Bernhard is white' or 'John went to the hallway' but not both.
invalid_hypothesis: There is almost no chance that either 'Bernhard is white' or 'John went to the hallway' but not both.
problog: 
    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.6::factA.
    0.1::factB.
    0.5::factC.
    %hop1
    0.95::factX:-xor(factC,factB).
    0.02::factY:-xor(factA,factB).
    0.95::factZ:-or(factC,factA).
  
    %hop2
    conclusion:-xor(factX,factA).
  
    query(conclusion).
    
hypothesis_assertion: Either 'Bernhard is white' or 'John went to the hallway' but not both.