Semantic Graph — Visual Examination Report

Generated 2026-06-13 23:38 UTC · theme: default-dark · 21 expressions
Structural (21 expressions)
two_stmt_backslash
$$x = 1 \\ y = 2$$
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
  c0___equals_1{"="}:::relation
  x["$x$"]:::scalar
  c0___num_2["$1$"]:::number
  c1___equals_1{"="}:::relation
  y["$y$"]:::scalar
  c1___num_2["$2$"]:::number
  x --> c0___equals_1
  c0___num_2 --> c0___equals_1
  y --> c1___equals_1
  c1___num_2 --> c1___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
x = 1 \\ y = 2
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "c0___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "x = 1",
      "chartScript": {
        "script": "x - 1",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "c0___num_2",
      "type": "number",
      "label": "1",
      "subexpr": "1",
      "chartScript": {
        "script": "1",
        "variables": []
      }
    },
    {
      "id": "c1___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "y = 2",
      "chartScript": {
        "script": "y - 2",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "c1___num_2",
      "type": "number",
      "label": "2",
      "subexpr": "2",
      "chartScript": {
        "script": "2",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "c0___equals_1"
    },
    {
      "from": "c0___num_2",
      "to": "c0___equals_1"
    },
    {
      "from": "y",
      "to": "c1___equals_1"
    },
    {
      "from": "c1___num_2",
      "to": "c1___equals_1"
    }
  ],
  "classification": {
    "kind": "statements",
    "count": 2,
    "clauses": [
      {
        "kind": "algebraic"
      },
      {
        "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
  c0___equals_1{"="}:::relation
  x["$x$"]:::scalar
  c0___num_2["$1$"]:::number
  c1___equals_1{"="}:::relation
  y["$y$"]:::scalar
  c1___num_2["$2$"]:::number
  x --> c0___equals_1
  c0___num_2 --> c0___equals_1
  y --> c1___equals_1
  c1___num_2 --> c1___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
two_stmt_comma_quad
$$a = 1, \quad b = 2$$
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
  c0___equals_1{"="}:::relation
  a["$a$"]:::scalar
  c0___num_2["$1$"]:::number
  c1___equals_1{"="}:::relation
  b["$b$"]:::scalar
  c1___num_2["$2$"]:::number
  a --> c0___equals_1
  c0___num_2 --> c0___equals_1
  b --> c1___equals_1
  c1___num_2 --> c1___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
a = 1, \quad b = 2
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "c0___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "a = 1",
      "chartScript": {
        "script": "a - 1",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "c0___num_2",
      "type": "number",
      "label": "1",
      "subexpr": "1",
      "chartScript": {
        "script": "1",
        "variables": []
      }
    },
    {
      "id": "c1___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "b = 2",
      "chartScript": {
        "script": "b - 2",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "c1___num_2",
      "type": "number",
      "label": "2",
      "subexpr": "2",
      "chartScript": {
        "script": "2",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "c0___equals_1"
    },
    {
      "from": "c0___num_2",
      "to": "c0___equals_1"
    },
    {
      "from": "b",
      "to": "c1___equals_1"
    },
    {
      "from": "c1___num_2",
      "to": "c1___equals_1"
    }
  ],
  "classification": {
    "kind": "statements",
    "count": 2,
    "clauses": [
      {
        "kind": "algebraic"
      },
      {
        "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
  c0___equals_1{"="}:::relation
  a["$a$"]:::scalar
  c0___num_2["$1$"]:::number
  c1___equals_1{"="}:::relation
  b["$b$"]:::scalar
  c1___num_2["$2$"]:::number
  a --> c0___equals_1
  c0___num_2 --> c0___equals_1
  b --> c1___equals_1
  c1___num_2 --> c1___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
three_stmt
$$x = 1 \\ y = 2 \\ z = 3$$
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
  c0___equals_1{"="}:::relation
  x["$x$"]:::scalar
  c0___num_2["$1$"]:::number
  c1___equals_1{"="}:::relation
  y["$y$"]:::scalar
  c1___num_2["$2$"]:::number
  c2___equals_1{"="}:::relation
  z["$z$"]:::scalar
  c2___num_2["$3$"]:::number
  x --> c0___equals_1
  c0___num_2 --> c0___equals_1
  y --> c1___equals_1
  c1___num_2 --> c1___equals_1
  z --> c2___equals_1
  c2___num_2 --> c2___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
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
x = 1 \\ y = 2 \\ z = 3
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "c0___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "x = 1",
      "chartScript": {
        "script": "x - 1",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "c0___num_2",
      "type": "number",
      "label": "1",
      "subexpr": "1",
      "chartScript": {
        "script": "1",
        "variables": []
      }
    },
    {
      "id": "c1___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "y = 2",
      "chartScript": {
        "script": "y - 2",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "c1___num_2",
      "type": "number",
      "label": "2",
      "subexpr": "2",
      "chartScript": {
        "script": "2",
        "variables": []
      }
    },
    {
      "id": "c2___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "z = 3",
      "chartScript": {
        "script": "z - 3",
        "variables": [
          "z"
        ]
      }
    },
    {
      "id": "z",
      "type": "scalar",
      "latex": "z",
      "subexpr": "z",
      "chartScript": {
        "script": "z",
        "variables": [
          "z"
        ]
      }
    },
    {
      "id": "c2___num_2",
      "type": "number",
      "label": "3",
      "subexpr": "3",
      "chartScript": {
        "script": "3",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "c0___equals_1"
    },
    {
      "from": "c0___num_2",
      "to": "c0___equals_1"
    },
    {
      "from": "y",
      "to": "c1___equals_1"
    },
    {
      "from": "c1___num_2",
      "to": "c1___equals_1"
    },
    {
      "from": "z",
      "to": "c2___equals_1"
    },
    {
      "from": "c2___num_2",
      "to": "c2___equals_1"
    }
  ],
  "classification": {
    "kind": "statements",
    "count": 3,
    "clauses": [
      {
        "kind": "algebraic"
      },
      {
        "kind": "algebraic"
      },
      {
        "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
  c0___equals_1{"="}:::relation
  x["$x$"]:::scalar
  c0___num_2["$1$"]:::number
  c1___equals_1{"="}:::relation
  y["$y$"]:::scalar
  c1___num_2["$2$"]:::number
  c2___equals_1{"="}:::relation
  z["$z$"]:::scalar
  c2___num_2["$3$"]:::number
  x --> c0___equals_1
  c0___num_2 --> c0___equals_1
  y --> c1___equals_1
  c1___num_2 --> c1___equals_1
  z --> c2___equals_1
  c2___num_2 --> c2___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
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#aaa,stroke-width:2px
Click D3 to render
chained_two
$$a = b = c$$
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
  c["$c$"]:::scalar
  __equals_1(("$=$")):::operator
  a --> __equals_1
  b --> __equals_1
  c --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
a = b = c
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": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "__equals_1",
      "type": "operator",
      "op": "equals",
      "subexpr": "a = b = c"
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__equals_1"
    },
    {
      "from": "b",
      "to": "__equals_1"
    },
    {
      "from": "c",
      "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
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __equals_1(("$=$")):::operator
  a --> __equals_1
  b --> __equals_1
  c --> __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
chained_three
$$a = b = c = 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
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  d["$d$"]:::scalar
  __equals_1(("$=$")):::operator
  a --> __equals_1
  b --> __equals_1
  c --> __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
a = b = c = d
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": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "d",
      "type": "scalar",
      "latex": "d",
      "subexpr": "d",
      "chartScript": {
        "script": "d",
        "variables": [
          "d"
        ]
      }
    },
    {
      "id": "__equals_1",
      "type": "operator",
      "op": "equals",
      "subexpr": "a = b = c = d"
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__equals_1"
    },
    {
      "from": "b",
      "to": "__equals_1"
    },
    {
      "from": "c",
      "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
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  d["$d$"]:::scalar
  __equals_1(("$=$")):::operator
  a --> __equals_1
  b --> __equals_1
  c --> __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
substitution
$$F = ma = m \frac{dv}{dt}$$
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
  F["$F$"]:::scalar
  s1___multiply_1(("$\times$")):::operator
  m["$m$"]:::scalar
  a["$a$"]:::scalar
  s2___multiply_1(("$\times$")):::operator
  v["$v$"]:::scalar
  t["$t$"]:::scalar
  s2___deriv_2(("$\dfrac{d}{d t}$")):::operator
  __equals_1(("$=$")):::operator
  m --> s1___multiply_1
  a --> s1___multiply_1
  m --> s2___multiply_1
  v --> s2___deriv_2
  t --> s2___deriv_2
  s2___deriv_2 --> s2___multiply_1
  F --> __equals_1
  s1___multiply_1 --> __equals_1
  s2___multiply_1 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
F = ma = m \frac{dv}{dt}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "F",
      "type": "scalar",
      "latex": "F",
      "subexpr": "F",
      "chartScript": {
        "script": "F",
        "variables": [
          "F"
        ]
      }
    },
    {
      "id": "s1___multiply_1",
      "type": "operator",
      "op": "multiply",
      "subexpr": "ma",
      "chartScript": {
        "script": "a*m",
        "variables": [
          "a",
          "m"
        ]
      }
    },
    {
      "id": "m",
      "type": "scalar",
      "latex": "m",
      "subexpr": "m",
      "chartScript": {
        "script": "m",
        "variables": [
          "m"
        ]
      }
    },
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "s2___multiply_1",
      "type": "operator",
      "op": "multiply",
      "subexpr": "m \\frac{d}{d t} v",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "v",
      "type": "scalar",
      "latex": "v",
      "subexpr": "v",
      "chartScript": {
        "script": "v",
        "variables": [
          "v"
        ]
      }
    },
    {
      "id": "t",
      "type": "scalar",
      "latex": "t",
      "subexpr": "t",
      "chartScript": {
        "script": "t",
        "variables": [
          "t"
        ]
      }
    },
    {
      "id": "s2___deriv_2",
      "type": "operator",
      "op": "derivative",
      "with_respect_to": "t",
      "subexpr": "\\frac{d}{d t} v",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__equals_1",
      "type": "operator",
      "op": "equals",
      "subexpr": "F = ma = m \\frac{dv}{dt}",
      "chartScript": {
        "script": "False",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "m",
      "to": "s1___multiply_1"
    },
    {
      "from": "a",
      "to": "s1___multiply_1"
    },
    {
      "from": "m",
      "to": "s2___multiply_1"
    },
    {
      "from": "v",
      "to": "s2___deriv_2"
    },
    {
      "from": "t",
      "to": "s2___deriv_2"
    },
    {
      "from": "s2___deriv_2",
      "to": "s2___multiply_1"
    },
    {
      "from": "F",
      "to": "__equals_1"
    },
    {
      "from": "s1___multiply_1",
      "to": "__equals_1"
    },
    {
      "from": "s2___multiply_1",
      "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
  F["$F$"]:::scalar
  s1___multiply_1(("$\times$")):::operator
  m["$m$"]:::scalar
  a["$a$"]:::scalar
  s2___multiply_1(("$\times$")):::operator
  v["$v$"]:::scalar
  t["$t$"]:::scalar
  s2___deriv_2(("$\dfrac{d}{d t}$")):::operator
  __equals_1(("$=$")):::operator
  m --> s1___multiply_1
  a --> s1___multiply_1
  m --> s2___multiply_1
  v --> s2___deriv_2
  t --> s2___deriv_2
  s2___deriv_2 --> s2___multiply_1
  F --> __equals_1
  s1___multiply_1 --> __equals_1
  s2___multiply_1 --> __equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#ef5350,stroke-width:3px
  linkStyle 3 stroke:#aaa,stroke-width:2px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
Click D3 to render
chained_approx
$$a \approx b \approx c$$
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
  c["$c$"]:::scalar
  __equals_1(("$=$")):::operator
  a --> __equals_1
  b --> __equals_1
  c --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
a \approx b \approx c
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": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "__equals_1",
      "type": "operator",
      "op": "equals",
      "subexpr": "a = b = c"
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__equals_1"
    },
    {
      "from": "b",
      "to": "__equals_1"
    },
    {
      "from": "c",
      "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
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __equals_1(("$=$")):::operator
  a --> __equals_1
  b --> __equals_1
  c --> __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
chained_neq
$$a \neq b \neq c$$
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
  c["$c$"]:::scalar
  __not_equal_1{"≠"}:::relation
  a --> __not_equal_1
  b --> __not_equal_1
  c --> __not_equal_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
a \neq b \neq c
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": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "__not_equal_1",
      "type": "relation",
      "label": "not equal to",
      "emoji": "≠",
      "op": "not_equal",
      "subexpr": "a \\neq b \\neq c"
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__not_equal_1"
    },
    {
      "from": "b",
      "to": "__not_equal_1"
    },
    {
      "from": "c",
      "to": "__not_equal_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
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __not_equal_1{"≠"}:::relation
  a --> __not_equal_1
  b --> __not_equal_1
  c --> __not_equal_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
chained_propto
$$a \propto b \propto c$$
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
  c["$c$"]:::scalar
  __proportional_1{"∝"}:::relation
  a --> __proportional_1
  b --> __proportional_1
  c --> __proportional_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
a \propto b \propto c
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": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "__proportional_1",
      "type": "relation",
      "label": "proportional to",
      "emoji": "∝",
      "op": "proportional",
      "subexpr": "a \\propto b \\propto c",
      "chartScript": {
        "script": "a*b*c*pow(propto, 2)",
        "variables": [
          "a",
          "b",
          "c",
          "propto"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "a",
      "to": "__proportional_1"
    },
    {
      "from": "b",
      "to": "__proportional_1"
    },
    {
      "from": "c",
      "to": "__proportional_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
  a["$a$"]:::scalar
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __proportional_1{"∝"}:::relation
  a --> __proportional_1
  b --> __proportional_1
  c --> __proportional_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
chained_leq
$$a \leq b \leq c$$
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
  __less_equal_1{"≤"}:::relation
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __less_equal_2{"≤"}:::relation
  b -->|lhs| __less_equal_1
  c -->|rhs| __less_equal_1
  a -->|lhs| __less_equal_2
  __less_equal_1 -->|rhs| __less_equal_2
  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
a \leq b \leq c
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "__less_equal_1",
      "type": "relation",
      "op": "less_equal",
      "subexpr": "b \\leq c",
      "chartScript": {
        "script": "b - c",
        "variables": [
          "b",
          "c"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "__less_equal_2",
      "type": "relation",
      "label": "less than or equal to",
      "emoji": "≤",
      "op": "less_equal",
      "subexpr": "a \\leq b \\leq c"
    }
  ],
  "edges": [
    {
      "from": "b",
      "to": "__less_equal_1",
      "role": "lhs"
    },
    {
      "from": "c",
      "to": "__less_equal_1",
      "role": "rhs"
    },
    {
      "from": "a",
      "to": "__less_equal_2",
      "role": "lhs"
    },
    {
      "from": "__less_equal_1",
      "to": "__less_equal_2",
      "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
  __less_equal_1{"≤"}:::relation
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __less_equal_2{"≤"}:::relation
  b -->|lhs| __less_equal_1
  c -->|rhs| __less_equal_1
  a -->|lhs| __less_equal_2
  __less_equal_1 -->|rhs| __less_equal_2
  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
single_geq
$$x \geq 0$$
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
  x["$x$"]:::scalar
  __num_1["$0$"]:::number
  __greater_equal_2{"≥"}:::relation
  x -->|lhs| __greater_equal_2
  __num_1 -->|rhs| __greater_equal_2
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
x \geq 0
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__num_1",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__greater_equal_2",
      "type": "relation",
      "label": "greater than or equal to",
      "emoji": "≥",
      "op": "greater_equal",
      "subexpr": "x \\geq 0",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "x",
      "to": "__greater_equal_2",
      "role": "lhs"
    },
    {
      "from": "__num_1",
      "to": "__greater_equal_2",
      "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
  x["$x$"]:::scalar
  __num_1["$0$"]:::number
  __greater_equal_2{"≥"}:::relation
  x -->|lhs| __greater_equal_2
  __num_1 -->|rhs| __greater_equal_2
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
Click D3 to render
chained_geq
$$a \geq b \geq c$$
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
  __greater_equal_1{"≥"}:::relation
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __greater_equal_2{"≥"}:::relation
  b -->|lhs| __greater_equal_1
  c -->|rhs| __greater_equal_1
  a -->|lhs| __greater_equal_2
  __greater_equal_1 -->|rhs| __greater_equal_2
  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
a \geq b \geq c
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "a",
      "type": "scalar",
      "latex": "a",
      "subexpr": "a",
      "chartScript": {
        "script": "a",
        "variables": [
          "a"
        ]
      }
    },
    {
      "id": "__greater_equal_1",
      "type": "relation",
      "op": "greater_equal",
      "subexpr": "b \\geq c",
      "chartScript": {
        "script": "b - c",
        "variables": [
          "b",
          "c"
        ]
      }
    },
    {
      "id": "b",
      "type": "scalar",
      "latex": "b",
      "subexpr": "b",
      "chartScript": {
        "script": "b",
        "variables": [
          "b"
        ]
      }
    },
    {
      "id": "c",
      "type": "scalar",
      "latex": "c",
      "subexpr": "c",
      "chartScript": {
        "script": "c",
        "variables": [
          "c"
        ]
      }
    },
    {
      "id": "__greater_equal_2",
      "type": "relation",
      "label": "greater than or equal to",
      "emoji": "≥",
      "op": "greater_equal",
      "subexpr": "a \\geq b \\geq c"
    }
  ],
  "edges": [
    {
      "from": "b",
      "to": "__greater_equal_1",
      "role": "lhs"
    },
    {
      "from": "c",
      "to": "__greater_equal_1",
      "role": "rhs"
    },
    {
      "from": "a",
      "to": "__greater_equal_2",
      "role": "lhs"
    },
    {
      "from": "__greater_equal_1",
      "to": "__greater_equal_2",
      "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
  __greater_equal_1{"≥"}:::relation
  b["$b$"]:::scalar
  c["$c$"]:::scalar
  __greater_equal_2{"≥"}:::relation
  b -->|lhs| __greater_equal_1
  c -->|rhs| __greater_equal_1
  a -->|lhs| __greater_equal_2
  __greater_equal_1 -->|rhs| __greater_equal_2
  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
single_implication
$$P \implies Q$$
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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  __implies_1(("$\Rightarrow$")):::operator
  P -->|lhs| __implies_1
  Q -->|rhs| __implies_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
P \implies Q
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "P",
      "type": "scalar",
      "latex": "P",
      "subexpr": "P",
      "chartScript": {
        "script": "P",
        "variables": [
          "P"
        ]
      }
    },
    {
      "id": "Q",
      "type": "scalar",
      "latex": "Q",
      "subexpr": "Q",
      "chartScript": {
        "script": "Q",
        "variables": [
          "Q"
        ]
      }
    },
    {
      "id": "__implies_1",
      "type": "operator",
      "label": "implies",
      "emoji": "⇒",
      "op": "implies",
      "subexpr": "P \\implies Q",
      "chartScript": {
        "script": "P*Q*implies",
        "variables": [
          "P",
          "Q",
          "implies"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "P",
      "to": "__implies_1",
      "role": "lhs"
    },
    {
      "from": "Q",
      "to": "__implies_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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  __implies_1(("$\Rightarrow$")):::operator
  P -->|lhs| __implies_1
  Q -->|rhs| __implies_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
Click D3 to render
implication_chain
$$P \implies Q \implies R$$
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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  R["$R$"]:::scalar
  __implies_1(("$\Rightarrow$")):::operator
  __implies_2(("$\Rightarrow$")):::operator
  Q -->|lhs| __implies_1
  R -->|rhs| __implies_1
  P -->|lhs| __implies_2
  __implies_1 -->|rhs| __implies_2
  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
P \implies Q \implies R
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "P",
      "type": "scalar",
      "latex": "P",
      "subexpr": "P",
      "chartScript": {
        "script": "P",
        "variables": [
          "P"
        ]
      }
    },
    {
      "id": "Q",
      "type": "scalar",
      "latex": "Q",
      "subexpr": "Q",
      "chartScript": {
        "script": "Q",
        "variables": [
          "Q"
        ]
      }
    },
    {
      "id": "R",
      "type": "scalar",
      "latex": "R",
      "subexpr": "R",
      "chartScript": {
        "script": "R",
        "variables": [
          "R"
        ]
      }
    },
    {
      "id": "__implies_1",
      "type": "operator",
      "label": "implies",
      "emoji": "⇒",
      "op": "implies",
      "subexpr": "P \\implies Q \\implies R",
      "chartScript": {
        "script": "P*Q*R*pow(implies, 2)",
        "variables": [
          "P",
          "Q",
          "R",
          "implies"
        ]
      }
    },
    {
      "id": "__implies_2",
      "type": "operator",
      "label": "implies",
      "emoji": "⇒",
      "op": "implies",
      "subexpr": "P \\implies Q \\implies R",
      "chartScript": {
        "script": "P*Q*R*pow(implies, 2)",
        "variables": [
          "P",
          "Q",
          "R",
          "implies"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "Q",
      "to": "__implies_1",
      "role": "lhs"
    },
    {
      "from": "R",
      "to": "__implies_1",
      "role": "rhs"
    },
    {
      "from": "P",
      "to": "__implies_2",
      "role": "lhs"
    },
    {
      "from": "__implies_1",
      "to": "__implies_2",
      "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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  R["$R$"]:::scalar
  __implies_1(("$\Rightarrow$")):::operator
  __implies_2(("$\Rightarrow$")):::operator
  Q -->|lhs| __implies_1
  R -->|rhs| __implies_1
  P -->|lhs| __implies_2
  __implies_1 -->|rhs| __implies_2
  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
implication_chain_four
$$A \implies B \implies C \implies 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
  A["$A$"]:::scalar
  B["$B$"]:::scalar
  C["$C$"]:::scalar
  D["$D$"]:::scalar
  __implies_1(("$\Rightarrow$")):::operator
  __implies_2(("$\Rightarrow$")):::operator
  __implies_3(("$\Rightarrow$")):::operator
  C -->|lhs| __implies_1
  D -->|rhs| __implies_1
  B -->|lhs| __implies_2
  __implies_1 -->|rhs| __implies_2
  A -->|lhs| __implies_3
  __implies_2 -->|rhs| __implies_3
  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
A \implies B \implies C \implies D
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": "C",
      "type": "scalar",
      "latex": "C",
      "subexpr": "C",
      "chartScript": {
        "script": "C",
        "variables": [
          "C"
        ]
      }
    },
    {
      "id": "D",
      "type": "scalar",
      "latex": "D",
      "subexpr": "D",
      "chartScript": {
        "script": "D",
        "variables": [
          "D"
        ]
      }
    },
    {
      "id": "__implies_1",
      "type": "operator",
      "label": "implies",
      "emoji": "⇒",
      "op": "implies",
      "subexpr": "A \\implies B \\implies C \\implies D",
      "chartScript": {
        "script": "A*B*C*D*pow(implies, 3)",
        "variables": [
          "A",
          "B",
          "C",
          "D",
          "implies"
        ]
      }
    },
    {
      "id": "__implies_2",
      "type": "operator",
      "label": "implies",
      "emoji": "⇒",
      "op": "implies",
      "subexpr": "A \\implies B \\implies C \\implies D",
      "chartScript": {
        "script": "A*B*C*D*pow(implies, 3)",
        "variables": [
          "A",
          "B",
          "C",
          "D",
          "implies"
        ]
      }
    },
    {
      "id": "__implies_3",
      "type": "operator",
      "label": "implies",
      "emoji": "⇒",
      "op": "implies",
      "subexpr": "A \\implies B \\implies C \\implies D",
      "chartScript": {
        "script": "A*B*C*D*pow(implies, 3)",
        "variables": [
          "A",
          "B",
          "C",
          "D",
          "implies"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "C",
      "to": "__implies_1",
      "role": "lhs"
    },
    {
      "from": "D",
      "to": "__implies_1",
      "role": "rhs"
    },
    {
      "from": "B",
      "to": "__implies_2",
      "role": "lhs"
    },
    {
      "from": "__implies_1",
      "to": "__implies_2",
      "role": "rhs"
    },
    {
      "from": "A",
      "to": "__implies_3",
      "role": "lhs"
    },
    {
      "from": "__implies_2",
      "to": "__implies_3",
      "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
  C["$C$"]:::scalar
  D["$D$"]:::scalar
  __implies_1(("$\Rightarrow$")):::operator
  __implies_2(("$\Rightarrow$")):::operator
  __implies_3(("$\Rightarrow$")):::operator
  C -->|lhs| __implies_1
  D -->|rhs| __implies_1
  B -->|lhs| __implies_2
  __implies_1 -->|rhs| __implies_2
  A -->|lhs| __implies_3
  __implies_2 -->|rhs| __implies_3
  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
Click D3 to render
single_iff
$$P \iff Q$$
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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  __iff_1(("$\Leftrightarrow$")):::operator
  P --> __iff_1
  Q --> __iff_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
P \iff Q
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "P",
      "type": "scalar",
      "latex": "P",
      "subexpr": "P",
      "chartScript": {
        "script": "P",
        "variables": [
          "P"
        ]
      }
    },
    {
      "id": "Q",
      "type": "scalar",
      "latex": "Q",
      "subexpr": "Q",
      "chartScript": {
        "script": "Q",
        "variables": [
          "Q"
        ]
      }
    },
    {
      "id": "__iff_1",
      "type": "operator",
      "label": "if and only if",
      "emoji": "⇔",
      "op": "iff",
      "subexpr": "P \\iff Q",
      "chartScript": {
        "script": "P*Q*iff",
        "variables": [
          "P",
          "Q",
          "iff"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "P",
      "to": "__iff_1"
    },
    {
      "from": "Q",
      "to": "__iff_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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  __iff_1(("$\Leftrightarrow$")):::operator
  P --> __iff_1
  Q --> __iff_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
Click D3 to render
chained_iff
$$P \iff Q \iff R$$
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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  R["$R$"]:::scalar
  __iff_1(("$\Leftrightarrow$")):::operator
  P --> __iff_1
  Q --> __iff_1
  R --> __iff_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#aaa,stroke-width:2px
P \iff Q \iff R
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "P",
      "type": "scalar",
      "latex": "P",
      "subexpr": "P",
      "chartScript": {
        "script": "P",
        "variables": [
          "P"
        ]
      }
    },
    {
      "id": "Q",
      "type": "scalar",
      "latex": "Q",
      "subexpr": "Q",
      "chartScript": {
        "script": "Q",
        "variables": [
          "Q"
        ]
      }
    },
    {
      "id": "R",
      "type": "scalar",
      "latex": "R",
      "subexpr": "R",
      "chartScript": {
        "script": "R",
        "variables": [
          "R"
        ]
      }
    },
    {
      "id": "__iff_1",
      "type": "operator",
      "label": "if and only if",
      "emoji": "⇔",
      "op": "iff",
      "subexpr": "P \\iff Q \\iff R",
      "chartScript": {
        "script": "P*Q*R*pow(iff, 2)",
        "variables": [
          "P",
          "Q",
          "R",
          "iff"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "P",
      "to": "__iff_1"
    },
    {
      "from": "Q",
      "to": "__iff_1"
    },
    {
      "from": "R",
      "to": "__iff_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
  P["$P$"]:::scalar
  Q["$Q$"]:::scalar
  R["$R$"]:::scalar
  __iff_1(("$\Leftrightarrow$")):::operator
  P --> __iff_1
  Q --> __iff_1
  R --> __iff_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
system_2x2
$$2x + 3y = 7, \quad x - y = 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
  c0___equals_1{"="}:::relation
  c0___add_2(("$+$")):::operator
  c0___multiply_3(("$\times$")):::operator
  c0___num_4["$2$"]:::number
  x["$x$"]:::scalar
  c0___multiply_5(("$\times$")):::operator
  c0___num_6["$3$"]:::number
  y["$y$"]:::scalar
  c0___num_7["$7$"]:::number
  c1___equals_1{"="}:::relation
  c1___add_2(("$+$")):::operator
  c1___negation_3@{ shape: "flip-tri", label: "$-$" }
  c1___num_4["$1$"]:::number
  class c1___negation_3 operator
  c0___num_4 --> c0___multiply_3
  x --> c0___multiply_3
  c0___multiply_3 --> c0___add_2
  c0___num_6 --> c0___multiply_5
  y --> c0___multiply_5
  c0___multiply_5 --> c0___add_2
  c0___add_2 --> c0___equals_1
  c0___num_7 --> c0___equals_1
  x --> c1___add_2
  y --> c1___negation_3
  c1___negation_3 --> c1___add_2
  c1___add_2 --> c1___equals_1
  c1___num_4 --> c1___equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#aaa,stroke-width:2px
2x + 3y = 7, \quad x - y = 1
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "c0___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "2x + 3y = 7",
      "chartScript": {
        "script": "2*x + 3*y - 7",
        "variables": [
          "x",
          "y"
        ]
      }
    },
    {
      "id": "c0___add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "x 2 + y 3",
      "chartScript": {
        "script": "2*x + 3*y",
        "variables": [
          "x",
          "y"
        ]
      }
    },
    {
      "id": "c0___multiply_3",
      "type": "operator",
      "op": "multiply",
      "subexpr": "x 2",
      "chartScript": {
        "script": "2*x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "c0___num_4",
      "type": "number",
      "label": "2",
      "subexpr": "2",
      "chartScript": {
        "script": "2",
        "variables": []
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "c0___multiply_5",
      "type": "operator",
      "op": "multiply",
      "subexpr": "y 3",
      "chartScript": {
        "script": "3*y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "c0___num_6",
      "type": "number",
      "label": "3",
      "subexpr": "3",
      "chartScript": {
        "script": "3",
        "variables": []
      }
    },
    {
      "id": "y",
      "type": "scalar",
      "latex": "y",
      "subexpr": "y",
      "chartScript": {
        "script": "y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "c0___num_7",
      "type": "number",
      "label": "7",
      "subexpr": "7",
      "chartScript": {
        "script": "7",
        "variables": []
      }
    },
    {
      "id": "c1___equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "x - y = 1",
      "chartScript": {
        "script": "x - y - 1",
        "variables": [
          "x",
          "y"
        ]
      }
    },
    {
      "id": "c1___add_2",
      "type": "operator",
      "op": "add",
      "subexpr": "x - y",
      "chartScript": {
        "script": "x - y",
        "variables": [
          "x",
          "y"
        ]
      }
    },
    {
      "id": "c1___negation_3",
      "type": "operator",
      "op": "negation",
      "subexpr": "-y",
      "chartScript": {
        "script": "-y",
        "variables": [
          "y"
        ]
      }
    },
    {
      "id": "c1___num_4",
      "type": "number",
      "label": "1",
      "subexpr": "1",
      "chartScript": {
        "script": "1",
        "variables": []
      }
    }
  ],
  "edges": [
    {
      "from": "c0___num_4",
      "to": "c0___multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "x",
      "to": "c0___multiply_3",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "c0___multiply_3",
      "to": "c0___add_2"
    },
    {
      "from": "c0___num_6",
      "to": "c0___multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "y",
      "to": "c0___multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "c0___multiply_5",
      "to": "c0___add_2"
    },
    {
      "from": "c0___add_2",
      "to": "c0___equals_1"
    },
    {
      "from": "c0___num_7",
      "to": "c0___equals_1"
    },
    {
      "from": "x",
      "to": "c1___add_2"
    },
    {
      "from": "y",
      "to": "c1___negation_3"
    },
    {
      "from": "c1___negation_3",
      "to": "c1___add_2"
    },
    {
      "from": "c1___add_2",
      "to": "c1___equals_1"
    },
    {
      "from": "c1___num_4",
      "to": "c1___equals_1"
    }
  ],
  "classification": {
    "kind": "statements",
    "count": 2,
    "clauses": [
      {
        "kind": "algebraic"
      },
      {
        "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
  c0___equals_1{"="}:::relation
  c0___add_2(("$+$")):::operator
  c0___multiply_3(("$\times$")):::operator
  c0___num_4["$2$"]:::number
  x["$x$"]:::scalar
  c0___multiply_5(("$\times$")):::operator
  c0___num_6["$3$"]:::number
  y["$y$"]:::scalar
  c0___num_7["$7$"]:::number
  c1___equals_1{"="}:::relation
  c1___add_2(("$+$")):::operator
  c1___negation_3@{ shape: "flip-tri", label: "$-$" }
  c1___num_4["$1$"]:::number
  class c1___negation_3 operator
  c0___num_4 --> c0___multiply_3
  x --> c0___multiply_3
  c0___multiply_3 --> c0___add_2
  c0___num_6 --> c0___multiply_5
  y --> c0___multiply_5
  c0___multiply_5 --> c0___add_2
  c0___add_2 --> c0___equals_1
  c0___num_7 --> c0___equals_1
  x --> c1___add_2
  y --> c1___negation_3
  c1___negation_3 --> c1___add_2
  c1___add_2 --> c1___equals_1
  c1___num_4 --> c1___equals_1
  linkStyle 0 stroke:#ef5350,stroke-width:3px
  linkStyle 1 stroke:#ef5350,stroke-width:3px
  linkStyle 2 stroke:#aaa,stroke-width:2px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#ef5350,stroke-width:3px
  linkStyle 5 stroke:#aaa,stroke-width:2px
  linkStyle 6 stroke:#aaa,stroke-width:2px
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#aaa,stroke-width:2px
Click D3 to render
piecewise
$$f(x) = \begin{cases} x & x \geq 0 \\ -x & x < 0 \end{cases}$$
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
  __piecewise_1(("$piecewise$")):::operator
  __branch_2(("$\Rightarrow$")):::operator
  x["$x$"]:::scalar
  __num_3["$0$"]:::number
  __greater_equal_4{"≥"}:::relation
  __branch_5(("$\Rightarrow$")):::operator
  __negation_6@{ shape: "flip-tri", label: "$-$" }
  __less_than_7{"$<$"}:::relation
  __num_8["$0$"]:::number
  __f_9{{"$f(\cdot)$"}}:::function
  __equals_10{"="}:::relation
  class __negation_6 operator
  __branch_2 --> __piecewise_1
  x -->|value| __branch_2
  x -->|lhs| __greater_equal_4
  __num_3 -->|rhs| __greater_equal_4
  __greater_equal_4 -->|condition| __branch_2
  __branch_5 --> __piecewise_1
  x --> __negation_6
  __negation_6 -->|value| __branch_5
  x -->|lhs| __less_than_7
  __num_8 -->|rhs| __less_than_7
  __less_than_7 -->|condition| __branch_5
  x --> __f_9
  __f_9 --> __equals_10
  __piecewise_1 --> __equals_10
  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
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#aaa,stroke-width:2px
  linkStyle 13 stroke:#aaa,stroke-width:2px
f(x) = \begin{cases} x & x \geq 0 \\ -x & x < 0 \end{cases}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__piecewise_1",
      "type": "operator",
      "label": "piecewise",
      "op": "piecewise",
      "subexpr": "f(x) = \\begin{cases} x & x \\geq 0 \\\\ -x & x < 0 \\end{cases}"
    },
    {
      "id": "__branch_2",
      "type": "operator",
      "label": "branch",
      "op": "branch",
      "subexpr": "x \\text{ if } x \\geq 0",
      "chartScript": {
        "script": "f*i*text*pow(x, 2)",
        "variables": [
          "f",
          "i",
          "text",
          "x"
        ]
      }
    },
    {
      "id": "x",
      "type": "scalar",
      "latex": "x",
      "subexpr": "x",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__num_3",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__greater_equal_4",
      "type": "relation",
      "label": "greater than or equal to",
      "emoji": "≥",
      "op": "greater_equal",
      "subexpr": "x \\geq 0",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__branch_5",
      "type": "operator",
      "label": "branch",
      "op": "branch",
      "subexpr": "-x \\text{ if } x < 0",
      "chartScript": {
        "script": "-f*i*text*pow(x, 2)",
        "variables": [
          "f",
          "i",
          "text",
          "x"
        ]
      }
    },
    {
      "id": "__negation_6",
      "type": "operator",
      "op": "negation",
      "subexpr": "-x",
      "chartScript": {
        "script": "-x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__less_than_7",
      "type": "relation",
      "op": "less_than",
      "subexpr": "x < 0",
      "chartScript": {
        "script": "x",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__num_8",
      "type": "number",
      "label": "0",
      "subexpr": "0",
      "chartScript": {
        "script": "0",
        "variables": []
      }
    },
    {
      "id": "__f_9",
      "type": "function",
      "op": "f",
      "subexpr": "f(x)",
      "chartScript": {
        "script": "f(x)",
        "variables": [
          "x"
        ]
      }
    },
    {
      "id": "__equals_10",
      "type": "relation",
      "op": "equals",
      "subexpr": "f(x) = \\begin{cases} x & x \\geq 0 \\\\ -x & x < 0 \\end{cases}"
    }
  ],
  "edges": [
    {
      "from": "__branch_2",
      "to": "__piecewise_1"
    },
    {
      "from": "x",
      "to": "__branch_2",
      "role": "value"
    },
    {
      "from": "x",
      "to": "__greater_equal_4",
      "role": "lhs"
    },
    {
      "from": "__num_3",
      "to": "__greater_equal_4",
      "role": "rhs"
    },
    {
      "from": "__greater_equal_4",
      "to": "__branch_2",
      "role": "condition"
    },
    {
      "from": "__branch_5",
      "to": "__piecewise_1"
    },
    {
      "from": "x",
      "to": "__negation_6"
    },
    {
      "from": "__negation_6",
      "to": "__branch_5",
      "role": "value"
    },
    {
      "from": "x",
      "to": "__less_than_7",
      "role": "lhs"
    },
    {
      "from": "__num_8",
      "to": "__less_than_7",
      "role": "rhs"
    },
    {
      "from": "__less_than_7",
      "to": "__branch_5",
      "role": "condition"
    },
    {
      "from": "x",
      "to": "__f_9"
    },
    {
      "from": "__f_9",
      "to": "__equals_10"
    },
    {
      "from": "__piecewise_1",
      "to": "__equals_10"
    }
  ],
  "classification": {
    "kind": "piecewise",
    "branches": 2
  }
}
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
  __piecewise_1(("$piecewise$")):::operator
  __branch_2(("$\Rightarrow$")):::operator
  x["$x$"]:::scalar
  __num_3["$0$"]:::number
  __greater_equal_4{"≥"}:::relation
  __branch_5(("$\Rightarrow$")):::operator
  __negation_6@{ shape: "flip-tri", label: "$-$" }
  __less_than_7{"$<$"}:::relation
  __num_8["$0$"]:::number
  __f_9{{"$f(\cdot)$"}}:::function
  __equals_10{"="}:::relation
  class __negation_6 operator
  __branch_2 --> __piecewise_1
  x -->|value| __branch_2
  x -->|lhs| __greater_equal_4
  __num_3 -->|rhs| __greater_equal_4
  __greater_equal_4 -->|condition| __branch_2
  __branch_5 --> __piecewise_1
  x --> __negation_6
  __negation_6 -->|value| __branch_5
  x -->|lhs| __less_than_7
  __num_8 -->|rhs| __less_than_7
  __less_than_7 -->|condition| __branch_5
  x --> __f_9
  __f_9 --> __equals_10
  __piecewise_1 --> __equals_10
  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
  linkStyle 7 stroke:#aaa,stroke-width:2px
  linkStyle 8 stroke:#aaa,stroke-width:2px
  linkStyle 9 stroke:#aaa,stroke-width:2px
  linkStyle 10 stroke:#aaa,stroke-width:2px
  linkStyle 11 stroke:#aaa,stroke-width:2px
  linkStyle 12 stroke:#aaa,stroke-width:2px
  linkStyle 13 stroke:#aaa,stroke-width:2px
Click D3 to render
definition_where
$$E = \frac{1}{2}mv^2 \quad (\text{where } v = \text{velocity})$$
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
  E["$E$"]:::scalar
  __multiply_2(("$\times$")):::operator
  __power_3(("$\dfrac{1}{(\cdot)}$")):::operator
  __num_4["$2$"]:::number
  __multiply_5(("$\times$")):::operator
  m["$m$"]:::scalar
  __power_6(("${(\cdot)}^{2}$")):::operator
  v["$v$"]:::scalar
  __annotation_0(("$\text{where } v = \text{velocity}$")):::annotation
  E --> __equals_1
  __num_4 --> __power_3
  __power_3 -.-> __multiply_2
  m --> __multiply_5
  v --> __power_6
  __power_6 --> __multiply_5
  __multiply_5 --> __multiply_2
  __multiply_2 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#42a5f5,stroke-width:1px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#ef5350,stroke-width:3px
  linkStyle 7 stroke:#aaa,stroke-width:2px
E = \frac{1}{2}mv^2 \quad (\text{where } v = \text{velocity})
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "__equals_1",
      "type": "relation",
      "op": "equals",
      "subexpr": "E = \\frac{1}{2}mv^2",
      "chartScript": {
        "script": "E - 1/2*m*pow(v, 2)",
        "variables": [
          "E",
          "m",
          "v"
        ]
      }
    },
    {
      "id": "E",
      "type": "scalar",
      "latex": "E",
      "subexpr": "E",
      "chartScript": {
        "script": "E",
        "variables": [
          "E"
        ]
      }
    },
    {
      "id": "__multiply_2",
      "type": "operator",
      "op": "multiply",
      "subexpr": "\\frac{1}{2} m v^{2}",
      "chartScript": {
        "script": "(1/2)*m*pow(v, 2)",
        "variables": [
          "m",
          "v"
        ]
      }
    },
    {
      "id": "__power_3",
      "type": "operator",
      "latex": "\\dfrac{1}{(\\cdot)}",
      "op": "power",
      "exponent": "-1",
      "subexpr": "\\frac{1}{2}",
      "chartScript": {
        "script": "1/2",
        "variables": []
      }
    },
    {
      "id": "__num_4",
      "type": "number",
      "label": "2",
      "subexpr": "2",
      "chartScript": {
        "script": "2",
        "variables": []
      }
    },
    {
      "id": "__multiply_5",
      "type": "operator",
      "op": "multiply",
      "subexpr": "m v^{2}",
      "chartScript": {
        "script": "m*pow(v, 2)",
        "variables": [
          "m",
          "v"
        ]
      }
    },
    {
      "id": "m",
      "type": "scalar",
      "latex": "m",
      "subexpr": "m",
      "chartScript": {
        "script": "m",
        "variables": [
          "m"
        ]
      }
    },
    {
      "id": "__power_6",
      "type": "operator",
      "op": "power",
      "exponent": "2",
      "subexpr": "v^{2}",
      "chartScript": {
        "script": "pow(v, 2)",
        "variables": [
          "v"
        ]
      }
    },
    {
      "id": "v",
      "type": "scalar",
      "latex": "v",
      "subexpr": "v",
      "chartScript": {
        "script": "v",
        "variables": [
          "v"
        ]
      }
    },
    {
      "id": "__annotation_0",
      "type": "annotation",
      "label": "where v = velocity",
      "latex": "\\text{where } v = \\text{velocity}"
    }
  ],
  "edges": [
    {
      "from": "E",
      "to": "__equals_1"
    },
    {
      "from": "__num_4",
      "to": "__power_3"
    },
    {
      "from": "__power_3",
      "to": "__multiply_2"
    },
    {
      "from": "m",
      "to": "__multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "v",
      "to": "__power_6"
    },
    {
      "from": "__power_6",
      "to": "__multiply_5",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_5",
      "to": "__multiply_2",
      "semantic": "direct",
      "weight": 1.0
    },
    {
      "from": "__multiply_2",
      "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
  E["$E$"]:::scalar
  __multiply_2(("$\times$")):::operator
  __power_3(("$\dfrac{1}{(\cdot)}$")):::operator
  __num_4["$2$"]:::number
  __multiply_5(("$\times$")):::operator
  m["$m$"]:::scalar
  __power_6(("${(\cdot)}^{2}$")):::operator
  v["$v$"]:::scalar
  __annotation_0(("$\text{where } v = \text{velocity}$")):::annotation
  E --> __equals_1
  __num_4 --> __power_3
  __power_3 -.-> __multiply_2
  m --> __multiply_5
  v --> __power_6
  __power_6 --> __multiply_5
  __multiply_5 --> __multiply_2
  __multiply_2 --> __equals_1
  linkStyle 0 stroke:#aaa,stroke-width:2px
  linkStyle 1 stroke:#aaa,stroke-width:2px
  linkStyle 2 stroke:#42a5f5,stroke-width:1px
  linkStyle 3 stroke:#ef5350,stroke-width:3px
  linkStyle 4 stroke:#aaa,stroke-width:2px
  linkStyle 5 stroke:#ef5350,stroke-width:3px
  linkStyle 6 stroke:#ef5350,stroke-width:3px
  linkStyle 7 stroke:#aaa,stroke-width:2px
Click D3 to render
subject_group
$$\alpha, \beta \in \mathbb{R}$$
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
  alpha["$\alpha$"]:::scalar
  beta["$\beta$"]:::scalar
  __and_1(("$,$")):::operator
  R["$\mathbb{R}$"]:::scalar
  __element_of_2{"∈"}:::relation
  alpha --> __and_1
  beta --> __and_1
  __and_1 -->|lhs| __element_of_2
  R -->|rhs| __element_of_2
  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
\alpha, \beta \in \mathbb{R}
Semantic Graph JSON
{
  "nodes": [
    {
      "id": "alpha",
      "type": "scalar",
      "latex": "\\alpha",
      "subexpr": "\\alpha",
      "chartScript": {
        "script": "alpha",
        "variables": [
          "alpha"
        ]
      }
    },
    {
      "id": "beta",
      "type": "scalar",
      "latex": "\\beta",
      "subexpr": "\\beta",
      "chartScript": {
        "script": "beta",
        "variables": [
          "beta"
        ]
      }
    },
    {
      "id": "__and_1",
      "type": "operator",
      "label": "and",
      "emoji": ",",
      "op": "and",
      "subexpr": "\\alpha, \\beta",
      "chartScript": {
        "script": "alpha",
        "variables": [
          "alpha"
        ]
      }
    },
    {
      "id": "R",
      "type": "scalar",
      "latex": "\\mathbb{R}",
      "subexpr": "{R}",
      "chartScript": {
        "script": "R",
        "variables": [
          "R"
        ]
      }
    },
    {
      "id": "__element_of_2",
      "type": "relation",
      "label": "element of",
      "emoji": "∈",
      "op": "element_of",
      "subexpr": "\\alpha, \\beta \\in \\mathbb{R}",
      "chartScript": {
        "script": "alpha",
        "variables": [
          "alpha"
        ]
      }
    }
  ],
  "edges": [
    {
      "from": "alpha",
      "to": "__and_1"
    },
    {
      "from": "beta",
      "to": "__and_1"
    },
    {
      "from": "__and_1",
      "to": "__element_of_2",
      "role": "lhs"
    },
    {
      "from": "R",
      "to": "__element_of_2",
      "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
  alpha["$\alpha$"]:::scalar
  beta["$\beta$"]:::scalar
  __and_1(("$,$")):::operator
  R["$\mathbb{R}$"]:::scalar
  __element_of_2{"∈"}:::relation
  alpha --> __and_1
  beta --> __and_1
  __and_1 -->|lhs| __element_of_2
  R -->|rhs| __element_of_2
  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
21 rendered, 0 errors out of 21 expressions