{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Statement\n\nLet $A$ be a finite [[idempotent|9FS1JFZSX4]] algebra, meaning that every basic operation $f$ of $A$ satisfies $f(x, \\dots, x) = x$.\nA *cyclic term* of $A$ of arity $n \\ge 2$ is a [[term|N9M2N27END]] $c(x_1, \\dots, x_n)$ such that $A$ satisfies the [[identity|PKD440G2XW]] $c(x_1, x_2, \\dots, x_n) \\approx c(x_2, \\dots, x_n, x_1)$.\nThen the following are equivalent:\n\n1. $A$ has a [[Taylor term|QEAMRNRJJD]].\n2. $A$ has a cyclic term.\n3. $A$ has a cyclic term of arity $p$ for every [[prime number|01826KMG2H]] $p \u003e \\abs{A}$.\n\n## Remarks\n\nThe theorem is due to Libor Barto and Marcin Kozik.\nA cyclic term is idempotent here because $A$ is idempotent.\nAn idempotent cyclic term $c$ of arity $n$ is a Taylor term.\nFor each place $i$, put $y$ in place $i$ and $x$ elsewhere.\nThe cyclic identity equates this with $c$ having $y$ in the previous place and $x$ elsewhere, and the two sides differ in place $i$.\nSo the real content is that a Taylor term forces cyclic terms; the proof uses the theory of absorbing subalgebras.\nExample: a finite semilattice has the cyclic term $x_1 \\wedge \\cdots \\wedge x_n$ for every $n$.\nExample: the idempotent algebra $(\\Z_3; x - y + z)$ has as term operations the affine combinations $\\sum a_i x_i$ with $\\sum a_i \\equiv 1 \\pmod 3$.\nFor the prime $p = 5 \u003e 3$, the operation $2(x_1 + \\cdots + x_5)$ is such a combination, since $2 \\cdot 5 = 10 \\equiv 1$, and it is cyclic.\n\n## Explanations\n\n### L1 human\n\nA cyclic term is an operation that does not change when its inputs are rotated, like a symmetric way of combining $n$ items arranged in a circle.\nThe theorem says that, for finite idempotent algebras, such an operation exists as soon as the algebra has any Taylor term at all.\nMoreover, one can choose the number of inputs to be any prime larger than the size of the algebra.\n\n### L2 human\n\nCyclic terms give a clean test for tractability in the algebraic approach to constraint satisfaction.\nA finite core structure has a polynomial-time constraint satisfaction problem exactly when its idempotent polymorphisms include a cyclic operation, by this theorem together with the [[CSP dichotomy theorem|ZA4YXJ9T1P]].\nThe theorem fits with other characterizations of Taylor algebras by a single identity, such as the [[Siggers term|JYW1H3J8SX]].\nUnlike the Siggers identity, the cyclic identity has an arity that may be chosen freely among large primes, which is useful in arguments that combine several terms.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "about": [
      "QEAMRNRJJD"
    ],
    "kind": "statement",
    "msc": [
      "08B05",
      "08A70"
    ],
    "name": "Cyclic term theorem",
    "role": "theorem",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Constraint_satisfaction_problem"
      }
    ],
    "tag": "XS41Y1Q01M",
    "uses": [
      "QEAMRNRJJD",
      "N9M2N27END",
      "PKD440G2XW",
      "9FS1JFZSX4",
      "01826KMG2H"
    ]
  },
  "kind": "statement",
  "link": "https://tamnd.github.io/math2/node/XS41Y1Q01M/",
  "links": [
    {
      "field": "about",
      "target": "QEAMRNRJJD"
    },
    {
      "field": "uses",
      "target": "QEAMRNRJJD"
    },
    {
      "field": "uses",
      "target": "N9M2N27END"
    },
    {
      "field": "uses",
      "target": "PKD440G2XW"
    },
    {
      "field": "uses",
      "target": "9FS1JFZSX4"
    },
    {
      "field": "uses",
      "target": "01826KMG2H"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/XS41Y1Q01M.md",
  "msc": [
    "08B05",
    "08A70"
  ],
  "name": "Cyclic term theorem",
  "prov": null,
  "role": "theorem",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/XS4/XS41Y1Q01M.md",
  "status": null,
  "tag": "XS41Y1Q01M",
  "uri": "m2://XS41Y1Q01M",
  "url": "https://tamnd.github.io/math2/wiki/cyclic-term-theorem/",
  "writing": {
    "tag": "XS41Y1Q01M",
    "kind": "statement",
    "level": "W0",
    "next": [
      {
        "what": "an inventory row",
        "note": "the row of the inventory that the node accounts for",
        "have": 0,
        "want": 1
      },
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
