context: We doubt that Sumit is thirsty. It is probably not the case that Bernhard is gray. There is a very good chance that John discarded the milk. There is a very good chance that if 'Bernhard is gray' or 'Sumit is thirsty' or both then Mary got the football. It is highly unlikely that if either 'Sumit is thirsty' or 'Bernhard is gray' but not both then Greg is a swan. There is almost no chance that if 'Sumit is thirsty' or 'John discarded the milk' or both then Emily is a wolf.
hypothesis: It is highly likely that 'Mary got the football' or 'John discarded the milk' or both.
valid_hypothesis: It is highly likely that 'Mary got the football' or 'John discarded the milk' or both.
invalid_hypothesis: It is unlikely that 'Mary got the football' or 'John discarded 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.
    0.25::factB.
    0.8::factC.
    %hop1
    0.8::factX:-or(factB,factA).
    0.05::factY:-xor(factA,factB).
    0.02::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-or(factX,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary got the football' or 'John discarded the milk' or both.