Symbolic knowledge extraction from trained neural networks: A sound approach