context: There is almost no chance that Bernhard is green. There is a very good chance that Julius is gray. We believe that Mary got the football. It is certain that if 'Julius is gray' or 'Mary got the football' or both then Brian is a lion. It is unlikely that if 'Bernhard is green and Mary got the football' then John went to the kitchen. It is highly unlikely that if 'Bernhard is green and Mary got the football' then Lily is a swan.
hypothesis: It is impossible that 'Brian is a lion' or 'Lily is a swan' or both.
valid_hypothesis: It is almost certain that 'Brian is a lion' or 'Lily is a swan' or both.
invalid_hypothesis: It is impossible that 'Brian is a lion' or 'Lily 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.02::factA.
    0.8::factB.
    0.75::factC.
    %hop1
    1.0::factX:-or(factB,factC).
    0.2::factY:-and(factA,factC).
    0.05::factZ:-and(factA,factC).
  
    %hop2
    conclusion:-or(factX,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is a lion' or 'Lily is a swan' or both.