context: There is almost no chance that Bernhard is yellow. It is highly unlikely that Mary moved to the office. There is almost no chance that John dropped the apple. It is impossible that if either 'John dropped the apple' or 'Mary moved to the office' but not both then Julius is white. There is little chance that if 'Mary moved to the office' or 'Bernhard is yellow' or both then Greg is a swan. We doubt that if 'Mary moved to the office' or 'Bernhard is yellow' or both then Daniel left the milk.
hypothesis: It is highly unlikely that 'Mary moved to the office' or 'John dropped the apple' or both.
valid_hypothesis: It is highly unlikely that 'Mary moved to the office' or 'John dropped the apple' or both.
invalid_hypothesis: It is probable that 'Mary moved to the office' or 'John dropped the apple' or both.
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.02::factA.
    0.05::factB.
    0.02::factC.
    %hop1
    0.0::factX:-xor(factC,factB).
    0.1::factY:-or(factB,factA).
    0.2::factZ:-or(factB,factA).
  
    %hop2
    conclusion:-or(factB,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary moved to the office' or 'John dropped the apple' or both.