context: It is highly unlikely that Jeff left the apple. We believe that Greg is gray. We doubt that Mary went to the office. We doubt that if either 'Mary went to the office' or 'Jeff left the apple' but not both then Fred is in the cinema. It is probably not the case that if either 'Mary went to the office' or 'Greg is gray' but not both then John dropped the milk. It is probably not the case that if 'Jeff left the apple' or 'Greg is gray' or both then Bernhard is a rhino.
hypothesis: It is highly unlikely that 'Bernhard is a rhino and John dropped the milk'.
valid_hypothesis: It is highly unlikely that 'Bernhard is a rhino and John dropped the milk'.
invalid_hypothesis: It is highly likely that 'Bernhard is a rhino and John dropped the milk'.
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.05::factA.
    0.75::factB.
    0.2::factC.
    %hop1
    0.2::factX:-xor(factC,factA).
    0.25::factY:-xor(factC,factB).
    0.25::factZ:-or(factA,factB).
  
    %hop2
    conclusion:-and(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is a rhino and John dropped the milk'.