context: There is little chance that Greg is a frog. There is a very good chance that Mary went to the bedroom. It is probably not the case that John left the football. It is unlikely that if 'John left the football' or 'Mary went to the bedroom' or both then Lily is a lion. It is probably the case that if 'Mary went to the bedroom' or 'John left the football' or both then Gertrude is a cat. It is highly unlikely that if either 'Greg is a frog' or 'Mary went to the bedroom' but not both then Bernhard is a swan.
hypothesis: There is almost no chance that 'Bernhard is a swan and Gertrude is a cat'.
valid_hypothesis: There is almost no chance that 'Bernhard is a swan and Gertrude is a cat'.
invalid_hypothesis: There is a very good chance that 'Bernhard is a swan and Gertrude is a cat'.
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.1::factA.
    0.8::factB.
    0.25::factC.
    %hop1
    0.2::factX:-or(factC,factB).
    0.7::factY:-or(factB,factC).
    0.05::factZ:-xor(factA,factB).
  
    %hop2
    conclusion:-and(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is a swan and Gertrude is a cat'.