context: It is likely that Winona is a wolf. Chances are about even that Mary went to the bedroom. It is certain that Bernhard is gray. It is probably not the case that if either 'Bernhard is gray' or 'Winona is a wolf' but not both then Emily is a wolf. There is a better than even chance that if either 'Winona is a wolf' or 'Mary went to the bedroom' but not both then Daniel took the apple. We doubt that if 'Winona is a wolf and Mary went to the bedroom' then Brian is a swan.
hypothesis: It is probably the case that 'Winona is a wolf' or 'Brian is a swan' or both.
valid_hypothesis: It is probably the case that 'Winona is a wolf' or 'Brian is a swan' or both.
invalid_hypothesis: There is almost no chance that 'Winona is a wolf' or 'Brian is a swan' 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.7::factA.
    0.5::factB.
    1.0::factC.
    %hop1
    0.25::factX:-xor(factC,factA).
    0.6::factY:-xor(factA,factB).
    0.2::factZ:-and(factA,factB).
  
    %hop2
    conclusion:-or(factA,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Winona is a wolf' or 'Brian is a swan' or both.