context: It is probably not the case that Jeff moved to the garden. Chances are slight that Sandra left the football. It is certain that John got the apple. It is unlikely that if 'John got the apple and Jeff moved to the garden' then Julius is a frog. It is probable that if either 'Jeff moved to the garden' or 'Sandra left the football' but not both then Lily is a swan. It is almost certain that if either 'Jeff moved to the garden' or 'John got the apple' but not both then Mary dropped the milk.
hypothesis: It is highly unlikely that 'Julius is a frog and John got the apple'.
valid_hypothesis: It is highly unlikely that 'Julius is a frog and John got the apple'.
invalid_hypothesis: It is almost certain that 'Julius is a frog and John got the apple'.
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.
    1.0::factC.
    %hop1
    0.2::factX:-and(factC,factA).
    0.7::factY:-xor(factA,factB).
    0.95::factZ:-xor(factA,factC).
  
    %hop2
    conclusion:-and(factX,factC).
  
    query(conclusion).
    
hypothesis_assertion: 'Julius is a frog and John got the apple'.