context: We doubt that John got the apple. It is certain that Julius is white. There is almost no chance that Lily is a frog. It is probably the case that if either 'John got the apple' or 'Lily is a frog' but not both then Bernhard is green. We doubt that if 'John got the apple and Julius is white' then Brian is white. It is unlikely that if 'Julius is white and Lily is a frog' then Bill left the milk.
hypothesis: It is highly unlikely that 'Brian is white' or 'Bill left the milk' or both.
valid_hypothesis: It is highly unlikely that 'Brian is white' or 'Bill left the milk' or both.
invalid_hypothesis: It is probably the case that 'Brian is white' or 'Bill left the milk' or 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.2::factA.
    1.0::factB.
    0.02::factC.
    %hop1
    0.7::factX:-xor(factA,factC).
    0.2::factY:-and(factA,factB).
    0.2::factZ:-and(factB,factC).
  
    %hop2
    conclusion:-or(factY,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is white' or 'Bill left the milk' or both.