Learning Representations for Sub-Symbolic Reasoning