Understanding symbolic logic