showStatement :: Statement -> String
showStatement s = case s of
        Declaration t Fact -> showTerm t
        Declaration t d -> showTerm t ++ " :- " ++ showDefinition d
        Query d -> "?- " ++ showDefinition d
    ++ "."
showStatement :: Statement -> String
showStatement s = case s of
        Declaration t Fact -> showTerm t
        Declaration t d -> showTerm t ++ " :- " ++ showDefinition d
        Query d -> "?- " ++ showDefinition d
    ++ "."
showStatement s = case s of
        Declaration t Fact -> showTerm t
        Declaration t d -> showTerm t ++ " :- " ++ showDefinition d
        Query d -> "?- " ++ showDefinition d
    ++ "."