{
  "aliases": null,
  "backlinks": null,
  "body": "\n## Definition\n\nLet $\\sigma$ be a [[signature|WDVVEYD6AT]] and let $\\mathbf{A}$ and $\\mathbf{B}$ be $\\sigma$-[[structures|983GZBQYT4]] with domains $A$ and $B$.\nA *homomorphism* from $\\mathbf{A}$ to $\\mathbf{B}$ is a [[function|0EPAT51DXQ]] $h \\colon A \\to B$ such that:\n\n1. for each function symbol $f \\in \\sigma$ of arity $n$ and all $a_1, \\dots, a_n \\in A$, $h(f^{\\mathbf{A}}(a_1, \\dots, a_n)) = f^{\\mathbf{B}}(h(a_1), \\dots, h(a_n))$;\n2. for each constant symbol $c \\in \\sigma$, $h(c^{\\mathbf{A}}) = c^{\\mathbf{B}}$;\n3. for each relation symbol $R \\in \\sigma$ of arity $n$ and all $a_1, \\dots, a_n \\in A$, if $(a_1, \\dots, a_n) \\in R^{\\mathbf{A}}$ then $(h(a_1), \\dots, h(a_n)) \\in R^{\\mathbf{B}}$.\n\n## Remarks\n\nExample: for the signature $\\set{+, 0}$, the map $h \\colon \\Z \\to \\Z/n\\Z$ that sends an integer to its residue class is a homomorphism.\nIndeed, the class of $a + b$ is the sum of the classes of $a$ and $b$, and the class of $0$ is $0$.\n\nNon-example: for the same signature, the map $x \\mapsto 2x + 1$ from $\\Z$ to $\\Z$ fails clause 2, since $0 \\mapsto 1$; it also fails clause 1, since $h(0 + 0) = 1 \\ne 2 = h(0) + h(0)$.\n\nFor a signature with only function and constant symbols, clauses 1 and 2 are the whole condition; this is the notion of homomorphism of [[universal algebra|W82R6N0GM9]].\nWhether a map is a homomorphism depends on the signature.\nIn the signature of groups $\\set{\\cdot, {}^{-1}, e}$ the inverse is preserved by definition, while for $\\set{\\cdot}$ alone it follows from the group axioms.\n",
  "commit": "ff8a40749dc16545e3d2fc637f6b0196e81d0bfa",
  "front": {
    "defines": "KBXSZC6BV1",
    "kind": "definition",
    "msc": [
      "08A05",
      "03C07"
    ],
    "name": "Homomorphism",
    "sources": [
      {
        "url": "https://en.wikipedia.org/wiki/Homomorphism"
      }
    ],
    "tag": "D3AC1N7PNX",
    "uses": [
      "983GZBQYT4",
      "WDVVEYD6AT",
      "0EPAT51DXQ"
    ]
  },
  "kind": "definition",
  "link": "https://tamnd.github.io/math2/node/D3AC1N7PNX/",
  "links": [
    {
      "field": "defines",
      "target": "KBXSZC6BV1"
    },
    {
      "field": "uses",
      "target": "983GZBQYT4"
    },
    {
      "field": "uses",
      "target": "WDVVEYD6AT"
    },
    {
      "field": "uses",
      "target": "0EPAT51DXQ"
    }
  ],
  "markdown": "https://tamnd.github.io/math2/node/D3AC1N7PNX.md",
  "msc": [
    "08A05",
    "03C07"
  ],
  "name": "Homomorphism",
  "prov": null,
  "role": "",
  "source": "https://github.com/tamnd/math2/blob/main/nodes/D3A/D3AC1N7PNX.md",
  "status": null,
  "tag": "D3AC1N7PNX",
  "uri": "m2://D3AC1N7PNX",
  "url": "https://tamnd.github.io/math2/wiki/homomorphism-definition/",
  "writing": {
    "tag": "D3AC1N7PNX",
    "kind": "definition",
    "level": "W0",
    "next": [
      {
        "what": "a source with a locator",
        "have": 0,
        "want": 1
      }
    ]
  }
}
