context: There is almost no chance that Sandra took the milk. It is unlikely that Julius is yellow. It is likely that Jason is thirsty. It is probable that if 'Jason is thirsty' or 'Sandra took the milk' or both then Winona is a wolf. It is probably not the case that if either 'Julius is yellow' or 'Sandra took the milk' but not both then Brian is white. There is little chance that if either 'Jason is thirsty' or 'Sandra took the milk' but not both then Greg is a swan.
hypothesis: It is impossible that 'Brian is white' or 'Winona is a wolf' or both.
valid_hypothesis: Chances are about even that 'Brian is white' or 'Winona is a wolf' or both.
invalid_hypothesis: It is impossible that 'Brian is white' or 'Winona is a wolf' 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.02::factA.
    0.2::factB.
    0.7::factC.
    %hop1
    0.7::factX:-or(factC,factA).
    0.25::factY:-xor(factB,factA).
    0.1::factZ:-xor(factC,factA).
  
    %hop2
    conclusion:-or(factY,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is white' or 'Winona is a wolf' or both.