#reader(lib"read.ss""wxme")WXME0108 ## #| This file uses the GRacket editor format. Open this file in DrRacket version 6.3 or later to read it. Most likely, it was created by saving a program in DrRacket, and it probably contains a program with non-text elements (such as images or comment boxes). http://racket-lang.org/ |# 32 7 #"wxtext\0" 3 1 6 #"wxtab\0" 1 1 8 #"wximage\0" 2 0 8 #"wxmedia\0" 4 1 34 #"(lib \"syntax-browser.ss\" \"mrlib\")\0" 1 0 16 #"drscheme:number\0" 3 0 44 #"(lib \"number-snip.ss\" \"drscheme\" \"private\")\0" 1 0 36 #"(lib \"comment-snip.ss\" \"framework\")\0" 1 0 93 ( #"((lib \"collapsed-snipclass.ss\" \"framework\") (lib \"collapsed-sni" #"pclass-wxme.ss\" \"framework\"))\0" ) 0 0 43 #"(lib \"collapsed-snipclass.ss\" \"framework\")\0" 0 0 19 #"drscheme:sexp-snip\0" 0 0 36 #"(lib \"cache-image-snip.ss\" \"mrlib\")\0" 1 0 68 ( #"((lib \"image-core.ss\" \"mrlib\") (lib \"image-core-wxme.rkt\" \"mr" #"lib\"))\0" ) 1 0 29 #"drscheme:bindings-snipclass%\0" 1 0 101 ( #"((lib \"ellipsis-snip.rkt\" \"drracket\" \"private\") (lib \"ellipsi" #"s-snip-wxme.rkt\" \"drracket\" \"private\"))\0" ) 2 0 88 ( #"((lib \"pict-snip.rkt\" \"drracket\" \"private\") (lib \"pict-snip.r" #"kt\" \"drracket\" \"private\"))\0" ) 0 0 34 #"(lib \"bullet-snip.rkt\" \"browser\")\0" 0 0 25 #"(lib \"matrix.ss\" \"htdp\")\0" 1 0 22 #"drscheme:lambda-snip%\0" 1 0 29 #"drclickable-string-snipclass\0" 0 0 26 #"drracket:spacer-snipclass\0" 0 0 57 #"(lib \"hrule-snip.rkt\" \"macro-debugger\" \"syntax-browser\")\0" 1 0 26 #"drscheme:pict-value-snip%\0" 0 0 45 #"(lib \"image-snipr.ss\" \"slideshow\" \"private\")\0" 1 0 38 #"(lib \"pict-snipclass.ss\" \"slideshow\")\0" 2 0 55 #"(lib \"vertical-separator-snip.ss\" \"stepper\" \"private\")\0" 1 0 18 #"drscheme:xml-snip\0" 1 0 31 #"(lib \"xml-snipclass.ss\" \"xml\")\0" 1 0 21 #"drscheme:scheme-snip\0" 2 0 34 #"(lib \"scheme-snipclass.ss\" \"xml\")\0" 1 0 10 #"text-box%\0" 1 0 32 #"(lib \"text-snipclass.ss\" \"xml\")\0" 1 0 1 6 #"wxloc\0" 0 0 58 0 1 #"\0" 0 75 1 #"\0" 0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 0 9 #"Standard\0" 0 75 6 #"Menlo\0" 0 12 90 -1 90 -1 3 -1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 255 255 255 1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 -1 -1 2 24 #"framework:default-color\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 255 255 255 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 15 #"text:ports out\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 150 0 150 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 93 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 255 0 0 0 0 0 -1 -1 2 15 #"text:ports err\0" 0 -1 1 #"\0" 1 0 -1 -1 93 -1 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 17 #"text:ports value\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 175 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 -1 2 27 #"Matching Parenthesis Style\0" 0 -1 1 #"\0" 1.0 0 92 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 34 139 34 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 37 #"framework:syntax-color:scheme:symbol\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 38 #"framework:syntax-color:scheme:keyword\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 38 38 128 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 38 #"framework:syntax-color:scheme:comment\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 194 116 31 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 37 #"framework:syntax-color:scheme:string\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 35 #"framework:syntax-color:scheme:text\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 39 #"framework:syntax-color:scheme:constant\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 41 128 38 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 49 #"framework:syntax-color:scheme:hash-colon-keyword\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 42 #"framework:syntax-color:scheme:parenthesis\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 132 60 36 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 #"framework:syntax-color:scheme:error\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 36 #"framework:syntax-color:scheme:other\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 16 #"Misspelled Text\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 38 #"drracket:check-syntax:lexically-bound\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 81 112 203 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 28 #"drracket:check-syntax:set!d\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 37 #"drracket:check-syntax:unused-require\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 36 #"drracket:check-syntax:free-variable\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 255 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 31 #"drracket:check-syntax:imported\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 68 0 203 0 0 0 -1 -1 2 47 #"drracket:check-syntax:my-obligation-style-pref\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 178 34 34 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 50 #"drracket:check-syntax:their-obligation-style-pref\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 116 0 0 0 0 -1 -1 2 48 #"drracket:check-syntax:unk-obligation-style-pref\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 49 #"drracket:check-syntax:both-obligation-style-pref\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 139 142 28 0 0 0 -1 -1 2 26 #"plt:htdp:test-coverage-on\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 2 27 #"plt:htdp:test-coverage-off\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1 #"\0" 0 70 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 4 4 #"XML\0" 0 70 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 2 37 #"plt:module-language:test-coverage-on\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 -1 -1 2 38 #"plt:module-language:test-coverage-off\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 93 -1 -1 0 1 0 0 0 1 0 0 0 0 0 0 255 165 0 0 0 0 -1 -1 4 1 #"\0" 0 71 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 4 1 #"\0" 0 -1 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 -1 4 1 #"\0" 0 71 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 1 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 0 255 0 0 0 -1 -1 4 1 #"\0" 0 71 1 #"\0" 1.0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1.0 1.0 1.0 0 100 0 0 0 0 -1 -1 0 1 #"\0" 0 -1 1 #"\0" 0 13 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 0 13 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 1.0 1.0 1.0 1.0 1.0 1.0 0 0 0 0 0 0 -1 -1 2 1 #"\0" 0 -1 1 #"\0" 1 0 -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 1 1 1 200 0 0 0 0 0 -1 -1 0 1193 0 4 3 85 ( #";; The first three lines of this file were inserted by DrRacket. The" #"y record metadata" ) 0 0 4 29 1 #"\n" 0 0 4 3 85 ( #";; about the language level of this file in a form that our tools ca" #"n easily process." ) 0 0 4 29 1 #"\n" 0 0 4 3 189 ( #"#reader(lib \"htdp-intermediate-lambda-reader.ss\" \"lang\")((modnam" #"e |#unify|) (read-case-sensitive #t) (teachpacks ()) (htdp-settings " #"#(#t constructor repeating-decimal #f #t none #f () #f)))" ) 0 0 4 29 1 #"\n" 0 0 17 3 74 ( #";; type term ::= (app symbol list-of-term) | (var symbol) | (const s" #"ymbol)" ) 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 13 #"define-struct" 0 0 24 3 1 #" " 0 0 31 3 3 #"app" 0 0 24 3 2 #" (" 0 0 31 3 5 #"rator" 0 0 24 3 1 #" " 0 0 31 3 5 #"rands" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 13 #"define-struct" 0 0 24 3 1 #" " 0 0 31 3 3 #"var" 0 0 24 3 2 #" (" 0 0 31 3 4 #"name" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 13 #"define-struct" 0 0 24 3 1 #" " 0 0 31 3 5 #"const" 0 0 24 3 2 #" (" 0 0 31 3 4 #"name" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 105 ( #";; type subst ::= list-of-bindings % no duplicate names; no bound va" #"riable appears on rhs of any binding!" ) 0 0 24 29 1 #"\n" 0 0 17 3 29 #";; type (binding symbol term)" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 13 #"define-struct" 0 0 24 3 1 #" " 0 0 31 3 7 #"binding" 0 0 24 3 2 #" (" 0 0 31 3 4 #"name" 0 0 24 3 1 #" " 0 0 31 3 4 #"term" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 31 #";; var-unify: var term -> subst" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 2 #" (" 0 0 31 3 9 #"var-unify" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 3 #" (" 0 0 37 3 4 #"cond" 0 0 24 3 3 #" [(" 0 0 37 3 6 #"equal?" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 2 #") " 0 0 37 3 5 #"empty" 0 0 24 3 1 #"]" 0 0 17 3 20 #"; empty substitution" 0 0 24 29 1 #"\n" 0 0 24 3 10 #" [(" 0 0 31 3 5 #"occur" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 3 #") (" 0 0 37 3 5 #"error" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 5 #"unify" 0 0 24 3 1 #" " 0 0 19 3 39 #"\"unification-failure between ~a and ~a\"" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 2 #")]" 0 0 24 29 1 #"\n" 0 0 24 3 9 #" [" 0 0 14 3 4 #"else" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 12 #"make-binding" 0 0 24 3 2 #" (" 0 0 31 3 8 #"var-name" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 2 #") " 0 0 31 3 1 #"t" 0 0 24 3 6 #"))])) " 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 28 #";; unify: term term -> subst" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 2 #" (" 0 0 31 3 5 #"unify" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 3 #" (" 0 0 37 3 4 #"cond" 0 0 24 3 3 #" [(" 0 0 31 3 4 #"var?" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 3 #") (" 0 0 31 3 9 #"var-unify" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 2 #")]" 0 0 24 29 1 #"\n" 0 0 24 3 10 #" [(" 0 0 31 3 6 #"const?" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 3 #") (" 0 0 37 3 4 #"cond" 0 0 24 3 3 #" [(" 0 0 31 3 4 #"var?" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 3 #") (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 12 #"make-binding" 0 0 24 3 2 #" (" 0 0 31 3 8 #"var-name" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 2 #") " 0 0 31 3 2 #"t1" 0 0 24 3 3 #"))]" 0 0 24 29 1 #"\n" 0 0 24 3 29 #" [(" 0 0 31 3 6 #"const?" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 3 #") (" 0 0 37 3 2 #"if" 0 0 24 3 2 #" (" 0 0 37 3 6 #"equal?" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 2 #") " 0 0 37 3 5 #"empty" 0 0 24 3 1 #" " 0 0 24 29 1 #"\n" 0 0 24 3 45 #" (" 0 0 37 3 5 #"error" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 5 #"unify" 0 0 24 3 1 #" " 0 0 19 3 39 #"\"unification-failure between ~a and ~a\"" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 3 #"))]" 0 0 24 29 1 #"\n" 0 0 24 3 28 #" [" 0 0 14 3 4 #"else" 0 0 24 3 1 #" " 0 0 17 3 11 #"; (app? t2)" 0 0 24 29 1 #"\n" 0 0 24 3 29 #" (" 0 0 37 3 5 #"error" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 5 #"unify" 0 0 24 3 1 #" " 0 0 19 3 39 #"\"unification-failure between ~a and ~a\"" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 4 #")])]" 0 0 24 29 1 #"\n" 0 0 24 3 9 #" [" 0 0 14 3 4 #"else" 0 0 24 3 1 #" " 0 0 17 3 11 #"; (app? t1)" 0 0 24 29 1 #"\n" 0 0 24 3 10 #" (" 0 0 37 3 4 #"cond" 0 0 24 3 3 #" [(" 0 0 31 3 4 #"var?" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 3 #") (" 0 0 31 3 9 #"var-unify" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 2 #")]" 0 0 24 29 1 #"\n" 0 0 24 3 17 #" [(" 0 0 31 3 6 #"const?" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 3 #") (" 0 0 37 3 5 #"error" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 5 #"unify" 0 0 24 3 1 #" " 0 0 19 3 39 #"\"unification-failure between ~a and ~a\"" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 2 #")]" 0 0 24 29 1 #"\n" 0 0 24 3 16 #" [" 0 0 14 3 4 #"else" 0 0 24 3 1 #" " 0 0 17 3 11 #"; (app? t2)" 0 0 24 29 1 #"\n" 0 0 24 3 17 #" (" 0 0 37 3 2 #"if" 0 0 24 3 2 #" (" 0 0 37 3 6 #"equal?" 0 0 24 3 2 #" (" 0 0 31 3 9 #"app-rator" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 3 #") (" 0 0 31 3 9 #"app-rator" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 3 #")) " 0 0 24 29 1 #"\n" 0 0 24 3 21 #" (" 0 0 31 3 10 #"list-unify" 0 0 24 3 2 #" (" 0 0 31 3 9 #"app-rands" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 3 #") (" 0 0 31 3 9 #"app-rands" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 2 #") " 0 0 37 3 5 #"empty" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 21 #" (" 0 0 37 3 5 #"error" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 5 #"unify" 0 0 24 3 1 #" " 0 0 19 3 39 #"\"unification-failure between ~a and ~a\"" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 7 #"))])]))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 55 #";; list-unify: list-of-term list-of-term subst -> subst" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 2 #" (" 0 0 31 3 10 #"list-unify" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt1" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 3 #" (" 0 0 37 3 2 #"if" 0 0 24 3 2 #" (" 0 0 37 3 5 #"null?" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt1" 0 0 24 3 3 #") (" 0 0 37 3 2 #"if" 0 0 24 3 2 #" (" 0 0 37 3 5 #"null?" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 2 #") " 0 0 31 3 1 #"s" 0 0 24 3 2 #" (" 0 0 37 3 5 #"error" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 10 #"list-unify" 0 0 24 3 1 #" " 0 0 19 3 39 #"\"unification-failure between ~a and ~a\"" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt1" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 24 3 7 #" (" 0 0 37 3 2 #"if" 0 0 24 3 2 #" (" 0 0 37 3 5 #"null?" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 3 #") (" 0 0 37 3 5 #"error" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 10 #"list-unify" 0 0 24 3 1 #" " 0 0 19 3 39 #"\"unification-failure between ~a and ~a\"" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt1" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 11 #" (" 0 0 37 3 3 #"let" 0 0 24 3 3 #" [(" 0 0 31 3 2 #"t1" 0 0 24 3 2 #" (" 0 0 31 3 11 #"apply-subst" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 2 #" (" 0 0 37 3 5 #"first" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt1" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 17 #" (" 0 0 31 3 2 #"t2" 0 0 24 3 2 #" (" 0 0 31 3 11 #"apply-subst" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 2 #" (" 0 0 37 3 5 #"first" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 4 #")))]" 0 0 24 29 1 #"\n" 0 0 24 3 13 #" (" 0 0 31 3 10 #"list-unify" 0 0 24 3 2 #" (" 0 0 37 3 4 #"rest" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt1" 0 0 24 3 3 #") (" 0 0 37 3 4 #"rest" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 3 #") (" 0 0 31 3 13 #"compose-subst" 0 0 24 3 2 #" (" 0 0 31 3 5 #"unify" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 2 #") " 0 0 31 3 1 #"s" 0 0 24 3 6 #"))))))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 34 #";; apply-subst: subst term -> term" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 2 #" (" 0 0 31 3 11 #"apply-subst" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 3 #" (" 0 0 37 3 4 #"cond" 0 0 24 3 3 #" [(" 0 0 31 3 4 #"var?" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 3 #") (" 0 0 31 3 6 #"lookup" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 3 #")] " 0 0 17 3 39 #"; lookup returns s if no match is found" 0 0 24 29 1 #"\n" 0 0 24 3 10 #" [(" 0 0 31 3 6 #"const?" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 2 #") " 0 0 31 3 1 #"t" 0 0 24 3 1 #"]" 0 0 24 29 1 #"\n" 0 0 24 3 9 #" [" 0 0 14 3 4 #"else" 0 0 24 3 1 #" " 0 0 17 3 10 #"; (app? t)" 0 0 24 29 1 #"\n" 0 0 24 3 10 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 2 #" (" 0 0 31 3 9 #"app-rator" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 3 #") (" 0 0 37 3 3 #"map" 0 0 24 3 2 #" (" 0 0 37 3 6 #"lambda" 0 0 24 3 2 #" (" 0 0 31 3 2 #"t1" 0 0 24 3 3 #") (" 0 0 31 3 11 #"apply-subst" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 4 #")) (" 0 0 31 3 9 #"app-rands" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 6 #")))]))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 28 #";; lookup: var subst -> term" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 2 #" (" 0 0 31 3 6 #"lookup" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 3 #" (" 0 0 37 3 4 #"cond" 0 0 24 3 3 #" [(" 0 0 37 3 5 #"null?" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 2 #") " 0 0 31 3 1 #"v" 0 0 24 3 1 #"]" 0 0 24 29 1 #"\n" 0 0 24 3 10 #" [(" 0 0 37 3 6 #"equal?" 0 0 24 3 2 #" (" 0 0 31 3 8 #"var-name" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 3 #") (" 0 0 31 3 12 #"binding-name" 0 0 24 3 2 #" (" 0 0 37 3 5 #"first" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 5 #"))) (" 0 0 31 3 12 #"binding-term" 0 0 24 3 2 #" (" 0 0 37 3 5 #"first" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 3 #"))]" 0 0 24 29 1 #"\n" 0 0 24 3 9 #" [" 0 0 14 3 4 #"else" 0 0 24 3 2 #" (" 0 0 31 3 6 #"lookup" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 2 #" (" 0 0 37 3 4 #"rest" 0 0 24 3 1 #" " 0 0 31 3 1 #"s" 0 0 24 3 5 #"))]))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 26 #";; occur: var term -> bool" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 2 #" (" 0 0 31 3 5 #"occur" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 3 #" (" 0 0 37 3 4 #"cond" 0 0 24 3 3 #" [(" 0 0 31 3 4 #"var?" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 3 #") (" 0 0 37 3 6 #"equal?" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 2 #")]" 0 0 24 29 1 #"\n" 0 0 24 3 10 #" [(" 0 0 31 3 6 #"const?" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 2 #") " 0 0 37 3 5 #"false" 0 0 24 3 1 #"]" 0 0 24 29 1 #"\n" 0 0 24 3 9 #" [" 0 0 14 3 4 #"else" 0 0 24 3 1 #" " 0 0 17 3 11 #"; (app? t) " 0 0 24 29 1 #"\n" 0 0 24 3 11 #" (" 0 0 37 3 5 #"ormap" 0 0 24 3 2 #" (" 0 0 37 3 6 #"lambda" 0 0 24 3 2 #" (" 0 0 31 3 2 #"t1" 0 0 24 3 3 #") (" 0 0 31 3 5 #"occur" 0 0 24 3 1 #" " 0 0 31 3 1 #"v" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 4 #")) (" 0 0 31 3 9 #"app-rands" 0 0 24 3 1 #" " 0 0 31 3 1 #"t" 0 0 24 3 5 #"))]))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 16 #";; compose-subst" 0 0 17 3 53 #": subst subst -> subst ;; second subst is done first" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 2 #" (" 0 0 31 3 13 #"compose-subst" 0 0 24 3 1 #" " 0 0 31 3 2 #"s1" 0 0 24 3 1 #" " 0 0 31 3 2 #"s2" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 2 #" " 0 0 17 3 105 ( #";; the none of the vars in s1 have bindings in s2, but the terms in " #"s2 may refer to variables bound in s1" ) 0 0 24 29 1 #"\n" 0 0 24 3 3 #" (" 0 0 37 3 6 #"append" 0 0 24 3 1 #" " 0 0 31 3 2 #"s1" 0 0 24 3 2 #" (" 0 0 37 3 3 #"map" 0 0 24 3 2 #" (" 0 0 37 3 6 #"lambda" 0 0 24 3 2 #" (" 0 0 31 3 1 #"b" 0 0 24 3 3 #") (" 0 0 31 3 12 #"make-binding" 0 0 24 3 2 #" (" 0 0 31 3 12 #"binding-name" 0 0 24 3 1 #" " 0 0 31 3 1 #"b" 0 0 24 3 3 #") (" 0 0 31 3 11 #"apply-subst" 0 0 24 3 1 #" " 0 0 31 3 2 #"s1" 0 0 24 3 2 #" (" 0 0 31 3 12 #"binding-term" 0 0 24 3 1 #" " 0 0 31 3 1 #"b" 0 0 24 3 5 #")))) " 0 0 31 3 2 #"s2" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"t1" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"f" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"x" 0 0 24 3 3 #") (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"y" 0 0 24 3 4 #"))))" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"t2" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"f" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"f" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"a" 0 0 24 3 3 #") (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"b" 0 0 24 3 5 #"))) (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"b" 0 0 24 3 4 #"))))" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"t3" 0 0 24 3 2 #" (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"b" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"t4" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"g" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"x" 0 0 24 3 3 #") (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"y" 0 0 24 3 4 #"))))" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"t5" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"x" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 17 3 23 #"; equations b1 = list a" 0 0 24 29 1 #"\n" 0 0 17 3 28 #"; list a2 = list a" 0 0 24 29 1 #"\n" 0 0 17 3 24 #"; b = B1 -> B2" 0 0 24 29 1 #"\n" 0 0 17 3 19 #"; B1 = b1" 0 0 24 29 1 #"\n" 0 0 17 3 20 #"; B2 = int" 0 0 24 29 1 #"\n" 0 0 17 3 20 #"; a3 = int" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 17 3 29 #"; list a4 = list a3" 0 0 24 29 1 #"\n" 0 0 17 3 29 #"; list a5 = list a3" 0 0 24 29 1 #"\n" 0 0 17 3 22 #"; a6 = bool " 0 0 24 29 1 #"\n" 0 0 17 3 29 #"; list a7 = list a6" 0 0 24 29 1 #"\n" 0 0 17 3 29 #"; list a8 = list a6" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"l1" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"b1" 0 0 24 3 2 #") " 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a2" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"b" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B1" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B2" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a3" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a4" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a5" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a6" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a7" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a8" 0 0 24 3 5 #")))))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"l2" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"a" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"a" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 3 #"fun" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B1" 0 0 24 3 3 #") (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B2" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"b1" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 3 #"int" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 3 #"int" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a3" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a3" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"bool" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a6" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 18 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a6" 0 0 24 3 5 #")))))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 2 #"s1" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 12 #"make-binding" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a8" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a6" 0 0 24 3 6 #"))))))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt1" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"b1" 0 0 24 3 2 #") " 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a2" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"b" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B1" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B2" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"a3" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 3 #"lt2" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"a" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 4 #"list" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"a" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 3 #"fun" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B1" 0 0 24 3 3 #") (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"B2" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 2 #"b1" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 3 #"int" 0 0 24 3 1 #")" 0 0 24 29 1 #"\n" 0 0 24 3 19 #" (" 0 0 31 3 10 #"make-const" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 3 #"int" 0 0 24 3 3 #")))" 0 0 24 29 1 #"\n" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 3 #"ct1" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"a" 0 0 24 3 2 #"))" 0 0 24 29 1 #"\n" 0 0 24 3 1 #"(" 0 0 37 3 6 #"define" 0 0 24 3 1 #" " 0 0 31 3 3 #"ct2" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-app" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 3 #"fun" 0 0 24 3 2 #" (" 0 0 37 3 4 #"list" 0 0 24 3 2 #" (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"a" 0 0 24 3 3 #") (" 0 0 31 3 8 #"make-var" 0 0 24 3 1 #" " 0 0 37 3 1 #"'" 0 0 14 3 1 #"b" 0 0 24 3 4 #"))))" 0 0