context: It is almost certain that John moved to the garden. We doubt that Jason is tired. There is almost no chance that Julius is yellow. It is highly likely that if 'Jason is tired and John moved to the garden' then Brian is a swan. There is a better than even chance that if either 'Julius is yellow' or 'Jason is tired' but not both then Bernhard is a rhino. It is probable that if 'Jason is tired and John moved to the garden' then Sandra took the milk.
hypothesis: It is improbable that 'Bernhard is a rhino and Brian is a swan'.
valid_hypothesis: It is improbable that 'Bernhard is a rhino and Brian is a swan'.
invalid_hypothesis: It is highly likely that 'Bernhard is a rhino 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.95::factA.
    0.2::factB.
    0.02::factC.
    %hop1
    0.9::factX:-and(factB,factA).
    0.6::factY:-xor(factC,factB).
    0.7::factZ:-and(factB,factA).
  
    %hop2
    conclusion:-and(factY,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is a rhino and Brian is a swan'.