context: It is probably not the case that Emily is a wolf. It is almost certain that Brian is yellow. It is probably not the case that Mary left the football. It is improbable that if 'Mary left the football and Brian is yellow' then Greg is a frog. It is likely that if 'Mary left the football and Emily is a wolf' then Julius is white. It is impossible that if 'Brian is yellow and Emily is a wolf' then John went to the bedroom.
hypothesis: There is almost no chance that 'Greg is a frog' or 'John went to the bedroom' or both.
valid_hypothesis: There is almost no chance that 'Greg is a frog' or 'John went to the bedroom' or both.
invalid_hypothesis: It is highly likely that 'Greg is a frog' or 'John went to the bedroom' 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.25::factA.
    0.95::factB.
    0.25::factC.
    %hop1
    0.1::factX:-and(factC,factB).
    0.7::factY:-and(factC,factA).
    0.0::factZ:-and(factB,factA).
  
    %hop2
    conclusion:-or(factX,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Greg is a frog' or 'John went to the bedroom' or both.