context: There is little chance that Julius is a lion. It is likely that Jeff moved to the garden. It is likely that John grabbed the apple. There is a very good chance that if either 'Jeff moved to the garden' or 'John grabbed the apple' but not both then Brian is a lion. It is almost certain that if 'Julius is a lion and John grabbed the apple' then Mary went to the kitchen. It is probably not the case that if 'Jeff moved to the garden' or 'John grabbed the apple' or both then Greg is white.
hypothesis: We doubt that 'Jeff moved to the garden and Greg is white'.
valid_hypothesis: We doubt that 'Jeff moved to the garden and Greg is white'.
invalid_hypothesis: It is probably the case that 'Jeff moved to the garden and Greg is white'.
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.1::factA.
    0.7::factB.
    0.7::factC.
    %hop1
    0.8::factX:-xor(factB,factC).
    0.95::factY:-and(factA,factC).
    0.25::factZ:-or(factB,factC).
  
    %hop2
    conclusion:-and(factB,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Jeff moved to the garden and Greg is white'.