context: It is highly likely that Mary left the apple. It is highly likely that Lily is white. There is a better than even chance that Greg is a swan. We believe that if either 'Greg is a swan' or 'Mary left the apple' but not both then Sandra took the football. It is certain that if 'Mary left the apple' or 'Lily is white' or both then John went to the garden. It is probable that if either 'Greg is a swan' or 'Mary left the apple' but not both then Winona is a cat.
hypothesis: It is almost certain that 'Winona is a cat' or 'Mary left the apple' or both.
valid_hypothesis: It is almost certain that 'Winona is a cat' or 'Mary left the apple' or both.
invalid_hypothesis: It is highly unlikely that 'Winona is a cat' or 'Mary left the apple' 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.9::factA.
    0.9::factB.
    0.6::factC.
    %hop1
    0.75::factX:-xor(factC,factA).
    1.0::factY:-or(factA,factB).
    0.7::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-or(factZ,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Winona is a cat' or 'Mary left the apple' or both.