context: It is improbable that Lily is a swan. It is likely that Mary grabbed the apple. Chances are about even that Daniel took the football. Chances are slight that if 'Mary grabbed the apple' or 'Daniel took the football' or both then Brian is a lion. There is a better than even chance that if 'Mary grabbed the apple' or 'Lily is a swan' or both then Bernhard is green. It is improbable that if either 'Lily is a swan' or 'Daniel took the football' but not both then John moved to the garden.
hypothesis: It is highly unlikely that 'John moved to the garden and Mary grabbed the apple'.
valid_hypothesis: It is highly unlikely that 'John moved to the garden and Mary grabbed the apple'.
invalid_hypothesis: It is certain that 'John moved to the garden and Mary grabbed the apple'.
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.5::factC.
    %hop1
    0.1::factX:-or(factB,factC).
    0.6::factY:-or(factB,factA).
    0.1::factZ:-xor(factA,factC).
  
    %hop2
    conclusion:-and(factZ,factB).
  
    query(conclusion).
    
hypothesis_assertion: 'John moved to the garden and Mary grabbed the apple'.