Semantic Graph — Visual Examination Report

Generated 2026-06-13 23:38 UTC · theme: default-dark · 11 expressions
Number Theory (11 expressions)
nt_modular
$$a \equiv b \pmod{n}$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  __congruent_1{"≡"}:::relation
  n["$n$"]:::scalar
  a --> __congruent_1
  b --> __congruent_1
  n -->|modulus| __congruent_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
a \equiv b \pmod{n}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "__congruent_1",
      "type": "relation",
      "label": "congruent to",
      "emoji": "≡",
      "op": "congruent",
      "modulus": "n",
      "subexpr": "a \\equiv b \\pmod{n}",
      "chartScript": {
        "script": "a*b*equiv*n*pmod",
        "variables": [
          "a",
          "b",
          "equiv",
          "n",
          "pmod"
        ]
      }
    },
    {
      "id": "n",
      "type": "scalar",
      "latex": "n",
      "subexpr": "n",
      "chartScript": {
        "script": "n",
        "variables": [
          "n"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__congruent_1"
    },
    {
      "from": "b",
      "to": "__congruent_1"
    },
    {
      "from": "n",
      "to": "__congruent_1",
      "role": "modulus"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  __congruent_1{"≡"}:::relation
  n["$n$"]:::scalar
  a --> __congruent_1
  b --> __congruent_1
  n -->|modulus| __congruent_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_divides
$$a \mid b$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  __divides_1{"∣"}:::relation
  a -->|lhs| __divides_1
  b -->|rhs| __divides_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
a \mid b
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "__divides_1",
      "type": "relation",
      "label": "divides",
      "emoji": "∣",
      "op": "divides",
      "subexpr": "a \\mid b",
      "chartScript": {
        "script": "a*b*mid",
        "variables": [
          "a",
          "b",
          "mid"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__divides_1",
      "role": "lhs"
    },
    {
      "from": "b",
      "to": "__divides_1",
      "role": "rhs"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  __divides_1{"∣"}:::relation
  a -->|lhs| __divides_1
  b -->|rhs| __divides_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_gcd
$$\gcd(a, b) = d$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __gcd_2{{"$\gcd(\cdot, \cdot)$"}}:::function
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  d["$d$"]:::scalar
  a --> __gcd_2
  b --> __gcd_2
  __gcd_2 --> __equals_1
  d --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
\gcd(a, b) = d
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\gcd(a, b) = d",
      "chartScript": {
        "script": "-d + gcd(a, b)",
        "variables": [
          "a",
          "b",
          "d"
        ]
      }
    },
    {
      "id": "__gcd_2",
      "type": "function",
      "latex": "\\gcd",
      "op": "gcd",
      "subexpr": "\\operatorname{gcd}{\\left(a,b \\right)}",
      "chartScript": {
        "script": "c*d*g*operatorname",
        "variables": [
          "c",
          "d",
          "g",
          "operatorname"
        ]
      }
    },
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "d",
      "type": "scalar",
      "latex": "d",
      "subexpr": "d",
      "chartScript": {
        "script": "d",
        "variables": [
          "d"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__gcd_2"
    },
    {
      "from": "b",
      "to": "__gcd_2"
    },
    {
      "from": "__gcd_2",
      "to": "__equals_1"
    },
    {
      "from": "d",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __gcd_2{{"$\gcd(\cdot, \cdot)$"}}:::function
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  d["$d$"]:::scalar
  a --> __gcd_2
  b --> __gcd_2
  __gcd_2 --> __equals_1
  d --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_floor
$$\lfloor x \rfloor = n$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __floor_2{{"$floor(\cdot)$"}}:::function
  x["$x$"]:::scalar
  n["$n$"]:::scalar
  x --> __floor_2
  __floor_2 --> __equals_1
  n --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
\lfloor x \rfloor = n
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\lfloor x \\rfloor = n",
      "chartScript": {
        "script": "-n + floor(x)",
        "variables": [
          "n",
          "x"
        ]
      }
    },
    {
      "id": "__floor_2",
      "type": "function",
      "op": "floor",
      "subexpr": "\\left\\lfloor{x}\\right\\rfloor",
      "chartScript": {
        "script": "floor(x)",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "n",
      "type": "scalar",
      "latex": "n",
      "subexpr": "n",
      "chartScript": {
        "script": "n",
        "variables": [
          "n"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "__floor_2"
    },
    {
      "from": "__floor_2",
      "to": "__equals_1"
    },
    {
      "from": "n",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __floor_2{{"$floor(\cdot)$"}}:::function
  x["$x$"]:::scalar
  n["$n$"]:::scalar
  x --> __floor_2
  __floor_2 --> __equals_1
  n --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_ceiling
$$\lceil x \rceil = n$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __ceiling_2{{"$ceiling(\cdot)$"}}:::function
  x["$x$"]:::scalar
  n["$n$"]:::scalar
  x --> __ceiling_2
  __ceiling_2 --> __equals_1
  n --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
\lceil x \rceil = n
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\lceil x \\rceil = n",
      "chartScript": {
        "script": "-n + ceil(x)",
        "variables": [
          "n",
          "x"
        ]
      }
    },
    {
      "id": "__ceiling_2",
      "type": "function",
      "op": "ceiling",
      "subexpr": "\\left\\lceil{x}\\right\\rceil",
      "chartScript": {
        "script": "ceil(x)",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "n",
      "type": "scalar",
      "latex": "n",
      "subexpr": "n",
      "chartScript": {
        "script": "n",
        "variables": [
          "n"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "__ceiling_2"
    },
    {
      "from": "__ceiling_2",
      "to": "__equals_1"
    },
    {
      "from": "n",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __ceiling_2{{"$ceiling(\cdot)$"}}:::function
  x["$x$"]:::scalar
  n["$n$"]:::scalar
  x --> __ceiling_2
  __ceiling_2 --> __equals_1
  n --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_prime_counting
$$\pi(x) \sim \frac{x}{\ln x}$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __pi_1{{"$\pi(\cdot)$"}}:::function
  x["$x$"]:::scalar
  __multiply_2(("$\times$")):::operator
  __power_3(("$\dfrac{1}{(\cdot)}$")):::operator
  __log_4{{"$\ln(\cdot)$"}}:::function
  __const_5["$e$"]:::constant
  __asymptotic_6{"∼"}:::relation
  x --> __pi_1
  x --> __multiply_2
  x --> __log_4
  __const_5 -->|base| __log_4
  __log_4 --> __power_3
  __power_3 -.-> __multiply_2
  __pi_1 --> __asymptotic_6
  __multiply_2 --> __asymptotic_6
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#42a5f5,stroke-width:1px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
\pi(x) \sim \frac{x}{\ln x}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__pi_1",
      "type": "function",
      "latex": "\\pi",
      "op": "pi",
      "subexpr": "\\pi(x)",
      "chartScript": {
        "script": "pi(x)",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__multiply_2",
      "type": "operator",
      "op": "multiply",
      "subexpr": "\\frac{x}{\\ln x}",
      "chartScript": {
        "script": "x/log(x)",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__power_3",
      "type": "operator",
      "latex": "\\dfrac{1}{(\\cdot)}",
      "op": "power",
      "exponent": "-1",
      "subexpr": "\\frac{1}{\\ln{\\left(x \\right)}}",
      "chartScript": {
        "script": "1/log(x)",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__log_4",
      "type": "function",
      "op": "log",
      "subexpr": "\\ln{\\left(x \\right)}",
      "chartScript": {
        "script": "log(x)",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__const_5",
      "type": "constant",
      "label": "e (Euler's number)",
      "latex": "e",
      "subexpr": "e",
      "chartScript": {
        "script": "e",
        "variables": []
      }
    },
    {
      "id": "__asymptotic_6",
      "type": "relation",
      "label": "asymptotically equal",
      "emoji": "∼",
      "op": "asymptotic",
      "subexpr": "\\pi(x) \\sim \\frac{x}{\\ln x}",
      "chartScript": {
        "script": "sim*x*pi(x)/log(x)",
        "variables": [
          "sim",
          "x"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "__pi_1"
    },
    {
      "from": "x",
      "to": "__multiply_2",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "x",
      "to": "__log_4"
    },
    {
      "from": "__const_5",
      "to": "__log_4",
      "role": "base"
    },
    {
      "from": "__log_4",
      "to": "__power_3"
    },
    {
      "from": "__power_3",
      "to": "__multiply_2"
    },
    {
      "from": "__pi_1",
      "to": "__asymptotic_6"
    },
    {
      "from": "__multiply_2",
      "to": "__asymptotic_6"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __pi_1{{"$\pi(\cdot)$"}}:::function
  x["$x$"]:::scalar
  __multiply_2(("$\times$")):::operator
  __power_3(("$\dfrac{1}{(\cdot)}$")):::operator
  __log_4{{"$\ln(\cdot)$"}}:::function
  __const_5["$e$"]:::constant
  __asymptotic_6{"∼"}:::relation
  x --> __pi_1
  x --> __multiply_2
  x --> __log_4
  __const_5 -->|base| __log_4
  __log_4 --> __power_3
  __power_3 -.-> __multiply_2
  __pi_1 --> __asymptotic_6
  __multiply_2 --> __asymptotic_6
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#42a5f5,stroke-width:1px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_euler_totient
$$\phi(n) = n$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __phi_2{{"$\phi(\cdot)$"}}:::function
  n["$n$"]:::scalar
  n --> __phi_2
  __phi_2 --> __equals_1
  n --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
\phi(n) = n
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\phi(n) = n",
      "chartScript": {
        "script": "-n + phi(n)",
        "variables": [
          "n"
        ]
      }
    },
    {
      "id": "__phi_2",
      "type": "function",
      "latex": "\\phi",
      "op": "phi",
      "subexpr": "\\phi{\\left(n \\right)}",
      "chartScript": {
        "script": "n*phi",
        "variables": [
          "n",
          "phi"
        ]
      }
    },
    {
      "id": "n",
      "type": "scalar",
      "latex": "n",
      "subexpr": "n",
      "chartScript": {
        "script": "n",
        "variables": [
          "n"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "n",
      "to": "__phi_2"
    },
    {
      "from": "__phi_2",
      "to": "__equals_1"
    },
    {
      "from": "n",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __phi_2{{"$\phi(\cdot)$"}}:::function
  n["$n$"]:::scalar
  n --> __phi_2
  __phi_2 --> __equals_1
  n --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_fermat_little
$$a^{p-1} \equiv 1 \pmod{p}$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __power_1(("$(\cdot)^{\cdot}$")):::operator
  a["$a$"]:::scalar
  __add_2(("$+$")):::operator
  p["$p$"]:::scalar
  __num_3["$-1$"]:::number
  __num_4["$1$"]:::number
  __congruent_5{"≡"}:::relation
  a --> __power_1
  p --> __add_2
  __num_3 --> __add_2
  __add_2 -->|exp| __power_1
  __power_1 --> __congruent_5
  __num_4 --> __congruent_5
  p -->|modulus| __congruent_5
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
a^{p-1} \equiv 1 \pmod{p}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__power_1",
      "type": "operator",
      "op": "power",
      "subexpr": "a^{p-1}",
      "chartScript": {
        "script": "pow(a, p - 1)",
        "variables": [
          "a",
          "p"
        ]
      }
    },
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "__add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "p - 1",
      "chartScript": {
        "script": "p - 1",
        "variables": [
          "p"
        ]
      }
    },
    {
      "id": "p",
      "type": "scalar",
      "latex": "p",
      "subexpr": "p",
      "chartScript": {
        "script": "p",
        "variables": [
          "p"
        ]
      }
    },
    {
      "id": "__num_3",
      "type": "number",
      "label": "-1",
      "subexpr": "-1",
      "chartScript": {
        "script": "-1",
        "variables": []
      }
    },
    {
      "id": "__num_4",
      "type": "number",
      "label": "1",
      "subexpr": "1",
      "chartScript": {
        "script": "1",
        "variables": []
      }
    },
    {
      "id": "__congruent_5",
      "type": "relation",
      "label": "congruent to",
      "emoji": "≡",
      "op": "congruent",
      "modulus": "p",
      "subexpr": "a^{p-1} \\equiv 1 \\pmod{p}",
      "chartScript": {
        "script": "pow(a, p - 1)*equiv*p*pmod",
        "variables": [
          "a",
          "equiv",
          "p",
          "pmod"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__power_1"
    },
    {
      "from": "p",
      "to": "__add_2"
    },
    {
      "from": "__num_3",
      "to": "__add_2"
    },
    {
      "from": "__add_2",
      "to": "__power_1",
      "role": "exp"
    },
    {
      "from": "__power_1",
      "to": "__congruent_5"
    },
    {
      "from": "__num_4",
      "to": "__congruent_5"
    },
    {
      "from": "p",
      "to": "__congruent_5",
      "role": "modulus"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __power_1(("$(\cdot)^{\cdot}$")):::operator
  a["$a$"]:::scalar
  __add_2(("$+$")):::operator
  p["$p$"]:::scalar
  __num_3["$-1$"]:::number
  __num_4["$1$"]:::number
  __congruent_5{"≡"}:::relation
  a --> __power_1
  p --> __add_2
  __num_3 --> __add_2
  __add_2 -->|exp| __power_1
  __power_1 --> __congruent_5
  __num_4 --> __congruent_5
  p -->|modulus| __congruent_5
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_factorial
$$n! = n \cdot (n-1)!$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __factorial_2(("$(\cdot)!$")):::operator
  n["$n$"]:::scalar
  __multiply_3(("$\times$")):::operator
  __factorial_4(("$(\cdot)!$")):::operator
  __add_5(("$+$")):::operator
  __num_6["$-1$"]:::number
  n --> __factorial_2
  __factorial_2 --> __equals_1
  n --> __multiply_3
  n --> __add_5
  __num_6 --> __add_5
  __add_5 --> __factorial_4
  __factorial_4 --> __multiply_3
  __multiply_3 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#ef5350,stroke-width:3px
  linkStyle 7 stroke:#aaa,stroke-width:2px
n! = n \cdot (n-1)!
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "n! = n \\cdot (n-1)!",
      "chartScript": {
        "script": "-n*factorial(n - 1) + factorial(n)",
        "variables": [
          "n"
        ]
      }
    },
    {
      "id": "__factorial_2",
      "type": "operator",
      "op": "factorial",
      "subexpr": "n!",
      "chartScript": {
        "script": "factorial(n)",
        "variables": [
          "n"
        ]
      }
    },
    {
      "id": "n",
      "type": "scalar",
      "latex": "n",
      "subexpr": "n",
      "chartScript": {
        "script": "n",
        "variables": [
          "n"
        ]
      }
    },
    {
      "id": "__multiply_3",
      "type": "operator",
      "op": "multiply",
      "subexpr": "n \\left(n - 1\\right)!",
      "chartScript": {
        "script": "factorial(n(n - 1))",
        "variables": [
          "n"
        ]
      }
    },
    {
      "id": "__factorial_4",
      "type": "operator",
      "op": "factorial",
      "subexpr": "\\left(n - 1\\right)!",
      "chartScript": {
        "script": "factorial(n - 1)",
        "variables": [
          "n"
        ]
      }
    },
    {
      "id": "__add_5",
      "type": "operator",
      "op": "add",
      "subexpr": "n - 1",
      "chartScript": {
        "script": "n - 1",
        "variables": [
          "n"
        ]
      }
    },
    {
      "id": "__num_6",
      "type": "number",
      "label": "-1",
      "subexpr": "-1",
      "chartScript": {
        "script": "-1",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "n",
      "to": "__factorial_2"
    },
    {
      "from": "__factorial_2",
      "to": "__equals_1"
    },
    {
      "from": "n",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "n",
      "to": "__add_5"
    },
    {
      "from": "__num_6",
      "to": "__add_5"
    },
    {
      "from": "__add_5",
      "to": "__factorial_4"
    },
    {
      "from": "__factorial_4",
      "to": "__multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_3",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __factorial_2(("$(\cdot)!$")):::operator
  n["$n$"]:::scalar
  __multiply_3(("$\times$")):::operator
  __factorial_4(("$(\cdot)!$")):::operator
  __add_5(("$+$")):::operator
  __num_6["$-1$"]:::number
  n --> __factorial_2
  __factorial_2 --> __equals_1
  n --> __multiply_3
  n --> __add_5
  __num_6 --> __add_5
  __add_5 --> __factorial_4
  __factorial_4 --> __multiply_3
  __multiply_3 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#ef5350,stroke-width:3px
  linkStyle 7 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_legendre
$$\left(\frac{a}{p}\right) = a^{(p-1)/2} \pmod{p}$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __multiply_2(("$\times$")):::operator
  a["$a$"]:::scalar
  __power_3(("$\dfrac{1}{(\cdot)}$")):::operator
  p["$p$"]:::scalar
  __power_4(("$(\cdot)^{\cdot}$")):::operator
  __multiply_5(("$\times$")):::operator
  __add_6(("$+$")):::operator
  __num_7["$-1$"]:::number
  __power_8(("$\dfrac{1}{(\cdot)}$")):::operator
  __num_9["$2$"]:::number
  __annotation_0(("$\pmod{p}$")):::annotation
  a --> __multiply_2
  p --> __power_3
  __power_3 -.-> __multiply_2
  __multiply_2 --> __equals_1
  a --> __power_4
  p --> __add_6
  __num_7 --> __add_6
  __add_6 --> __multiply_5
  __num_9 --> __power_8
  __power_8 -.-> __multiply_5
  __multiply_5 -->|exp| __power_4
  __power_4 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#42a5f5,stroke-width:1px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#ef5350,stroke-width:3px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#42a5f5,stroke-width:1px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
\left(\frac{a}{p}\right) = a^{(p-1)/2} \pmod{p}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "\\left(\\frac{a}{p}\\right) = a^{(p-1)/2} \\pmod{p}",
      "chartScript": {
        "script": "a/p - pow(a, (1/2)*p - 1/2)*p*pmod",
        "variables": [
          "a",
          "p",
          "pmod"
        ]
      }
    },
    {
      "id": "__multiply_2",
      "type": "operator",
      "op": "multiply",
      "subexpr": "a \\frac{1}{p}",
      "chartScript": {
        "script": "a/p",
        "variables": [
          "a",
          "p"
        ]
      }
    },
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "__power_3",
      "type": "operator",
      "latex": "\\dfrac{1}{(\\cdot)}",
      "op": "power",
      "exponent": "-1",
      "subexpr": "\\frac{1}{p}",
      "chartScript": {
        "script": "1/p",
        "variables": [
          "p"
        ]
      }
    },
    {
      "id": "p",
      "type": "scalar",
      "latex": "p",
      "subexpr": "p",
      "chartScript": {
        "script": "p",
        "variables": [
          "p"
        ]
      }
    },
    {
      "id": "__power_4",
      "type": "operator",
      "op": "power",
      "subexpr": "a^{\\frac{p - 1}{2}}",
      "chartScript": {
        "script": "pow(a, (1/2)*p - 1/2)",
        "variables": [
          "a",
          "p"
        ]
      }
    },
    {
      "id": "__multiply_5",
      "type": "operator",
      "op": "multiply",
      "subexpr": "\\left(p - 1\\right) \\frac{1}{2}",
      "chartScript": {
        "script": "(1/2)*p - 1/2",
        "variables": [
          "p"
        ]
      }
    },
    {
      "id": "__add_6",
      "type": "operator",
      "op": "add",
      "subexpr": "p - 1",
      "chartScript": {
        "script": "p - 1",
        "variables": [
          "p"
        ]
      }
    },
    {
      "id": "__num_7",
      "type": "number",
      "label": "-1",
      "subexpr": "-1",
      "chartScript": {
        "script": "-1",
        "variables": []
      }
    },
    {
      "id": "__power_8",
      "type": "operator",
      "latex": "\\dfrac{1}{(\\cdot)}",
      "op": "power",
      "exponent": "-1",
      "subexpr": "\\frac{1}{2}",
      "chartScript": {
        "script": "1/2",
        "variables": []
      }
    },
    {
      "id": "__num_9",
      "type": "number",
      "label": "2",
      "subexpr": "2",
      "chartScript": {
        "script": "2",
        "variables": []
      }
    },
    {
      "id": "__annotation_0",
      "type": "annotation",
      "label": "mod p",
      "latex": "\\pmod{p}"
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__multiply_2",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "p",
      "to": "__power_3"
    },
    {
      "from": "__power_3",
      "to": "__multiply_2"
    },
    {
      "from": "__multiply_2",
      "to": "__equals_1"
    },
    {
      "from": "a",
      "to": "__power_4"
    },
    {
      "from": "p",
      "to": "__add_6"
    },
    {
      "from": "__num_7",
      "to": "__add_6"
    },
    {
      "from": "__add_6",
      "to": "__multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__num_9",
      "to": "__power_8"
    },
    {
      "from": "__power_8",
      "to": "__multiply_5"
    },
    {
      "from": "__multiply_5",
      "to": "__power_4",
      "role": "exp"
    },
    {
      "from": "__power_4",
      "to": "__equals_1"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  __equals_1{"="}:::relation
  __multiply_2(("$\times$")):::operator
  a["$a$"]:::scalar
  __power_3(("$\dfrac{1}{(\cdot)}$")):::operator
  p["$p$"]:::scalar
  __power_4(("$(\cdot)^{\cdot}$")):::operator
  __multiply_5(("$\times$")):::operator
  __add_6(("$+$")):::operator
  __num_7["$-1$"]:::number
  __power_8(("$\dfrac{1}{(\cdot)}$")):::operator
  __num_9["$2$"]:::number
  __annotation_0(("$\pmod{p}$")):::annotation
  a --> __multiply_2
  p --> __power_3
  __power_3 -.-> __multiply_2
  __multiply_2 --> __equals_1
  a --> __power_4
  p --> __add_6
  __num_7 --> __add_6
  __add_6 --> __multiply_5
  __num_9 --> __power_8
  __power_8 -.-> __multiply_5
  __multiply_5 -->|exp| __power_4
  __power_4 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#42a5f5,stroke-width:1px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#ef5350,stroke-width:3px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#42a5f5,stroke-width:1px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
Click D3 to render
nt_congruence
$$a \equiv b \pmod{m}$$
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  __congruent_1{"≡"}:::relation
  m["$m$"]:::scalar
  a --> __congruent_1
  b --> __congruent_1
  m -->|modulus| __congruent_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
a \equiv b \pmod{m}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "__congruent_1",
      "type": "relation",
      "label": "congruent to",
      "emoji": "≡",
      "op": "congruent",
      "modulus": "m",
      "subexpr": "a \\equiv b \\pmod{m}",
      "chartScript": {
        "script": "a*b*equiv*m*pmod",
        "variables": [
          "a",
          "b",
          "equiv",
          "m",
          "pmod"
        ]
      }
    },
    {
      "id": "m",
      "type": "scalar",
      "latex": "m",
      "subexpr": "m",
      "chartScript": {
        "script": "m",
        "variables": [
          "m"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__congruent_1"
    },
    {
      "from": "b",
      "to": "__congruent_1"
    },
    {
      "from": "m",
      "to": "__congruent_1",
      "role": "modulus"
    }
  ],
  "classification": {
    "kind": "algebraic"
  }
}
Mermaid Script
flowchart RL
  classDef scalar fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef vector fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef constant fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef number fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef expression fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef text fill:#1b3a1e,stroke:#66bb6a,color:#c8e6c9,font-size:15px
  classDef operator fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef function fill:#1a2740,stroke:#42a5f5,color:#bbdefb,font-size:15px
  classDef relation fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef result fill:#332a0b,stroke:#ffa726,color:#ffe0b2,font-size:15px
  classDef annotation fill:#131a2c,stroke:#4a5580,color:#b0bcd0,font-size:15px
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  __congruent_1{"≡"}:::relation
  m["$m$"]:::scalar
  a --> __congruent_1
  b --> __congruent_1
  m -->|modulus| __congruent_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
Click D3 to render
11 rendered, 0 errors out of 11 expressions