Я хотел бы удалить список, добавить передний и внутренний список и сгенерировать новый список.У меня есть следующие две структуры:
typedef struct term {
SYMBOL symbol;
union {
LIST termlist;
struct term* term;
} super;
LIST args;
NAT stamp;
NAT size;
} *TERM, TERM_NODE;
typedef struct LIST_HELP {
struct LIST_HELP *cdr;
POINTER car;
} LIST_NODE;
typedef LIST_NODE *LIST;
Используя эти две структуры, у меня есть TERM как:
forall([X8,X9],implies(connected(X8,X9),exists([V],and(or(equal(h_1(X8),U),equal(h_2(X8),U)),connected(U,X9)))
Здесь все символы.Предположим, что если forall
является символом, то остальные выступают в качестве аргументов для forall
.Это своего рода Term
, состоящий из другого Term
.Я хотел бы удалить [V]
из этого и добавить список до и после него.Подскажите, пожалуйста, как мне это сделать?