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