context: It is highly likely that Lily is green. It is unlikely that Mary moved to the garden. There is almost no chance that Greg is a swan. It is almost certain that if either 'Greg is a swan' or 'Mary moved to the garden' but not both then Brian is a lion. It is probably not the case that if either 'Mary moved to the garden' or 'Greg is a swan' but not both then John took the football. It is probably not the case that if 'Lily is green and Mary moved to the garden' then Sandra grabbed the apple.
hypothesis: It is highly likely that 'Brian is a lion and Mary moved to the garden'.
valid_hypothesis: It is unlikely that 'Brian is a lion and Mary moved to the garden'.
invalid_hypothesis: It is highly likely that 'Brian is a lion and Mary moved to the garden'.
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.9::factA.
    0.2::factB.
    0.02::factC.
    %hop1
    0.95::factX:-xor(factC,factB).
    0.25::factY:-xor(factB,factC).
    0.25::factZ:-and(factA,factB).
  
    %hop2
    conclusion:-and(factX,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'Brian is a lion and Mary moved to the garden'.