/* global React, Shape, Peek, Cite */ const { useState: useStateCmp } = React; function ComparativeView({ peekPattern = "drawer" }) { // Three concepts students reliably confuse: derivative / differential / limit const cols = [ { name: "Limit", id: "def.calc.limit", kind: "def", mastery: "mastered", cells: { formal: "lim_{x→a} f(x) = L iff ∀ε>0 ∃δ>0 with 0 < |x−a| < δ ⟹ |f(x)−L| < ε.", kind: "Definition · ε–δ", type: "value (number, possibly ∞)", depends: "—", operates_on: "function value approached by inputs", notation: "lim_{x→a} f(x)", physical: "approached value; what f \"would equal\" at a, if continuous.", ex: "lim_{x→0} sin(x)/x = 1", gotcha: "The limit need not equal f(a). f might not even be defined at a.", }}, { name: "Derivative", id: "def.calc.derivative", kind: "def", mastery: "frontier", cells: { formal: "f′(x) = lim_{h→0} [f(x+h) − f(x)] / h, when this limit exists.", kind: "Definition · built from limit", type: "function f′ : ℝ → ℝ (or value at a point)", depends: "limit", operates_on: "rate of change of f at each x", notation: "f′(x), df/dx, ḟ, Df", physical: "instantaneous slope; instantaneous velocity if f is position.", ex: "f(x) = x² ⟹ f′(x) = 2x", gotcha: "The derivative is itself a function — not a number — unless evaluated at a point.", }}, { name: "Differential", id: "def.calc.differential", kind: "def", mastery: "review-due", cells: { formal: "df = f′(x) · dx — a linear approximation of Δf for small dx.", kind: "Definition · linear form", type: "linear functional / 1-form", depends: "derivative", operates_on: "increments dx, returning approximate Δf", notation: "df, df_x(h)", physical: "best linear estimate of how f changes when x nudges by dx.", ex: "f(x) = x², dx = 0.01, x = 3 ⟹ df = 6 · 0.01 = 0.06", gotcha: "df ≠ Δf in general — they agree only in the limit, or for linear f.", }}, ]; const rows = [ { id: "formal", label: "Formal definition", tag: "math" }, { id: "kind", label: "Kind of object", tag: "ontology", diverges: true }, { id: "type", label: "Returns", tag: "type", diverges: true }, { id: "depends", label: "Depends on", tag: "graph" }, { id: "operates_on", label: "Operates on", tag: "semantics" }, { id: "notation", label: "Notation", tag: "syntax" }, { id: "physical", label: "Physical reading", tag: "intuition" }, { id: "ex", label: "Worked example", tag: "concrete" }, { id: "gotcha", label: "Common confusion", tag: "pitfall", diverges: true }, ]; const formulaRows = new Set(["formal", "ex", "notation"]); return (
← calculus / comparative
comparative cmp.calc.derivative_diff_limit
comparative concept view · 3 entities · 9 dimensions

Limit · Derivative · Differential

Three closely related concepts students reliably confuse. Where the rows agree the concepts coincide; the shaded rows are the ontological hinges where they come apart.

shaded row · concepts diverge here · peeked column id at row label · taggable for cross-domain re-use
{/* header row */}
concept →
{cols.map((c) => (
{c.mastery === "review-due" ? "review due · 2d" : c.mastery === "frontier" ? "frontier" : "mastered"}
{c.name}
{c.id}
))}
{/* body rows */} {rows.map((r) => (
{r.label} {r.tag}
{cols.map((c) => (
{formulaRows.has(r.id) ?
{c.cells[r.id]}
: r.id === "depends" ?
{c.cells[r.id]}
:
{c.cells[r.id]}
}
))}
))}
); } window.ComparativeView = ComparativeView;