context: There is almost no chance that Sandra left the milk. It is probably not the case that Brian is yellow. We doubt that Greg is green. There is almost no chance that if 'Greg is green and Brian is yellow' then Lily is a frog. It is certain that if either 'Brian is yellow' or 'Sandra left the milk' but not both then John went to the kitchen. It is unlikely that if 'Greg is green' or 'Brian is yellow' or both then Gertrude is a sheep.
hypothesis: It is probably the case that 'Gertrude is a sheep and Brian is yellow'.
valid_hypothesis: It is highly unlikely that 'Gertrude is a sheep and Brian is yellow'.
invalid_hypothesis: It is probably the case that 'Gertrude is a sheep and Brian is yellow'.
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.25::factB.
    0.2::factC.
    %hop1
    0.02::factX:-and(factC,factB).
    1.0::factY:-xor(factB,factA).
    0.2::factZ:-or(factC,factB).
  
    %hop2
    conclusion:-and(factZ,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'Gertrude is a sheep and Brian is yellow'.