context: We believe that John grabbed the milk. Chances are slight that Lily is green. It is impossible that Daniel took the apple. It is impossible that if either 'John grabbed the milk' or 'Daniel took the apple' but not both then Winona is a wolf. It is highly unlikely that if either 'Lily is green' or 'John grabbed the milk' but not both then Fred went to the garden. There is almost no chance that if 'Lily is green' or 'John grabbed the milk' or both then Bernhard is a lion.
hypothesis: Chances are slight that 'Bernhard is a lion' or 'Lily is green' or both.
valid_hypothesis: Chances are slight that 'Bernhard is a lion' or 'Lily is green' or both.
invalid_hypothesis: It is probable that 'Bernhard is a lion' or 'Lily is green' 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.75::factA.
    0.1::factB.
    0.0::factC.
    %hop1
    0.0::factX:-xor(factA,factC).
    0.05::factY:-xor(factB,factA).
    0.02::factZ:-or(factB,factA).
  
    %hop2
    conclusion:-or(factZ,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is a lion' or 'Lily is green' or both.