context: It is almost certain that Julius is white. Chances are about even that Lily is a lion. Chances are about even that Bernhard is green. It is likely that if 'Bernhard is green and Julius is white' then Brian is gray. It is improbable that if 'Lily is a lion and Julius is white' then Mary grabbed the milk. Chances are slight that if 'Lily is a lion and Julius is white' then John took the apple.
hypothesis: There is little chance that 'Lily is a lion' or 'Brian is gray' or both.
valid_hypothesis: It is probably the case that 'Lily is a lion' or 'Brian is gray' or both.
invalid_hypothesis: There is little chance that 'Lily is a lion' or 'Brian is gray' 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.95::factA.
    0.5::factB.
    0.5::factC.
    %hop1
    0.7::factX:-and(factC,factA).
    0.1::factY:-and(factB,factA).
    0.1::factZ:-and(factB,factA).
  
    %hop2
    conclusion:-or(factB,factX).
  
    query(conclusion).
    
hypothesis_assertion: 'Lily is a lion' or 'Brian is gray' or both.