context: There is a very good chance that Sandra left the football. It is probably the case that Bernhard is yellow. We doubt that Mary moved to the office. There is a better than even chance that if 'Sandra left the football' or 'Bernhard is yellow' or both then Fred is in the school. It is highly unlikely that if either 'Mary moved to the office' or 'Bernhard is yellow' but not both then Greg is a frog. It is probably the case that if 'Mary moved to the office' or 'Bernhard is yellow' or both then Lily is a rhino.
hypothesis: It is improbable that 'Mary moved to the office and Lily is a rhino'.
valid_hypothesis: It is improbable that 'Mary moved to the office and Lily is a rhino'.
invalid_hypothesis: It is almost certain that 'Mary moved to the office and Lily is a rhino'.
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.8::factA.
    0.7::factB.
    0.2::factC.
    %hop1
    0.6::factX:-or(factA,factB).
    0.05::factY:-xor(factC,factB).
    0.7::factZ:-or(factC,factB).
  
    %hop2
    conclusion:-and(factC,factZ).
  
    query(conclusion).
    
hypothesis_assertion: 'Mary moved to the office and Lily is a rhino'.