context: It is almost certain that Mary took the milk. Chances are slight that Julius is a frog. There is almost no chance that John moved to the garden. It is probable that if 'John moved to the garden' or 'Mary took the milk' or both then Sandra got the football. It is almost certain that if either 'John moved to the garden' or 'Mary took the milk' but not both then Greg is yellow. It is unlikely that if 'Mary took the milk' or 'Julius is a frog' or both then Bernhard is a lion.
hypothesis: It is highly likely that 'Bernhard is a lion' or 'Greg is yellow' or both.
valid_hypothesis: It is highly likely that 'Bernhard is a lion' or 'Greg is yellow' or both.
invalid_hypothesis: It is probably not the case that 'Bernhard is a lion' or 'Greg 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.95::factA.
    0.1::factB.
    0.02::factC.
    %hop1
    0.7::factX:-or(factC,factA).
    0.95::factY:-xor(factC,factA).
    0.2::factZ:-or(factA,factB).
  
    %hop2
    conclusion:-or(factZ,factY).
  
    query(conclusion).
    
hypothesis_assertion: 'Bernhard is a lion' or 'Greg is yellow' or both.