context: We believe that Yann is hungry. There is almost no chance that Bernhard is yellow. There is a better than even chance that Mary went to the bedroom. It is certain that if either 'Bernhard is yellow' or 'Yann is hungry' but not both then Sandra left the milk. It is improbable that if either 'Yann is hungry' or 'Bernhard is yellow' but not both then John put down the apple. It is likely that if 'Yann is hungry' or 'Mary went to the bedroom' or both then Greg is a swan.
hypothesis: There is a better than even chance that 'Mary went to the bedroom' or 'John put down the apple' or both.
valid_hypothesis: There is a better than even chance that 'Mary went to the bedroom' or 'John put down the apple' or both.
invalid_hypothesis: It is highly unlikely that 'Mary went to the bedroom' or 'John put down 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.75::factA.
    0.02::factB.
    0.6::factC.
    %hop1
    1.0::factX:-xor(factB,factA).
    0.1::factY:-xor(factA,factB).
    0.7::factZ:-or(factA,factC).
  
    %hop2
    conclusion:-or(factC,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary went to the bedroom' or 'John put down the apple' or both.