review of symbolic logic