fill3(a, b, c): fill (a, b), (b, c) Frame(a, b, w, x, y, z) : if e == (1., 1.) rel (a, b) , d == (0.5, 0.5) rel (a, b) , c == (0., 1.) rel (a, b) , f == (0.065, 0) rel (a, b) | T -> x := c; y := d; z := e; w := f fi PencilCursor(a, b) : if l == (1., 1.) rel (a, b) , k == (0.75, 0.5) rel (a, b) , j == (0.75, 1.) rel (a, b) , i == (0.5, 0.5) rel (a, b) , h == (0.5, 1.) rel (a, b) , g == (0.48, 0.) rel (a, b) , f == (0.25, 0.5) rel (a, b) , e == (0.25, 1.) rel (a, b) , d == (0.065, 0.) rel (a, b) , c == (- 0., 1.) rel (a, b) | T -> Frame(a, b, d, c, i, l) ; a, d width stroke (e, f), (f, g), (g, k), (k, j) ; stroke (h, i) ; if p == (0.5, 0) rel (g, f) , q == (0.5, 0) rel (g, k) | T -> fill (p, q), (q, g), (g, p) fi fi EraserCursor(a, b) : if l == (1., 1.) rel (a, b) , k == (0.67, - 0.009) rel (a, b) , j == (0.67, 1.022) rel (a, b) , i == (0.67, 0.5) rel (a, b) , h == (0.5, 0.5) rel (a, b) , g == (0.322, - 0.009) rel (a, b) , f == (0.322, 1.022) rel (a, b) , e == (0.322, 0.5) rel (a, b) , d == (0.065, 0.) rel (a, b) , c == (0., 1.) rel (a, b) | T -> Frame(a, b, d, c, h, l) ; a, d width butt ends stroke (f, e) ; stroke (j, i) ; stroke (e, i) ; round ends stroke (e, g), (g, k), (k, i) fi XCursor(a, b) : if j == (1., 1.) rel (a, b) , i == (0.883, 0.115) rel (a, b) , h == (0.879, 0.878) rel (a, b) , g == (0.5, 0.5) rel (a, b) , f == (0.119, 0.88) rel (a, b) , e == (0.115, 0.114) rel (a, b) , d == (0.065, 0.) rel (a, b) , c == (0., 1.) rel (a, b) | (g, f) para (g, c) and (g, h) para (g, j) and (g, i) para (g, b) and (g, e) para (g, a) and (g, i) cong (g, h) and (g, f) cong (g, i) and (g, e) cong (g, f) and ver (d, e) and ver (d, e) and hor (a, b) -> Frame(a, b, d, c, g, j) ; a, d width butt ends stroke (f, i); stroke (h, e) fi HorizontalCursor(a, b) : if q == (1., 1.) rel (a, b) , p == (0.965, 0.492) rel (a, b) , o == (0.5, 0.5) rel (a, b) , n == (0.275, 0.492) rel (a, b) , m == (0.275, 0.822) rel (a, b) , l == (0.275, 0.161) rel (a, b) , k == (0.21, 0.492) rel (a, b) , j == (0.21, 0.763) rel (a, b) , i == (0.21, 0.22) rel (a, b) , h == (0.145, 0.492) rel (a, b) , g == (0.14, 0.385) rel (a, b) , f == (0.14, 0.597) rel (a, b) , e == (0.129, 0.) rel (a, b) , d == (0.065, 0.) rel (a, b) , c == (0, 0) rel (a) | T -> Frame(a, b, d, c, o, q) ; a, e width butt ends stroke (n, p) ; a, d width butt ends stroke (f, g); stroke (j, i); stroke (m, l) fi VerticalCursor(a, b) : if c == (0., 1.) rel (a, b) | T -> HorizontalCursor(c, a) fi CompassCursor(a, b) : if n == (1., 1.) rel (a, b) , m == (0.899, 0.057) rel (a, b) , l == (0.841, 0.307) rel (a, b) , k == (0.683, 0.148) rel (a, b) , j == (0.519, 0.734) rel (a, b) , i == (0.5, 0.5) rel (a, b) , h == (0.5, 0.138) rel (a, b) , g == (0.495, 1.) rel (a, b) , f == (0.343, 0.228) rel (a, b) , e == (0.264, - 0.) rel (a, b) , d == (0.065, - 0.) rel (a, b) , c == (0., 1.) rel (a, b) | T -> Frame(a, b, d, c, i, n) ; a, d width round ends stroke (g, j), (j, e) ; stroke (j, m) ; stroke (f, h, k, l) fi ParallelCursor(a, b) : if j == (1., 1.) rel (a, b) , i == (0.664, 1.005) rel (a, b) , h == (0.664, 0.) rel (a, b) , g == (0.5, 0.5) rel (a, b) , f == (0.327, 0.) rel (a, b) , e == (0.327, 1.005) rel (a, b) , d == (0.065, 0.) rel (a, b) , c == (- 0., 1.) rel (a, b) | (i, j) cong (c, e) and (a, c) cong (f, e) and ver (f, e) and ver (h, i) and hor (a, b) and hor (c, e) and hor (e, i) and hor (a, f) and hor (f, h) -> Frame(a, b, d, c, g, j) ; a, d width stroke (f, e); stroke (h, i) fi MoveCursor(a, b) : if j == (0.777, 0.547) rel (a, b) , i == (0.631, 0.101) rel (a, b) , h == (0.631, 0.547) rel (a, b) , g == (0.5, 0.5) rel (a, b) , f == (0.472, 0.905) rel (a, b) , e == (0.313, 0.547) rel (a, b) , d == (0.313, 0.101) rel (a, b) , c == (0.168, 0.547) rel (a, b) | T -> fill3(c, j, f); fill3(d, i, h); fill3(d, h, e) fi CopyCursor(a, b) : if m == (0.777, 0.547) rel (a, b) , l == (0.777, 0.687) rel (a, b) , k == (0.631, 0.101) rel (a, b) , j == (0.631, 0.547) rel (a, b) , i == (0.5, 0.5) rel (a, b) , h == (0.472, 1.045) rel (a, b) , g == (0.472, 0.905) rel (a, b) , f == (0.313, 0.547) rel (a, b) , e == (0.313, 0.101) rel (a, b) , d == (0.168, 0.687) rel (a, b) , c == (0.168, 0.547) rel (a, b) , x == (0.03, 0) rel (a, b) | T -> fill3(c, m, g) ; fill3(e, k, j) ; fill3(e, j, f) ; a, x width stroke (l, h), (h, d), (d, l) fi YCursor(a, b) : if g == (0.882, 0.882) rel (a, b) , f == (0.5, 0.5) rel (a, b) , e == (0.5, - 0.014) rel (a, b) , d == (0.118, 0.882) rel (a, b) , c == (0.065, 0.) rel (a, b) | T -> a, c width butt ends stroke (d, f), (f, e); stroke (g, f) fi SnowmanCursor(a, b) : if s == (0.888, 0.483) rel (a, b) , r == (0.703, 0.595) rel (a, b) , q == (0.681, 0.759) rel (a, b) , p == (0.586, 0.547) rel (a, b) , o == (0.565, 0.767) rel (a, b) , n == (0.556, 0.642) rel (a, b) , m == (0.547, 0.9) rel (a, b) , l == (0.5, 0.5) rel (a, b) , k == (0.483, 0.) rel (a, b) , j == (0.418, 0.9) rel (a, b) , i == (0.418, 0.642) rel (a, b) , h == (0.409, 0.767) rel (a, b) , g == (0.362, 0.547) rel (a, b) , f == (0.289, 0.759) rel (a, b) , e == (0.276, 0.595) rel (a, b) , d == (0.112, 0.483) rel (a, b) , c == (0.065, 0.) rel (a, b) | T -> a, c width round ends stroke (h, f, e, g) , (g, d, a, k) , (k, b, s, p) , (p, r, q, o) ; stroke (f, q) ; stroke (i, i) ; stroke (n, n) ; fill (h, o), (o, m, j, h) fi TypeWriterCursor(a, b) : if p == (0.99, 0.423) rel (a, b) , o == (0.99, 0.572) rel (a, b) , n == (0.804, 0.675) rel (a, b) , m == (0.804, 0.258) rel (a, b) , l == (0.711, 0.675) rel (a, b) , k == (0.711, 0.83) rel (a, b) , j == (0.5, 0.5) rel (a, b) , i == (0.289, 0.83) rel (a, b) , h == (0.289, 0.675) rel (a, b) , g == (0.196, 0.258) rel (a, b) , f == (0.196, 0.675) rel (a, b) , e == (0.065, - 0.) rel (a, b) , d == (0.01, 0.572) rel (a, b) , c == (0.01, 0.423) rel (a, b) | T -> a, e width butt ends stroke (f, n), (n, o, p, m), (m, g), (g, c, d, f) ; stroke (h, i), (i, k), (k, l) fi PenCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> PencilCursor(y, z) fi XCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> XCursor(y, z) fi TCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> TypeWriterCursor(y, z) fi HCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> HorizontalCursor(y, z) fi VCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> VerticalCursor(y, z) fi ComCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> CompassCursor(y, z) fi ParCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> ParallelCursor(y, z) fi SCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> SnowmanCursor(y, z) fi MCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> MoveCursor(y, z) fi CopCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> CopyCursor(y, z) fi ECur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> EraserCursor(y, z) fi YCur(x) : if y == (0, - 9) rel (x), z == (18, - 9) rel (x) | T -> YCursor(y, z) fi JMF1(a) : if n == (167., - 22.) rel (a) , m == (35., 0.) rel (a) , l == (35., - 11.) rel (a) , k == (35., - 11.) rel (a) , j == (35., - 22.) rel (a) , i == (- 30., - 43.) rel (a) , h == (- 41., - 43.) rel (a) , g == (- 49., - 12.) rel (a) , f == (- 61., - 12.) rel (a) , e == (- 89., - 48.) rel (a) , d == (- 95., - 37.) rel (a) , c == (- 95., - 48.) rel (a) | T -> PenCur(j) ; print (" P Q $ R $ p $", j, timesroman, 10, 1) ; print(" p", f, timesroman, 10, 1) ; print(" q", h, timesroman, 10, 1) ; print("r", c, timesroman, 10, 1) ; draw (h, f) ; draw (d, h) ; draw (f, d) fi JMF2(a) : if w == (192., - 22.) rel (a) , v == (162., - 44.) rel (a) , u == (162., - 66.) rel (a) , t == (35., 0.) rel (a) , s == (35., - 11.) rel (a) , r == (35., - 22.) rel (a) , q == (35., - 33.) rel (a) , p == (35., - 44.) rel (a) , o == (35., - 55.) rel (a) , n == (35., - 66.) rel (a) , m == (35., - 77.) rel (a) , l == (35., - 88.) rel (a) , k == (35., - 99.) rel (a) , j == (- 36., - 71.) rel (a) , i == (- 36., - 21.) rel (a) , h == (- 47., - 71.) rel (a) , g == (- 47., - 21.) rel (a) , f == (- 121., - 21.) rel (a) , e == (- 121., - 71.) rel (a) , d == (- 132., - 71.) rel (a) , c == (- 133., - 21.) rel (a) | ver (e, f) and ver (h, g) and hor (e, h) and hor (f, g) -> PenCur(r) ; HCur(p) ; VCur(n) ; print("p ", c, timesroman, 10, 1) ; print(" q", g, timesroman, 10, 1) ; print(" r", h, timesroman, 10, 1) ; print("s ", d, timesroman, 10, 1) ; print (" P Q $ R $ S $ p $", r, timesroman, 10, 1) ; print (" p q $$ r s $$", p, timesroman, 10, 1) ; print (" p s $$ q r $$", n, timesroman, 10, 1) ; draw (g, f) ; draw (h, g) ; draw (e, h) ; draw (f, e) fi JMF3(a) : if u == (238., - 22.) rel (a) , t == (183., - 44.) rel (a) , s == (35., 0.) rel (a) , r == (35., - 11.) rel (a) , q == (35., - 22.) rel (a) , p == (35., - 33.) rel (a) , o == (35., - 44.) rel (a) , n == (- 16.528, - 30.105) rel (a) , m == (- 24.528, - 30.105) rel (a) , l == (- 44.033, - 11.004) rel (a) , k == (- 50., - 64.) rel (a) , j == (- 55.033, - 11.004) rel (a) , i == (- 61., - 64.) rel (a) , h == (- 106.599, - 7.081) rel (a) , g == (- 117.599, - 7.081) rel (a) , f == (- 145., - 55.) rel (a) , e == (- 154.664, - 14.107) rel (a) , d == (- 157., - 55.) rel (a) , c == (- 162.664, - 14.107) rel (a) | T -> PenCur(q) ; MCur(o) ; print (" P Q R S $ p $ q $ r $ s $" , q , timesroman , 10 , 1) ; print (" r X $ q Y $ . . .", o, timesroman, 10, 1) ; print("p ", d, timesroman, 10, 1) ; print("q ", g, timesroman, 10, 1) ; print(" r", j, timesroman, 10, 1) ; print(" s", i, timesroman, 10, 1) ; print("x", m, timesroman, 10, 1) ; print("y", c, timesroman, 10, 1) ; draw (f, h, j, i) ; draw (f, i) ; draw (h, f) ; draw (j, h) ; draw (i, j) fi JMF4(a) : if a7 == (269., - 66.) rel (a) , a6 == (227., - 44.) rel (a) , a5 == (195., - 22.) rel (a) , a4 == (151., - 110.) rel (a) , a3 == (129., - 88.) rel (a) , a2 == (35., 0.) rel (a) , a1 == (35., - 11.) rel (a) , a0 == (35., - 22.) rel (a) , z == (35., - 33.) rel (a) , y == (35., - 44.) rel (a) , x == (35., - 88.) rel (a) , w == (35., - 99.) rel (a) , v == (35., - 110.) rel (a) , u == (35., - 55.) rel (a) , t == (35., - 66.) rel (a) , s == (35., - 77.) rel (a) , r == (35., - 88.) rel (a) , q == (- 34., - 57.) rel (a) , p == (- 42.012, - 115.) rel (a) , o == (- 45., - 57.) rel (a) , n == (- 51.012, - 115.) rel (a) , m == (- 67., - 23.) rel (a) , l == (- 78., - 23.) rel (a) , k == (- 88., - 126.) rel (a) , j == (- 94., - 115.) rel (a) , i == (- 94., - 126.) rel (a) , h == (- 110., - 23.) rel (a) , g == (- 122., - 23.) rel (a) , f == (- 136.988, - 115.) rel (a) , e == (- 143., - 57.) rel (a) , d == (- 147.988, - 115.) rel (a) , c == (- 154., - 57.) rel (a) | (j, l) cong (h, j) and (j, o) cong (e, j) and (j, n) cong (f, j) and hor (h, l) and hor (e, o) and hor (f, j) and hor (j, n) -> PenCur(a0) ; HCur(y) ; SCur(x) ; MCur(v) ; ComCur(t) ; print("p ", g, timesroman, 10, 1) ; print("q ", c, timesroman, 10, 1) ; print("r ", d, timesroman, 10, 1) ; print("s", i, timesroman, 10, 1) ; print(" t", n, timesroman, 10, 1) ; print(" u", o, timesroman, 10, 1) ; print(" v", l, timesroman, 10, 1) ; print (" P Q R S $ T U V $", a0, timesroman, 10, 1) ; print (" p v $$ q u $$ r s $ t $$" , y , timesroman , 10 , 1) ; print (" p s s v $$ q s s u $$ r s s t $$" , t , timesroman , 10 , 1) ; print(" p s r t v", r, timesroman, 10, 1) ; print (" u X $ . . .", v, timesroman, 10, 1) ; draw (h, e, f, j) ; draw (j, n, o, l) fi JMF5(a) : if a15 == (198., - 117.) rel (a) , a14 == (185., - 95.) rel (a) , a13 == (182., - 29.) rel (a) , a12 == (166., - 73.) rel (a) , a11 == (165., - 51.) rel (a) , a10 == (158., - 161.) rel (a) , a9 == (133., - 139.) rel (a) , a8 == (126., - 271.) rel (a) , a7 == (122., - 227.) rel (a) , a6 == (122., - 205.) rel (a) , a5 == (107., - 183.) rel (a) , a4 == (82., - 249.) rel (a) , a3 == (47., 0.) rel (a) , a2 == (- 71., - 48.) rel (a) , a1 == (- 96., - 40.) rel (a) , a0 == (- 100., - 29.) rel (a) , z == (- 100., - 40.) rel (a) , y == (- 100., - 51.) rel (a) , x == (- 100., - 62.) rel (a) , w == (- 100., - 73.) rel (a) , v == (- 100., - 84.) rel (a) , u == (- 100., - 106.) rel (a) , t == (- 100., - 117.) rel (a) , s == (- 100., - 128.) rel (a) , r == (- 100., - 150.) rel (a) , q == (- 100., - 161.) rel (a) , p == (- 100., - 172.) rel (a) , o == (- 100., - 183.) rel (a) , n == (- 100., - 216.) rel (a) , m == (- 100., - 227.) rel (a) , l == (- 100., - 238.) rel (a) , k == (- 100., - 249.) rel (a) , j == (- 100., - 260.) rel (a) , i == (- 100., - 271.) rel (a) , h == (- 100., - 84.) rel (a) , g == (- 100., - 95.) rel (a) , f == (- 100., - 128.) rel (a) , e == (- 100., - 139.) rel (a) , d == (- 100., - 194.) rel (a) , c == (- 100., - 205.) rel (a) | T -> PenCur(a0) ; TCur(y) ; XCur(w) ; HCur(g) ; VCur(t) ; ComCur(e) ; ParCur(q) ; SCur(o) ; MCur(c) ; CopCur(m) ; ECur(k) ; YCur(i) ; print (" Pencil, for drawing straight edges and arcs" , a0 , helvetica , 10 , 0) ; print(" ", z, timesroman, 10, 0) ; print (" Typewriter, for typing character strings" , y , helvetica , 10 , 0) ; print (" X-tension cursor, for calling procedures" , w , helvetica , 10 , 0) ; print (" Vertical T-square, for equalizing indentations" , t , helvetica , 10 , 0) ; print (" Parallel bars, for equalizing directions" , q , helvetica , 10 , 0) ; print (" Snowman, for freezing points" , o , helvetica , 10 , 0) ; print (" Copy Arrow, for copying things" , m , helvetica , 10 , 0) ; print (" Eraser, for erasing things" , k , helvetica , 10 , 0) ; print (" Y cursor, for creating procedures" , i , helvetica , 10 , 0) ; print (" Horizontal T-square, for equalizing heights" , g , helvetica , 10 , 0) ; print (" Compass, for equalizing distances" , e , helvetica , 10 , 0) ; print (" Move Arrow, for moving things" , c , helvetica , 10 , 0) fi JMF6(a) : if a71 == (233., - 32.) rel (a) , a70 == (219., - 41.) rel (a) , a69 == (202., - 109.) rel (a) , a68 == (202., - 131.) rel (a) , a67 == (192., - 65.) rel (a) , a66 == (192., - 87.) rel (a) , a65 == (192., - 153.) rel (a) , a64 == (190., - 175.) rel (a) , a63 == (190., - 197.) rel (a) , a62 == (185., - 32.) rel (a) , a61 == (185., - 43.) rel (a) , a60 == (185., - 54.) rel (a) , a59 == (185., - 65.) rel (a) , a58 == (185., - 76.) rel (a) , a57 == (185., - 87.) rel (a) , a56 == (185., - 98.) rel (a) , a55 == (185., - 109.) rel (a) , a54 == (185., - 120.) rel (a) , a53 == (185., - 131.) rel (a) , a52 == (185., - 142.) rel (a) , a51 == (185., - 153.) rel (a) , a50 == (185., - 164.) rel (a) , a49 == (185., - 175.) rel (a) , a48 == (185., - 186.) rel (a) , a47 == (185., - 197.) rel (a) , a46 == (112., - 109.) rel (a) , a45 == (111., - 131.) rel (a) , a44 == (101., - 32.) rel (a) , a43 == (95., - 197.) rel (a) , a42 == (79., - 153.) rel (a) , a41 == (77., - 175.) rel (a) , a40 == (72., - 65.) rel (a) , a39 == (72., - 87.) rel (a) , a38 == (47., 0.) rel (a) , a37 == (25., - 32.) rel (a) , a36 == (25., - 43.) rel (a) , a35 == (25., - 54.) rel (a) , a34 == (25., - 65.) rel (a) , a33 == (25., - 76.) rel (a) , a32 == (25., - 87.) rel (a) , a31 == (25., - 98.) rel (a) , a30 == (25., - 109.) rel (a) , a29 == (25., - 120.) rel (a) , a28 == (25., - 131.) rel (a) , a27 == (25., - 142.) rel (a) , a26 == (25., - 153.) rel (a) , a25 == (25., - 164.) rel (a) , a24 == (25., - 175.) rel (a) , a23 == (25., - 186.) rel (a) , a22 == (25., - 197.) rel (a) , a21 == (- 39., - 109.) rel (a) , a20 == (- 39., - 131.) rel (a) , a19 == (- 39., - 197.) rel (a) , a18 == (- 48., - 175.) rel (a) , a17 == (- 49., - 32.) rel (a) , a16 == (- 57., - 65.) rel (a) , a15 == (- 57., - 153.) rel (a) , a14 == (- 57., - 87.) rel (a) , a13 == (- 75., - 21.) rel (a) , a12 == (- 75., - 32.) rel (a) , a11 == (- 75., - 43.) rel (a) , a10 == (- 75., - 54.) rel (a) , a9 == (- 75., - 65.) rel (a) , a8 == (- 75., - 76.) rel (a) , a7 == (- 75., - 98.) rel (a) , a6 == (- 75., - 109.) rel (a) , a5 == (- 75., - 120.) rel (a) , a4 == (- 75., - 131.) rel (a) , a3 == (- 75., - 142.) rel (a) , a2 == (- 75., - 153.) rel (a) , a1 == (- 75., - 164.) rel (a) , a0 == (- 75., - 175.) rel (a) , z == (- 75., - 186.) rel (a) , y == (- 75., - 197.) rel (a) , x == (- 75., - 87.) rel (a) , w == (- 98., - 32.) rel (a) , v == (- 135., - 43.) rel (a) , u == (- 135., - 21.) rel (a) , t == (- 135., - 32.) rel (a) , s == (- 135., - 43.) rel (a) , r == (- 135., - 54.) rel (a) , q == (- 135., - 65.) rel (a) , p == (- 135., - 76.) rel (a) , o == (- 135., - 87.) rel (a) , n == (- 135., - 98.) rel (a) , m == (- 135., - 109.) rel (a) , l == (- 135., - 120.) rel (a) , k == (- 135., - 131.) rel (a) , j == (- 135., - 142.) rel (a) , i == (- 135., - 153.) rel (a) , h == (- 135., - 164.) rel (a) , g == (- 135., - 175.) rel (a) , f == (- 135., - 186.) rel (a) , e == (- 135., - 241.) rel (a) , d == (- 135., - 186.) rel (a) , c == (- 135., - 197.) rel (a) | hor (v, a70) -> HCur(q) ; VCur(o) ; ComCur(m) ; ParCur(k) ; PenCur(i) ; PenCur(g) ; PenCur(c) ; print(" ", u, timesroman, 10, 0) ; print("Cursor", t, timesroman, 10, 0) ; print("Args", a12, timesroman, 10, 0) ; print("Effect of ESC", a37, timesroman, 10, 0) ; print("Args left", a62, timesroman, 10, 0) ; print("p q", a9, timesroman, 10, 0) ; print("p q r s", a6, timesroman, 10, 0) ; print("p q r s", a4, timesroman, 10, 0) ; print("p q", a2, timesroman, 10, 0) ; print("p q r", a0, timesroman, 10, 0) ; print("p q r s", y, timesroman, 10, 0) ; print("hor(p, q)", a34, timesroman, 10, 0) ; print("ver(p, q)", a32, timesroman, 10, 0) ; print("(p, q) cong (r, s)", a30, timesroman, 10, 0) ; print("(p, q) para (r, s)", a28, timesroman, 10, 0) ; print("edge(p, q)", a26, timesroman, 10, 0) ; print("edge(q, r)", a24, timesroman, 10, 0) ; print("arc(p, q, r, s)", a22, timesroman, 10, 0) ; print("q", a59, timesroman, 10, 0) ; print("q", a57, timesroman, 10, 0) ; print("r, s", a55, timesroman, 10, 0) ; print("r, s", a53, timesroman, 10, 0) ; print("q", a51, timesroman, 10, 0) ; print("r", a49, timesroman, 10, 0) ; print("s", a47, timesroman, 10, 0) ; print("p q", x, timesroman, 10, 0) ; draw (a70, v) fi JMF7(a) : if x == (117., - 83.) rel (a) , w == (101., - 39.) rel (a) , v == (100., - 94.) rel (a) , u == (96., - 72.) rel (a) , t == (87., - 50.) rel (a) , s == (47., 0.) rel (a) , r == (25., - 39.) rel (a) , q == (25., - 50.) rel (a) , p == (25., - 72.) rel (a) , o == (25., - 83.) rel (a) , n == (25., - 94.) rel (a) , m == (- 18., - 39.) rel (a) , l == (- 23., - 83.) rel (a) , k == (- 44., - 39.) rel (a) , j == (- 44., - 50.) rel (a) , i == (- 44., - 72.) rel (a) , h == (- 44., - 83.) rel (a) , g == (- 70., - 39.) rel (a) , f == (- 107., - 39.) rel (a) , e == (- 107., - 50.) rel (a) , d == (- 107., - 72.) rel (a) , c == (- 107., - 83.) rel (a) | hor (f, k) and hor (k, r) and hor (e, t) -> MCur(c) ; print("Cursor", f, timesroman, 10, 0) ; print("Args", k, timesroman, 10, 0) ; print("Effect of ESC", r, timesroman, 10, 0) ; print("p, q", h, timesroman, 10, 0) ; print("Move p to q,", p, timesroman, 10, 0) ; print("identify p and q,", o, timesroman, 10, 0) ; print("and redisplay", n, timesroman, 10, 0) ; draw (t, e) fi JMF8(a) : if a40 == (260., - 227.) rel (a) , a39 == (227., - 280.) rel (a) , a38 == (215.5, - 236.75) rel (a) , a37 == (204., - 193.5) rel (a) , a36 == (194., - 333.) rel (a) , a35 == (183., - 98.) rel (a) , a34 == (183., - 78.) rel (a) , a33 == (173.5, - 204.) rel (a) , a32 == (148., - 160.) rel (a) , a31 == (143., - 214.5) rel (a) , a30 == (141., - 432.) rel (a) , a29 == (138.594, - 389.355) rel (a) , a28 == (138., - 269.) rel (a) , a27 == (108.505, - 336.) rel (a) , a26 == (108.505, - 305.) rel (a) , a25 == (105.672, - 331.721) rel (a) , a24 == (95.188, - 455.49) rel (a) , a23 == (94.907, - 317.263) rel (a) , a22 == (88.495, - 305.) rel (a) , a21 == (82., - 134.) rel (a) , a20 == (82., - 98.) rel (a) , a19 == (82., - 42.) rel (a) , a18 == (82., - 78.) rel (a) , a17 == (78.881, - 388.559) rel (a) , a16 == (75.828, - 271.95) rel (a) , a15 == (69., - 348.) rel (a) , a14 == (68.706, - 404.923) rel (a) , a13 == (68.667, - 253.264) rel (a) , a12 == (59.622, - 387.929) rel (a) , a11 == (56., - 220.213) rel (a) , a10 == (56., - 168.) rel (a) , a9 == (55.261, - 331.971) rel (a) , a8 == (47., - 134.) rel (a) , a7 == (47., - 78.) rel (a) , a6 == (47., - 98.) rel (a) , a5 == (47., - 42.) rel (a) , a4 == (43.705, - 455.704) rel (a) , a3 == (43.333, - 253.264) rel (a) , a2 == (40.505, - 346.) rel (a) , a1 == (36.172, - 271.95) rel (a) , a0 == (33.035, - 356.498) rel (a) , z == (30., 0.) rel (a) , y == (23.506, - 305.) rel (a) , x == (17.624, - 385.791) rel (a) , w == (10., - 418.) rel (a) , v == (3.495, - 305.) rel (a) , u == (- 19.002, - 55.) rel (a) , t == (- 19.301, - 414.594) rel (a) , s == (- 21.777, - 202.262) rel (a) , r == (- 23.632, - 420.) rel (a) , q == (- 23.632, - 311.509) rel (a) , p == (- 23.632, - 365.755) rel (a) , o == (- 33.116, - 36.593) rel (a) , n == (- 47., - 254.) rel (a) , m == (- 63.189, - 162.286) rel (a) , l == (- 64.316, - 325.071) rel (a) , k == (- 64.316, - 406.439) rel (a) , j == (- 103., - 119.407) rel (a) , i == (- 104., - 246.) rel (a) , h == (- 105., - 311.509) rel (a) , g == (- 105., - 365.755) rel (a) , f == (- 105., - 420.) rel (a) , e == (- 105., - 338.632) rel (a) , d == (- 114.005, - 189.318) rel (a) , c == (- 117.114, - 101.) rel (a) | T -> draw (a19, a5, a18, a7) ; draw (a6, a20, a8, a21) ; draw (a28, a32, a40, a36) ; draw (g, h, q, p) ; draw (p, r, f, g) ; draw (c, j) ; draw (o, c) ; draw (u, o) ; draw (j, u) ; draw (a6, a7) ; draw (a20, a21) ; draw (a35, a20) ; draw (a34, a35) ; draw (a18, a34) ; draw (a19, a18) ; draw (m, i) ; draw (n, m) ; draw (d, n) ; draw (s, d) ; draw (i, s) ; draw (v, y) ; draw (a10, v) ; draw (a26, a10) ; draw (a22, a26) ; draw (a16, a22) ; draw (a1, a16) ; draw (y, a1) ; draw (a13, a3) ; draw (a11, a13) ; draw (a3, a11) ; draw (a15, w) ; draw (a30, a15) ; draw (w, a30) ; draw (a12, w) ; draw (a12, a12) ; draw (a15, a12) ; draw (a17, a15) ; draw (a30, a17) ; draw (a14, a30) ; draw (w, a14) ; draw (a14, a17) ; draw (a12, a14) ; draw (a17, a12) ; draw (a32, a28) ; draw (a40, a32) ; draw (a36, a40) ; draw (a37, a31) ; draw (a39, a37) ; draw (a38, a33) ; draw (l, g) ; draw (p, l) ; draw (k, p) ; draw (g, k) fi FS14LeftSansTitle(a, b) : if p == (0.403, 0.723) rel (a, b) , o == (0.403, 0.691) rel (a, b) , n == (0.525, 0.592) rel (a, b) , m == (0.525, 0.565) rel (a, b) , l == (0.52, 0.538) rel (a, b) , k == (0.336, 0.488) rel (a, b) , j == (0.336, 0.459) rel (a, b) , i == (0.373, 0.453) rel (a, b) , h == (0.52, 0.369) rel (a, b) , g == (0.52, 0.341) rel (a, b) , f == (0.52, 0.309) rel (a, b) , e == (0.387, 0.259) rel (a, b) , d == (0.387, 0.229) rel (a, b) , c == (0.165, 0.205) rel (a, b) | T -> Circle(h, l) ; Circle(l, h) ; print("A", f, TimesRoman, 12, 0) ; print("B", m, TimesRoman, 12, 0) ; print("C", d, TimesRoman, 12, 0) ; print("D", o, TimesRoman, 12, 0) ; print("E", j, TimesRoman, 12, 0) ; draw (l, h) ; draw (i, h) ; draw (l, i) fi FS14Right(a, b) : if u == (0.848, 0.949) rel (a, b) , t == (0.165, 0.832) rel (a, b) , s == (0.203, 0.832) rel (a, b) , r == (0.288, 0.832) rel (a, b) , q == (0.325, 0.832) rel (a, b) , p == (0.363, 0.832) rel (a, b) , o == (0.4, 0.832) rel (a, b) , n == (0.437, 0.832) rel (a, b) , m == (0.475, 0.832) rel (a, b) , l == (0.512, 0.832) rel (a, b) , k == (0.549, 0.832) rel (a, b) , j == (0.587, 0.832) rel (a, b) , i == (0.624, 0.832) rel (a, b) , h == (0.661, 0.832) rel (a, b) , g == (0.699, 0.832) rel (a, b) , f == (0.736, 0.832) rel (a, b) , e == (0.773, 0.832) rel (a, b) , d == (0.811, 0.832) rel (a, b) , c == (0.848, 0.832) rel (a, b) | T -> print ("On a given line to construct", t, TimesRoman, 12, 1) ; print ("an equilateral triangle", s, TimesRoman, 12, 1) ; print ("Let AB be the given line;", r, TimesRoman, 12, 0) ; print ("thus it is required to describe" , q , TimesRoman , 12 , 0) ; print ("on the line AB an equilateral", p, TimesRoman, 12, 0) ; print("triangle.", o, TimesRoman, 12, 0) ; print (" With center A and distance" , n , TimesRoman , 12 , 0) ; print ("AB let the circle C be described;" , m , TimesRoman , 12 , 0) ; print (" and with center B and ", l, TimesRoman, 12, 0) ; print ("distance BA let the circle D be" , k , TimesRoman , 12 , 0) ; print("described;", j, TimesRoman, 12, 0) ; print (" and let the circles C and D" , i , TimesRoman , 12 , 0) ; print("cut one another at E.", h, TimesRoman, 12, 0) ; print (" Now I say that the triangle" , g , TimesRoman , 12 , 0) ; print("ABE is equilateral.", f, TimesRoman, 12, 0) ; print (" For, since B and E both lie" , e , TimesRoman , 12 , 0) ; print ("on the circle C, AB is equal to" , d , TimesRoman , 12 , 0) ; print("AE. ...", c, TimesRoman, 12, 0) fi JMF10(a) : if e == (35., 0.) rel (a) , d == (- 326., - 330) rel (a) , c == (- 326., 51.) rel (a) | T -> FS14LeftSansTitle(c, d); FS14Right(c, d) fi JMF9a(a, b, c) : 15 width butt ends stroke (a, b), (b, c) JMF9b(a, b, c) : 15 width butt ends stroke (a, b); stroke (b, c) JMF9c(a, b): 15 width round ends stroke (a, b) JMF9e(a, b): 15 width square ends stroke (a, b) JMF9i(a, b, c, d) : grey paint fill (a, b, c, d), (d, a) ; black paint 5 width stroke (a, b, c, d), (d, a) JMF9d(a, b): 15 width butt ends stroke (a, b) Dot(a): 5 width round ends stroke (a, a) JMF9j(x, y): x, y width round ends stroke (x, x) JMF9(a) : if a16 == (257.5, - 31.) rel (a) , a15 == (234.084, - 83.) rel (a) , a14 == (221., - 31.) rel (a) , a13 == (210.667, - 31.) rel (a) , a12 == (194., - 95.) rel (a) , a11 == (192., - 83.) rel (a) , a10 == (187.25, - 83.) rel (a) , a9 == (187., - 95.) rel (a) , a8 == (174., - 31.) rel (a) , a7 == (163.834, - 31.) rel (a) , a6 == (153., - 95.) rel (a) , a5 == (140.417, - 83.) rel (a) , a4 == (140., - 83.) rel (a) , a3 == (140., - 95.) rel (a) , a2 == (132., - 31.) rel (a) , a1 == (117., - 31.) rel (a) , a0 == (107., - 83.) rel (a) , z == (93.584, - 83.) rel (a) , y == (87., - 31.) rel (a) , x == (70.167, - 31.) rel (a) , w == (60., - 83.) rel (a) , v == (46.75, - 83.) rel (a) , u == (37., - 31.) rel (a) , t == (30., 0.) rel (a) , s == (23.333, - 31.) rel (a) , r == (17., - 83.) rel (a) , q == (- 0.083, - 83.) rel (a) , p == (- 7., - 31.) rel (a) , o == (- 23.5, - 31.) rel (a) , n == (- 32., - 83.) rel (a) , m == (- 46.917, - 83.) rel (a) , l == (- 55., - 31.) rel (a) , k == (- 70.333, - 31.) rel (a) , j == (- 77., - 83.) rel (a) , i == (- 93.75, - 83.) rel (a) , h == (- 102., - 31.) rel (a) , g == (- 117.167, - 31.) rel (a) , f == (- 124., - 83.) rel (a) , e == (- 140.583, - 83.) rel (a) , d == (- 149., - 31.) rel (a) , c == (- 164., - 31.) rel (a) | T -> grey paint JMF9a(c, e, g) ; JMF9b(i, k, m) ; JMF9c(o, q) ; JMF9d(s, v) ; JMF9e(x, z) ; JMF9i(a5, a1, a7, a10) ; black paint JMF9j(a13, a16) ; Dot(c) ; Dot(e) ; Dot(g) ; Dot(i) ; Dot(k) ; Dot(m) ; Dot(q) ; Dot(o) ; Dot(s) ; Dot(v) ; Dot(z) ; Dot(x) ; Dot(a5) ; Dot(a1) ; Dot(a7) ; Dot(a10) ; black paint print(" a", c, gacha, 9, 0) ; print(" c", g, gacha, 9, 0) ; print(" b", e, gacha, 9, 0) ; print(" d", i, gacha, 9, 0) ; print(" e", k, gacha, 9, 0) ; print(" f", m, gacha, 9, 0) ; print(" g", o, gacha, 9, 0) ; print(" h", q, gacha, 9, 0) ; print(" i", s, gacha, 9, 0) ; print(" j", v, gacha, 9, 0) ; print(" k", x, gacha, 9, 0) ; print(" l", z, gacha, 9, 0) ; print(" m", a1, gacha, 9, 0) ; print("", a5, gacha, 9, 0) ; print(" n", a3, gacha, 9, 0) ; print(" o", a7, gacha, 9, 0) ; print(" ", a10, gacha, 9, 0) ; print("p", a9, gacha, 9, 0) ; white paint Dot(a13); white paint print(" q", a13, gacha, 9, 0) fi Circle(a, b) : if e == (0., 1.) rel (a, b) , d == (0., - 1.) rel (a, b) , c == (- 1., - 0.) rel (a, b) | T -> QuarterCircle(a, e) ; QuarterCircle(a, c) ; QuarterCircle(a, d) ; QuarterCircle(a, b) fi QuarterCircle(a, b) : if l == (1., 0.276) rel (a, b) , k == (1., 0.552) rel (a, b) , j == (1., 1.) rel (a, b) , i == (0.888, 0.526) rel (a, b) , h == (0.776, 0.776) rel (a, b) , g == (0.707, 0.707) rel (a, b) , f == (0.552, 1.) rel (a, b) , e == (0.526, 0.888) rel (a, b) , d == (0.276, 1.) rel (a, b) , c == (0., 1.) rel (a, b) | T -> draw (c, f, k, b) fi ArrowHead(a, b) : if d == (- 0.238, - 0.508) rel (a, b) , c == (- 0.238, 0.508) rel (a, b) | T -> fill (c, a), (a, d), (d, b), (b, c) fi Arrow(c, d, a, b, g, f) : if e == (0.893, 0.) rel (a, b), x == (0, 3) rel (a) | (a, e) para (e, b) and (f, g) cong (e, b) -> ArrowHead(e, b); a, x width stroke (c, d, a, e) fi ForumSlide16Bridge(a, b, z) : if u == (0.381, 0.856) rel (a, b) , t == (0.573, 0.835) rel (a, b) , s == (0.509, 0.835) rel (a, b) , r == (0.445, 0.835) rel (a, b) , q == (0.381, 0.835) rel (a, b) , p == (0.573, 0.8) rel (a, b) , o == (0.509, 0.8) rel (a, b) , n == (0.381, 0.8) rel (a, b) , m == (0.637, 0.8) rel (a, b) , l == (0.445, 0.8) rel (a, b) , k == (0.445, 0.787) rel (a, b) , j == (0.381, 0.776) rel (a, b) , i == (0.637, 0.776) rel (a, b) , h == (0.509, 0.736) rel (a, b) , g == (0.573, 0.72) rel (a, b) , f == (0.808, 0.36) rel (a, b) , e == (0.192, 0.189) rel (a, b) , d == (0.085, 0.) rel (a, b) , c == (0.904, 0.) rel (a, b) | (l, o) cong (n, l) and (o, p) cong (l, o) and (p, m) cong (o, p) and ver (l, n) and ver (o, l) and ver (p, o) and ver (m, p) and ver (t, s) and ver (r, q) and ver (s, r) and ver (t, s) and ver (a, d) and ver (c, a) and hor (n, q) and hor (l, r) and hor (o, s) and hor (p, t) -> print("if", j, Helvetica, 12, 2) ; print("|", k, Helvetica, 12, 2) ; print("and", h, Helvetica, 12, 2) ; print("then", g, Helvetica, 12, 2) ; print("fi", i, Helvetica, 12, 2) ; print("E", q, Helvetica, 12, 0) ; if y == (0, 0) rel (z) | hor (y, q) -> z := y fi ; print("(A, E) cong (A, B)", r, Helvetica, 12, 0) ; print("(B, E) cong (B, A)", s, Helvetica, 12, 0) ; print ("Draw (A, E); Draw (B, E)", t, Helvetica, 12, 0) fi ForumSlide17(a, b) : if aa == (1.248, 1.085) rel (a, b) , bb == (1.245, 1.056) rel (a, b) , z == (0.381, 0.872) rel (a, b) , y == (0.656, 0.651) rel (a, b) , x == (0.656, 0.627) rel (a, b) , w == (0.456, 0.621) rel (a, b) , v == (0.341, 0.597) rel (a, b) , u == (0.456, 0.597) rel (a, b) , t == (0.64, 0.597) rel (a, b) , s == (0.413, 0.597) rel (a, b) , r == (0.293, 0.541) rel (a, b) , q == (0.469, 0.505) rel (a, b) , p == (0.469, 0.459) rel (a, b) , o == (0.64, 0.413) rel (a, b) , n == (0.304, 0.408) rel (a, b) , m == (0.669, 0.408) rel (a, b) , l == (0.293, 0.403) rel (a, b) , k == (0.669, 0.381) rel (a, b) , j == (0.469, 0.373) rel (a, b) , i == (0.384, 0.336) rel (a, b) , h == (0.413, 0.253) rel (a, b) , g == (0.459, 0.253) rel (a, b) , f == (0.379, 0.253) rel (a, b) , e == (0.304, 0.253) rel (a, b) , d == (0.384, 0.197) rel (a, b) , c == (0.192, 0.189) rel (a, b) | (q, t) cong (o, q) and (t, u) cong (o, t) and ver (t, u) and ver (g, h) and ver (f, g) and ver (g, h) and ver (s, v) and ver (u, s) and hor (o, t) and hor (j, p) and hor (p, q) and hor (u, w) and hor (l, r) -> ForumSlide16Bridge(a, b, z) ; Dot(u) ; Dot(t) ; Dot(o) ; Dot(q) ; Arrow(h, g, j, p, bb, aa) ; Arrow(l, r, v, s, bb, aa) ; print("== (1, 1) rel (A, B)", z, helvetica, 12, 0) ; print("A", k, helvetica, 12, 0) ; print("B", x, helvetica, 12, 0) ; print("Hint for E", e, helvetica, 10, 0) ; print("Actual E", d, helvetica, 10, 0) ; draw (t, o) ; draw (q, o) ; draw (t, q) fi JMF11(a) : if e == (30., 0.) rel (a) , d == (- 285., - 300.) rel (a) , c == (- 285., 111.) rel (a) | ver (d, c) -> ForumSlide17(c, d) fi JFNW(a, b) : if h == (1., 5.7) rel (a, b) , g == (1.7, 5.4) rel (a, b) , f == (2.4, 4.65) rel (a, b) , e == (0., 3.15) rel (a, b) , d == (1.7, - 0.05) rel (a, b) , c == (2.4, - 0.05) rel (a, b) | T -> print("Command", a, helvetica, 12, 2) ; print("whose execution", b, helvetica, 12, 0) ; print("will produce the", d, helvetica, 12, 0) ; print("current image", c, helvetica, 12, 0) fi JFNE(a, b) : if c == (1.7, 0.) rel (a, b) | ver (b, a) -> print("Environment", a, helvetica, 12, 2) ; print("A list of parsed", b, helvetica, 12, 0) ; print("Juno procedures", c, helvetica, 12, 0) fi JFSW(a, b) : if n == (3.65, 4.45) rel (a, b) , m == (3.759, 3.539) rel (a, b) , l == (2.831, 3.18) rel (a, b) , k == (2.32, 2.935) rel (a, b) , j == (1.455, 2.606) rel (a, b) , i == (0.496, 2.524) rel (a, b) , h == (2.774, 2.466) rel (a, b) , g == (2.261, 2.347) rel (a, b) , f == (- 0., 1.9) rel (a, b) , e == (3.754, 1.875) rel (a, b) , d == (1., 1.3) rel (a, b) , c == (3.65, 1.15) rel (a, b) | ver (b, a) -> print("Image", a, helvetica, 12, 2) ; print("e.g.,", b, helvetica, 12, 0) ; draw (i, c) ; draw (n, i) ; draw (m, n) ; draw (l, m) ; draw (h, l) ; draw (e, h) ; draw (c, e) ; draw (k, g) ; draw (j, k) ; draw (g, j) fi JFSE(a, b) : if c == (1.7, - 0.) rel (a, b) | ver (b, a) -> print("Active.juno", a, helvetica, 12, 2) ; print("A text file of", b, helvetica, 12, 0) ; print("Juno procedures", c, helvetica, 12, 0) fi Rectangle(a, b) : if d == (0.336, 0.472) rel (a, b) , c == (0.664, - 0.472) rel (a, b) | ver (c, a) and ver (b, d) and hor (a, d) and hor (c, b) -> draw (c, a); draw (b, c); draw (d, b); draw (a, d) fi ForumSlide12Left(a, b) : if t == (1.235, 1.533) rel (a, b) , s == (1.235, 1.501) rel (a, b) , r == (0.909, 0.648) rel (a, b) , q == (0.507, 0.648) rel (a, b) , p == (0.571, 0.496) rel (a, b) , o == (0.627, 0.477) rel (a, b) , n == (0.507, 0.477) rel (a, b) , m == (0.507, 0.368) rel (a, b) , l == (0.627, 0.368) rel (a, b) , k == (0.571, 0.355) rel (a, b) , j == (0.571, 0.288) rel (a, b) , i == (0.733, 0.237) rel (a, b) , h == (0.675, 0.237) rel (a, b) , g == (0.301, 0.237) rel (a, b) , f == (0.36, 0.237) rel (a, b) , e == (0.165, 0.205) rel (a, b) , d == (0.627, 0.197) rel (a, b) , c == (0.253, 0.197) rel (a, b) | T -> Rectangle(c, q) ; Rectangle(d, r) ; JFNW(g, f) ; JFSW(h, i) ; Arrow(l, l, l, m, s, t) ; Arrow(n, n, n, o, s, t) ; print("Log", j, helvetica, 12, 0) ; print("Execute", p, helvetica, 12, 0) fi ForumSlide12Right(a, b) : if ab == (1.235, 1.533) rel (a, b) , aa == (1.235, 1.501) rel (a, b) , { == (0.571, 1.28) rel (a, b) , z == (0.507, 1.28) rel (a, b) , y == (0.909, 1.28) rel (a, b) , x == (0.571, 1.272) rel (a, b) , w == (0.571, 1.131) rel (a, b) , v == (0.507, 1.105) rel (a, b) , u == (0.627, 1.105) rel (a, b) , t == (0.507, 0.996) rel (a, b) , s == (0.627, 0.996) rel (a, b) , r == (0.571, 0.984) rel (a, b) , q == (0.571, 0.883) rel (a, b) , p == (0.36, 0.861) rel (a, b) , o == (0.301, 0.861) rel (a, b) , n == (0.733, 0.861) rel (a, b) , m == (0.675, 0.861) rel (a, b) , l == (0.253, 0.821) rel (a, b) , k == (0.627, 0.821) rel (a, b) , j == (0.325, 0.821) rel (a, b) , i == (0.435, 0.821) rel (a, b) , h == (0.435, 0.821) rel (a, b) , g == (0.435, 0.808) rel (a, b) , f == (0.389, 0.757) rel (a, b) , e == (0.389, 0.736) rel (a, b) , d == (0.435, 0.648) rel (a, b) , c == (0.325, 0.648) rel (a, b) | T -> Rectangle(l, z) ; Rectangle(k, y) ; JFNE(o, p) ; JFSE(m, n) ; Arrow(s, s, s, t, aa, ab) ; Arrow(v, v, v, u, aa, ab) ; Arrow(c, c, c, j, aa, ab) ; Arrow(h, g, i, d, aa, ab) ; print("Parse", q, helvetica, 12, 0) ; print("Unparse", w, helvetica, 12, 0) fi ForumSlide12(a, b) : ForumSlide12Left(a, b); ForumSlide12Right(a, b) SolidPerson(a, b) : if w == (0.887, 0.209) rel (a, b) , v == (0.829, - 0.485) rel (a, b) , u == (0.809, 0.1) rel (a, b) , t == (0.714, - 0.555) rel (a, b) , s == (0.705, 0.34) rel (a, b) , r == (0.626, 0.231) rel (a, b) , q == (0.626, - 0.153) rel (a, b) , p == (0.59, 0.401) rel (a, b) , o == (0.516, 0.533) rel (a, b) , n == (0.511, - 0.224) rel (a, b) , m == (0.511, 0.659) rel (a, b) , l == (0.5, 0.) rel (a, b) , k == (0.489, - 0.659) rel (a, b) , j == (0.446, 0.401) rel (a, b) , i == (0.397, 0.231) rel (a, b) , h == (0.397, - 0.153) rel (a, b) , g == (0.328, 0.347) rel (a, b) , f == (0.309, - 0.555) rel (a, b) , e == (0.203, 0.116) rel (a, b) , d == (0.194, - 0.485) rel (a, b) , c == (0.135, 0.232) rel (a, b) | T -> SolidStump(t, v) ; SolidStump(u, w) ; SolidStump(c, e) ; SolidStump(d, f) ; SolidCircle(o, m) ; fill (g, j, p, s) , (s, w) , (w, u) , (u, r) , (r, q) , (q, v) , (v, t) , (t, n) , (n, f) , (f, d) , (d, h) , (h, i) , (i, e) , (e, c) , (c, g) fi WideQuarterCircle(a, b, x, y) : if l == (1., 0.276) rel (a, b) , k == (1., 0.552) rel (a, b) , j == (1., 1.) rel (a, b) , i == (0.888, 0.526) rel (a, b) , h == (0.776, 0.776) rel (a, b) , g == (0.707, 0.707) rel (a, b) , f == (0.552, 1.) rel (a, b) , e == (0.526, 0.888) rel (a, b) , d == (0.276, 1.) rel (a, b) , c == (0., 1.) rel (a, b) | T -> x, y width stroke (c, f, k, b) fi SolidQuarterCircle(a, b) : if k == (1., 0.552) rel (a, b) , f == (0.552, 1.) rel (a, b) , c == (0., 1.) rel (a, b) | T -> fill (a, c), (c, f, k, b), (b, a) fi InternationalNot(a, b, f, g) : if e == (- 0., - 1.) rel (a, b) , d == (- 1., - 0.) rel (a, b) , c == (- 0., 1.) rel (a, b) | T -> WideQuarterCircle(a, b, f, g) ; WideQuarterCircle(a, c, f, g) ; WideQuarterCircle(a, d, f, g) ; WideQuarterCircle(a, e, f, g) ; f, g width round ends stroke (d, b) fi TridentSubSnout(a, b) : if g == (0., 0.289) rel (a, b) , f == (1., 0.289) rel (a, b) , e == (0.704, 0.637) rel (a, b) , d == (0.296, 0.637) rel (a, b) , c == (0.5, 0.637) rel (a, b) | T -> fill (b, f, e, c), (c, d, g, a) fi TridentSubTail(a, b) : if l == (1., - 1.932) rel (a, b) , k == (- 0., - 1.922) rel (a, b) , j == (1., - 1.718) rel (a, b) , i == (- 0., - 1.718) rel (a, b) , h == (0.757, - 1.583) rel (a, b) , g == (0.243, - 1.583) rel (a, b) , f == (0.932, - 1.369) rel (a, b) , e == (0.068, - 1.369) rel (a, b) , d == (1., - 0.757) rel (a, b) , c == (- 0., - 0.757) rel (a, b) | T -> fill (a, c, e, g) , (g, i) , (i, k) , (k, l) , (l, j) , (j, h) , (h, f, d, b) fi TridentFrill1(a, b, w0, w00, w1, w11) : if e == (2.373, - 0.68) rel (a, b) , d == (2.2, - 0.333) rel (a, b) , c == (1.72, 0.) rel (a, b) | T -> w0, w00 width stroke (b, c, d, e); w1, w11 width stroke (b, a) fi TridentFrill2(a, b, w0, w00, w1, w11, w2, w22) : if c == (2, 0) rel (a, b), d == (2.7, 0) rel (a, b) | T -> w1, w11 width stroke (a, b) ; w0, w00 width stroke (b, c); w2, w22 width stroke (c, d) fi TridentFrill3(a, b) : if e == (1.035, 1.451) rel (a, b) , d == (0.515, - 0.036) rel (a, b) , c == (0.057, 2.379) rel (a, b) | T -> fill (a, b), (b, e), (e, c), (c, a) fi TridentFrills(a, b) : if q == (0.889, 0.001) rel (a, b) , p == (0.829, - 0.565) rel (a, b) , o == (0.814, - 0.006) rel (a, b) , n == (0.751, - 0.565) rel (a, b) , m == (0.733, - 0.002) rel (a, b) , l == (0.717, - 0.646) rel (a, b) , k == (0.682, - 0.409) rel (a, b) , j == (0.674, - 0.564) rel (a, b) , i == (0.656, - 0.405) rel (a, b) , h == (0.647, - 0.638) rel (a, b) , g == (0.504, - 0.004) rel (a, b) , f == (0.506, 0.289) rel (a, b) , e == (0.204, - 0.002) rel (a, b) , d == (0.204, 0.045) rel (a, b) , c == (0.206, 0.289) rel (a, b) | T -> TridentFrill1(d, c, i, k, j, p) ; TridentFrill2(g, f, i, k, j, p, h, l) ; TridentFrill3(m, q) fi TridentTower(a, b) : if d == (1., 0.613) rel (a, b) , c == (0.166, 0.613) rel (a, b) | T -> TridentFrills(c, d); fill (a, b), (b, d), (d, c) fi Blacken(a, b, c, d): fill (a, b), (b, c), (c, d) Trident(a, b) : if j == (0.606, 0.101) rel (a, b) , i == (0.606, - 0.101) rel (a, b) , h == (0.472, - 0.101) rel (a, b) , g == (0.472, 0.101) rel (a, b) , f == (0.301, 0.101) rel (a, b) , e == (0.242, - 0.101) rel (a, b) , d == (0.134, 0.101) rel (a, b) , c == (0.134, - 0.101) rel (a, b) | T -> TridentTower(f, g) ; TridentSubTail(i, j) ; TridentSubSnout(c, d) ; Blacken(c, i, j, d) fi TenSolidPeople(a, b) : if t == (1., 0.) rel (a, b) , s == (0.9, 0.) rel (a, b) , r == (0.9, 0.) rel (a, b) , q == (0.8, 0.) rel (a, b) , p == (0.7, - 0.) rel (a, b) , o == (0.7, - 0.) rel (a, b) , n == (0.6, - 0.) rel (a, b) , m == (0.6, - 0.) rel (a, b) , l == (0.5, - 0.) rel (a, b) , k == (0.5, - 0.) rel (a, b) , j == (0.4, - 0.) rel (a, b) , i == (0.4, - 0.) rel (a, b) , h == (0.3, - 0.) rel (a, b) , g == (0.3, - 0.) rel (a, b) , f == (0.2, 0.) rel (a, b) , e == (0.2, 0.) rel (a, b) , d == (0.1, 0.) rel (a, b) , c == (0.1, 0.) rel (a, b) | T -> SolidPerson(a, d) ; SolidPerson(c, e) ; SolidPerson(h, i) ; SolidPerson(f, g) ; SolidPerson(n, p) ; SolidPerson(o, q) ; SolidPerson(l, m) ; SolidPerson(j, k) ; SolidPerson(s, t) ; SolidPerson(q, r) fi TwentySolidPeople(a, b) : if c == (0.5, 0.) rel (a, b) | T -> TenSolidPeople(a, c); TenSolidPeople(c, b) fi Banner(a, b) : if g == (1.328, - 0.774) rel (a, b) , f == (1.2, - 0.77) rel (a, b) , e == (0.906, 0.423) rel (a, b) , d == (0.5, 0.) rel (a, b) , c == (0.094, - 0.423) rel (a, b) | T -> black paint Trident(a, b) ; red paint InternationalNot(d, e, f, g) ; if x == (0.05, 0) rel (c, e) , y == (0.95, 0) rel (c, e) | T -> white paint TwentySolidPeople(x, y) fi fi SolidStump(a, b) : if d == (0., - 1.25) rel (a, b) , c == (1., - 1.25) rel (a, b) | T -> fill (b, c, d, a) fi SolidCircle(a, b) : if e == (0., 1.) rel (a, b) , d == (0., - 1.) rel (a, b) , c == (- 1., - 0.) rel (a, b) | T -> SolidQuarterCircle(a, e) ; SolidQuarterCircle(a, c) ; SolidQuarterCircle(a, d) ; SolidQuarterCircle(a, b) fi Months(a, b) : if x == (1.049, - 0.) rel (a, b) , w == (0.959, - 0.) rel (a, b) , v == (0.905, - 0.) rel (a, b) , u == (0.864, - 0.) rel (a, b) , t == (0.82, - 0.) rel (a, b) , s == (0.779, - 0.) rel (a, b) , r == (0.734, - 0.) rel (a, b) , q == (0.693, - 0.) rel (a, b) , p == (0.635, - 0.) rel (a, b) , o == (0.594, - 0.) rel (a, b) , n == (0.554, - 0.) rel (a, b) , m == (0.513, - 0.) rel (a, b) , l == (0.464, - 0.) rel (a, b) , k == (0.423, 0.) rel (a, b) , j == (0.363, 0.) rel (a, b) , i == (0.321, 0.) rel (a, b) , h == (0.27, 0.) rel (a, b) , g == (0.229, 0.) rel (a, b) , f == (0.175, 0.) rel (a, b) , e == (0.134, 0.) rel (a, b) , d == (0.085, 0.) rel (a, b) , c == (0.044, 0.) rel (a, b) | T -> print("Jun", a, helvetica, 7, 0) ; print("Jul", d, helvetica, 7, 0) ; print("Aug", f, helvetica, 7, 0) ; print("Sep", h, helvetica, 7, 0) ; print("Oct", j, helvetica, 7, 0) ; print("Nov", l, helvetica, 7, 0) ; print("Dec", n, helvetica, 7, 0) ; print("Jan", p, helvetica, 7, 0) ; print("Feb", r, helvetica, 7, 0) ; print("Mar", t, helvetica, 7, 0) ; print("Apr", v, helvetica, 7, 0) ; print("May", b, helvetica, 7, 0) fi Bar(a, b, x, e, f) : if i == (5.194, - 7.645) rel (a, b) , h == (5.194, - 6.677) rel (a, b) , g == (5.081, - 6.677) rel (a, b) , d == (1., 4.774) rel (a, b) , c == (- 0., 4.774) rel (a, b) | ver (c, a) and ver (b, d) and hor (x, c) and hor (x, d) -> lightgreen paint fill3(a, b, d) ; fill3(c, a, d) ; black paint butt ends e, f width stroke (a, b), (b, d), (d, c), (c, a) fi BarGraph (a, b, ja, fe, mr, ap, my, jn, jl, au, se, oc, no, dc) : if r == (0.98, 0.416) rel (a, b) , q == (0.94, - 0.037) rel (a, b) , p == (0.917, 0.) rel (a, b) , o == (0.833, 0.) rel (a, b) , n == (0.75, 0.) rel (a, b) , m == (0.667, 0.) rel (a, b) , l == (0.583, 0.) rel (a, b) , k == (0.5, 0.) rel (a, b) , j == (0.425, - 0.487) rel (a, b) , i == (0.419, - 0.487) rel (a, b) , h == (0.417, 0.) rel (a, b) , g == (0.333, 0.) rel (a, b) , f == (0.25, 0.) rel (a, b) , e == (0.167, 0.) rel (a, b) , d == (0.083, 0.) rel (a, b) , c == (0.018, - 0.037) rel (a, b) | T -> Months(c, q) ; Bar(a, d, ja, i, j) ; Bar(d, e, fe, i, j) ; Bar(e, f, mr, i, j) ; Bar(f, g, ap, i, j) ; Bar(g, h, my, i, j) ; Bar(h, k, jn, i, j) ; Bar(k, l, jl, i, j) ; Bar(l, m, au, i, j) ; Bar(m, n, se, i, j) ; Bar(n, o, oc, i, j) ; Bar(o, p, no, i, j) ; Bar(p, b, dc, i, j) fi IPProductionBackground(a, b) : if w == (1., 0.558) rel (a, b) , v == (1., 0.668) rel (a, b) , u == (1., 0.338) rel (a, b) , t == (1., 0.448) rel (a, b) , s == (1., 0.229) rel (a, b) , r == (1., 0.119) rel (a, b) , q == (0., 0.668) rel (a, b) , p == (- 0.037, 0.558) rel (a, b) , o == (- 0.037, 0.448) rel (a, b) , n == (- 0.037, 0.338) rel (a, b) , m == (- 0.037, 0.229) rel (a, b) , l == (- 0.037, 0.119) rel (a, b) , k == (- 0.037, 0.668) rel (a, b) , j == (- 0.037, 0.) rel (a, b) , i == (- 0.082, 0.558) rel (a, b) , h == (- 0.082, 0.448) rel (a, b) , g == (- 0.082, 0.338) rel (a, b) , f == (- 0.082, 0.229) rel (a, b) , e == (- 0.082, 0.119) rel (a, b) , d == (- 0.082, 0.668) rel (a, b) , c == (- 0.082, 0.) rel (a, b) | T -> black paint print("145", d, Helvetica, 7, 0) ; print("143", i, Helvetica, 7, 0) ; print("141", h, Helvetica, 7, 0) ; print("139", g, Helvetica, 7, 0) ; print("137", f, Helvetica, 7, 0) ; print("135", e, Helvetica, 7, 0) ; print("131", c, Helvetica, 7, 0) ; draw (v, k) ; draw (w, p) ; draw (t, o) ; draw (u, n) ; draw (s, m) ; draw (r, l) ; draw (b, j) fi IPProductionGraphData(a, b) : if n == (0.958, 0.623) rel (a, b) , m == (0.873, 0.519) rel (a, b) , l == (0.692, 0.373) rel (a, b) , k == (0.623, 0.279) rel (a, b) , j == (0.549, 0.24) rel (a, b) , i == (0.536, 0.136) rel (a, b) , h == (0.461, 0.123) rel (a, b) , g == (0.364, 0.172) rel (a, b) , f == (0.237, 0.24) rel (a, b) , e == (0.179, 0.289) rel (a, b) , d == (0.117, 0.325) rel (a, b) , c == (0.042, 0.305) rel (a, b) | T -> IPProductionBackground(a, b) ; BarGraph(a, b, c, d, e, f, g, h, i, j, k, l, m, n) fi IPProducationGraphWithoutFrame(a, b) : if n == (1.003, - 0.072) rel (a, b) , m == (0.844, - 0.072) rel (a, b) , l == (0.656, - 0.072) rel (a, b) , k == (0.596, - 0.072) rel (a, b) , j == (0.527, 0.722) rel (a, b) , i == (0.365, 0.722) rel (a, b) , h == (0.35, 0.722) rel (a, b) , g == (0.222, - 0.129) rel (a, b) , f == (0.069, - 0.072) rel (a, b) , e == (0.009, - 0.072) rel (a, b) , d == (- 0.078, - 0.129) rel (a, b) , c == (- 0.081, 0.722) rel (a, b) | T -> IPProductionGraphData(a, b) ; print("1982", e, Helvetica, 7, 0) ; print("1983", k, Helvetica, 7, 0) ; print("(preliminary)", m, Helvetica, 7, 0) ; print("Source: Federal Reserve", d, Helvetica, 7, 0) ; print (" (1967 = 100)", i, Helvetica, 7, 0) ; print ("US Industrial Production", c, Helvetica, 10, 2) fi IPProductionGraph(a, b) : if f == (1., 0.769) rel (a, b) , e == (0.926, 0.126) rel (a, b) , d == (0.121, 0.126) rel (a, b) , c == (- 0., 0.769) rel (a, b) | T -> if aa == (- 6, - 6) rel (a) , bb == (- 6, - 6) rel (b) , ff == (- 6, - 6) rel (f) , ccc == (- 6, - 6) rel (c) | T -> black paint fill (aa, bb), (bb, ff), (ff, ccc) ; white paint fill (a, b), (b, f), (f, c) ; black paint draw (a, b), (b, f), (f, c), (c, a) fi ; black paint IPProducationGraphWithoutFrame(d, e) fi Star(a, b) : if f == (0.309, - 0.951) rel (a, b) , e == (- 0.809, - 0.588) rel (a, b) , d == (- 0.809, 0.588) rel (a, b) , c == (0.309, 0.951) rel (a, b) | T -> fill (c, e), (e, b), (b, d), (d, f), (f, c) fi Star2(a, b, c) : if d == (0, 1) rel (a) | (a, d) cong (b, c) -> Star(a, d) fi SixStars(a, b, f, g) : if h == (5., 0.) rel (a, b) , e == (4., 0.) rel (a, b) , d == (3., 0.) rel (a, b) , c == (2., 0.) rel (a, b) | T -> Star2(a, f, g) ; Star2(b, f, g) ; Star2(c, f, g) ; Star2(d, f, g) ; Star2(e, f, g) ; Star2(h, f, g) fi FiveStars(a, b, f, g) : if e == (4., 0.) rel (a, b) , d == (3., 0.) rel (a, b) , c == (2., 0.) rel (a, b) | T -> Star2(a, f, g) ; Star2(b, f, g) ; Star2(c, f, g) ; Star2(d, f, g) ; Star2(e, f, g) fi FiftyStars(a, b) : if t == (- 0.317, - 0.882) rel (a, b) , s == (- 0.302, - 0.818) rel (a, b) , r == (0.125, - 0.375) rel (a, b) , q == (0.375, - 0.375) rel (a, b) , p == (0.875, - 0.375) rel (a, b) , o == (0.625, - 0.375) rel (a, b) , n == (0.25, - 0.25) rel (a, b) , m == (0.5, - 0.25) rel (a, b) , l == (0., - 0.25) rel (a, b) , k == (1., - 0.25) rel (a, b) , j == (0.75, - 0.25) rel (a, b) , i == (0.375, - 0.125) rel (a, b) , h == (0.625, - 0.125) rel (a, b) , g == (0.125, - 0.125) rel (a, b) , f == (0.875, - 0.125) rel (a, b) , e == (0.75, 0.) rel (a, b) , d == (0.5, 0.) rel (a, b) , c == (0.25, 0.) rel (a, b) | T -> SixStars(b, k, s, t) ; SixStars(e, j, s, t) ; SixStars(d, m, s, t) ; SixStars(c, n, s, t) ; SixStars(a, l, s, t) ; FiveStars(f, p, s, t) ; FiveStars(h, o, s, t) ; FiveStars(i, q, s, t) ; FiveStars(g, r, s, t) fi Stripe(a, b) : if d == (0.662, - 0.473) rel (a, b) , c == (0.471, 0.436) rel (a, b) | ver (a, c) and ver (d, b) and hor (c, b) and hor (a, d) -> fill (a, c), (c, b), (b, d) fi FlagBottom(a, b, x) : if n == (0.5, - 2.795) rel (a, b) , l == (0.167, - 2.795) rel (a, b) , j == (0.833, - 2.795) rel (a, b) , f == (0.333, 0.) rel (a, b) , c == (0.667, 0.) rel (a, b) | ver (j, x) and ver (n, x) and ver (l, x) -> red paint Stripe(c, j); Stripe(f, n); Stripe(a, l) fi FlagTop(a, b, x) : if v == (1., - 2.395) rel (a, b) , u == (0.571, - 2.395) rel (a, b) , t == (0.714, - 2.395) rel (a, b) , s == (0.857, - 2.395) rel (a, b) , r == (0.429, - 2.395) rel (a, b) , q == (0.143, - 2.395) rel (a, b) , p == (0.286, - 2.395) rel (a, b) , o == (- 0., - 2.395) rel (a, b) , n == (0.286, - 1.233) rel (a, b) , m == (0.714, - 1.233) rel (a, b) , l == (0.429, - 1.233) rel (a, b) , k == (0.857, - 1.233) rel (a, b) , j == (0.14, - 1.233) rel (a, b) , i == (0.571, - 1.233) rel (a, b) , h == (1., - 1.233) rel (a, b) , g == (0.14, - 1.233) rel (a, b) , f == (- 0., - 1.233) rel (a, b) , e == (0.106, - 0.118) rel (a, b) , d == (0.894, - 0.118) rel (a, b) , c == (0.14, 0.) rel (a, b) | ver (v, x) and ver (t, x) and ver (r, x) and ver (q, x) -> red paint Stripe(k, v) ; Stripe(i, t) ; Stripe(n, r) ; Stripe(f, q) ; blue paint Stripe(a, h); white paint FiftyStars(e, d) fi SixThirteenths(a, b, k) : if j == (0.462, 0.) rel (a, b) | T -> k := j fi Flag(a, b, x) : if g == (0, 0) rel (a) | T -> SixThirteenths(a, b, g) ; FlagTop(g, b, x) ; FlagBottom(a, g, x) fi JMF13bridge(a) : if h == (425., 82.) rel (a) , g == (294., 157.) rel (a) , f == (215., 71.) rel (a) , e == (215., - 71.) rel (a) , d == (151., 0.) rel (a) , c == (- 20., 157.) rel (a) | (d, e) cong (f, d) and ver (f, e) and hor (a, d) and hor (c, g) -> Flag(e, f, h); Banner(a, d); IPProductionGraph(c, g) fi Valentine(a, b) : if o == (0.624, 1.683) rel (a, b) , n == (- 0.263, 1.698) rel (a, b) , m == (1.72, 1.666) rel (a, b) , l == (- 0.843, 0.739) rel (a, b) , k == (2.591, 0.668) rel (a, b) , j == (0., 0.016) rel (a, b) , i == (3.048, - 0.033) rel (a, b) , h == (3.048, - 0.049) rel (a, b) , g == (2.569, - 0.751) rel (a, b) , f == (- 0.866, - 0.712) rel (a, b) , e == (1.666, - 1.72) rel (a, b) , d == (- 0.318, - 1.688) rel (a, b) , c == (0.569, - 1.703) rel (a, b) | T -> lightred paint fill (a, f, d, c) , (c, e, g, h) , (h, k, m, o) , (o, n, l, a) ; black paint 1.5 width stroke (a, f, d, c) , (c, e, g, h) , (h, k, m, o) , (o, n, l, a) fi SevenValentines(a, b) : if h == (0.714, - 0.) rel (a, b) , g == (0.857, - 0.) rel (a, b) , f == (0.429, - 0.) rel (a, b) , e == (0.286, - 0.) rel (a, b) , d == (0.571, - 0.) rel (a, b) , c == (0.143, - 0.) rel (a, b) | T -> Valentine(a, c) ; Valentine(c, e) ; Valentine(e, f) ; Valentine(f, d) ; Valentine(d, h) ; Valentine(h, g) ; Valentine(g, b) fi JMF13(a) : if f == (194., - 253.) rel (a) , e == (194., - 40.) rel (a) , d == (56., 0.) rel (a) , c == (- 178., - 423.) rel (a) | ver (f, e) -> JMF13bridge(c); SevenValentines(e, f) fi YellowSubmarineSlideWords(a, b) : if v == (0.074, - 0.567) rel (a, b) , u == (0.567, - 0.567) rel (a, b) , t == (0.493, - 0.567) rel (a, b) , s == (0., - 0.559) rel (a, b) , r == (0.641, - 0.485) rel (a, b) , q == (0.222, - 0.452) rel (a, b) , p == (0.73, - 0.281) rel (a, b) , o == (0.148, - 0.278) rel (a, b) , n == (0.311, - 0.259) rel (a, b) , m == (0.911, - 0.23) rel (a, b) , l == (1., - 0.148) rel (a, b) , k == (0.911, 0.) rel (a, b) , j == (0.73, 0.) rel (a, b) , i == (0.641, 0.) rel (a, b) , h == (0.222, 0.) rel (a, b) , g == (0.148, 0.) rel (a, b) , f == (0.074, 0.) rel (a, b) , e == (0.311, 0.) rel (a, b) , d == (0.567, 0.) rel (a, b) , c == (0.493, 0.) rel (a, b) | T -> print("(a, c) cong (b, d)", d, Helvetica, 12, 0) ; print("(a, d) cong (b, c)", c, Helvetica, 12, 0) ; print("(a, c) para (b, d)", i, Helvetica, 12, 0) ; print("edge(b, d)", h, Helvetica, 12, 0) ; print("circle(c, d)", g, Helvetica, 12, 0) ; print("arc(c, d, a, b)", f, Helvetica, 12, 0) ; print("yellowSubmarine(a, c)", a, Helvetica, 12, 0) ; print("Constraints", j, Helvetica, 12, 2) ; print("Commands", e, Helvetica, 12, 2) ; print("a, b, c, d", k, Helvetica, 12, 0) ; print("Points", b, Helvetica, 12, 2) fi YellowSubmarineSlideImage(a, b) : if n == (0.181, 0.278) rel (a, b) , m == (0.181, 0.307) rel (a, b) , l == (0.227, 0.345) rel (a, b) , k == (0.626, 0.481) rel (a, b) , j == (0.626, 0.511) rel (a, b) , i == (0.611, 0.541) rel (a, b) , h == (0.031, 0.729) rel (a, b) , g == (- 0.03, 0.733) rel (a, b) , f == (- 0.03, 0.763) rel (a, b) , e == (0.415, 0.925) rel (a, b) , d == (0.367, 0.933) rel (a, b) , c == (0.367, 0.963) rel (a, b) | T -> yellow paint Trident(e, i) ; black paint Circle(i, e) ; Dot(l) ; Dot(h) ; Dot(i) ; Dot(e) ; print("c", j, Helvetica, 12, 0) ; print("a", c, Helvetica, 12, 0) ; print("b", f, Helvetica, 12, 0) ; print("d", m, Helvetica, 12, 0) ; draw (i, l, e, h) ; draw (l, h) fi YellowSubmarineSlide(a, b) : YellowSubmarineSlideWords(a, b) ; YellowSubmarineSlideImage(a, b) JMF14(a) : if e == (75., - 50.) rel (a) , d == (75., - 293.) rel (a) , c == (56., 0.) rel (a) | ver (e, d) -> YellowSubmarineSlide(d, e) fi JMF15(a) : if a42 == (352., - 36.0001) rel (a) , a41 == (343., - 84.0001) rel (a) , a40 == (292., - 108.0001) rel (a) , a39 == (229., - 60.0001) rel (a) , a38 == (181., - 204.0001) rel (a) , a37 == (147.9999, - 132.0001) rel (a) , a36 == (114., - 180.0001) rel (a) , a35 == (112., - 156.0001) rel (a) , a34 == (35., 0.) rel (a) , a33 == (27.0001, - 143.0001) rel (a) , a32 == (27.0001, - 156.0001) rel (a) , a31 == (27.0001, - 167.0001) rel (a) , a30 == (27.0001, - 180.0001) rel (a) , a29 == (27.0001, - 191.0001) rel (a) , a28 == (27.0001, - 204.0001) rel (a) , a27 == (27.0001, - 215.0001) rel (a) , a26 == (27., - 36.0001) rel (a) , a25 == (27., - 47.0001) rel (a) , a24 == (27., - 60.0001) rel (a) , a23 == (27., - 71.0001) rel (a) , a22 == (27., - 84.0001) rel (a) , a21 == (27., - 95.0001) rel (a) , a20 == (27., - 108.0001) rel (a) , a19 == (27., - 119.0001) rel (a) , a18 == (27., - 132.0001) rel (a) , a17 == (27., - 215.) rel (a) , a16 == (27., - 227.) rel (a) , a15 == (27., - 239.) rel (a) , a14 == (27., - 251.) rel (a) , a13 == (27., - 263.) rel (a) , a12 == (27., - 275.) rel (a) , a11 == (27., - 287.) rel (a) , a10 == (27., - 299.) rel (a) , a9 == (27., - 311.) rel (a) , a8 == (- 3., - 271.) rel (a) , a7 == (- 5., - 232.) rel (a) , a6 == (- 11., - 232.) rel (a) , a5 == (- 11.0005, - 271.) rel (a) , a4 == (- 11.0005, - 220.) rel (a) , a3 == (- 41., - 232.) rel (a) , a2 == (- 46.3034, - 220.) rel (a) , a1 == (- 47., - 232.) rel (a) , a0 == (- 55.0005, - 174.861) rel (a) , z == (- 66.8416, - 174.861) rel (a) , y == (- 77., - 155.0001) rel (a) , x == (- 81.4621, - 142.7279) rel (a) , w == (- 82., - 155.0001) rel (a) , v == (- 90.0004, - 97.5889) rel (a) , u == (- 91.0004, - 20.0001) rel (a) , t == (- 102.0004, - 97.5889) rel (a) , s == (- 102.0004, - 20.0001) rel (a) , r == (- 117., - 155.) rel (a) , q == (- 122.5385, - 142.7279) rel (a) , p == (- 123., - 155.) rel (a) , o == (- 137.159, - 174.8609) rel (a) , n == (- 137.159, - 174.861) rel (a) , m == (- 148.159, - 174.8609) rel (a) , l == (- 151., - 232.) rel (a) , k == (- 153., - 271.) rel (a) , j == (- 157.6971, - 271.) rel (a) , i == (- 157.6971, - 219.9999) rel (a) , h == (- 158., - 232.) rel (a) , g == (- 187., - 232.) rel (a) , f == (- 188., - 20.) rel (a) , e == (- 193., - 220.) rel (a) , d == (- 193., - 232.) rel (a) , c == (- 200., - 20.) rel (a) | (n, i) para (e, s) and (e, s) para (t, q) and (t, q) para (t, i) and (a2, z) para (s, a4) and (s, a4) para (x, t) and (x, t) para (t, a2) and (n, q) cong (i, e) and (a2, a4) cong (n, q) and (q, t) cong (i, n) and (s, a4) cong (e, s) and ver (j, i) and ver (a5, a4) and hor (e, i) and hor (i, a2) and hor (a2, a4) and hor (z, n) and hor (q, x) and hor (c, s) and hor (k, a5) -> PenCur(a26) ; HCur(a24) ; ParCur(a22) ; ComCur(a20) ; VCur(a18) ; HCur(a32) ; SCur(a30) ; MCur(a28) ; print(" a", c, timesroman, 10, 1) ; print(" b", s, timesroman, 10, 1) ; print("c", d, timesroman, 10, 1) ; print("d", h, timesroman, 10, 1) ; print("e", a1, timesroman, 10, 1) ; print("f", a6, timesroman, 10, 1) ; print(" g", t, timesroman, 10, 1) ; print("h", p, timesroman, 10, 1) ; print("i", w, timesroman, 10, 1) ; print(" k", z, timesroman, 10, 1) ; print("j ", m, timesroman, 10, 1) ; print("l", j, timesroman, 10, 1) ; print("m", a5, timesroman, 10, 1) ; print (" C D $ J $ K $ E $ F $ B $ c $ H I $ G $ h $" , a26 , timesroman , 10 , 1) ; print (" c d $ e $ f $ j k $ h i $$" , a24 , timesroman , 10 , 1) ; print (" j d c b $ g h $ g d $$ k e f b $ g i $ g e $$" , a22 , timesroman , 10 , 1) ; print (" c d j h $ e f $$ d j h g $ c b b f $$" , a20 , timesroman , 10 , 1) ; print (" d L $ f M $", a18, timesroman, 10, 1) ; print(" A b $$", a32, timesroman, 10, 1) ; print(" a c l m", a30, timesroman, 10, 1) ; print (" Adjust a, l, and m." , a28 , timesroman , 10 , 1) ; draw (e, i) ; draw (s, e) ; draw (a4, s) ; draw (a2, a4) ; draw (z, a2) ; draw (n, z) ; draw (i, n) ; draw (x, q) ; draw (t, x) ; draw (q, t) fi JMF12(a) : if i == (36., - 86.0001) rel (a) , h == (36., - 42.) rel (a) , g == (35., 0.) rel (a) , f == (25., - 86.0001) rel (a) , e == (25., - 42.) rel (a) , d == (- 257., - 314.) rel (a) , c == (- 257., 74.9999) rel (a) | ver (d, c) and ver (f, e) -> ForumSlide12(c, d) ; print("Y", e, Helvetica, 12, 0) ; print("X", f, Helvetica, 12, 0) fi Figure1(a) : if d == (179., - 21.) rel (a), c == (35., 0.) rel (a) | T -> JMF1(d); print("<==<<", a, Helvetica, 12, 0) fi Figure2(a) : if d == (185., - 9.0001) rel (a) , c == (35., 0.) rel (a) | T -> JMF2(d); print("<==<<", a, Helvetica, 12, 0) fi Figure3(a) : if d == (170.9999, - 20.9998) rel (a) , c == (35., 0.) rel (a) | T -> JMF3(d); print("<==<<", a, Helvetica, 12, 0) fi Figure4(a) : if d == (170., - 11.0001) rel (a) , c == (35., 0.) rel (a) | T -> JMF4(d); print("<==<<", a, Helvetica, 12, 0) fi Figure5(a) : if d == (164., - 2.9998) rel (a) , c == (35., 0.) rel (a) | T -> JMF5(d); print("<==<<", a, Helvetica, 12, 0) fi Figure6(a) : if d == (167., 2.0002) rel (a), c == (35., 0.) rel (a) | T -> JMF6(d); print("<==<<", a, Helvetica, 12, 0) fi Figure7(a) : if d == (187., 6.9999) rel (a), c == (35., 0.) rel (a) | T -> JMF7(d); print("<==<<", a, Helvetica, 12, 0) fi Figure8(a) : if d == (131., 18.) rel (a), c == (35., 0.) rel (a) | T -> JMF8(d); print("<==<<", a, Helvetica, 12, 0) fi Figure9(a) : if d == (174.9999, - 5.9999) rel (a) , c == (35., 0.) rel (a) | T -> JMF9(d); print("<==<<", a, Helvetica, 12, 0) fi Figure10(a) : if d == (234., - 21.9999) rel (a) , c == (35., 0.) rel (a) | T -> JMF10(d); print("<==<<", a, Helvetica, 12, 0) fi Figure11(a) : if d == (202., - 18.9998) rel (a) , c == (35., 0.) rel (a) | T -> JMF11(d); print("<==<<", a, Helvetica, 12, 0) fi Figure12(a) : if d == (180.0001, - 0.9999) rel (a) , c == (35., 0.) rel (a) | T -> JMF12(d); print("<==<<", a, Helvetica, 12, 0) fi Figure13(a) : if d == (189., 0.9996) rel (a), c == (35., 0.) rel (a) | T -> JMF13(d); print("<==<<", a, Helvetica, 12, 0) fi Figure14(a) : if d == (186., 11.9999) rel (a), c == (56., 0.) rel (a) | T -> JMF14(d); print("<==<<", a, Helvetica, 16, 0) fi Figure15(a) : if d == (198., - 6.9999) rel (a) , c == (56., 0.) rel (a) | T -> JMF15(d); print("<==<<", a, Helvetica, 16, 0) fi NewFig2(a, b) : if a8 == (1.0679, - 0.1741) rel (a, b) , a7 == (1.0602, - 0.) rel (a, b) , a6 == (1.006, - 0.1741) rel (a, b) , a5 == (0.9422, - 0.1741) rel (a, b) , a4 == (0.9363, - 0.) rel (a, b) , a3 == (0.886, - 0.1741) rel (a, b) , a2 == (0.875, - 0.) rel (a, b) , a1 == (0.8241, - 0.) rel (a, b) , a0 == (0.8165, - 0.1741) rel (a, b) , z == (0.75, - 0.) rel (a, b) , y == (0.7429, - 0.1741) rel (a, b) , x == (0.6909, - 0.1741) rel (a, b) , w == (0.6887, - 0.) rel (a, b) , v == (0.625, - 0.) rel (a, b) , u == (0.6191, - 0.1741) rel (a, b) , t == (0.5652, - 0.1741) rel (a, b) , s == (0.5533, - 0.) rel (a, b) , r == (0.5069, - 0.1741) rel (a, b) , q == (0.5, - 0.) rel (a, b) , p == (0.4395, - 0.1741) rel (a, b) , o == (0.4372, - 0.) rel (a, b) , n == (0.375, - 0.) rel (a, b) , m == (0.3714, - 0.1741) rel (a, b) , l == (0.3138, - 0.1741) rel (a, b) , k == (0.3095, - 0.) rel (a, b) , j == (0.2515, - 0.1741) rel (a, b) , i == (0.25, - 0.) rel (a, b) , h == (0.1882, - 0.1741) rel (a, b) , g == (0.1857, - 0.) rel (a, b) , f == (0.1277, - 0.1741) rel (a, b) , e == (0.125, - 0.) rel (a, b) , d == (0.0625, - 0.1741) rel (a, b) , c == (0.0619, - 0.) rel (a, b) | T -> if a00 == (0, - 12) rel (a0) | T -> grey paint butt ends 15 width stroke (a, d), (d, e) ; stroke (h, i) ; stroke (i, l) ; round ends stroke (n, p) ; butt ends stroke (q, t) ; square ends stroke (v, x) ; fill (a0, z, a2, a5), (a5, a0) ; black paint Dot(a) ; Dot(e) ; Dot(i) ; Dot(n) ; Dot(q) ; Dot(v) ; Dot(z) ; Dot(a2) ; Dot(b) ; Dot(d) ; Dot(h) ; Dot(l) ; Dot(p) ; Dot(t) ; Dot(x) ; Dot(a0) ; Dot(a5) ; print(" a", a, gacha, 10, 0) ; print(" c", e, gacha, 10, 0) ; print(" b", d, gacha, 10, 0) ; print(" d", h, gacha, 10, 0) ; print(" e", i, gacha, 10, 0) ; print(" f", l, gacha, 10, 0) ; print(" g", n, gacha, 10, 0) ; print(" h", p, gacha, 10, 0) ; print(" i", q, gacha, 10, 0) ; print(" j", t, gacha, 10, 0) ; print(" k", v, gacha, 10, 0) ; print(" l", x, gacha, 10, 0) ; print(" m", z, gacha, 10, 0) ; print(" n", a00, gacha, 10, 0) ; print(" o", a2, gacha, 10, 0) ; print(" p", a5, gacha, 10, 0) ; 5 width stroke (a0, z, a2, a5), (a5, a0) ; round ends a2, b width stroke (b, b) ; white paint Dot(b); print(" q", b, gacha, 10, 0) fi fi NewArrow(c, d, a, b) : if x == (0, 1) rel (a), y == (0, 8) rel (a) | T -> if e == (0.9, 0) rel (a, b) | (a, e) para (a, b) and (b, e) cong (a, y) -> a, x width stroke (c, d, a, e); ArrowHead(e, b) fi fi Box(a, b) : if d == (0.6355, 0.4813) rel (a, b) , c == (0.3645, - 0.4813) rel (a, b) | ver (c, a) and ver (b, d) and hor (a, d) and hor (b, c) -> draw (d, a); draw (b, d); draw (c, b); draw (a, c) fi NWText(a) : if l == (101., - 26.) rel (a) , k == (97., - 39.) rel (a) , j == (83., - 52.) rel (a) , i == (56., 0.) rel (a) , h == (0., 13.) rel (a) , g == (0., 13.) rel (a) , f == (0., - 13.) rel (a) , e == (0., - 26.) rel (a) , d == (0., - 39.) rel (a) , c == (0., - 52.) rel (a) | T -> print("", h, Helvetica, 10, 0) ; print("Command", a, Helvetica, 10, 0) ; print("whose execution", e, Helvetica, 10, 0) ; print("will produce the", d, Helvetica, 10, 0) ; print("current image", c, Helvetica, 10, 0) fi NEText(a) : if h == (97., - 39.) rel (a) , g == (94., - 26.) rel (a) , f == (72., 0.) rel (a) , e == (0., - 13.) rel (a) , d == (0., - 26.) rel (a) , c == (0., - 39.) rel (a) | T -> print("Environment", a, Helvetica, 10, 0) ; print("a list of parsed", d, Helvetica, 10, 0) ; print("Juno procedures", c, Helvetica, 10, 0) fi SWText(a) : if f == (34., 0.) rel (a) , e == (24., - 26.) rel (a) , d == (0., - 13.) rel (a) , c == (0., - 26.) rel (a) | T -> print("Image", a, Helvetica, 10, 0) ; print("e.g.,", c, Helvetica, 10, 0) fi SEText(a) : if h == (97., - 39.) rel (a) , g == (79., - 26.) rel (a) , f == (67., 0.) rel (a) , e == (0., - 13.) rel (a) , d == (0., - 26.) rel (a) , c == (0., - 39.) rel (a) | T -> print("Active.juno", a, Helvetica, 10, 0) ; print("a text file of", d, Helvetica, 10, 0) ; print("Juno procedures", c, Helvetica, 10, 0) fi NorthArrows(a, b) : if j == (0.7546, - 0.4303) rel (a, b) , i == (0.6399, 0.005) rel (a, b) , h == (0.3945, - 0.4253) rel (a, b) , g == (0.3773, - 0.2152) rel (a, b) , f == (0.6227, 0.2152) rel (a, b) , e == (0.5352, 0.0647) rel (a, b) , d == (0.2898, - 0.3656) rel (a, b) , c == (0.2454, 0.4303) rel (a, b) | (j, a) cong (c, b) and (c, a) cong (j, b) and (b, a) cong (c, j) and (f, b) cong (c, f) and ver (g, f) and hor (a, j) and hor (c, f) and hor (a, g) -> NewArrow(c, c, c, b); NewArrow(j, j, j, a) fi OtherArrows(a, b) : if f == (0.6466, - 0.2276) rel (a, b) , e == (0.2932, - 0.4553) rel (a, b) , d == (0.3534, 0.2276) rel (a, b) , c == (0.7068, 0.4553) rel (a, b) | (d, a) cong (c, d) and (c, e) cong (a, b) and (a, e) cong (b, c) and (b, e) cong (a, c) and ver (f, b) and ver (d, c) and ver (a, c) and hor (d, f) -> NewArrow(b, b, b, e); NewArrow(a, a, a, c) fi NewFig6(a, b) : if d == (1., - 1.) rel (a, b) , c == (0., - 1.) rel (a, b) | (a, b) para (c, d) and (c, a) para (d, b) and (a, d) cong (c, b) and (a, b) cong (a, c) -> yellow paint Trident(c, a) ; black paint Circle(a, b) ; draw (a, b, c, d) ; draw (d, b) ; Dot(a) ; Dot(c) ; Dot(d) ; Dot(b) ; print(" a", c, Helvetica, 10, 0) ; print(" b", d, Helvetica, 10, 0) ; print(" c", a, Helvetica, 10, 0) ; print(" d", b, Helvetica, 10, 0) fi NewFig8Right(a) : if a1 == (166., - 104.) rel (a) , a0 == (162., - 208.) rel (a) , z == (145., 0.) rel (a) , y == (131., - 39.) rel (a) , x == (124., - 65.) rel (a) , w == (120., - 78.) rel (a) , v == (112., - 13.) rel (a) , u == (93., - 130.) rel (a) , t == (77., - 182.) rel (a) , s == (73., - 156.) rel (a) , r == (0., - 13.) rel (a) , q == (0., - 26.) rel (a) , p == (0., - 39.) rel (a) , o == (0., - 52.) rel (a) , n == (0., - 65.) rel (a) , m == (0., - 78.) rel (a) , l == (0., - 91.) rel (a) , k == (0., - 104.) rel (a) , j == (0., - 117.) rel (a) , i == (0., - 130.) rel (a) , h == (0., - 143.) rel (a) , g == (0., - 156.) rel (a) , f == (0., - 169.) rel (a) , e == (0., - 182.) rel (a) , d == (0., - 195.) rel (a) , c == (0., - 208.) rel (a) | T -> PenCur(a) ; HCur(p) ; ParCur(n) ; ComCur(k) ; VCur(i) ; HCur(g) ; SCur(e) ; MCur(c) ; print(" CD$J$K$E$F$B$", a, gacha, 10, 0) ; print(" c$HI$G$h$", r, gacha, 10, 0) ; print(" cd$e$f$jk$hi$", p, gacha, 10, 0) ; print(" jdcb$gh$gd$", n, gacha, 10, 0) ; print(" kefb$gi$ge$", m, gacha, 10, 0) ; print(" cdjh$ef$djhg$cbbf$", k, gacha, 10, 0) ; print(" dL$fM$", i, gacha, 10, 0) ; print(" Ab$", g, gacha, 10, 0) ; print(" aclm", e, gacha, 10, 0) ; print(" Adjust a, l, and m.", c, gacha, 10, 0) fi