logical.c