#set document(title: "3.2 Limits Along Different Roads", author: "XYZ Homework") #set page(width: 8.5in, height: auto, margin: 1in) #import "@preview/cetz:0.5.2" #set text(font: ("STIX Two Text", "Libertinus Serif", "New Computer Modern"), size: 10.5pt, lang: "en") #show math.equation: set text(font: ("STIX Two Math", "New Computer Modern Math")) #set par(justify: true, leading: 0.62em, spacing: 0.9em) #set enum(spacing: 1.1em) // room between list items so tall inline fractions don't collide #set list(spacing: 1.1em) #set table(stroke: 0.5pt + rgb("#c7ccd3")) #let BLUE = rgb("#183B6F") // brand navy — section bars + example/solution labels (white on navy 11.09:1) #let ORANGE = rgb("#A94509") // brand primary-700 — AA-safe deep orange for TEXT (5.93:1 on white; raw brand #F37021 is 2.94:1 and must never carry text) #let RED = rgb("#DC2626") // brand error-600 #let GREEN = rgb("#059669") // brand success-600 (decoration only; small green text uses green-text #007942) #show heading.where(level: 1): it => block(width: 100%, above: 0pt, below: 16pt, fill: gradient.linear(BLUE, rgb("#2C5AA0")), inset: (x: 14pt, y: 12pt), radius: 3pt, text(fill: white, weight: "bold", size: 19pt, it.body)) #show heading.where(level: 2): it => block(width: 100%, above: 18pt, below: 10pt, fill: BLUE, inset: (x: 10pt, y: 6pt), radius: 2pt, text(fill: white, weight: "bold", size: 12pt, it.body)) #show heading.where(level: 3): it => text(fill: ORANGE, weight: "bold", size: 12.5pt, it.body) #show heading.where(level: 4): it => text(fill: BLUE, weight: "bold", size: 10.5pt, it.body) #let examplebox(label, title, body) = block(width: 100%, breakable: true, fill: rgb("#EFF1F5"), stroke: 0.5pt + rgb("#CFDDF0"), radius: 4pt, inset: 10pt, above: 12pt, below: 12pt)[ #block(below: 6pt)[#box(fill: BLUE, inset: (x: 6pt, y: 2pt), radius: 2pt, text(fill: white, weight: "bold", size: 8.5pt, label)) #h(0.4em) #strong[#title]] #body] // rail = decorative left rule (raw brand token); labelcolor = AA-safe label text shade #let notebox(label, rail, labelcolor, tint, body) = block(width: 100%, breakable: true, fill: tint, stroke: (left: 3pt + rail), inset: (left: 10pt, rest: 8pt), radius: (right: 4pt), above: 11pt, below: 11pt)[ #text(fill: labelcolor, weight: "bold", size: 7.5pt, tracking: 0.5pt)[#upper(label)] #linebreak() #body] #let solutionbox(body) = block(above: 4pt, below: 8pt)[ #text(fill: BLUE, weight: "bold", size: 8.5pt)[Solution] #linebreak() #body] #let figph(msg) = block(width: 100%, height: 60pt, fill: rgb("#f6f7f9"), stroke: (paint: rgb("#c7ccd3"), dash: "dashed"), radius: 4pt, inset: 10pt)[ #align(center + horizon, text(fill: rgb("#889"), style: "italic", size: 9pt, msg))] // Standardize inlined figure sizes: measure the natural CeTZ canvas, then scale to a // consistent envelope (aspect-aware; see build_typst.py FIG_* constants). Unlike the // print preamble, dimensions are FLOORED: in an editor a user can trim a figure to a // degenerate 1-D shape (a bare line), and w/h or tw/w would then divide by zero. #let _STD_W = 3.5 #let _WIDE_W = 5.6 #let _MAX_H = 3.4 #let _ASPECT_WIDE = 2.2 #let _UPSCALE_MAX = 1.15 #let stdfig(body) = context { let m = measure(body) let w = calc.max(m.width / 1in, 0.01) let h = calc.max(m.height / 1in, 0.01) let tw = if w / h > _ASPECT_WIDE { _WIDE_W } else { _STD_W } let s = calc.min(tw / w, _MAX_H / h, _UPSCALE_MAX) align(center, box(scale(x: s * 100%, y: s * 100%, reflow: true, body))) } #show figure: set block(breakable: false) #set figure(gap: 8pt) #show figure.caption: set text(size: 8.5pt, fill: rgb("#555")) == 3.2#h(0.6em)Limits Along Different Roads #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Objectives] - Test a two-variable limit along straight approach paths and detect path-dependence. - Compute the constant height of the lifted road along y = kx and match it to the scene. - State what continuity at a point would demand of every approach path. ] In one variable, a point can be approached from only two sides, and a limit exists when left and right agree. In the plane there are infinitely many roads into any point — every direction, every curve — and #math.equation(block: false, alt: "lim sub open parenthesis x , y close parenthesis → open parenthesis a , b close parenthesis f open parenthesis x , y close parenthesis")[$lim_(( x , y ) → ( a , b )) f ( x , y )$] exists only if #emph[all] of them agree. That is a far stronger demand, and this section builds a surface on which you can watch it fail: different straight roads into the origin genuinely arrive at different heights. The specimen is #math.equation(block: true, alt: "f open parenthesis x , y close parenthesis equals the fraction 2 x y over x squared plus y squared ,")[$f ( x , y ) = frac(2 x y, x^(2) + y^(2)) ,$] defined everywhere except the origin. Away from #math.equation(block: false, alt: "open parenthesis 0 , 0 close parenthesis")[$( 0 , 0 )$] its graph is smooth ridges and valleys, but at the origin it pleats into a sharp vertical fin — and the fin, it will turn out, #emph[is] the failed limit. {"camera":{"fov":50,"position":\[5,4,3.5\],"projection":"perspective","target":\[0,0,0\]},"grid":{"axisColors":{"x":"\#ef4444","y":"\#22c55e","z":"\#3b82f6"},"divisions":10,"gridColor":"\#e5e7eb","showAxes":true,"showLabels":true,"size":10,"visible":true},"id":"284c84e7-6722-41d4-b4b6-96e13bdf2a90","metadata":{"alt\_text":"A red-and-blue surface that pleats into a sharp vertical fin at the origin, ridges at height 1 along the diagonal y = x and valleys at height -1 along y = -x. Three thick straight roads ride the surface through the origin: a green one flat at height 0, a red one at height 1, and a blue one at height -1. A fourth amber road is hidden.","created\_at":"2026-07-07T00:00:00.000Z","description":"Workbook scene: z = 2xy/(x^2+y^2) (regularized with +0.000001 in the denominator) on \[-2,2\]^2, with straight-line approach paths lifted onto the surface along y=0 (z=0), y=x (z=1), y=-x (z=-1), and a hidden path along y=2x (z=0.8).","tags":\["workbook","calc3","limits","continuity","path-dependence"\],"updated\_at":"2026-07-07T00:00:00.000Z"},"objects":\[{"expression":"2\*x\*y/(x^2 + y^2 + 0.000001)","id":"9147428e-812d-4dfd-ba5e-4dd6480f167f","kind":"explicit-surface","label":{"text":"z = 2xy/(x^2+y^2)","visible":true},"resolution":256,"style":{"colormap":"coolwarm","doubleSided":true,"opacity":0.65,"wireframe":false,"wireframeColor":"\#000000"},"visible":true,"xDomain":\[-2,2\],"yDomain":\[-2,2\]},{"id":"891aa313-b94c-4150-ba04-bdb71d8180eb","kind":"parametric-curve","label":{"text":"road along y = 0","visible":true},"samples":200,"style":{"color":"\#22c55e","dash":\[\],"lineWidth":3},"tDomain":\[-2,2\],"visible":true,"xExpr":"t","yExpr":"0\*t","zExpr":"0"},{"id":"7b189e09-08b7-4132-8aee-c24d15a6c797","kind":"parametric-curve","label":{"text":"road along y = x","visible":true},"samples":200,"style":{"color":"\#ef4444","dash":\[\],"lineWidth":3},"tDomain":\[-1.4,1.4\],"visible":true,"xExpr":"t","yExpr":"t","zExpr":"1"},{"id":"536f30c9-936f-4260-affd-310c3d3318dc","kind":"parametric-curve","label":{"text":"road along y = -x","visible":true},"samples":200,"style":{"color":"\#3b82f6","dash":\[\],"lineWidth":3},"tDomain":\[-1.4,1.4\],"visible":true,"xExpr":"t","yExpr":"-t","zExpr":"-1"},{"id":"814a1f4f-4b8d-4a3a-9119-9b03ae573370","kind":"parametric-curve","label":{"text":"road along y = 2x","visible":true},"samples":200,"style":{"color":"\#f59e0b","dash":\[\],"lineWidth":3},"tDomain":\[-0.9,0.9\],"visible":false,"xExpr":"t","yExpr":"2\*t","zExpr":"0.8"}\],"title":"Different Roads, Different Heights \\u2014 a limit that fails","version":1} The red-and-blue surface #math.equation(block: false, alt: "z equals 2 x y / open parenthesis x squared plus y squared close parenthesis")[$z = 2 x y / ( x^(2) + y^(2) )$] (the expression carries a tiny #math.equation(block: false, alt: "plus 0.000001")[$+ 0.000001$] in the denominator so the mesh stays finite at the origin), pleating into a vertical fin at #math.equation(block: false, alt: "open parenthesis 0 , 0 close parenthesis")[$( 0 , 0 )$]. Three thick straight roads ride the surface through the origin: green along #math.equation(block: false, alt: "y equals 0")[$y = 0$] at height #math.equation(block: false, alt: "0")[$0$], red along #math.equation(block: false, alt: "y equals x")[$y = x$] at height #math.equation(block: false, alt: "1")[$1$], and blue along #math.equation(block: false, alt: "y equals minus x")[$y = − x$] at height #math.equation(block: false, alt: "minus 1")[$− 1$]. A fourth, amber road along #math.equation(block: false, alt: "y equals 2 x")[$y = 2 x$] hides in the object list. === Explore + Orbit slowly around the origin. Each colored road lies in a vertical plane over a straight line in the #math.equation(block: false, alt: "x y")[$x y$]-plane. For each of the three visible roads, read off two things: the line it travels over, and the height it travels at. + Every road is #emph[perfectly level] — constant height — yet all three pass over the same point #math.equation(block: false, alt: "open parenthesis 0 , 0 close parenthesis")[$( 0 , 0 )$]. What are the three heights over the origin? Could any single value #math.equation(block: false, alt: "f open parenthesis 0 , 0 close parenthesis")[$f ( 0 , 0 )$] agree with all three roads at once? + The hidden amber road runs along #math.equation(block: false, alt: "y equals 2 x")[$y = 2 x$], a line that sits #emph[between] #math.equation(block: false, alt: "y equals 0")[$y = 0$] (green, height #math.equation(block: false, alt: "0")[$0$]) and #math.equation(block: false, alt: "y equals x")[$y = x$] (red, height #math.equation(block: false, alt: "1")[$1$]). Before revealing it, predict: will its height land between #math.equation(block: false, alt: "0")[$0$] and #math.equation(block: false, alt: "1")[$1$]? Closer to which? Commit to a number. + Reveal the amber road with its eye toggle in the object list, orbit to a side view, and read its height against the grid. How close was your guess? The example below does the algebra. + Now make the scene grade your computation. Edit the amber road's #math.equation(block: false, alt: "y")[$y$]-component from 2\*t to 5\*t: the road jumps off the surface, because its #math.equation(block: false, alt: "z")[$z$]-component still carries the old height. Compute the correct height for slope #math.equation(block: false, alt: "5")[$5$], retype the #math.equation(block: false, alt: "z")[$z$]-component, and watch — if the road settles back onto the surface, your value is right. + All your computations follow one formula: the road over #math.equation(block: false, alt: "y equals k x")[$y = k x$] rides at height #math.equation(block: false, alt: "2 k / open parenthesis 1 plus k squared close parenthesis")[$2 k / ( 1 + k^(2) )$]. Which slope rides highest? Which lowest? Sketch height against #math.equation(block: false, alt: "k")[$k$] on paper. === Why the limit fails Along any line through the origin the function is constant, so each road is level — but the constants #emph[differ from road to road], filling the whole range from #math.equation(block: false, alt: "minus 1")[$− 1$] to #math.equation(block: false, alt: "1")[$1$]. For the limit to exist, one number would have to be the destination of every road at once. No number is, so #math.equation(block: true, alt: "lim sub open parenthesis x , y close parenthesis → open parenthesis 0 , 0 close parenthesis the fraction 2 x y over x squared plus y squared does not exist.")[$lim_(( x , y ) → ( 0 , 0 )) frac(2 x y, x^(2) + y^(2)) #h(1em) "does not exist."$] Continuity at the origin is then beyond rescue: it would require #math.equation(block: false, alt: "f open parenthesis 0 , 0 close parenthesis")[$f ( 0 , 0 )$] to equal a limit that is not there. No choice of value plugs the fin — the fin is the disagreement between roads, made solid. #examplebox("Example 1")[Every straight road has its own altitude][ Find the height at which the surface carries the road along #math.equation(block: false, alt: "y equals k x")[$y = k x$], then verify the amber road's height and compute the correct height after its slope is edited to #math.equation(block: false, alt: "5")[$5$]. Substitute #math.equation(block: false, alt: "y equals k x")[$y = k x$] with #math.equation(block: false, alt: "x not equal to 0")[$x ≠ 0$]: #math.equation(block: true, alt: "f open parenthesis x , k x close parenthesis equals the fraction 2 x open parenthesis k x close parenthesis over x squared plus k squared x squared equals the fraction 2 k over 1 plus k squared ,")[$f ( x , k x ) = frac(2 x ( k x ), x^(2) + k^(2) x^(2)) = frac(2 k, 1 + k^(2)) ,$] a constant — the same for every #math.equation(block: false, alt: "x not equal to 0")[$x ≠ 0$], which is why each lifted road is level. For #math.equation(block: false, alt: "k equals 2")[$k = 2$] the height is #math.equation(block: false, alt: "the fraction 4 over 5 equals 0.8")[$frac(4, 5) = 0.8$], matching the amber road. For #math.equation(block: false, alt: "k equals 5")[$k = 5$] it is #math.equation(block: false, alt: "the fraction 10 over 26 equals the fraction 5 over 13 approximately equals 0.385")[$frac(10, 26) = frac(5, 13) ≈ 0.385$] — the value that reseats the edited road. The extremes come from #math.equation(block: false, alt: "open parenthesis 1 ∓ k close parenthesis squared greater than or equal to 0")[$( 1 ∓ k )^(2) ≥ 0$], which rearranges to #math.equation(block: false, alt: "| 2 k | less than or equal to 1 plus k squared")[$| 2 k | ≤ 1 + k^(2)$]: the height #math.equation(block: false, alt: "2 k / open parenthesis 1 plus k squared close parenthesis")[$2 k / ( 1 + k^(2) )$] never leaves #math.equation(block: false, alt: "[ minus 1 , 1 ]")[$[ − 1 , 1 ]$], and touches #math.equation(block: false, alt: "± 1")[$± 1$] exactly at #math.equation(block: false, alt: "k equals ± 1")[$k = ± 1$] — the red and blue roads. Different roads, different constants: the two-variable limit does not exist. ] #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ Checking a limit along a few roads can only ever #emph[disprove] it: one disagreement kills the limit, but agreement along every straight line is still not proof — curved roads get a vote too. Treat every two-variable limit as a claim about all roads at once. ]