context: There is a very good chance that Brian is a swan. Chances are about even that Daniel got the football. There is little chance that Sandra dropped the milk. It is probable that if either 'Sandra dropped the milk' or 'Daniel got the football' but not both then Winona is a sheep. It is highly unlikely that if 'Sandra dropped the milk and Daniel got the football' then Julius is gray. It is probable that if 'Brian is a swan and Sandra dropped the milk' then Greg is a lion.
hypothesis: There is a very good chance that 'Winona is a sheep and Brian is a swan'.
valid_hypothesis: It is probably not the case that 'Winona is a sheep and Brian is a swan'.
invalid_hypothesis: There is a very good chance that 'Winona is a sheep and Brian is a swan'.
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.8::factA.
    0.5::factB.
    0.1::factC.
    %hop1
    0.7::factX:-xor(factC,factB).
    0.05::factY:-and(factC,factB).
    0.7::factZ:-and(factA,factC).
  
    %hop2
    conclusion:-and(factX,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Winona is a sheep and Brian is a swan'.