context: It is unlikely that Greg is a rhino. It is impossible that Mary went to the garden. It is highly unlikely that Bernhard is green. It is highly unlikely that if 'Mary went to the garden' or 'Bernhard is green' or both then Brian is yellow. It is improbable that if either 'Mary went to the garden' or 'Greg is a rhino' but not both then Jessica is a cat. Chances are about even that if 'Greg is a rhino and Mary went to the garden' then Gertrude is a cat.
hypothesis: It is almost certain that 'Gertrude is a cat and Greg is a rhino'.
valid_hypothesis: It is impossible that 'Gertrude is a cat and Greg is a rhino'.
invalid_hypothesis: It is almost certain that 'Gertrude is a cat and Greg is a rhino'.
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.2::factA.
    0.0::factB.
    0.05::factC.
    %hop1
    0.05::factX:-or(factB,factC).
    0.1::factY:-xor(factB,factA).
    0.5::factZ:-and(factA,factB).
  
    %hop2
    conclusion:-and(factZ,factA).
  
    query(conclusion).
    
hypothesis_assertion: 'Gertrude is a cat and Greg is a rhino'.