context: It is probably the case that Mary went to the bedroom. It is probable that Greg is yellow. It is almost certain that Brian is a rhino. It is probably not the case that if 'Greg is yellow and Mary went to the bedroom' then Lily is white. Chances are slight that if either 'Greg is yellow' or 'Brian is a rhino' but not both then Sandra dropped the milk. Chances are slight that if 'Brian is a rhino' or 'Greg is yellow' or both then Julius is a lion.
hypothesis: There is almost no chance that 'Lily is white and Julius is a lion'.
valid_hypothesis: There is almost no chance that 'Lily is white and Julius is a lion'.
invalid_hypothesis: It is almost certain that 'Lily is white and Julius is a lion'.
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.7::factA.
    0.7::factB.
    0.95::factC.
    %hop1
    0.25::factX:-and(factB,factA).
    0.1::factY:-xor(factB,factC).
    0.1::factZ:-or(factC,factB).
  
    %hop2
    conclusion:-and(factX,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is white and Julius is a lion'.