semantic-reasoning