context: It is probably not the case that Winona is a mouse. There is little chance that Fred put down the apple. It is probable that Julius is yellow. It is unlikely that if 'Fred put down the apple' or 'Julius is yellow' or both then Mary took the football. It is impossible that if either 'Winona is a mouse' or 'Fred put down the apple' but not both then John picked up the milk. We doubt that if 'Fred put down the apple' or 'Julius is yellow' or both then Lily is a frog.
hypothesis: It is probably the case that 'Lily is a frog' or 'Julius is yellow' or both.
valid_hypothesis: It is probably the case that 'Lily is a frog' or 'Julius is yellow' or both.
invalid_hypothesis: We doubt that 'Lily is a frog' or 'Julius is yellow' 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.25::factA.
    0.1::factB.
    0.7::factC.
    %hop1
    0.2::factX:-or(factB,factC).
    0.0::factY:-xor(factA,factB).
    0.2::factZ:-or(factB,factC).
  
    %hop2
    conclusion:-or(factZ,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is a frog' or 'Julius is yellow' or both.