a[cde->b]. ?X[abc->?Y] :- ?Y[cde->?X]. // Queries: // b[abc->a]. // f[abc->g]. // a[cde->b]. // Then: // insert{g[cde->f]}, delete{a[cde->b]}. // Repeat the queries: // b[abc->a]. // f[abc->g]. // a[cde->b]. // Then: // refresh{?X[abc->?Y]}. // Repeat the queries: // b[abc->a]. // f[abc->g].