context: We doubt that Bernhard is a rhino. It is probably not the case that Yann is tired. Chances are about even that John moved to the office. It is likely that if either 'John moved to the office' or 'Bernhard is a rhino' but not both then Mary grabbed the apple. It is impossible that if either 'Yann is tired' or 'Bernhard is a rhino' but not both then Sandra took the milk. We doubt that if 'Bernhard is a rhino' or 'John moved to the office' or both then Julius is white.
hypothesis: It is improbable that 'Bernhard is a rhino and John moved to the office'.
valid_hypothesis: It is improbable that 'Bernhard is a rhino and John moved to the office'.
invalid_hypothesis: It is almost certain that 'Bernhard is a rhino and John moved to the office'.
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.25::factB.
    0.5::factC.
    %hop1
    0.7::factX:-xor(factC,factA).
    0.0::factY:-xor(factB,factA).
    0.2::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-and(factA,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is a rhino and John moved to the office'.