A Semantic Framework for Neural-Symbolic Computing