ChatLogic: Integrating Logic Programming with Large Language Models for Multi-Step Reasoning