{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.0qfanIJH/b1/ats2-lang_0.4.2-3_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.0qfanIJH/b2/ats2-lang_0.4.2-3_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n 82ee1035d1702153041e2879791f5df0 4479660 debug optional ats2-lang-dbgsym_0.4.2-3_amd64.deb\n- 81431ff10e578691dbfe5e85191508d0 1154548 devel optional ats2-lang_0.4.2-3_amd64.deb\n+ 288e047e47a2737feb9c768537e181b3 1145544 devel optional ats2-lang_0.4.2-3_amd64.deb\n 25d0b01eaede77ef308dd00924597d35 9808 lisp optional elpa-ats2-mode_0.4.2-3_all.deb\n"}, {"source1": "ats2-lang_0.4.2-3_amd64.deb", "source2": "ats2-lang_0.4.2-3_amd64.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-10-31 13:13:33.000000 debian-binary\n--rw-r--r-- 0 0 0 34920 2024-10-31 13:13:33.000000 control.tar.xz\n--rw-r--r-- 0 0 0 1119436 2024-10-31 13:13:33.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 34392 2024-10-31 13:13:33.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 1110960 2024-10-31 13:13:33.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,12 +1,12 @@\n Package: ats2-lang\n Version: 0.4.2-3\n Architecture: amd64\n Maintainer: Matthew Danish \n-Installed-Size: 8917\n+Installed-Size: 8810\n Depends: libc6 (>= 2.34), libgc-dev\n Section: devel\n Priority: optional\n Homepage: http://www.ats-lang.org/\n Description: ATS version 2 programming language compiler\n ATS2 a.k.a. ATS/Postiats is a programming language with a highly expressive\n type system rooted in the framework Applied Type System. In particular, both\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -65,28 +65,28 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/\n -rw-r--r-- 0 root (0) root (0) 12140 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/patsolve_cnstrnt.sats\n -rw-r--r-- 0 root (0) root (0) 940 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/patsolve_commarg.sats\n -rw-r--r-- 0 root (0) root (0) 3125 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve/SATS/patsolve_parsing.sats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/\n--rw-r--r-- 0 root (0) root (0) 422 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/myheader.hats\n--rw-r--r-- 0 root (0) root (0) 637 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_ctx.dats\n--rw-r--r-- 0 root (0) root (0) 18358 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_emit.dats\n--rw-r--r-- 0 root (0) root (0) 2965 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_form.dats\n--rw-r--r-- 0 root (0) root (0) 3206 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_interp.dats\n--rw-r--r-- 0 root (0) root (0) 6455 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_smtenv.dats\n--rw-r--r-- 0 root (0) root (0) 13745 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_commarg.dats\n--rw-r--r-- 0 root (0) root (0) 1369 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_main.dats\n--rw-r--r-- 0 root (0) root (0) 869 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_mylib.dats\n--rw-r--r-- 0 root (0) root (0) 9508 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_solving.dats\n--rw-r--r-- 0 root (0) root (0) 2246 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/Makefile\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/myheader.hats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_ctx.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_emit.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_form.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_interp.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_smtenv.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_commarg.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_main.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_mylib.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_solving.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/Makefile\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/\n--rw-r--r-- 0 root (0) root (0) 1230 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_commarg.sats\n--rw-r--r-- 0 root (0) root (0) 7651 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_solving.sats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_commarg.sats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_solving.sats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/\n -rw-r--r-- 0 root (0) root (0) 491 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/myheader.hats\n -rw-r--r-- 0 root (0) root (0) 1107 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/patsolve_z3_solving_ctx.dats\n -rw-r--r-- 0 root (0) root (0) 32766 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/patsolve_z3_solving_form.dats\n -rw-r--r-- 0 root (0) root (0) 6404 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-z3/DATS/SOLVING/patsolve_z3_solving_interp.dats\n@@ -1214,32 +1214,32 @@\n -rw-r--r-- 0 root (0) root (0) 841 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/BUCS320/GraphSearch/GraphSearch_dfs.dats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/BUCS320/parcomb/\n -rw-r--r-- 0 root (0) root (0) 754 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/BUCS320/parcomb/parcomb.dats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/\n -rw-r--r-- 0 root (0) root (0) 879 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/array0.dats\n -rw-r--r-- 0 root (0) root (0) 1233 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/list0.dats\n -rw-r--r-- 0 root (0) root (0) 706 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/ML/option0.dats\n--rw-r--r-- 0 root (0) root (0) 903 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/PYlist.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/PYlist.dats\n -rw-r--r-- 0 root (0) root (0) 2001 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/arrayref.dats\n--rw-r--r-- 0 root (0) root (0) 1217 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/basics.dats\n--rw-r--r-- 0 root (0) root (0) 790 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/funarray.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/basics.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/funarray.dats\n -rw-r--r-- 0 root (0) root (0) 1076 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/gprint.dats\n--rw-r--r-- 0 root (0) root (0) 617 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/intrange.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/intrange.dats\n -rw-r--r-- 0 root (0) root (0) 2382 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/list.dats\n -rw-r--r-- 0 root (0) root (0) 749 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/list_vt.dats\n--rw-r--r-- 0 root (0) root (0) 2385 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/matrixref.dats\n--rw-r--r-- 0 root (0) root (0) 695 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/option.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/matrixref.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/option.dats\n -rw-r--r-- 0 root (0) root (0) 747 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/print.dats\n--rw-r--r-- 0 root (0) root (0) 701 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/qlistref.dats\n--rw-r--r-- 0 root (0) root (0) 1221 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/reference.dats\n--rw-r--r-- 0 root (0) root (0) 701 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/slistref.dats\n--rw-r--r-- 0 root (0) root (0) 868 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream.dats\n--rw-r--r-- 0 root (0) root (0) 878 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream_vt.dats\n--rw-r--r-- 0 root (0) root (0) 983 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/string.dats\n--rw-r--r-- 0 root (0) root (0) 4761 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/Makefile\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/qlistref.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/reference.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/slistref.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream_vt.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/string.dats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/Makefile\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/BUCS320/\n -rw-r--r-- 0 root (0) root (0) 458 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/BUCS320/parcomb.sats\n -rw-r--r-- 0 root (0) root (0) 453 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/BUCS320/words.sats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/ML/\n -rw-r--r-- 0 root (0) root (0) 426 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/ML/array0.sats\n -rw-r--r-- 0 root (0) root (0) 1039 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/SATS/ML/list0.sats\n@@ -1284,15 +1284,15 @@\n -rw-r--r-- 0 root (0) root (0) 1679 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYGAME/test01.dats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYLIBC/\n -rw-r--r-- 0 root (0) root (0) 613 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYLIBC/Makefile\n -rw-r--r-- 0 root (0) root (0) 1080 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/PYLIBC/test01.dats\n -rw-r--r-- 0 root (0) root (0) 719 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/test01.dats\n -rw-r--r-- 0 root (0) root (0) 757 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/TEST/test02.dats\n -rw-r--r-- 0 root (0) root (0) 2465 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/basics_py.sats\n--rw-r--r-- 0 root (0) root (0) 1480 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/staloadall.hats\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/staloadall.hats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/\n -rw-r--r-- 0 root (0) root (0) 1249 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34dframe_cats.R\n -rw-r--r-- 0 root (0) root (0) 556 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34factor_cats.R\n -rw-r--r-- 0 root (0) root (0) 4322 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34matrix_cats.R\n -rw-r--r-- 0 root (0) root (0) 3942 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/R34vector_cats.R\n -rw-r--r-- 0 root (0) root (0) 3492 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/CATS/basics_cats.R\n@@ -1334,23 +1334,23 @@\n -rw-r--r-- 0 root (0) root (0) 409 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/SATS/stream_vt.sats\n -rw-r--r-- 0 root (0) root (0) 299 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/SATS/string.sats\n -rw-r--r-- 0 root (0) root (0) 3198 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/basics_r34.sats\n -rw-r--r-- 0 root (0) root (0) 1499 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2r34/mylibies.hats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/\n--rw-r--r-- 0 root (0) root (0) 2350 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMlist_cats.scm\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMlist_cats.scm\n -rw-r--r-- 0 root (0) root (0) 898 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMvector_cats.scm\n -rw-r--r-- 0 root (0) root (0) 4819 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/basics_cats.scm\n--rw-r--r-- 0 root (0) root (0) 301 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/bool_cats.scm\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/bool_cats.scm\n -rw-r--r-- 0 root (0) root (0) 1079 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/filebas_cats.scm\n -rw-r--r-- 0 root (0) root (0) 1977 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/float_cats.scm\n--rw-r--r-- 0 root (0) root (0) 2560 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/integer_cats.scm\n--rw-r--r-- 0 root (0) root (0) 1192 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/print_cats.scm\n--rw-r--r-- 0 root (0) root (0) 577 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/reference_cats.scm\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/integer_cats.scm\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/print_cats.scm\n+-rw-r--r-- 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/reference_cats.scm\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/GraphSearch/\n -rw-r--r-- 0 root (0) root (0) 846 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/GraphSearch/GraphSearch_bfs.dats\n -rw-r--r-- 0 root (0) root (0) 839 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/BUCS320/GraphSearch/GraphSearch_dfs.dats\n drwxr-xr-x 0 root (0) root (0) 0 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/ML/\n -rw-r--r-- 0 root (0) root (0) 849 2024-10-31 13:13:33.000000 ./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/DATS/ML/array0.dats\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/myheader.hats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/myheader.hats", "has_internal_linenos": true, "unified_diff": "@@ -1,27 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a2f 2f0a 2364 6566 696e 650a 5041 5453 .//.#define.PATS\n-00000080: 4f4c 5645 5f74 6172 6765 746c 6f63 0a22 OLVE_targetloc.\"\n-00000090: 2e2f 2e2e 2f2e 2e2f 4154 532d 6578 7473 ./../../ATS-exts\n-000000a0: 6f6c 7665 220a 2f2f 0a28 2a20 2a2a 2a2a olve\".//.(* ****\n-000000b0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-000000c0: 2373 7461 6c6f 6164 0a22 7b24 5041 5453 #staload.\"{$PATS\n-000000d0: 4f4c 5645 7d2f 5341 5453 2f70 6174 736f OLVE}/SATS/patso\n-000000e0: 6c76 655f 636e 7374 726e 742e 7361 7473 lve_cnstrnt.sats\n-000000f0: 220a 2373 7461 6c6f 6164 0a22 7b24 5041 \".#staload.\"{$PA\n-00000100: 5453 4f4c 5645 7d2f 5341 5453 2f70 6174 TSOLVE}/SATS/pat\n-00000110: 736f 6c76 655f 7061 7273 696e 672e 7361 solve_parsing.sa\n-00000120: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts\".//.(* ******\n-00000130: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s\n-00000140: 7461 6c6f 6164 0a22 2e2f 2e2e 2f2e 2e2f taload.\"./../../\n-00000150: 5341 5453 2f70 6174 736f 6c76 655f 736d SATS/patsolve_sm\n-00000160: 7432 5f73 6f6c 7669 6e67 2e73 6174 7322 t2_solving.sats\"\n-00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000180: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end \n-00000190: 6f66 205b 6d79 6865 6164 6572 2e68 6174 of [myheader.hat\n-000001a0: 735d 202a 290a s] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_ctx.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_ctx.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,40 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS\n-00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN\n-00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include \"./my\n-000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats\".#en\n-000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i\n-000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* ***\n-000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = \"p\n-000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa\n-00000100: 6665 2e73 6174 7322 0a2f 2f0a 282a 202a fe.sats\".//.(* *\n-00000110: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000120: 0a61 6273 7674 7970 6520 534d 5432 5f63 .absvtype SMT2_c\n-00000130: 6f6e 7465 7874 203d 2070 7472 0a0a 282a ontext = ptr..(*\n-00000140: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000150: 290a 0a65 7874 6572 6e0a 6675 6e0a 7468 )..extern.fun.th\n-00000160: 655f 534d 5432 5f63 6f6e 7465 7874 5f76 e_SMT2_context_v\n-00000170: 6765 740a 280a 2f2f 2061 7267 756d 656e get.(.// argumen\n-00000180: 746c 6573 730a 2920 3a20 280a 2020 534d tless.) : (. SM\n-00000190: 5432 5f63 6f6e 7465 7874 202d 3c70 7266 T2_context - void | SMT2_co\n-000001b0: 6e74 6578 740a 2920 3d20 2265 7874 2370 ntext.) = \"ext#p\n-000001c0: 6174 736f 6c76 655f 7468 655f 534d 5432 atsolve_the_SMT2\n-000001d0: 5f63 6f6e 7465 7874 5f76 6765 7422 0a0a _context_vget\"..\n-000001e0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-000001f0: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement\n-00000200: 0a74 6865 5f53 4d54 325f 636f 6e74 6578 .the_SMT2_contex\n-00000210: 745f 7667 6574 2829 203d 2024 554e 2e63 t_vget() = $UN.c\n-00000220: 6173 7476 7774 7030 2874 6865 5f6e 756c astvwtp0(the_nul\n-00000230: 6c5f 7074 7229 0a2f 2f0a 282a 202a 2a2a l_ptr).//.(* ***\n-00000240: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a28 *** ****** *)..(\n-00000250: 2a20 656e 6420 6f66 205b 7061 7473 6f6c * end of [patsol\n-00000260: 7665 5f73 6d74 325f 736f 6c76 696e 675f ve_smt2_solving_\n-00000270: 6374 782e 6461 7473 5d20 2a29 0a ctx.dats] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_emit.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_emit.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,1148 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS\n-00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN\n-00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include \"./my\n-000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats\".#en\n-000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i\n-000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* ***\n-000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d0a 2270 .staload.UN =.\"p\n-000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa\n-00000100: 6665 2e73 6174 7322 0a2f 2f0a 282a 202a fe.sats\".//.(* *\n-00000110: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000120: 2f2f 0a73 7461 6c6f 6164 0a22 6c69 6261 //.staload.\"liba\n-00000130: 7473 2f4d 4c2f 5341 5453 2f61 7473 7072 ts/ML/SATS/atspr\n-00000140: 652e 7361 7473 220a 7374 616c 6f61 6420 e.sats\".staload \n-00000150: 5f20 3d0a 226c 6962 6174 732f 4d4c 2f44 _ =.\"libats/ML/D\n-00000160: 4154 532f 6174 7370 7265 2e64 6174 7322 ATS/atspre.dats\"\n-00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000180: 2a2a 2a2a 202a 290a 0a66 756e 0a65 6d69 **** *)..fun.emi\n-00000190: 745f 626f 6f6c 0a28 0a20 206f 7574 3a20 t_bool.(. out: \n-000001a0: 4649 4c45 7265 662c 2062 3a20 626f 6f6c FILEref, b: bool\n-000001b0: 0a29 203a 2076 6f69 6420 3d20 280a 2f2f .) : void = (.//\n-000001c0: 0a66 7072 696e 745f 7374 7269 6e67 0a28 .fprint_string.(\n-000001d0: 0a20 206f 7574 2c20 6966 2062 2074 6865 . out, if b the\n-000001e0: 6e20 2274 7275 6522 2065 6c73 6520 2266 n \"true\" else \"f\n-000001f0: 616c 7365 220a 290a 2f2f 0a29 2028 2a20 alse\".).//.) (* \n-00000200: 656e 6420 6f66 205b 656d 6974 5f62 6f6f end of [emit_boo\n-00000210: 6c5d 202a 290a 0a28 2a20 2a2a 2a2a 2a2a l] *)..(* ******\n-00000220: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl\n-00000230: 656d 656e 740a 656d 6974 5f66 6f72 6d0a ement.emit_form.\n-00000240: 2020 286f 7574 2c20 666d 6c29 203d 206c (out, fml) = l\n-00000250: 6574 0a28 2a0a 7661 6c20 2829 203d 0a70 et.(*.val () =.p\n-00000260: 7269 6e74 6c6e 2120 2822 656d 6974 5f66 rintln! (\"emit_f\n-00000270: 6f72 6d22 290a 2a29 0a69 6e0a 2f2f 0a63 orm\").*).in.//.c\n-00000280: 6173 652b 2066 6d6c 206f 660a 7c20 464f ase+ fml of.| FO\n-00000290: 524d 6e6f 7428 666d 6c29 203d 3e0a 2020 RMnot(fml) =>. \n-000002a0: 7b0a 2020 2020 7661 6c20 2829 203d 0a20 {. val () =. \n-000002b0: 2020 2020 2066 7072 696e 7428 6f75 742c fprint(out,\n-000002c0: 2022 286e 6f74 2022 290a 2020 2020 2f2f \"(not \"). //\n-000002d0: 2065 6e64 206f 6620 5b76 616c 5d0a 2020 end of [val]. \n-000002e0: 2020 7661 6c20 2829 203d 2065 6d69 745f val () = emit_\n-000002f0: 666f 726d 286f 7574 2c20 666d 6c29 0a20 form(out, fml). \n-00000300: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri\n-00000310: 6e74 2120 286f 7574 2c20 2229 2229 0a20 nt! (out, \")\"). \n-00000320: 207d 0a7c 2046 4f52 4d73 3265 7870 2873 }.| FORMs2exp(s\n-00000330: 3265 2920 3d3e 0a20 207b 0a20 2020 2076 2e) =>. {. v\n-00000340: 616c 2028 2920 3d20 656d 6974 5f73 3265 al () = emit_s2e\n-00000350: 7870 286f 7574 2c20 7332 6529 0a20 207d xp(out, s2e). }\n-00000360: 0a7c 205f 2028 2a72 6573 742a 2920 3d3e .| _ (*rest*) =>\n-00000370: 2066 7072 696e 745f 666f 726d 286f 7574 fprint_form(out\n-00000380: 2c20 666d 6c29 0a2f 2f0a 656e 6420 2f2f , fml).//.end //\n-00000390: 2065 6e64 206f 6620 5b65 6d69 745f 666f end of [emit_fo\n-000003a0: 726d 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a rm]..(* ****** *\n-000003b0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem\n-000003c0: 656e 740a 656d 6974 5f73 3272 740a 2020 ent.emit_s2rt. \n-000003d0: 286f 7574 2c20 7332 7430 2920 3d20 6c65 (out, s2t0) = le\n-000003e0: 740a 2f2f 0a28 2a0a 7661 6c20 2829 203d t.//.(*.val () =\n-000003f0: 0a20 2070 7269 6e74 6c6e 2120 2822 656d . println! (\"em\n-00000400: 6974 5f73 3272 7422 290a 2a29 0a2f 2f0a it_s2rt\").*).//.\n-00000410: 6d61 6364 6566 0a65 6d69 7428 7829 203d macdef.emit(x) =\n-00000420: 2066 7072 696e 7428 6f75 742c 202c 2878 fprint(out, ,(x\n-00000430: 2929 0a2f 2f0a 696e 0a2f 2f0a 6361 7365 )).//.in.//.case\n-00000440: 2b20 7332 7430 206f 660a 2f2f 0a7c 2053 + s2t0 of.//.| S\n-00000450: 3252 5469 6e74 2829 203d 3e20 656d 6974 2RTint() => emit\n-00000460: 2822 7332 7274 5f69 6e74 2229 0a7c 2053 (\"s2rt_int\").| S\n-00000470: 3252 5461 6464 7228 2920 3d3e 2065 6d69 2RTaddr() => emi\n-00000480: 7428 2273 3272 745f 6164 6472 2229 0a7c t(\"s2rt_addr\").|\n-00000490: 2053 3252 5462 6f6f 6c28 2920 3d3e 2065 S2RTbool() => e\n-000004a0: 6d69 7428 2273 3272 745f 626f 6f6c 2229 mit(\"s2rt_bool\")\n-000004b0: 0a2f 2f0a 7c20 5332 5254 7265 616c 2829 .//.| S2RTreal()\n-000004c0: 203d 3e20 656d 6974 2822 7332 7274 5f72 => emit(\"s2rt_r\n-000004d0: 6561 6c22 290a 2f2f 0a7c 2053 3252 5466 eal\").//.| S2RTf\n-000004e0: 6c6f 6174 2829 203d 3e20 656d 6974 2822 loat() => emit(\"\n-000004f0: 7332 7274 5f66 6c6f 6174 2229 0a7c 2053 s2rt_float\").| S\n-00000500: 3252 5473 7472 696e 6728 2920 3d3e 2065 2RTstring() => e\n-00000510: 6d69 7428 2273 3272 745f 7374 7269 6e67 mit(\"s2rt_string\n-00000520: 2229 0a2f 2f0a 7c20 5332 5254 636c 7328 \").//.| S2RTcls(\n-00000530: 2920 3d3e 2065 6d69 7428 2273 3272 745f ) => emit(\"s2rt_\n-00000540: 636c 7322 290a 7c20 5332 5254 6566 6628 cls\").| S2RTeff(\n-00000550: 2920 3d3e 2065 6d69 7428 2273 3272 745f ) => emit(\"s2rt_\n-00000560: 6566 6622 290a 2f2f 0a7c 2053 3252 5474 eff\").//.| S2RTt\n-00000570: 7570 2829 203d 3e20 656d 6974 2822 7332 up() => emit(\"s2\n-00000580: 7274 5f74 7570 2229 0a2f 2f0a 7c20 5332 rt_tup\").//.| S2\n-00000590: 5254 7479 7065 2829 203d 3e20 656d 6974 RTtype() => emit\n-000005a0: 2822 7332 7274 5f74 7970 6522 290a 7c20 (\"s2rt_type\").| \n-000005b0: 5332 5254 7674 7970 6528 2920 3d3e 2065 S2RTvtype() => e\n-000005c0: 6d69 7428 2273 3272 745f 7674 7970 6522 mit(\"s2rt_vtype\"\n-000005d0: 290a 2f2f 0a7c 2053 3252 5474 3079 7065 ).//.| S2RTt0ype\n-000005e0: 2829 203d 3e20 656d 6974 2822 7332 7274 () => emit(\"s2rt\n-000005f0: 5f74 3079 7065 2229 0a7c 2053 3252 5476 _t0ype\").| S2RTv\n-00000600: 7430 7970 6528 2920 3d3e 2065 6d69 7428 t0ype() => emit(\n-00000610: 2273 3272 745f 7674 3079 7065 2229 0a2f \"s2rt_vt0ype\")./\n-00000620: 2f0a 7c20 5332 5254 7072 6f70 2829 203d /.| S2RTprop() =\n-00000630: 3e20 656d 6974 2822 7332 7274 5f70 726f > emit(\"s2rt_pro\n-00000640: 7022 290a 7c20 5332 5254 7669 6577 2829 p\").| S2RTview()\n-00000650: 203d 3e20 656d 6974 2822 7332 7274 5f76 => emit(\"s2rt_v\n-00000660: 6965 7722 290a 2f2f 0a7c 2053 3252 5474 iew\").//.| S2RTt\n-00000670: 6b69 6e64 2829 203d 3e20 656d 6974 2822 kind() => emit(\"\n-00000680: 7332 7274 5f74 6b69 6e64 2229 0a2f 2f0a s2rt_tkind\").//.\n-00000690: 7c20 5332 5254 6675 6e0a 2020 280a 2020 | S2RTfun. (. \n-000006a0: 2020 7332 7473 5f61 7267 2c20 7332 745f s2ts_arg, s2t_\n-000006b0: 7265 730a 2020 2920 3d3e 0a20 207b 0a20 res. ) =>. {. \n-000006c0: 2020 2076 616c 2028 2920 3d20 656d 6974 val () = emit\n-000006d0: 2822 2822 290a 2020 2020 7661 6c20 2829 (\"(\"). val ()\n-000006e0: 203d 2065 6d69 7428 2273 3272 745f 6675 = emit(\"s2rt_fu\n-000006f0: 6e22 290a 2020 2020 7661 6c20 2829 203d n\"). val () =\n-00000700: 2065 6d69 7428 2220 2229 0a20 2020 2076 emit(\" \"). v\n-00000710: 616c 2028 2920 3d0a 2020 2020 2020 656d al () =. em\n-00000720: 6974 5f73 3272 746c 7374 286f 7574 2c20 it_s2rtlst(out, \n-00000730: 7332 7473 5f61 7267 290a 2020 2020 2f2f s2ts_arg). //\n-00000740: 2065 6e64 206f 6620 5b76 616c 5d0a 2020 end of [val]. \n-00000750: 2020 7661 6c20 2829 203d 2065 6d69 7428 val () = emit(\n-00000760: 2220 2229 0a20 2020 2076 616c 2028 2920 \" \"). val () \n-00000770: 3d20 656d 6974 5f73 3272 7428 6f75 742c = emit_s2rt(out,\n-00000780: 2073 3274 5f72 6573 290a 2020 2020 7661 s2t_res). va\n-00000790: 6c20 2829 203d 2065 6d69 7428 2229 2229 l () = emit(\")\")\n-000007a0: 0a20 207d 0a2f 2f0a 7c20 5332 5254 6e61 . }.//.| S2RTna\n-000007b0: 6d65 640a 2020 2020 286e 616d 6529 203d med. (name) =\n-000007c0: 3e20 6670 7269 6e74 286f 7574 2c20 6e61 > fprint(out, na\n-000007d0: 6d65 290a 2020 2f2f 2053 3252 546e 616d me). // S2RTnam\n-000007e0: 6564 0a2f 2f0a 7c20 5332 5254 6572 726f ed.//.| S2RTerro\n-000007f0: 7228 2920 3d3e 2065 6d69 7428 2273 3272 r() => emit(\"s2r\n-00000800: 745f 6572 726f 7222 290a 2f2f 0a65 6e64 t_error\").//.end\n-00000810: 202f 2f20 656e 6420 6f66 205b 656d 6974 // end of [emit\n-00000820: 5f73 3272 745d 0a0a 282a 202a 2a2a 2a2a _s2rt]..(* *****\n-00000830: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp\n-00000840: 6c65 6d65 6e74 0a65 6d69 745f 7332 7274 lement.emit_s2rt\n-00000850: 6c73 740a 2020 286f 7574 2c20 7873 2920 lst. (out, xs) \n-00000860: 3d20 2829 2077 6865 7265 0a7b 0a2f 2f0a = () where.{.//.\n-00000870: 7661 6c20 2829 203d 2066 7072 696e 7428 val () = fprint(\n-00000880: 6f75 742c 2022 2822 290a 7661 6c20 2829 out, \"(\").val ()\n-00000890: 203d 0a28 0a63 6173 652b 2078 7320 6f66 =.(.case+ xs of\n-000008a0: 0a7c 206c 6973 745f 6e69 6c28 2920 3d3e .| list_nil() =>\n-000008b0: 2028 290a 7c20 6c69 7374 5f63 6f6e 7328 ().| list_cons(\n-000008c0: 782c 2078 7329 203d 3e0a 2020 7b0a 2020 x, xs) =>. {. \n-000008d0: 2020 7661 6c20 2829 203d 2065 6d69 745f val () = emit_\n-000008e0: 7332 7274 286f 7574 2c20 7829 0a2f 2f0a s2rt(out, x).//.\n-000008f0: 2020 2020 7661 720a 2020 2020 6677 6f72 var. fwor\n-00000900: 6b20 3d0a 2020 2020 6c61 6d40 0a20 2020 k =. lam@. \n-00000910: 2028 0a20 2020 2020 2078 3a20 7332 7274 (. x: s2rt\n-00000920: 0a20 2020 2029 203a 2076 6f69 6420 3d3e . ) : void =>\n-00000930: 2028 0a20 2020 2066 7072 696e 7420 286f (. fprint (o\n-00000940: 7574 2c20 2220 2229 3b20 656d 6974 5f73 ut, \" \"); emit_s\n-00000950: 3272 7428 6f75 742c 2078 290a 2020 2020 2rt(out, x). \n-00000960: 2920 282a 2065 6e64 206f 6620 5b6c 616d ) (* end of [lam\n-00000970: 405d 202a 290a 2f2f 0a20 2020 2076 616c @] *).//. val\n-00000980: 2028 2920 3d20 6c69 7374 5f66 6f72 6561 () = list_forea\n-00000990: 6368 5f63 6c6f 2878 732c 2066 776f 726b ch_clo(xs, fwork\n-000009a0: 290a 2020 7d0a 290a 7661 6c20 2829 203d ). }.).val () =\n-000009b0: 2066 7072 696e 7428 6f75 742c 2022 2922 fprint(out, \")\"\n-000009c0: 290a 2f2f 0a7d 2028 2a20 656e 6420 6f66 ).//.} (* end of\n-000009d0: 205b 656d 6974 5f73 3272 746c 7374 5d20 [emit_s2rtlst] \n-000009e0: 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a *)..(* ****** **\n-000009f0: 2a2a 2a2a 202a 290a 0a69 6d70 6c65 6d65 **** *)..impleme\n-00000a00: 6e74 0a65 6d69 745f 7332 6373 740a 2020 nt.emit_s2cst. \n-00000a10: 286f 7574 2c20 7332 6330 2920 3d20 6c65 (out, s2c0) = le\n-00000a20: 740a 2f2f 0a76 616c 206f 7074 3020 3d0a t.//.val opt0 =.\n-00000a30: 2020 7332 6373 745f 6765 745f 7332 6369 s2cst_get_s2ci\n-00000a40: 6e74 6572 7028 7332 6330 290a 2f2f 0a69 nterp(s2c0).//.i\n-00000a50: 6e0a 2f2f 0a63 6173 652b 206f 7074 3020 n.//.case+ opt0 \n-00000a60: 6f66 0a7c 2053 6f6d 6520 5f20 3d3e 0a20 of.| Some _ =>. \n-00000a70: 2020 2066 7072 696e 7421 2028 6f75 742c fprint! (out,\n-00000a80: 2073 3263 302e 6e61 6d65 2829 290a 2020 s2c0.name()). \n-00000a90: 2f2f 2065 6e64 206f 6620 5b53 6f6d 655d // end of [Some]\n-00000aa0: 0a7c 204e 6f6e 6520 5f20 3d3e 206c 6574 .| None _ => let\n-00000ab0: 0a20 2020 2076 616c 2065 7874 6465 6620 . val extdef \n-00000ac0: 3d20 7332 6330 2e65 7874 6465 6628 290a = s2c0.extdef().\n-00000ad0: 2020 696e 0a20 2020 2063 6173 652b 2065 in. case+ e\n-00000ae0: 7874 6465 6620 6f66 0a20 2020 207c 2053 xtdef of. | S\n-00000af0: 6f6d 6528 6e61 6d65 2920 3d3e 2066 7072 ome(name) => fpr\n-00000b00: 696e 7421 2028 6f75 742c 206e 616d 6529 int! (out, name)\n-00000b10: 0a20 2020 207c 204e 6f6e 6528 282a 766f . | None((*vo\n-00000b20: 6964 2a29 2920 3d3e 0a20 2020 2020 2020 id*)) =>. \n-00000b30: 2066 7072 696e 7421 2028 6f75 742c 2073 fprint! (out, s\n-00000b40: 3263 302e 6e61 6d65 2829 2c20 2221 222c 2c0.name(), \"!\",\n-00000b50: 2073 3263 302e 7374 616d 7028 2929 0a20 s2c0.stamp()). \n-00000b60: 2020 2020 202f 2f20 656e 6420 6f66 205b // end of [\n-00000b70: 4e6f 6e65 5d0a 2020 656e 6420 2f2f 2065 None]. end // e\n-00000b80: 6e64 206f 6620 5b4e 6f6e 655d 0a2f 2f0a nd of [None].//.\n-00000b90: 656e 6420 2f2f 2065 6e64 206f 6620 5b65 end // end of [e\n-00000ba0: 6d69 745f 7332 6373 745d 0a0a 282a 202a mit_s2cst]..(* *\n-00000bb0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000bc0: 0a69 6d70 6c65 6d65 6e74 0a65 6d69 745f .implement.emit_\n-00000bd0: 7332 7661 720a 2020 286f 7574 2c20 7332 s2var. (out, s2\n-00000be0: 7630 2920 3d20 6c65 740a 2f2f 0a76 616c v0) = let.//.val\n-00000bf0: 206e 616d 6520 3d20 7332 7630 2e6e 616d name = s2v0.nam\n-00000c00: 6528 290a 7661 6c20 7374 616d 7020 3d20 e().val stamp = \n-00000c10: 7332 7630 2e73 7461 6d70 2829 0a2f 2f0a s2v0.stamp().//.\n-00000c20: 696e 0a20 2066 7072 696e 7421 2028 6f75 in. fprint! (ou\n-00000c30: 742c 206e 616d 652c 2022 2122 2c20 7374 t, name, \"!\", st\n-00000c40: 616d 7029 0a65 6e64 202f 2f20 656e 6420 amp).end // end \n-00000c50: 6f66 205b 656d 6974 5f73 3276 6172 5d0a of [emit_s2var].\n-00000c60: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000c70: 2a20 2a29 0a0a 696d 706c 656d 656e 740a * *)..implement.\n-00000c80: 656d 6974 5f73 3265 7870 0a20 2028 6f75 emit_s2exp. (ou\n-00000c90: 742c 2073 3265 3029 203d 206c 6574 0a2f t, s2e0) = let./\n-00000ca0: 2f0a 282a 0a76 616c 2028 2920 3d20 0a70 /.(*.val () = .p\n-00000cb0: 7269 6e74 6c6e 2120 2822 656d 6974 5f73 rintln! (\"emit_s\n-00000cc0: 3265 7870 2229 0a2a 290a 2f2f 0a66 756e 2exp\").*).//.fun\n-00000cd0: 0a61 7578 5f6c 740a 280a 2020 7332 6531 .aux_lt.(. s2e1\n-00000ce0: 3a20 7332 6578 702c 2073 3265 323a 2073 : s2exp, s2e2: s\n-00000cf0: 3265 7870 0a29 203a 2076 6f69 6420 3d0a 2exp.) : void =.\n-00000d00: 7b0a 2020 2076 616c 2028 2920 3d0a 2020 {. val () =. \n-00000d10: 2020 2066 7072 696e 7428 6f75 742c 2022 fprint(out, \"\n-00000d20: 283c 2022 290a 2020 202f 2f20 656e 6420 (< \"). // end \n-00000d30: 6f66 205b 7661 6c5d 0a20 2020 7661 6c20 of [val]. val \n-00000d40: 2829 203d 2065 6d69 745f 7332 6578 7028 () = emit_s2exp(\n-00000d50: 6f75 742c 2073 3265 3129 0a20 2020 7661 out, s2e1). va\n-00000d60: 6c20 2829 203d 2066 7072 696e 7428 6f75 l () = fprint(ou\n-00000d70: 742c 2022 2022 290a 2020 2076 616c 2028 t, \" \"). val (\n-00000d80: 2920 3d20 656d 6974 5f73 3265 7870 286f ) = emit_s2exp(o\n-00000d90: 7574 2c20 7332 6532 290a 2020 2076 616c ut, s2e2). val\n-00000da0: 2028 2920 3d20 6670 7269 6e74 286f 7574 () = fprint(out\n-00000db0: 2c20 2229 2229 0a7d 0a2f 2f0a 6675 6e0a , \")\").}.//.fun.\n-00000dc0: 6175 785f 6c74 650a 280a 2020 7332 6531 aux_lte.(. s2e1\n-00000dd0: 3a20 7332 6578 702c 2073 3265 323a 2073 : s2exp, s2e2: s\n-00000de0: 3265 7870 0a29 203a 2076 6f69 6420 3d0a 2exp.) : void =.\n-00000df0: 7b0a 2020 2076 616c 2028 2920 3d0a 2020 {. val () =. \n-00000e00: 2020 2066 7072 696e 7428 6f75 742c 2022 fprint(out, \"\n-00000e10: 283c 3d20 2229 0a20 2020 2f2f 2065 6e64 (<= \"). // end\n-00000e20: 206f 6620 5b76 616c 5d0a 2020 2076 616c of [val]. val\n-00000e30: 2028 2920 3d20 656d 6974 5f73 3265 7870 () = emit_s2exp\n-00000e40: 286f 7574 2c20 7332 6531 290a 2020 2076 (out, s2e1). v\n-00000e50: 616c 2028 2920 3d20 6670 7269 6e74 286f al () = fprint(o\n-00000e60: 7574 2c20 2220 2229 0a20 2020 7661 6c20 ut, \" \"). val \n-00000e70: 2829 203d 2065 6d69 745f 7332 6578 7028 () = emit_s2exp(\n-00000e80: 6f75 742c 2073 3265 3229 0a20 2020 7661 out, s2e2). va\n-00000e90: 6c20 2829 203d 2066 7072 696e 7428 6f75 l () = fprint(ou\n-00000ea0: 742c 2022 2922 290a 7d0a 2f2f 0a66 756e t, \")\").}.//.fun\n-00000eb0: 0a61 7578 5f6d 6574 6465 630a 280a 2020 .aux_metdec.(. \n-00000ec0: 7332 6573 313a 2073 3265 7870 6c73 742c s2es1: s2explst,\n-00000ed0: 2073 3265 7332 3a20 7332 6578 706c 7374 s2es2: s2explst\n-00000ee0: 0a29 203a 2076 6f69 6420 3d0a 280a 6361 .) : void =.(.ca\n-00000ef0: 7365 2b20 7332 6573 3120 6f66 0a7c 206c se+ s2es1 of.| l\n-00000f00: 6973 745f 6e69 6c28 2920 3d3e 0a20 2020 ist_nil() =>. \n-00000f10: 2065 6d69 745f 626f 6f6c 286f 7574 2c20 emit_bool(out, \n-00000f20: 6661 6c73 6529 0a20 202f 2f20 6c69 7374 false). // list\n-00000f30: 5f6e 696c 0a7c 206c 6973 745f 636f 6e73 _nil.| list_cons\n-00000f40: 2873 3265 312c 206e 696c 2829 2920 3d3e (s2e1, nil()) =>\n-00000f50: 0a20 2028 0a20 2020 2063 6173 652d 2073 . (. case- s\n-00000f60: 3265 7332 206f 660a 2020 2020 7c20 6c69 2es2 of. | li\n-00000f70: 7374 5f63 6f6e 7328 7332 6532 2c20 6e69 st_cons(s2e2, ni\n-00000f80: 6c28 2929 203d 3e0a 2020 2020 2020 7b0a l()) =>. {.\n-00000f90: 2020 2020 2020 2020 7661 6c20 2829 203d val () =\n-00000fa0: 2061 7578 5f6c 7428 7332 6531 2c20 7332 aux_lt(s2e1, s2\n-00000fb0: 6532 290a 2020 2020 2020 7d0a 2020 290a e2). }. ).\n-00000fc0: 7c20 6c69 7374 5f63 6f6e 7328 7332 6531 | list_cons(s2e1\n-00000fd0: 2c20 7332 6573 3129 203d 3e0a 2020 280a , s2es1) =>. (.\n-00000fe0: 2020 2020 6361 7365 2d20 7332 6573 3220 case- s2es2 \n-00000ff0: 6f66 0a20 2020 207c 206c 6973 745f 636f of. | list_co\n-00001000: 6e73 2873 3265 322c 2073 3265 7332 2920 ns(s2e2, s2es2) \n-00001010: 3d3e 0a20 2020 2020 207b 0a20 2020 2020 =>. {. \n-00001020: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri\n-00001030: 6e74 286f 7574 2c20 2228 6f72 2022 290a nt(out, \"(or \").\n-00001040: 2020 2020 2020 2020 7661 6c20 2829 203d val () =\n-00001050: 2061 7578 5f6c 7428 7332 6531 2c20 7332 aux_lt(s2e1, s2\n-00001060: 6532 290a 2020 2020 2020 2020 7661 6c20 e2). val \n-00001070: 2829 203d 2066 7072 696e 7428 6f75 742c () = fprint(out,\n-00001080: 2022 2022 290a 2020 2020 2020 2020 7661 \" \"). va\n-00001090: 6c20 2829 203d 2066 7072 696e 7428 6f75 l () = fprint(ou\n-000010a0: 742c 2022 2861 6e64 2022 290a 2020 2020 t, \"(and \"). \n-000010b0: 2020 2020 7661 6c20 2829 203d 2061 7578 val () = aux\n-000010c0: 5f6c 7465 2873 3265 312c 2073 3265 3229 _lte(s2e1, s2e2)\n-000010d0: 0a20 2020 2020 2020 2076 616c 2028 2920 . val () \n-000010e0: 3d20 6670 7269 6e74 286f 7574 2c20 2220 = fprint(out, \" \n-000010f0: 2229 0a20 2020 2020 2020 2076 616c 2028 \"). val (\n-00001100: 2920 3d20 6175 785f 6d65 7464 6563 2873 ) = aux_metdec(s\n-00001110: 3265 7331 2c20 7332 6573 3229 0a20 2020 2es1, s2es2). \n-00001120: 2020 2020 2076 616c 2028 2920 3d20 6670 val () = fp\n-00001130: 7269 6e74 286f 7574 2c20 2229 2229 0a20 rint(out, \")\"). \n-00001140: 2020 2020 2020 2076 616c 2028 2920 3d20 val () = \n-00001150: 6670 7269 6e74 286f 7574 2c20 2229 2229 fprint(out, \")\")\n-00001160: 0a20 2020 2020 207d 0a20 2029 0a29 2028 . }. ).) (\n-00001170: 2a20 656e 6420 6f66 205b 6175 785f 6d65 * end of [aux_me\n-00001180: 7464 6563 5d20 2a29 0a2f 2f0a 6675 6e0a tdec] *).//.fun.\n-00001190: 6175 7873 7673 0a28 0a20 2073 3276 733a auxsvs.(. s2vs:\n-000011a0: 2073 3276 6172 6c73 740a 2920 3a20 766f s2varlst.) : vo\n-000011b0: 6964 203d 0a7b 0a2f 2f0a 7661 720a 6677 id =.{.//.var.fw\n-000011c0: 6f72 6b20 3d0a 6c61 6d40 2028 0a20 2073 ork =.lam@ (. s\n-000011d0: 3276 3a20 7332 7661 720a 2920 3a20 766f 2v: s2var.) : vo\n-000011e0: 6964 203d 3e0a 7b0a 2020 7661 6c20 2829 id =>.{. val ()\n-000011f0: 203d 2066 7072 696e 7428 6f75 742c 2022 = fprint(out, \"\n-00001200: 2822 290a 2020 7661 6c20 2829 203d 0a20 (\"). val () =. \n-00001210: 2028 0a20 2020 2065 6d69 745f 7332 7661 (. emit_s2va\n-00001220: 7228 6f75 742c 2073 3276 293b 0a20 2020 r(out, s2v);. \n-00001230: 2066 7072 696e 7428 6f75 742c 2022 2022 fprint(out, \" \"\n-00001240: 293b 2065 6d69 745f 7332 7274 286f 7574 ); emit_s2rt(out\n-00001250: 2c20 7332 762e 7372 7428 2929 0a20 2029 , s2v.srt()). )\n-00001260: 2028 2a20 656e 6420 6f66 205b 7661 6c5d (* end of [val]\n-00001270: 202a 290a 2020 7661 6c20 2829 203d 2066 *). val () = f\n-00001280: 7072 696e 7428 6f75 742c 2022 2922 290a print(out, \")\").\n-00001290: 7d20 282a 2065 6e64 206f 6620 5b66 776f } (* end of [fwo\n-000012a0: 726b 5d20 2a29 0a2f 2f0a 7661 6c20 2829 rk] *).//.val ()\n-000012b0: 203d 2066 7072 696e 7428 6f75 742c 2022 = fprint(out, \"\n-000012c0: 2822 290a 7661 6c20 2829 203d 206c 6973 (\").val () = lis\n-000012d0: 745f 666f 7265 6163 685f 636c 6f28 7332 t_foreach_clo(s2\n-000012e0: 7673 2c20 6677 6f72 6b29 0a76 616c 2028 vs, fwork).val (\n-000012f0: 2920 3d20 6670 7269 6e74 286f 7574 2c20 ) = fprint(out, \n-00001300: 2229 2229 0a2f 2f0a 7d20 282a 2065 6e64 \")\").//.} (* end\n-00001310: 206f 6620 5b61 7578 7376 735d 202a 290a of [auxsvs] *).\n-00001320: 2f2f 0a66 756e 0a61 7578 7370 730a 280a //.fun.auxsps.(.\n-00001330: 2020 7332 7073 3a20 7332 6578 706c 7374 s2ps: s2explst\n-00001340: 0a29 203a 2076 6f69 6420 3d0a 280a 6361 .) : void =.(.ca\n-00001350: 7365 2b20 7332 7073 206f 660a 7c20 6c69 se+ s2ps of.| li\n-00001360: 7374 5f6e 696c 2829 203d 3e20 656d 6974 st_nil() => emit\n-00001370: 5f62 6f6f 6c28 6f75 742c 2074 7275 6529 _bool(out, true)\n-00001380: 0a7c 206c 6973 745f 7369 6e67 2873 3270 .| list_sing(s2p\n-00001390: 2920 3d3e 2065 6d69 745f 7332 6578 7028 ) => emit_s2exp(\n-000013a0: 6f75 742c 2073 3270 290a 2020 2f2f 2065 out, s2p). // e\n-000013b0: 6e64 206f 6620 5b6c 6973 745f 7369 6e67 nd of [list_sing\n-000013c0: 5d0a 7c20 6c69 7374 5f63 6f6e 730a 2020 ].| list_cons. \n-000013d0: 2020 2873 3270 2c20 7332 7073 2920 3d3e (s2p, s2ps) =>\n-000013e0: 2028 2920 7768 6572 650a 2020 7b0a 2020 () where. {. \n-000013f0: 2020 7661 6c20 2829 203d 0a20 2020 2020 val () =. \n-00001400: 2066 7072 696e 7428 6f75 742c 2022 2861 fprint(out, \"(a\n-00001410: 6e64 2022 290a 2020 2020 2f2f 2065 6e64 nd \"). // end\n-00001420: 206f 6620 5b76 616c 5d0a 2020 2020 7661 of [val]. va\n-00001430: 6c20 2829 203d 2065 6d69 745f 7332 6578 l () = emit_s2ex\n-00001440: 7028 6f75 742c 2073 3270 290a 2020 2020 p(out, s2p). \n-00001450: 7661 6c20 2829 203d 2066 7072 696e 7428 val () = fprint(\n-00001460: 6f75 742c 2022 2022 290a 2020 2020 7661 out, \" \"). va\n-00001470: 720a 2020 2020 6677 6f72 6b20 3d0a 2020 r. fwork =. \n-00001480: 2020 6c61 6d40 2873 3270 3a20 7332 6578 lam@(s2p: s2ex\n-00001490: 7029 203d 3e20 280a 2020 2020 2020 6670 p) => (. fp\n-000014a0: 7269 6e74 286f 7574 2c20 2220 2229 203b rint(out, \" \") ;\n-000014b0: 2065 6d69 745f 7332 6578 7028 6f75 742c emit_s2exp(out,\n-000014c0: 2073 3270 290a 2020 2020 2920 282a 2065 s2p). ) (* e\n-000014d0: 6e64 206f 6620 5b76 6172 5d20 2a29 0a20 nd of [var] *). \n-000014e0: 2020 2076 616c 2028 2920 3d20 6c69 7374 val () = list\n-000014f0: 5f66 6f72 6561 6368 5f63 6c6f 3c73 3265 _foreach_clo(s2ps, fwork)\n-00001510: 0a20 2020 2076 616c 2028 2920 3d20 6670 . val () = fp\n-00001520: 7269 6e74 286f 7574 2c20 2229 2229 0a20 rint(out, \")\"). \n-00001530: 207d 2028 2a20 656e 6420 6f66 205b 6c69 } (* end of [li\n-00001540: 7374 5f63 6f6e 735d 202a 290a 290a 2f2f st_cons] *).).//\n-00001550: 0a66 756e 0a61 7578 756e 690a 280a 2020 .fun.auxuni.(. \n-00001560: 7332 6530 3a20 7332 6578 700a 2920 3a20 s2e0: s2exp.) : \n-00001570: 766f 6964 203d 206c 6574 0a2f 2f0a 7661 void = let.//.va\n-00001580: 6c2d 0a53 3245 756e 690a 280a 2020 7332 l-.S2Euni.(. s2\n-00001590: 7673 2c20 7332 7073 2c20 7332 655f 626f vs, s2ps, s2e_bo\n-000015a0: 6479 0a29 203d 2073 3265 302e 7332 6578 dy.) = s2e0.s2ex\n-000015b0: 705f 6e6f 6465 0a2f 2f0a 7661 6c20 6973 p_node.//.val is\n-000015c0: 7376 7320 3d20 6c69 7374 5f69 735f 636f svs = list_is_co\n-000015d0: 6e73 2873 3276 7329 0a76 616c 2069 7373 ns(s2vs).val iss\n-000015e0: 7073 203d 206c 6973 745f 6973 5f63 6f6e ps = list_is_con\n-000015f0: 7328 7332 7073 290a 2f2f 0a76 616c 2028 s(s2ps).//.val (\n-00001600: 2920 3d0a 2020 6966 2069 7373 7673 0a20 ) =. if issvs. \n-00001610: 2020 2074 6865 6e20 6670 7269 6e74 286f then fprint(o\n-00001620: 7574 2c20 2228 666f 7261 6c6c 2022 290a ut, \"(forall \").\n-00001630: 2020 2f2f 2065 6e64 206f 6620 5b69 665d // end of [if]\n-00001640: 0a2f 2f0a 7661 6c20 2829 203d 2069 6620 .//.val () = if \n-00001650: 6973 7376 7320 7468 656e 2061 7578 7376 issvs then auxsv\n-00001660: 7328 7332 7673 290a 2f2f 0a76 616c 2028 s(s2vs).//.val (\n-00001670: 2920 3d20 6966 2069 7373 7673 2074 6865 ) = if issvs the\n-00001680: 6e20 6670 7269 6e74 286f 7574 2c20 2220 n fprint(out, \" \n-00001690: 2229 0a2f 2f0a 7661 6c20 2829 203d 0a20 \").//.val () =. \n-000016a0: 2069 6620 6973 7370 7320 7468 656e 2066 if issps then f\n-000016b0: 7072 696e 7428 6f75 742c 2022 283d 3e20 print(out, \"(=> \n-000016c0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2069 \").//.val () = i\n-000016d0: 6620 6973 7370 7320 7468 656e 2061 7578 f issps then aux\n-000016e0: 7370 7328 7332 7073 290a 2f2f 0a76 616c sps(s2ps).//.val\n-000016f0: 2028 2920 3d20 6966 2069 7373 7073 2074 () = if issps t\n-00001700: 6865 6e20 6670 7269 6e74 286f 7574 2c20 hen fprint(out, \n-00001710: 2220 2229 0a2f 2f0a 7661 6c20 2829 203d \" \").//.val () =\n-00001720: 2065 6d69 745f 7332 6578 7028 6f75 742c emit_s2exp(out,\n-00001730: 2073 3265 5f62 6f64 7929 0a2f 2f0a 7661 s2e_body).//.va\n-00001740: 6c20 2829 203d 2069 6620 6973 7370 7320 l () = if issps \n-00001750: 7468 656e 2066 7072 696e 7428 6f75 742c then fprint(out,\n-00001760: 2022 2922 290a 2f2f 0a76 616c 2028 2920 \")\").//.val () \n-00001770: 3d20 6966 2069 7373 7673 2074 6865 6e20 = if issvs then \n-00001780: 6670 7269 6e74 286f 7574 2c20 2229 2229 fprint(out, \")\")\n-00001790: 0a2f 2f0a 696e 0a20 202f 2f20 6e6f 7468 .//.in. // noth\n-000017a0: 696e 670a 656e 6420 2f2f 2065 6e64 206f ing.end // end o\n-000017b0: 6620 5b61 7578 756e 695d 0a2f 2f0a 6675 f [auxuni].//.fu\n-000017c0: 6e0a 6175 7865 7869 0a28 0a20 2073 3265 n.auxexi.(. s2e\n-000017d0: 303a 2073 3265 7870 0a29 203a 2076 6f69 0: s2exp.) : voi\n-000017e0: 6420 3d20 6c65 740a 2f2f 0a76 616c 2d0a d = let.//.val-.\n-000017f0: 5332 4565 7869 0a28 0a20 2073 3276 732c S2Eexi.(. s2vs,\n-00001800: 2073 3270 732c 2073 3265 5f62 6f64 790a s2ps, s2e_body.\n-00001810: 2920 3d20 7332 6530 2e73 3265 7870 5f6e ) = s2e0.s2exp_n\n-00001820: 6f64 650a 2f2f 0a76 616c 2069 7373 7673 ode.//.val issvs\n-00001830: 203d 206c 6973 745f 6973 5f63 6f6e 7328 = list_is_cons(\n-00001840: 7332 7673 290a 7661 6c20 6973 7370 7320 s2vs).val issps \n-00001850: 3d20 6c69 7374 5f69 735f 636f 6e73 2873 = list_is_cons(s\n-00001860: 3270 7329 0a2f 2f0a 7661 6c20 2829 203d 2ps).//.val () =\n-00001870: 0a20 2069 6620 6973 7376 730a 2020 2020 . if issvs. \n-00001880: 7468 656e 2066 7072 696e 7428 6f75 742c then fprint(out,\n-00001890: 2022 2865 7869 7374 7320 2229 0a20 202f \"(exists \"). /\n-000018a0: 2f20 656e 6420 6f66 205b 6966 5d0a 2f2f / end of [if].//\n-000018b0: 0a76 616c 2028 2920 3d20 6966 2069 7373 .val () = if iss\n-000018c0: 7673 2074 6865 6e20 6175 7873 7673 2873 vs then auxsvs(s\n-000018d0: 3276 7329 0a2f 2f0a 7661 6c20 2829 203d 2vs).//.val () =\n-000018e0: 2069 6620 6973 7376 7320 7468 656e 2066 if issvs then f\n-000018f0: 7072 696e 7428 6f75 742c 2022 2022 290a print(out, \" \").\n-00001900: 2f2f 0a76 616c 2028 2920 3d0a 2020 6966 //.val () =. if\n-00001910: 2069 7373 7073 2074 6865 6e20 6670 7269 issps then fpri\n-00001920: 6e74 286f 7574 2c20 2228 616e 6420 2229 nt(out, \"(and \")\n-00001930: 0a2f 2f0a 7661 6c20 2829 203d 2069 6620 .//.val () = if \n-00001940: 6973 7370 7320 7468 656e 2061 7578 7370 issps then auxsp\n-00001950: 7328 7332 7073 290a 2f2f 0a76 616c 2028 s(s2ps).//.val (\n-00001960: 2920 3d20 6966 2069 7373 7073 2074 6865 ) = if issps the\n-00001970: 6e20 6670 7269 6e74 286f 7574 2c20 2220 n fprint(out, \" \n-00001980: 2229 0a2f 2f0a 7661 6c20 2829 203d 2065 \").//.val () = e\n-00001990: 6d69 745f 7332 6578 7028 6f75 742c 2073 mit_s2exp(out, s\n-000019a0: 3265 5f62 6f64 7929 0a2f 2f0a 7661 6c20 2e_body).//.val \n-000019b0: 2829 203d 2069 6620 6973 7370 7320 7468 () = if issps th\n-000019c0: 656e 2066 7072 696e 7428 6f75 742c 2022 en fprint(out, \"\n-000019d0: 2922 290a 2f2f 0a76 616c 2028 2920 3d20 )\").//.val () = \n-000019e0: 6966 2069 7373 7673 2074 6865 6e20 6670 if issvs then fp\n-000019f0: 7269 6e74 286f 7574 2c20 2229 2229 0a2f rint(out, \")\")./\n-00001a00: 2f0a 696e 0a20 202f 2f20 6e6f 7468 696e /.in. // nothin\n-00001a10: 670a 656e 6420 2f2f 2065 6e64 206f 6620 g.end // end of \n-00001a20: 5b61 7578 6578 695d 0a2f 2f0a 696e 0a2f [auxexi].//.in./\n-00001a30: 2f0a 6361 7365 2b0a 7332 6530 2e73 3265 /.case+.s2e0.s2e\n-00001a40: 7870 5f6e 6f64 650a 6f66 202f 2f20 6361 xp_node.of // ca\n-00001a50: 7365 2b0a 7c20 5332 4569 6e74 2869 6e74 se+.| S2Eint(int\n-00001a60: 2920 3d3e 2066 7072 696e 7428 6f75 742c ) => fprint(out,\n-00001a70: 2069 6e74 290a 7c20 5332 4569 6e74 696e int).| S2Eintin\n-00001a80: 6628 7265 7029 203d 3e20 6670 7269 6e74 f(rep) => fprint\n-00001a90: 286f 7574 2c20 7265 7029 0a7c 2053 3245 (out, rep).| S2E\n-00001aa0: 6373 7428 7332 6329 203d 3e20 656d 6974 cst(s2c) => emit\n-00001ab0: 5f73 3263 7374 286f 7574 2c20 7332 6329 _s2cst(out, s2c)\n-00001ac0: 0a7c 2053 3245 7661 7228 7332 7629 203d .| S2Evar(s2v) =\n-00001ad0: 3e20 656d 6974 5f73 3276 6172 286f 7574 > emit_s2var(out\n-00001ae0: 2c20 7332 7629 0a2f 2f0a 7c20 5332 4565 , s2v).//.| S2Ee\n-00001af0: 7165 710a 2020 2020 2873 3265 312c 2073 qeq. (s2e1, s\n-00001b00: 3265 3229 203d 3e0a 2020 7b0a 2020 2020 2e2) =>. {. \n-00001b10: 7661 6c20 2829 203d 0a20 2020 2066 7072 val () =. fpr\n-00001b20: 696e 740a 2020 2020 2020 286f 7574 2c20 int. (out, \n-00001b30: 2228 7332 6578 705f 6571 6571 2028 3d22 \"(s2exp_eqeq (=\"\n-00001b40: 290a 2020 2020 2f2f 2065 6e64 206f 6620 ). // end of \n-00001b50: 5b76 616c 5d0a 2020 2020 7661 6c20 2829 [val]. val ()\n-00001b60: 203d 2066 7072 696e 7428 6f75 742c 2022 = fprint(out, \"\n-00001b70: 2022 290a 2020 2020 7661 6c20 2829 203d \"). val () =\n-00001b80: 2065 6d69 745f 7332 6578 7028 6f75 742c emit_s2exp(out,\n-00001b90: 2073 3265 3129 0a20 2020 2076 616c 2028 s2e1). val (\n-00001ba0: 2920 3d20 6670 7269 6e74 286f 7574 2c20 ) = fprint(out, \n-00001bb0: 2220 2229 0a20 2020 2076 616c 2028 2920 \" \"). val () \n-00001bc0: 3d20 656d 6974 5f73 3265 7870 286f 7574 = emit_s2exp(out\n-00001bd0: 2c20 7332 6532 290a 2020 2020 7661 6c20 , s2e2). val \n-00001be0: 2829 203d 2066 7072 696e 7428 6f75 742c () = fprint(out,\n-00001bf0: 2022 2929 2229 0a20 207d 0a2f 2f0a 7c20 \"))\"). }.//.| \n-00001c00: 5332 4573 697a 656f 6628 7332 6529 203d S2Esizeof(s2e) =\n-00001c10: 3e0a 2020 7b0a 2020 2020 7661 6c20 2829 >. {. val ()\n-00001c20: 203d 0a20 2020 2066 7072 696e 7428 6f75 =. fprint(ou\n-00001c30: 742c 2022 2873 3265 7870 5f73 697a 656f t, \"(s2exp_sizeo\n-00001c40: 6620 2229 0a20 2020 2076 616c 2028 2920 f \"). val () \n-00001c50: 3d20 656d 6974 5f73 3265 7870 286f 7574 = emit_s2exp(out\n-00001c60: 2c20 7332 6529 0a20 2020 2076 616c 2028 , s2e). val (\n-00001c70: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o\n-00001c80: 7574 2c20 2229 2229 0a20 207d 0a2f 2f0a ut, \")\"). }.//.\n-00001c90: 7c20 5332 4561 7070 0a20 2028 0a20 2020 | S2Eapp. (. \n-00001ca0: 2073 3265 5f66 756e 2c20 7332 6573 5f61 s2e_fun, s2es_a\n-00001cb0: 7267 0a20 2029 203d 3e0a 2020 7b0a 2020 rg. ) =>. {. \n-00001cc0: 2020 7661 6c20 2829 203d 2066 7072 696e val () = fprin\n-00001cd0: 7428 6f75 742c 2022 2822 290a 2020 2020 t(out, \"(\"). \n-00001ce0: 7661 6c20 2829 203d 2065 6d69 745f 7332 val () = emit_s2\n-00001cf0: 6578 7028 6f75 742c 2073 3265 5f66 756e exp(out, s2e_fun\n-00001d00: 290a 2f2f 0a20 2020 206c 6f63 616c 0a20 ).//. local. \n-00001d10: 2020 2076 6172 0a20 2020 2066 776f 726b var. fwork\n-00001d20: 203d 0a20 2020 206c 616d 400a 2020 2020 =. lam@. \n-00001d30: 280a 2020 2020 2020 7332 653a 2073 3265 (. s2e: s2e\n-00001d40: 7870 0a20 2020 2029 203a 2076 6f69 6420 xp. ) : void \n-00001d50: 3d3c 636c 6f31 3e0a 2020 2020 280a 2020 =. (. \n-00001d60: 2020 2020 6670 7269 6e74 286f 7574 2c20 fprint(out, \n-00001d70: 2220 2229 3b20 656d 6974 5f73 3265 7870 \" \"); emit_s2exp\n-00001d80: 286f 7574 2c20 7332 6529 0a20 2020 2029 (out, s2e). )\n-00001d90: 2028 2a20 656e 6420 6f66 205b 6c69 7374 (* end of [list\n-00001da0: 5f66 6f72 6561 6368 2466 776f 726b 5d20 _foreach$fwork] \n-00001db0: 2a29 0a20 2020 2069 6e20 282a 2069 6e2d *). in (* in-\n-00001dc0: 6f66 2d6c 6f63 616c 2a29 0a20 2020 2076 of-local*). v\n-00001dd0: 616c 2028 2920 3d20 6c69 7374 5f66 6f72 al () = list_for\n-00001de0: 6561 6368 5f63 6c6f 3c73 3265 7870 3e28 each_clo(\n-00001df0: 7332 6573 5f61 7267 2c20 6677 6f72 6b29 s2es_arg, fwork)\n-00001e00: 0a20 2020 2065 6e64 202f 2f20 656e 6420 . end // end \n-00001e10: 6f66 205b 6c6f 6361 6c5d 0a2f 2f0a 2020 of [local].//. \n-00001e20: 2020 7661 6c20 2829 203d 2066 7072 696e val () = fprin\n-00001e30: 7428 6f75 742c 2022 2922 290a 2020 7d20 t(out, \")\"). } \n-00001e40: 282a 2065 6e64 206f 6620 5b53 3245 6170 (* end of [S2Eap\n-00001e50: 705d 202a 290a 2f2f 0a7c 2053 3245 6d65 p] *).//.| S2Eme\n-00001e60: 7464 6563 0a20 2020 2028 7332 6573 312c tdec. (s2es1,\n-00001e70: 2073 3265 7332 2920 3d3e 0a20 207b 0a20 s2es2) =>. {. \n-00001e80: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri\n-00001e90: 6e74 286f 7574 2c20 2228 2229 0a20 2020 nt(out, \"(\"). \n-00001ea0: 2076 616c 2028 2920 3d0a 2020 2020 2020 val () =. \n-00001eb0: 6670 7269 6e74 286f 7574 2c20 2273 3265 fprint(out, \"s2e\n-00001ec0: 7870 5f6d 6574 6465 6322 290a 2020 2020 xp_metdec\"). \n-00001ed0: 2f2f 2065 6e64 206f 6620 5b76 616c 5d0a // end of [val].\n-00001ee0: 2020 2020 7661 6c20 2829 203d 2066 7072 val () = fpr\n-00001ef0: 696e 7428 6f75 742c 2022 2022 290a 2020 int(out, \" \"). \n-00001f00: 2020 7661 6c20 2829 203d 2061 7578 5f6d val () = aux_m\n-00001f10: 6574 6465 6328 7332 6573 312c 2073 3265 etdec(s2es1, s2e\n-00001f20: 7332 290a 2020 2020 7661 6c20 2829 203d s2). val () =\n-00001f30: 2066 7072 696e 7428 6f75 742c 2022 2922 fprint(out, \")\"\n-00001f40: 290a 2020 7d0a 2f2f 0a7c 2053 3245 746f ). }.//.| S2Eto\n-00001f50: 7028 6b6e 642c 2073 3265 2920 3d3e 2065 p(knd, s2e) => e\n-00001f60: 6d69 745f 7332 6578 7028 6f75 742c 2073 mit_s2exp(out, s\n-00001f70: 3265 290a 2f2f 0a7c 2053 3245 756e 6920 2e).//.| S2Euni \n-00001f80: 5f20 3d3e 2061 7578 756e 6928 7332 6530 _ => auxuni(s2e0\n-00001f90: 290a 7c20 5332 4565 7869 205f 203d 3e20 ).| S2Eexi _ => \n-00001fa0: 6175 7865 7869 2873 3265 3029 0a2f 2f0a auxexi(s2e0).//.\n-00001fb0: 7c20 5332 4566 756e 0a20 2028 0a20 2020 | S2Efun. (. \n-00001fc0: 206e 7066 2c20 7332 6573 5f61 7267 2c20 npf, s2es_arg, \n-00001fd0: 7332 655f 7265 730a 2020 2920 3d3e 206c s2e_res. ) => l\n-00001fe0: 6574 0a20 2020 2076 616c 2069 7361 7267 et. val isarg\n-00001ff0: 203d 200a 2020 2020 2020 6c69 7374 5f69 = . list_i\n-00002000: 735f 636f 6e73 2873 3265 735f 6172 6729 s_cons(s2es_arg)\n-00002010: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [\n-00002020: 7661 6c5d 0a20 2020 2076 616c 2028 2920 val]. val () \n-00002030: 3d0a 2020 2020 2020 6670 7269 6e74 286f =. fprint(o\n-00002040: 7574 2c20 2228 7332 6578 705f 6675 6e20 ut, \"(s2exp_fun \n-00002050: 2229 0a20 2020 202f 2f20 656e 6420 6f66 \"). // end of\n-00002060: 205b 7661 6c5d 0a20 2020 2076 616c 2028 [val]. val (\n-00002070: 2920 3d0a 2020 2020 2020 6966 2069 7361 ) =. if isa\n-00002080: 7267 0a20 2020 2020 2020 2074 6865 6e20 rg. then \n-00002090: 6670 7269 6e74 286f 7574 2c20 2228 3d3e fprint(out, \"(=>\n-000020a0: 2022 290a 2020 2020 2020 2f2f 2065 6e64 \"). // end\n-000020b0: 206f 6620 5b69 665d 0a20 2020 2076 616c of [if]. val\n-000020c0: 2028 2920 3d0a 2020 2020 2020 6966 2069 () =. if i\n-000020d0: 7361 7267 2074 6865 6e20 6175 7873 7073 sarg then auxsps\n-000020e0: 2873 3265 735f 6172 6729 0a20 2020 2076 (s2es_arg). v\n-000020f0: 616c 2028 2920 3d0a 2020 2020 2020 6966 al () =. if\n-00002100: 2069 7361 7267 2074 6865 6e20 6670 7269 isarg then fpri\n-00002110: 6e74 286f 7574 2c20 2220 2229 0a20 2020 nt(out, \" \"). \n-00002120: 2076 616c 2028 2920 3d20 656d 6974 5f73 val () = emit_s\n-00002130: 3265 7870 286f 7574 2c20 7332 655f 7265 2exp(out, s2e_re\n-00002140: 7329 0a20 2020 2076 616c 2028 2920 3d0a s). val () =.\n-00002150: 2020 2020 2020 6966 2069 7361 7267 2074 if isarg t\n-00002160: 6865 6e20 6670 7269 6e74 286f 7574 2c20 hen fprint(out, \n-00002170: 2229 2229 0a20 2020 2076 616c 2028 282a \")\"). val ((*\n-00002180: 636c 6f73 6564 2a29 2920 3d20 6670 7269 closed*)) = fpri\n-00002190: 6e74 286f 7574 2c20 2229 2229 0a20 2069 nt(out, \")\"). i\n-000021a0: 6e0a 2020 2020 2f2f 206e 6f74 6869 6e67 n. // nothing\n-000021b0: 0a20 2065 6e64 202f 2f20 656e 6420 6f66 . end // end of\n-000021c0: 205b 5332 4566 756e 5d0a 2f2f 0a7c 205f [S2Efun].//.| _\n-000021d0: 282a 7265 7374 2d6f 662d 7332 6578 702a (*rest-of-s2exp*\n-000021e0: 2920 3d3e 2066 7072 696e 7428 6f75 742c ) => fprint(out,\n-000021f0: 2073 3265 3029 0a2f 2f0a 656e 6420 2f2f s2e0).//.end //\n-00002200: 2065 6e64 206f 6620 5b65 6d69 745f 7332 end of [emit_s2\n-00002210: 6578 705d 0a0a 282a 202a 2a2a 2a2a 2a20 exp]..(* ****** \n-00002220: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple\n-00002230: 6d65 6e74 0a65 6d69 745f 6465 636c 5f73 ment.emit_decl_s\n-00002240: 3263 7374 0a20 2028 6f75 742c 2073 3263 2cst. (out, s2c\n-00002250: 2920 3d20 6c65 740a 2f2f 0a66 756e 0a61 ) = let.//.fun.a\n-00002260: 7578 7332 740a 280a 2020 7332 743a 2073 uxs2t.(. s2t: s\n-00002270: 3272 740a 2920 3a20 766f 6964 203d 2028 2rt.) : void = (\n-00002280: 0a2f 2f0a 6361 7365 2b20 7332 7420 6f66 .//.case+ s2t of\n-00002290: 0a7c 2053 3252 5466 756e 0a20 2028 0a20 .| S2RTfun. (. \n-000022a0: 2020 2073 3274 735f 6172 672c 2073 3274 s2ts_arg, s2t\n-000022b0: 5f72 6573 0a20 2029 203d 3e0a 2020 7b0a _res. ) =>. {.\n-000022c0: 2020 2020 7661 6c20 2829 203d 0a20 2020 val () =. \n-000022d0: 2020 2065 6d69 745f 7332 7274 6c73 7428 emit_s2rtlst(\n-000022e0: 6f75 742c 2073 3274 735f 6172 6729 0a20 out, s2ts_arg). \n-000022f0: 2020 202f 2f20 656e 6420 6f66 205b 7661 // end of [va\n-00002300: 6c5d 0a20 2020 2076 616c 2028 2920 3d20 l]. val () = \n-00002310: 6670 7269 6e74 286f 7574 2c20 2220 2229 fprint(out, \" \")\n-00002320: 0a20 2020 2076 616c 2028 2920 3d20 656d . val () = em\n-00002330: 6974 5f73 3272 7428 6f75 742c 2073 3274 it_s2rt(out, s2t\n-00002340: 5f72 6573 290a 2020 7d0a 7c20 5f28 2a6e _res). }.| _(*n\n-00002350: 6f6e 2d66 756e 2a29 203d 3e20 0a20 2028 on-fun*) => . (\n-00002360: 6670 7269 6e74 286f 7574 2c20 2228 2920 fprint(out, \"() \n-00002370: 2229 3b20 656d 6974 5f73 3272 7428 6f75 \"); emit_s2rt(ou\n-00002380: 742c 2073 3274 2929 0a2f 2f0a 2920 282a t, s2t)).//.) (*\n-00002390: 2065 6e64 206f 6620 5b61 7578 7332 745d end of [auxs2t]\n-000023a0: 202a 290a 2f2f 0a66 756e 0a61 7578 7332 *).//.fun.auxs2\n-000023b0: 630a 280a 2020 7332 633a 2073 3263 7374 c.(. s2c: s2cst\n-000023c0: 0a29 203a 2076 6f69 6420 3d20 6c65 740a .) : void = let.\n-000023d0: 2f2f 0a76 616c 0a65 7874 6465 6620 3d20 //.val.extdef = \n-000023e0: 7332 632e 6578 7464 6566 2829 0a2f 2f0a s2c.extdef().//.\n-000023f0: 7661 6c20 2829 203d 0a20 2066 7072 696e val () =. fprin\n-00002400: 7428 6f75 742c 2022 2864 6563 6c61 7265 t(out, \"(declare\n-00002410: 2d66 756e 2022 290a 2f2f 0a76 616c 2028 -fun \").//.val (\n-00002420: 2920 3d0a 280a 6361 7365 2b20 6578 7464 ) =.(.case+ extd\n-00002430: 6566 206f 660a 7c20 536f 6d65 286e 616d ef of.| Some(nam\n-00002440: 6529 203d 3e0a 2020 2020 6670 7269 6e74 e) =>. fprint\n-00002450: 286f 7574 2c20 6e61 6d65 290a 2020 2f2f (out, name). //\n-00002460: 2065 6e64 206f 6620 5b53 6f6d 655d 0a7c end of [Some].|\n-00002470: 204e 6f6e 6528 282a 766f 6964 2a29 2920 None((*void*)) \n-00002480: 3d3e 0a20 2020 2066 7072 696e 7421 2028 =>. fprint! (\n-00002490: 6f75 742c 2073 3263 2e6e 616d 6528 292c out, s2c.name(),\n-000024a0: 2022 2122 2c20 7332 632e 7374 616d 7028 \"!\", s2c.stamp(\n-000024b0: 2929 0a20 202f 2f20 656e 6420 6f66 205b )). // end of [\n-000024c0: 4e6f 6e65 5d0a 290a 7661 6c20 2829 203d None].).val () =\n-000024d0: 2066 7072 696e 7428 6f75 742c 2022 2022 fprint(out, \" \"\n-000024e0: 290a 7661 6c20 2829 203d 2061 7578 7332 ).val () = auxs2\n-000024f0: 7428 7332 632e 7372 7428 2929 0a76 616c t(s2c.srt()).val\n-00002500: 2028 2920 3d20 6670 7269 6e74 6c6e 2120 () = fprintln! \n-00002510: 286f 7574 2c20 2229 2229 0a2f 2f0a 696e (out, \")\").//.in\n-00002520: 0a20 202f 2f20 6e6f 7468 696e 670a 656e . // nothing.en\n-00002530: 6420 2f2f 2065 6e64 206f 6620 5b61 7578 d // end of [aux\n-00002540: 7332 635d 0a2f 2f0a 7661 6c20 6f70 7430 s2c].//.val opt0\n-00002550: 203d 0a20 2073 3263 7374 5f67 6574 5f73 =. s2cst_get_s\n-00002560: 3263 696e 7465 7270 2873 3263 290a 2f2f 2cinterp(s2c).//\n-00002570: 0a69 6e0a 2f2f 0a63 6173 652b 206f 7074 .in.//.case+ opt\n-00002580: 3020 6f66 0a7c 204e 6f6e 6520 5f20 3d3e 0 of.| None _ =>\n-00002590: 2061 7578 7332 6328 7332 6329 207c 2053 auxs2c(s2c) | S\n-000025a0: 6f6d 6520 5f20 3d3e 2028 282a 676c 6f62 ome _ => ((*glob\n-000025b0: 616c 2a29 290a 2f2f 0a65 6e64 202f 2f20 al*)).//.end // \n-000025c0: 656e 6420 6f66 205b 656d 6974 5f64 6563 end of [emit_dec\n-000025d0: 6c5f 7332 6373 745d 0a0a 282a 202a 2a2a l_s2cst]..(* ***\n-000025e0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i\n-000025f0: 6d70 6c65 6d65 6e74 0a65 6d69 745f 6465 mplement.emit_de\n-00002600: 636c 5f73 3263 7374 6c73 740a 2020 286f cl_s2cstlst. (o\n-00002610: 7574 2c20 7332 6373 2920 3d20 6c65 740a ut, s2cs) = let.\n-00002620: 2f2f 0a69 6d70 6c65 6d65 6e74 0a6c 6973 //.implement.lis\n-00002630: 745f 666f 7265 6163 6824 6677 6f72 6b3c t_foreach$fwork<\n-00002640: 7332 6373 743e 3c76 6f69 643e 0a20 2028 s2cst>. (\n-00002650: 7332 632c 2065 6e76 2920 3d20 656d 6974 s2c, env) = emit\n-00002660: 5f64 6563 6c5f 7332 6373 7428 6f75 742c _decl_s2cst(out,\n-00002670: 2073 3263 290a 2f2f 0a69 6e0a 2020 6c69 s2c).//.in. li\n-00002680: 7374 5f66 6f72 6561 6368 2873 3263 7329 st_foreach(s2cs)\n-00002690: 0a65 6e64 202f 2f20 656e 6420 6f66 205b .end // end of [\n-000026a0: 656d 6974 5f64 6563 6c5f 7332 6373 746c emit_decl_s2cstl\n-000026b0: 7374 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a st]..(* ****** *\n-000026c0: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 696d 706c ***** *).//.impl\n-000026d0: 656d 656e 740a 656d 6974 5f64 6563 6c5f ement.emit_decl_\n-000026e0: 7332 7661 720a 2020 286f 7574 2c20 7332 s2var. (out, s2\n-000026f0: 7629 203d 207b 0a2f 2f0a 7661 6c20 2829 v) = {.//.val ()\n-00002700: 203d 0a66 7072 696e 7420 280a 2020 6f75 =.fprint (. ou\n-00002710: 742c 2022 2864 6563 6c61 7265 2d66 756e t, \"(declare-fun\n-00002720: 2022 0a29 2028 2a20 6670 7269 6e74 202a \".) (* fprint *\n-00002730: 290a 2f2f 0a76 616c 2028 2920 3d20 656d ).//.val () = em\n-00002740: 6974 5f73 3276 6172 286f 7574 2c20 7332 it_s2var(out, s2\n-00002750: 7629 0a76 616c 2028 2920 3d20 6670 7269 v).val () = fpri\n-00002760: 6e74 2028 6f75 742c 2022 2028 2920 2229 nt (out, \" () \")\n-00002770: 0a76 616c 2028 2920 3d20 656d 6974 5f73 .val () = emit_s\n-00002780: 3272 7428 6f75 742c 2073 3276 2e73 7274 2rt(out, s2v.srt\n-00002790: 2829 290a 7661 6c20 2829 203d 2066 7072 ()).val () = fpr\n-000027a0: 696e 746c 6e21 2028 6f75 742c 2022 2922 intln! (out, \")\"\n-000027b0: 290a 2f2f 0a7d 2028 2a20 656e 6420 6f66 ).//.} (* end of\n-000027c0: 205b 6465 636c 5f73 3276 6172 5d20 2a29 [decl_s2var] *)\n-000027d0: 0a2f 2f0a 696d 706c 656d 656e 740a 656d .//.implement.em\n-000027e0: 6974 5f64 6563 6c5f 7332 7661 726c 7374 it_decl_s2varlst\n-000027f0: 0a20 2028 6f75 742c 2073 3276 7329 203d . (out, s2vs) =\n-00002800: 206c 6574 0a2f 2f0a 696d 706c 656d 656e let.//.implemen\n-00002810: 740a 6c69 7374 5f66 6f72 6561 6368 2466 t.list_foreach$f\n-00002820: 776f 726b 3c73 3276 6172 3e3c 766f 6964 work. (s2v, env) =\n-00002840: 2065 6d69 745f 6465 636c 5f73 3276 6172 emit_decl_s2var\n-00002850: 286f 7574 2c20 7332 7629 0a2f 2f0a 696e (out, s2v).//.in\n-00002860: 0a20 206c 6973 745f 666f 7265 6163 6828 . list_foreach(\n-00002870: 7332 7673 290a 656e 6420 2f2f 2065 6e64 s2vs).end // end\n-00002880: 206f 6620 5b65 6d69 745f 6465 636c 5f73 of [emit_decl_s\n-00002890: 3276 6172 6c73 745d 0a2f 2f0a 282a 202a 2varlst].//.(* *\n-000028a0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-000028b0: 0a69 6d70 6c65 6d65 6e74 0a65 6d69 745f .implement.emit_\n-000028c0: 736f 6c76 6572 636d 640a 2020 286f 7574 solvercmd. (out\n-000028d0: 2c20 636d 6429 203d 206c 6574 0a2f 2f0a , cmd) = let.//.\n-000028e0: 282a 0a76 616c 2028 2920 3d0a 7072 696e (*.val () =.prin\n-000028f0: 746c 6e21 2028 2265 6d69 745f 736f 6c76 tln! (\"emit_solv\n-00002900: 6572 636d 6422 290a 2a29 0a2f 2f0a 696e ercmd\").*).//.in\n-00002910: 0a2f 2f0a 6361 7365 2b20 636d 6420 6f66 .//.case+ cmd of\n-00002920: 0a2f 2f0a 7c20 534f 4c56 4552 434d 4470 .//.| SOLVERCMDp\n-00002930: 6f70 2829 203d 3e20 6670 7269 6e74 6c6e op() => fprintln\n-00002940: 2120 286f 7574 2c20 2228 706f 7020 3129 ! (out, \"(pop 1)\n-00002950: 2229 0a7c 2053 4f4c 5645 5243 4d44 7075 \").| SOLVERCMDpu\n-00002960: 7368 2829 203d 3e20 6670 7269 6e74 6c6e sh() => fprintln\n-00002970: 2120 286f 7574 2c20 2228 7075 7368 2031 ! (out, \"(push 1\n-00002980: 2922 290a 2f2f 0a7c 2053 4f4c 5645 5243 )\").//.| SOLVERC\n-00002990: 4d44 6173 7365 7274 2866 6d6c 2920 3d3e MDassert(fml) =>\n-000029a0: 0a20 207b 0a20 2020 2076 616c 2028 2920 . {. val () \n-000029b0: 3d0a 2020 2020 2020 6670 7269 6e74 286f =. fprint(o\n-000029c0: 7574 2c20 2228 6173 7365 7274 2022 290a ut, \"(assert \").\n-000029d0: 2020 2020 2f2f 2065 6e64 206f 6620 5b76 // end of [v\n-000029e0: 616c 5d0a 2020 2020 7661 6c20 2829 203d al]. val () =\n-000029f0: 2065 6d69 745f 666f 726d 286f 7574 2c20 emit_form(out, \n-00002a00: 666d 6c29 0a20 2020 2076 616c 2028 2920 fml). val () \n-00002a10: 3d20 6670 7269 6e74 6c6e 2120 286f 7574 = fprintln! (out\n-00002a20: 2c20 2229 2229 0a20 207d 2028 2a20 656e , \")\"). } (* en\n-00002a30: 6420 6f66 205b 534f 4c56 4552 434d 4461 d of [SOLVERCMDa\n-00002a40: 7373 6572 745d 202a 290a 2f2f 0a7c 2053 ssert] *).//.| S\n-00002a50: 4f4c 5645 5243 4d44 6368 6563 6b73 6174 OLVERCMDchecksat\n-00002a60: 0a20 2020 2028 282a 766f 6964 2a29 2920 . ((*void*)) \n-00002a70: 3d3e 2066 7072 696e 746c 6e21 2028 6f75 => fprintln! (ou\n-00002a80: 742c 2022 2863 6865 636b 2d73 6174 2922 t, \"(check-sat)\"\n-00002a90: 290a 2f2f 0a7c 2053 4f4c 5645 5243 4d44 ).//.| SOLVERCMD\n-00002aa0: 6563 686f 6c6f 6328 6c6f 6329 203d 3e0a echoloc(loc) =>.\n-00002ab0: 2020 7b0a 2020 2020 7661 6c20 2829 203d {. val () =\n-00002ac0: 2066 7072 696e 746c 6e21 2028 6f75 742c fprintln! (out,\n-00002ad0: 2022 2865 6368 6f20 5c22 222c 206c 6f63 \"(echo \\\"\", loc\n-00002ae0: 2c20 225c 2229 2229 0a20 207d 0a2f 2f0a , \"\\\")\"). }.//.\n-00002af0: 7c20 534f 4c56 4552 434d 4470 6f70 656e | SOLVERCMDpopen\n-00002b00: 7620 5f20 3d3e 2028 2920 2f2f 2072 656d v _ => () // rem\n-00002b10: 6f76 6564 0a7c 2053 4f4c 5645 5243 4d44 oved.| SOLVERCMD\n-00002b20: 7075 7368 656e 7620 5f20 3d3e 2028 2920 pushenv _ => () \n-00002b30: 2f2f 2072 656d 6f76 6564 0a2f 2f0a 7c20 // removed.//.| \n-00002b40: 534f 4c56 4552 434d 4470 6f70 656e 7632 SOLVERCMDpopenv2\n-00002b50: 205f 203d 3e0a 2020 7b0a 2020 2020 7661 _ =>. {. va\n-00002b60: 6c20 2828 2a76 6f69 642a 2929 203d 2066 l ((*void*)) = f\n-00002b70: 7072 696e 746c 6e21 2028 6f75 742c 2022 println! (out, \"\n-00002b80: 2870 6f70 2031 2922 290a 2020 7d0a 7c20 (pop 1)\"). }.| \n-00002b90: 534f 4c56 4552 434d 4470 7573 6865 6e76 SOLVERCMDpushenv\n-00002ba0: 3228 7332 7673 2920 3d3e 0a20 207b 0a20 2(s2vs) =>. {. \n-00002bb0: 2020 2076 616c 2028 282a 766f 6964 2a29 val ((*void*)\n-00002bc0: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o\n-00002bd0: 7574 2c20 2228 7075 7368 2031 2922 290a ut, \"(push 1)\").\n-00002be0: 2020 2020 7661 6c20 2828 2a76 6f69 642a val ((*void*\n-00002bf0: 2929 203d 2065 6d69 745f 6465 636c 5f73 )) = emit_decl_s\n-00002c00: 3276 6172 6c73 7428 6f75 742c 2073 3276 2varlst(out, s2v\n-00002c10: 7329 0a20 207d 2028 2a20 534f 4c56 4552 s). } (* SOLVER\n-00002c20: 434d 4470 7573 6865 6e76 3220 2a29 0a2f CMDpushenv2 *)./\n-00002c30: 2f0a 656e 6420 2f2f 2065 6e64 206f 6620 /.end // end of \n-00002c40: 5b65 6d69 745f 736f 6c76 6572 636d 645d [emit_solvercmd]\n-00002c50: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00002c60: 2a2a 202a 290a 0a69 6d70 6c65 6d65 6e74 ** *)..implement\n-00002c70: 0a65 6d69 745f 736f 6c76 6572 636d 646c .emit_solvercmdl\n-00002c80: 7374 0a20 2028 6f75 742c 2063 6d64 7329 st. (out, cmds)\n-00002c90: 203d 0a28 0a2f 2f0a 6361 7365 2b20 636d =.(.//.case+ cm\n-00002ca0: 6473 206f 660a 7c20 6c69 7374 5f6e 696c ds of.| list_nil\n-00002cb0: 2829 203d 3e20 2829 0a7c 206c 6973 745f () => ().| list_\n-00002cc0: 636f 6e73 2863 6d64 2c20 636d 6473 2920 cons(cmd, cmds) \n-00002cd0: 3d3e 0a20 207b 0a20 2020 2076 616c 2028 =>. {. val (\n-00002ce0: 2920 3d20 656d 6974 5f73 6f6c 7665 7263 ) = emit_solverc\n-00002cf0: 6d64 286f 7574 2c20 636d 6429 0a20 2020 md(out, cmd). \n-00002d00: 2076 616c 2028 2920 3d20 656d 6974 5f73 val () = emit_s\n-00002d10: 6f6c 7665 7263 6d64 6c73 7428 6f75 742c olvercmdlst(out,\n-00002d20: 2063 6d64 7329 0a20 207d 2028 2a20 656e cmds). } (* en\n-00002d30: 6420 6f66 205b 6c69 7374 5f63 6f6e 735d d of [list_cons]\n-00002d40: 202a 290a 2f2f 0a29 2028 2a20 656e 6420 *).//.) (* end \n-00002d50: 6f66 205b 656d 6974 5f73 6f6c 7665 7263 of [emit_solverc\n-00002d60: 6d64 6c73 745d 202a 290a 0a28 2a20 2a2a mdlst] *)..(* **\n-00002d70: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-00002d80: 696d 706c 656d 656e 740a 656d 6974 5f70 implement.emit_p\n-00002d90: 7265 616d 626c 6528 6f75 7429 203d 207b reamble(out) = {\n-00002da0: 0a2f 2f0a 6d61 6364 6566 0a65 6d69 746c .//.macdef.emitl\n-00002db0: 6e28 7829 203d 2066 7072 696e 746c 6e21 n(x) = fprintln!\n-00002dc0: 2028 6f75 742c 202c 2878 2929 0a2f 2f0a (out, ,(x)).//.\n-00002dd0: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln(\n-00002de0: 223b 3b22 290a 7661 6c20 2829 203d 2065 \";;\").val () = e\n-00002df0: 6d69 746c 6e28 223b 3b42 7920 5b70 6174 mitln(\";;By [pat\n-00002e00: 736f 6c76 655f 736d 7432 5d3a 2229 0a76 solve_smt2]:\").v\n-00002e10: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00002e20: 3b3b 2229 0a2f 2f0a 7661 6c20 2829 203d ;;\").//.val () =\n-00002e30: 2065 6d69 746c 6e28 2228 6465 636c 6172 emitln(\"(declar\n-00002e40: 652d 736f 7274 2073 3272 745f 636c 7320 e-sort s2rt_cls \n-00002e50: 3029 2229 0a76 616c 2028 2920 3d20 656d 0)\").val () = em\n-00002e60: 6974 6c6e 2822 2864 6563 6c61 7265 2d73 itln(\"(declare-s\n-00002e70: 6f72 7420 7332 7274 5f65 6666 2030 2922 ort s2rt_eff 0)\"\n-00002e80: 290a 7661 6c20 2829 203d 2065 6d69 746c ).val () = emitl\n-00002e90: 6e28 2228 6465 636c 6172 652d 736f 7274 n(\"(declare-sort\n-00002ea0: 2073 3272 745f 7072 6f70 2030 2922 290a s2rt_prop 0)\").\n-00002eb0: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln(\n-00002ec0: 2228 6465 636c 6172 652d 736f 7274 2073 \"(declare-sort s\n-00002ed0: 3272 745f 7430 7970 6520 3029 2229 0a76 2rt_t0ype 0)\").v\n-00002ee0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00002ef0: 2864 6563 6c61 7265 2d73 6f72 7420 7332 (declare-sort s2\n-00002f00: 7274 5f74 6b69 6e64 2030 2922 290a 7661 rt_tkind 0)\").va\n-00002f10: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln(\"(\n-00002f20: 6465 636c 6172 652d 736f 7274 2073 3272 declare-sort s2r\n-00002f30: 745f 6572 726f 7220 3029 2229 0a2f 2f0a t_error 0)\").//.\n-00002f40: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln(\n-00002f50: 2228 6465 6669 6e65 2d73 6f72 7420 7332 \"(define-sort s2\n-00002f60: 7274 5f69 6e74 2028 2920 496e 7429 2229 rt_int () Int)\")\n-00002f70: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln\n-00002f80: 2822 2864 6566 696e 652d 736f 7274 2073 (\"(define-sort s\n-00002f90: 3272 745f 6164 6472 2028 2920 496e 7429 2rt_addr () Int)\n-00002fa0: 2229 0a76 616c 2028 2920 3d20 656d 6974 \").val () = emit\n-00002fb0: 6c6e 2822 2864 6566 696e 652d 736f 7274 ln(\"(define-sort\n-00002fc0: 2073 3272 745f 626f 6f6c 2028 2920 426f s2rt_bool () Bo\n-00002fd0: 6f6c 2922 290a 2f2f 0a76 616c 2028 2920 ol)\").//.val () \n-00002fe0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln(\"(defin\n-00002ff0: 652d 736f 7274 2066 696c 655f 6d6f 6465 e-sort file_mode\n-00003000: 2028 2920 496e 7429 2229 0a2f 2f0a 7661 () Int)\").//.va\n-00003010: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln(\"(\n-00003020: 6465 6669 6e65 2d73 6f72 7420 7332 7274 define-sort s2rt\n-00003030: 5f76 6965 7720 2829 2073 3272 745f 7072 _view () s2rt_pr\n-00003040: 6f70 2922 290a 7661 6c20 2829 203d 2065 op)\").val () = e\n-00003050: 6d69 746c 6e28 2228 6465 6669 6e65 2d73 mitln(\"(define-s\n-00003060: 6f72 7420 7332 7274 5f74 7970 6520 2829 ort s2rt_type ()\n-00003070: 2073 3272 745f 7430 7970 6529 2229 0a76 s2rt_t0ype)\").v\n-00003080: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00003090: 2864 6566 696e 652d 736f 7274 2073 3272 (define-sort s2r\n-000030a0: 745f 7674 7970 6520 2829 2073 3272 745f t_vtype () s2rt_\n-000030b0: 7430 7970 6529 2229 0a76 616c 2028 2920 t0ype)\").val () \n-000030c0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln(\"(defin\n-000030d0: 652d 736f 7274 2073 3272 745f 7674 3079 e-sort s2rt_vt0y\n-000030e0: 7065 2028 2920 7332 7274 5f74 3079 7065 pe () s2rt_t0ype\n-000030f0: 2922 290a 2f2f 0a76 616c 2028 2920 3d20 )\").//.val () = \n-00003100: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln(\"(define-\n-00003110: 6675 6e20 756e 6974 5f70 2028 2920 426f fun unit_p () Bo\n-00003120: 6f6c 2074 7275 6529 2229 0a2f 2f0a 7661 ol true)\").//.va\n-00003130: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln(\"(\n-00003140: 6465 6669 6e65 2d66 756e 2073 3265 7870 define-fun s2exp\n-00003150: 5f66 756e 2028 2878 2042 6f6f 6c29 2920 _fun ((x Bool)) \n-00003160: 426f 6f6c 2078 2922 290a 7661 6c20 2829 Bool x)\").val ()\n-00003170: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln(\"(defi\n-00003180: 6e65 2d66 756e 2073 3265 7870 5f65 7165 ne-fun s2exp_eqe\n-00003190: 7120 2828 7820 426f 6f6c 2929 2042 6f6f q ((x Bool)) Boo\n-000031a0: 6c20 7829 2229 0a76 616c 2028 2920 3d20 l x)\").val () = \n-000031b0: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln(\"(define-\n-000031c0: 6675 6e20 7332 6578 705f 6d65 7464 6563 fun s2exp_metdec\n-000031d0: 2028 2878 2042 6f6f 6c29 2920 426f 6f6c ((x Bool)) Bool\n-000031e0: 2078 2922 290a 2f2f 0a76 616c 2028 2920 x)\").//.val () \n-000031f0: 3d20 656d 6974 6c6e 2822 2864 6563 6c61 = emitln(\"(decla\n-00003200: 7265 2d66 756e 2073 3265 7870 5f73 697a re-fun s2exp_siz\n-00003210: 656f 6620 2873 3272 745f 7430 7970 6529 eof (s2rt_t0ype)\n-00003220: 2049 6e74 2922 290a 2f2f 0a76 616c 2028 Int)\").//.val (\n-00003230: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln(\"(def\n-00003240: 696e 652d 6675 6e20 6e65 675f 696e 7420 ine-fun neg_int \n-00003250: 2828 7820 496e 7429 2920 496e 7420 282d ((x Int)) Int (-\n-00003260: 2078 2929 2229 0a76 616c 2028 2920 3d20 x))\").val () = \n-00003270: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln(\"(define-\n-00003280: 6675 6e20 6162 735f 696e 7420 2828 7820 fun abs_int ((x \n-00003290: 496e 7429 2920 496e 7420 2861 6273 2078 Int)) Int (abs x\n-000032a0: 2929 2229 0a76 616c 2028 2920 3d20 656d ))\").val () = em\n-000032b0: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln(\"(define-fu\n-000032c0: 6e20 6164 645f 696e 745f 696e 7420 2828 n add_int_int ((\n-000032d0: 7820 496e 7429 2028 7920 496e 7429 2920 x Int) (y Int)) \n-000032e0: 496e 7420 282b 2078 2079 2929 2229 0a76 Int (+ x y))\").v\n-000032f0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00003300: 2864 6566 696e 652d 6675 6e20 7375 625f (define-fun sub_\n-00003310: 696e 745f 696e 7420 2828 7820 496e 7429 int_int ((x Int)\n-00003320: 2028 7920 496e 7429 2920 496e 7420 282d (y Int)) Int (-\n-00003330: 2078 2079 2929 2229 0a76 616c 2028 2920 x y))\").val () \n-00003340: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln(\"(defin\n-00003350: 652d 6675 6e20 6d75 6c5f 696e 745f 696e e-fun mul_int_in\n-00003360: 7420 2828 7820 496e 7429 2028 7920 496e t ((x Int) (y In\n-00003370: 7429 2920 496e 7420 282a 2078 2079 2929 t)) Int (* x y))\n-00003380: 2229 0a76 616c 2028 2920 3d20 656d 6974 \").val () = emit\n-00003390: 6c6e 2822 2864 6566 696e 652d 6675 6e20 ln(\"(define-fun \n-000033a0: 6469 765f 696e 745f 696e 7420 2828 7820 div_int_int ((x \n-000033b0: 496e 7429 2028 7920 496e 7429 2920 496e Int) (y Int)) In\n-000033c0: 7420 2864 6976 2078 2079 2929 2229 0a76 t (div x y))\").v\n-000033d0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-000033e0: 2864 6566 696e 652d 6675 6e20 6d6f 645f (define-fun mod_\n-000033f0: 696e 745f 696e 7420 2828 7820 496e 7429 int_int ((x Int)\n-00003400: 2028 7920 496e 7429 2920 496e 7420 286d (y Int)) Int (m\n-00003410: 6f64 2078 2079 2929 2229 0a2f 2f0a 7661 od x y))\").//.va\n-00003420: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln(\"(\n-00003430: 6465 6669 6e65 2d66 756e 2069 6469 765f define-fun idiv_\n-00003440: 696e 745f 696e 7420 2828 7820 496e 7429 int_int ((x Int)\n-00003450: 2028 7920 496e 7429 2920 496e 7420 2864 (y Int)) Int (d\n-00003460: 6976 2078 2079 2929 2229 0a76 616c 2028 iv x y))\").val (\n-00003470: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln(\"(def\n-00003480: 696e 652d 6675 6e20 6e64 6976 5f69 6e74 ine-fun ndiv_int\n-00003490: 5f69 6e74 2028 2878 2049 6e74 2920 2879 _int ((x Int) (y\n-000034a0: 2049 6e74 2929 2049 6e74 2028 6469 7620 Int)) Int (div \n-000034b0: 7820 7929 2922 290a 2f2f 0a76 616c 2028 x y))\").//.val (\n-000034c0: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln(\"(def\n-000034d0: 696e 652d 6675 6e20 6571 5f69 6e74 5f69 ine-fun eq_int_i\n-000034e0: 6e74 2028 2878 2049 6e74 2920 2879 2049 nt ((x Int) (y I\n-000034f0: 6e74 2929 2042 6f6f 6c20 283d 2078 2079 nt)) Bool (= x y\n-00003500: 2929 2229 0a76 616c 2028 2920 3d20 656d ))\").val () = em\n-00003510: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln(\"(define-fu\n-00003520: 6e20 6c74 5f69 6e74 5f69 6e74 2028 2878 n lt_int_int ((x\n-00003530: 2049 6e74 2920 2879 2049 6e74 2929 2042 Int) (y Int)) B\n-00003540: 6f6f 6c20 283c 2078 2079 2929 2229 0a76 ool (< x y))\").v\n-00003550: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00003560: 2864 6566 696e 652d 6675 6e20 6774 5f69 (define-fun gt_i\n-00003570: 6e74 5f69 6e74 2028 2878 2049 6e74 2920 nt_int ((x Int) \n-00003580: 2879 2049 6e74 2929 2042 6f6f 6c20 283e (y Int)) Bool (>\n-00003590: 2078 2079 2929 2229 0a76 616c 2028 2920 x y))\").val () \n-000035a0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln(\"(defin\n-000035b0: 652d 6675 6e20 6c74 655f 696e 745f 696e e-fun lte_int_in\n-000035c0: 7420 2828 7820 496e 7429 2028 7920 496e t ((x Int) (y In\n-000035d0: 7429 2920 426f 6f6c 2028 3c3d 2078 2079 t)) Bool (<= x y\n-000035e0: 2929 2229 0a76 616c 2028 2920 3d20 656d ))\").val () = em\n-000035f0: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln(\"(define-fu\n-00003600: 6e20 6774 655f 696e 745f 696e 7420 2828 n gte_int_int ((\n-00003610: 7820 496e 7429 2028 7920 496e 7429 2920 x Int) (y Int)) \n-00003620: 426f 6f6c 2028 3e3d 2078 2079 2929 2229 Bool (>= x y))\")\n-00003630: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln\n-00003640: 2822 2864 6566 696e 652d 6675 6e20 6e65 (\"(define-fun ne\n-00003650: 715f 696e 745f 696e 7420 2828 7820 496e q_int_int ((x In\n-00003660: 7429 2028 7920 496e 7429 2920 426f 6f6c t) (y Int)) Bool\n-00003670: 2028 6e6f 7420 283d 2078 2079 2929 2922 (not (= x y)))\"\n-00003680: 290a 2f2f 0a76 616c 2028 2920 3d20 656d ).//.val () = em\n-00003690: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln(\"(define-fu\n-000036a0: 6e20 6d61 785f 696e 745f 696e 7420 2828 n max_int_int ((\n-000036b0: 7820 496e 7429 2028 7920 496e 7429 2920 x Int) (y Int)) \n-000036c0: 496e 7420 2869 7465 2028 3e3d 2078 2079 Int (ite (>= x y\n-000036d0: 2920 7820 7929 2922 290a 7661 6c20 2829 ) x y))\").val ()\n-000036e0: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln(\"(defi\n-000036f0: 6e65 2d66 756e 206d 696e 5f69 6e74 5f69 ne-fun min_int_i\n-00003700: 6e74 2028 2878 2049 6e74 2920 2879 2049 nt ((x Int) (y I\n-00003710: 6e74 2929 2049 6e74 2028 6974 6520 283c nt)) Int (ite (<\n-00003720: 3d20 7820 7929 2078 2079 2929 2229 0a2f = x y) x y))\")./\n-00003730: 2f0a 7661 6c20 2829 203d 2065 6d69 746c /.val () = emitl\n-00003740: 6e28 2228 6465 6669 6e65 2d66 756e 2073 n(\"(define-fun s\n-00003750: 676e 5f69 6e74 2028 2878 2049 6e74 2929 gn_int ((x Int))\n-00003760: 2049 6e74 2028 6974 6520 283e 2078 2030 Int (ite (> x 0\n-00003770: 2920 3120 2869 7465 2028 3e3d 2078 2030 ) 1 (ite (>= x 0\n-00003780: 2920 3020 282d 2031 2929 2929 2229 0a2f ) 0 (- 1))))\")./\n-00003790: 2f0a 7661 6c20 2829 203d 2065 6d69 746c /.val () = emitl\n-000037a0: 6e28 2228 6465 6669 6e65 2d66 756e 206e n(\"(define-fun n\n-000037b0: 756c 6c5f 6164 6472 2028 2920 7332 7274 ull_addr () s2rt\n-000037c0: 5f61 6464 7220 3029 2229 0a2f 2f0a 7661 _addr 0)\").//.va\n-000037d0: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln(\"(\n-000037e0: 6465 6669 6e65 2d66 756e 2061 6464 5f61 define-fun add_a\n-000037f0: 6464 725f 696e 7420 2828 7820 7332 7274 ddr_int ((x s2rt\n-00003800: 5f61 6464 7229 2028 7920 496e 7429 2920 _addr) (y Int)) \n-00003810: 7332 7274 5f61 6464 7220 282b 2078 2079 s2rt_addr (+ x y\n-00003820: 2929 2229 0a76 616c 2028 2920 3d20 656d ))\").val () = em\n-00003830: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln(\"(define-fu\n-00003840: 6e20 7375 625f 6164 6472 5f69 6e74 2028 n sub_addr_int (\n-00003850: 2878 2073 3272 745f 6164 6472 2920 2879 (x s2rt_addr) (y\n-00003860: 2049 6e74 2929 2073 3272 745f 6164 6472 Int)) s2rt_addr\n-00003870: 2028 2d20 7820 7929 2922 290a 2f2f 0a76 (- x y))\").//.v\n-00003880: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00003890: 2864 6566 696e 652d 6675 6e20 6571 5f61 (define-fun eq_a\n-000038a0: 6464 725f 6164 6472 2028 2878 2073 3272 ddr_addr ((x s2r\n-000038b0: 745f 6164 6472 2920 2879 2073 3272 745f t_addr) (y s2rt_\n-000038c0: 6164 6472 2929 2042 6f6f 6c20 283d 2078 addr)) Bool (= x\n-000038d0: 2079 2929 2229 0a76 616c 2028 2920 3d20 y))\").val () = \n-000038e0: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln(\"(define-\n-000038f0: 6675 6e20 6c74 5f61 6464 725f 6164 6472 fun lt_addr_addr\n-00003900: 2028 2878 2073 3272 745f 6164 6472 2920 ((x s2rt_addr) \n-00003910: 2879 2073 3272 745f 6164 6472 2929 2042 (y s2rt_addr)) B\n-00003920: 6f6f 6c20 283c 2078 2079 2929 2229 0a76 ool (< x y))\").v\n-00003930: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00003940: 2864 6566 696e 652d 6675 6e20 6774 5f61 (define-fun gt_a\n-00003950: 6464 725f 6164 6472 2028 2878 2073 3272 ddr_addr ((x s2r\n-00003960: 745f 6164 6472 2920 2879 2073 3272 745f t_addr) (y s2rt_\n-00003970: 6164 6472 2929 2042 6f6f 6c20 283e 2078 addr)) Bool (> x\n-00003980: 2079 2929 2229 0a76 616c 2028 2920 3d20 y))\").val () = \n-00003990: 656d 6974 6c6e 2822 2864 6566 696e 652d emitln(\"(define-\n-000039a0: 6675 6e20 6c74 655f 6164 6472 5f61 6464 fun lte_addr_add\n-000039b0: 7220 2828 7820 7332 7274 5f61 6464 7229 r ((x s2rt_addr)\n-000039c0: 2028 7920 7332 7274 5f61 6464 7229 2920 (y s2rt_addr)) \n-000039d0: 426f 6f6c 2028 3c3d 2078 2079 2929 2229 Bool (<= x y))\")\n-000039e0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln\n-000039f0: 2822 2864 6566 696e 652d 6675 6e20 6774 (\"(define-fun gt\n-00003a00: 655f 6164 6472 5f61 6464 7220 2828 7820 e_addr_addr ((x \n-00003a10: 7332 7274 5f61 6464 7229 2028 7920 7332 s2rt_addr) (y s2\n-00003a20: 7274 5f61 6464 7229 2920 426f 6f6c 2028 rt_addr)) Bool (\n-00003a30: 3e3d 2078 2079 2929 2229 0a76 616c 2028 >= x y))\").val (\n-00003a40: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln(\"(def\n-00003a50: 696e 652d 6675 6e20 6e65 715f 6164 6472 ine-fun neq_addr\n-00003a60: 5f61 6464 7220 2828 7820 7332 7274 5f61 _addr ((x s2rt_a\n-00003a70: 6464 7229 2028 7920 7332 7274 5f61 6464 ddr) (y s2rt_add\n-00003a80: 7229 2920 426f 6f6c 2028 6e6f 7420 283d r)) Bool (not (=\n-00003a90: 2078 2079 2929 2922 290a 2f2f 0a76 616c x y)))\").//.val\n-00003aa0: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln(\"(d\n-00003ab0: 6566 696e 652d 6675 6e20 7472 7565 5f62 efine-fun true_b\n-00003ac0: 6f6f 6c20 2829 2042 6f6f 6c20 7472 7565 ool () Bool true\n-00003ad0: 2922 290a 7661 6c20 2829 203d 2065 6d69 )\").val () = emi\n-00003ae0: 746c 6e28 2228 6465 6669 6e65 2d66 756e tln(\"(define-fun\n-00003af0: 2066 616c 7365 5f62 6f6f 6c20 2829 2042 false_bool () B\n-00003b00: 6f6f 6c20 6661 6c73 6529 2229 0a2f 2f0a ool false)\").//.\n-00003b10: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln(\n-00003b20: 2228 6465 6669 6e65 2d66 756e 206e 6567 \"(define-fun neg\n-00003b30: 5f62 6f6f 6c20 2828 7820 426f 6f6c 2929 _bool ((x Bool))\n-00003b40: 2042 6f6f 6c20 286e 6f74 2078 2929 2229 Bool (not x))\")\n-00003b50: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln\n-00003b60: 2822 2864 6566 696e 652d 6675 6e20 6164 (\"(define-fun ad\n-00003b70: 645f 626f 6f6c 5f62 6f6f 6c20 2828 7820 d_bool_bool ((x \n-00003b80: 426f 6f6c 2920 2879 2042 6f6f 6c29 2920 Bool) (y Bool)) \n-00003b90: 426f 6f6c 2028 6f72 2078 2079 2929 2229 Bool (or x y))\")\n-00003ba0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln\n-00003bb0: 2822 2864 6566 696e 652d 6675 6e20 6d75 (\"(define-fun mu\n-00003bc0: 6c5f 626f 6f6c 5f62 6f6f 6c20 2828 7820 l_bool_bool ((x \n-00003bd0: 426f 6f6c 2920 2879 2042 6f6f 6c29 2920 Bool) (y Bool)) \n-00003be0: 426f 6f6c 2028 616e 6420 7820 7929 2922 Bool (and x y))\"\n-00003bf0: 290a 2f2f 0a76 616c 2028 2920 3d20 656d ).//.val () = em\n-00003c00: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln(\"(define-fu\n-00003c10: 6e20 6571 5f62 6f6f 6c5f 626f 6f6c 2028 n eq_bool_bool (\n-00003c20: 2878 2042 6f6f 6c29 2028 7920 426f 6f6c (x Bool) (y Bool\n-00003c30: 2929 2042 6f6f 6c20 283d 2078 2079 2929 )) Bool (= x y))\n-00003c40: 2229 0a76 616c 2028 2920 3d20 656d 6974 \").val () = emit\n-00003c50: 6c6e 2822 2864 6566 696e 652d 6675 6e20 ln(\"(define-fun \n-00003c60: 6c74 5f62 6f6f 6c5f 626f 6f6c 2028 2878 lt_bool_bool ((x\n-00003c70: 2042 6f6f 6c29 2028 7920 426f 6f6c 2929 Bool) (y Bool))\n-00003c80: 2042 6f6f 6c20 2861 6e64 2028 6e6f 7420 Bool (and (not \n-00003c90: 7829 2079 2929 2229 0a76 616c 2028 2920 x) y))\").val () \n-00003ca0: 3d20 656d 6974 6c6e 2822 2864 6566 696e = emitln(\"(defin\n-00003cb0: 652d 6675 6e20 6774 5f62 6f6f 6c5f 626f e-fun gt_bool_bo\n-00003cc0: 6f6c 2028 2878 2042 6f6f 6c29 2028 7920 ol ((x Bool) (y \n-00003cd0: 426f 6f6c 2929 2042 6f6f 6c20 2861 6e64 Bool)) Bool (and\n-00003ce0: 2078 2028 6e6f 7420 7929 2929 2229 0a76 x (not y)))\").v\n-00003cf0: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00003d00: 2864 6566 696e 652d 6675 6e20 6e65 715f (define-fun neq_\n-00003d10: 626f 6f6c 5f62 6f6f 6c20 2828 7820 426f bool_bool ((x Bo\n-00003d20: 6f6c 2920 2879 2042 6f6f 6c29 2920 426f ol) (y Bool)) Bo\n-00003d30: 6f6c 2028 6e6f 7420 283d 2078 2079 2929 ol (not (= x y))\n-00003d40: 2922 290a 7661 6c20 2829 203d 2065 6d69 )\").val () = emi\n-00003d50: 746c 6e28 2228 6465 6669 6e65 2d66 756e tln(\"(define-fun\n-00003d60: 206c 7465 5f62 6f6f 6c5f 626f 6f6c 2028 lte_bool_bool (\n-00003d70: 2878 2042 6f6f 6c29 2028 7920 426f 6f6c (x Bool) (y Bool\n-00003d80: 2929 2042 6f6f 6c20 286f 7220 286e 6f74 )) Bool (or (not\n-00003d90: 2078 2920 7929 2922 290a 7661 6c20 2829 x) y))\").val ()\n-00003da0: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln(\"(defi\n-00003db0: 6e65 2d66 756e 2067 7465 5f62 6f6f 6c5f ne-fun gte_bool_\n-00003dc0: 626f 6f6c 2028 2878 2042 6f6f 6c29 2028 bool ((x Bool) (\n-00003dd0: 7920 426f 6f6c 2929 2042 6f6f 6c20 286f y Bool)) Bool (o\n-00003de0: 7220 7820 286e 6f74 2079 2929 2922 290a r x (not y)))\").\n-00003df0: 2f2f 0a7d 2028 2a20 656e 6420 6f66 205b //.} (* end of [\n-00003e00: 656d 6974 5f70 7265 616d 626c 655d 202a emit_preamble] *\n-00003e10: 290a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a )..(* ****** ***\n-00003e20: 2a2a 2a20 2a29 0a0a 696d 706c 656d 656e *** *)..implemen\n-00003e30: 740a 656d 6974 5f70 7265 616d 626c 655f t.emit_preamble_\n-00003e40: 7265 616c 286f 7574 2920 3d20 7b0a 2f2f real(out) = {.//\n-00003e50: 0a6d 6163 6465 660a 656d 6974 6c6e 2878 .macdef.emitln(x\n-00003e60: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o\n-00003e70: 7574 2c20 2c28 7829 290a 2f2f 0a76 616c ut, ,(x)).//.val\n-00003e80: 2028 2920 3d20 656d 6974 6c6e 2822 3b3b () = emitln(\";;\n-00003e90: 2229 0a76 616c 2028 2920 3d20 656d 6974 \").val () = emit\n-00003ea0: 6c6e 2822 3b3b 656d 6974 5f70 7265 616d ln(\";;emit_pream\n-00003eb0: 626c 655f 7265 616c 2829 2229 0a76 616c ble_real()\").val\n-00003ec0: 2028 2920 3d20 656d 6974 6c6e 2822 3b3b () = emitln(\";;\n-00003ed0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2065 \").//.val () = e\n-00003ee0: 6d69 746c 6e28 2228 6465 6669 6e65 2d73 mitln(\"(define-s\n-00003ef0: 6f72 7420 7332 7274 5f72 6561 6c20 2829 ort s2rt_real ()\n-00003f00: 2052 6561 6c29 2229 0a2f 2f0a 7661 6c20 Real)\").//.val \n-00003f10: 2829 203d 2065 6d69 746c 6e28 2228 6465 () = emitln(\"(de\n-00003f20: 6669 6e65 2d66 756e 2069 6e74 3272 6561 fine-fun int2rea\n-00003f30: 6c20 2828 7820 496e 7429 2920 5265 616c l ((x Int)) Real\n-00003f40: 2028 746f 5f72 6561 6c20 7829 2922 290a (to_real x))\").\n-00003f50: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln(\n-00003f60: 2228 6465 6669 6e65 2d66 756e 2066 6c6f \"(define-fun flo\n-00003f70: 6f72 5f72 6561 6c20 2828 7820 5265 616c or_real ((x Real\n-00003f80: 2929 2049 6e74 2028 746f 5f69 6e74 2078 )) Int (to_int x\n-00003f90: 2929 2229 0a76 616c 2028 2920 3d20 656d ))\").val () = em\n-00003fa0: 6974 6c6e 2822 2864 6566 696e 652d 6675 itln(\"(define-fu\n-00003fb0: 6e20 6973 696e 745f 7265 616c 2028 2878 n isint_real ((x\n-00003fc0: 2052 6561 6c29 2920 426f 6f6c 2028 6973 Real)) Bool (is\n-00003fd0: 5f69 6e74 2078 2929 2229 0a2f 2f0a 7661 _int x))\").//.va\n-00003fe0: 6c20 2829 203d 2065 6d69 746c 6e28 2228 l () = emitln(\"(\n-00003ff0: 6465 6669 6e65 2d66 756e 206e 6567 5f72 define-fun neg_r\n-00004000: 6561 6c20 2828 7820 5265 616c 2929 2052 eal ((x Real)) R\n-00004010: 6561 6c20 282d 2078 2929 2229 0a76 616c eal (- x))\").val\n-00004020: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln(\"(d\n-00004030: 6566 696e 652d 6675 6e20 6162 735f 7265 efine-fun abs_re\n-00004040: 616c 2028 2878 2052 6561 6c29 2920 5265 al ((x Real)) Re\n-00004050: 616c 2028 6974 6520 283e 3d20 7820 302e al (ite (>= x 0.\n-00004060: 3029 2078 2028 2d20 7829 2929 2229 0a2f 0) x (- x)))\")./\n-00004070: 2f0a 7661 6c20 2829 203d 2065 6d69 746c /.val () = emitl\n-00004080: 6e28 2228 6465 6669 6e65 2d66 756e 2061 n(\"(define-fun a\n-00004090: 6464 5f72 6561 6c5f 7265 616c 2028 2878 dd_real_real ((x\n-000040a0: 2052 6561 6c29 2028 7920 5265 616c 2929 Real) (y Real))\n-000040b0: 2052 6561 6c20 282b 2078 2079 2929 2229 Real (+ x y))\")\n-000040c0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln\n-000040d0: 2822 2864 6566 696e 652d 6675 6e20 7375 (\"(define-fun su\n-000040e0: 625f 7265 616c 5f72 6561 6c20 2828 7820 b_real_real ((x \n-000040f0: 5265 616c 2920 2879 2052 6561 6c29 2920 Real) (y Real)) \n-00004100: 5265 616c 2028 2d20 7820 7929 2922 290a Real (- x y))\").\n-00004110: 7661 6c20 2829 203d 2065 6d69 746c 6e28 val () = emitln(\n-00004120: 2228 6465 6669 6e65 2d66 756e 206d 756c \"(define-fun mul\n-00004130: 5f72 6561 6c5f 7265 616c 2028 2878 2052 _real_real ((x R\n-00004140: 6561 6c29 2028 7920 5265 616c 2929 2052 eal) (y Real)) R\n-00004150: 6561 6c20 282a 2078 2079 2929 2229 0a76 eal (* x y))\").v\n-00004160: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00004170: 2864 6566 696e 652d 6675 6e20 6469 765f (define-fun div_\n-00004180: 7265 616c 5f72 6561 6c20 2828 7820 5265 real_real ((x Re\n-00004190: 616c 2920 2879 2052 6561 6c29 2920 5265 al) (y Real)) Re\n-000041a0: 616c 2028 2f20 7820 7929 2922 290a 2f2f al (/ x y))\").//\n-000041b0: 0a76 616c 2028 2920 3d20 656d 6974 6c6e .val () = emitln\n-000041c0: 2822 2864 6566 696e 652d 6675 6e20 6571 (\"(define-fun eq\n-000041d0: 5f72 6561 6c5f 7265 616c 2028 2878 2052 _real_real ((x R\n-000041e0: 6561 6c29 2028 7920 5265 616c 2929 2042 eal) (y Real)) B\n-000041f0: 6f6f 6c20 283d 2078 2079 2929 2229 0a76 ool (= x y))\").v\n-00004200: 616c 2028 2920 3d20 656d 6974 6c6e 2822 al () = emitln(\"\n-00004210: 2864 6566 696e 652d 6675 6e20 6c74 5f72 (define-fun lt_r\n-00004220: 6561 6c5f 7265 616c 2028 2878 2052 6561 eal_real ((x Rea\n-00004230: 6c29 2028 7920 5265 616c 2929 2042 6f6f l) (y Real)) Boo\n-00004240: 6c20 283c 2078 2079 2929 2229 0a76 616c l (< x y))\").val\n-00004250: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln(\"(d\n-00004260: 6566 696e 652d 6675 6e20 6774 5f72 6561 efine-fun gt_rea\n-00004270: 6c5f 7265 616c 2028 2878 2052 6561 6c29 l_real ((x Real)\n-00004280: 2028 7920 5265 616c 2929 2042 6f6f 6c20 (y Real)) Bool \n-00004290: 283e 2078 2079 2929 2229 0a76 616c 2028 (> x y))\").val (\n-000042a0: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln(\"(def\n-000042b0: 696e 652d 6675 6e20 6c74 655f 7265 616c ine-fun lte_real\n-000042c0: 5f72 6561 6c20 2828 7820 5265 616c 2920 _real ((x Real) \n-000042d0: 2879 2052 6561 6c29 2920 426f 6f6c 2028 (y Real)) Bool (\n-000042e0: 3c3d 2078 2079 2929 2229 0a76 616c 2028 <= x y))\").val (\n-000042f0: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln(\"(def\n-00004300: 696e 652d 6675 6e20 6774 655f 7265 616c ine-fun gte_real\n-00004310: 5f72 6561 6c20 2828 7820 5265 616c 2920 _real ((x Real) \n-00004320: 2879 2052 6561 6c29 2920 426f 6f6c 2028 (y Real)) Bool (\n-00004330: 3e3d 2078 2079 2929 2229 0a76 616c 2028 >= x y))\").val (\n-00004340: 2920 3d20 656d 6974 6c6e 2822 2864 6566 ) = emitln(\"(def\n-00004350: 696e 652d 6675 6e20 6e65 715f 7265 616c ine-fun neq_real\n-00004360: 5f72 6561 6c20 2828 7820 5265 616c 2920 _real ((x Real) \n-00004370: 2879 2052 6561 6c29 2920 426f 6f6c 2028 (y Real)) Bool (\n-00004380: 6e6f 7420 283d 2078 2079 2929 2922 290a not (= x y)))\").\n-00004390: 2f2f 0a76 616c 2028 2920 3d20 656d 6974 //.val () = emit\n-000043a0: 6c6e 2822 2864 6566 696e 652d 6675 6e20 ln(\"(define-fun \n-000043b0: 6d61 785f 7265 616c 5f72 6561 6c20 2828 max_real_real ((\n-000043c0: 7820 5265 616c 2920 2879 2052 6561 6c29 x Real) (y Real)\n-000043d0: 2920 5265 616c 2028 6974 6520 283e 3d20 ) Real (ite (>= \n-000043e0: 7820 7929 2078 2079 2929 2229 0a76 616c x y) x y))\").val\n-000043f0: 2028 2920 3d20 656d 6974 6c6e 2822 2864 () = emitln(\"(d\n-00004400: 6566 696e 652d 6675 6e20 6d69 6e5f 7265 efine-fun min_re\n-00004410: 616c 5f72 6561 6c20 2828 7820 5265 616c al_real ((x Real\n-00004420: 2920 2879 2052 6561 6c29 2920 5265 616c ) (y Real)) Real\n-00004430: 2028 6974 6520 283c 3d20 7820 7929 2078 (ite (<= x y) x\n-00004440: 2079 2929 2229 0a2f 2f0a 7661 6c20 2829 y))\").//.val ()\n-00004450: 203d 2065 6d69 746c 6e28 2228 6465 6669 = emitln(\"(defi\n-00004460: 6e65 2d66 756e 2073 676e 5f72 6561 6c20 ne-fun sgn_real \n-00004470: 2828 7820 5265 616c 2929 2049 6e74 2028 ((x Real)) Int (\n-00004480: 6974 6520 283e 2078 2030 2e30 2920 3120 ite (> x 0.0) 1 \n-00004490: 2869 7465 2028 3e3d 2078 2030 2e30 2920 (ite (>= x 0.0) \n-000044a0: 3020 282d 2031 2929 2929 2229 0a2f 2f0a 0 (- 1))))\").//.\n-000044b0: 7d20 282a 2065 6e64 206f 6620 5b65 6d69 } (* end of [emi\n-000044c0: 745f 7072 6561 6d62 6c65 5f72 6561 6c5d t_preamble_real]\n-000044d0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** *\n-000044e0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem\n-000044f0: 656e 740a 656d 6974 5f74 6865 5f73 3263 ent.emit_the_s2c\n-00004500: 7374 6d61 700a 2020 286f 7574 2920 3d20 stmap. (out) = \n-00004510: 2829 2077 6865 7265 0a7b 0a2f 2f0a 6d61 () where.{.//.ma\n-00004520: 6364 6566 0a65 6d69 746c 6e28 7829 203d cdef.emitln(x) =\n-00004530: 2066 7072 696e 746c 6e21 2028 6f75 742c fprintln! (out,\n-00004540: 202c 2878 2929 0a2f 2f0a 6675 6e0a 6175 ,(x)).//.fun.au\n-00004550: 786c 7374 0a28 0a20 2073 3263 733a 2073 xlst.(. s2cs: s\n-00004560: 3263 7374 6c73 740a 2920 3a20 766f 6964 2cstlst.) : void\n-00004570: 203d 2028 0a2f 2f0a 6361 7365 2b20 7332 = (.//.case+ s2\n-00004580: 6373 206f 660a 7c20 6c69 7374 5f6e 696c cs of.| list_nil\n-00004590: 2829 203d 3e20 2829 0a7c 206c 6973 745f () => ().| list_\n-000045a0: 636f 6e73 2873 3263 2c20 7332 6373 2920 cons(s2c, s2cs) \n-000045b0: 3d3e 206c 6574 0a20 2020 2076 616c 206e => let. val n\n-000045c0: 3020 3d20 7332 6373 745f 6765 745f 6e75 0 = s2cst_get_nu\n-000045d0: 7365 6428 7332 6329 0a20 2020 2076 616c sed(s2c). val\n-000045e0: 2028 2920 3d0a 2020 2020 2020 6966 206e () =. if n\n-000045f0: 3020 3e20 3020 7468 656e 2065 6d69 745f 0 > 0 then emit_\n-00004600: 6465 636c 5f73 3263 7374 286f 7574 2c20 decl_s2cst(out, \n-00004610: 7332 6329 0a20 2020 202f 2f20 656e 6420 s2c). // end \n-00004620: 6f66 205b 7661 6c5d 0a20 2069 6e0a 2020 of [val]. in. \n-00004630: 2020 6175 786c 7374 2873 3263 7329 0a20 auxlst(s2cs). \n-00004640: 2065 6e64 202f 2f20 656e 6420 6f66 205b end // end of [\n-00004650: 6c69 7374 5f63 6f6e 735d 0a2f 2f0a 2920 list_cons].//.) \n-00004660: 282a 2065 6e64 206f 6620 5b61 7578 6c73 (* end of [auxls\n-00004670: 745d 202a 290a 2f2f 0a76 616c 2073 3263 t] *).//.val s2c\n-00004680: 7320 3d20 7468 655f 7332 6373 746d 6170 s = the_s2cstmap\n-00004690: 5f6c 6973 7469 7a65 2829 0a2f 2f0a 7661 _listize().//.va\n-000046a0: 6c20 2829 203d 2065 6d69 746c 6e28 223b l () = emitln(\";\n-000046b0: 3b22 290a 7661 6c20 2829 203d 2065 6d69 ;\").val () = emi\n-000046c0: 746c 6e28 223b 3b65 6d69 745f 7468 655f tln(\";;emit_the_\n-000046d0: 7332 6373 746d 6170 2829 2229 0a76 616c s2cstmap()\").val\n-000046e0: 2028 2920 3d20 656d 6974 6c6e 2822 3b3b () = emitln(\";;\n-000046f0: 2229 0a2f 2f0a 7661 6c20 2828 2a76 6f69 \").//.val ((*voi\n-00004700: 642a 2929 203d 2061 7578 6c73 7428 2455 d*)) = auxlst($U\n-00004710: 4e2e 6c69 7374 5f76 7432 7428 7332 6373 N.list_vt2t(s2cs\n-00004720: 2929 0a2f 2f0a 7661 6c20 2828 2a66 7265 )).//.val ((*fre\n-00004730: 6564 2a29 2920 3d20 6c69 7374 5f76 745f ed*)) = list_vt_\n-00004740: 6672 6565 2873 3263 7329 0a2f 2f0a 7d20 free(s2cs).//.} \n-00004750: 282a 2065 6e64 206f 6620 5b65 6d69 745f (* end of [emit_\n-00004760: 7468 655f 7332 6373 746d 6170 5d20 2a29 the_s2cstmap] *)\n-00004770: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00004780: 2a2a 202a 290a 0a28 2a20 656e 6420 6f66 ** *)..(* end of\n-00004790: 205b 7061 7473 6f6c 7665 5f73 6d74 325f [patsolve_smt2_\n-000047a0: 736f 6c76 696e 675f 656d 6974 2e64 6174 solving_emit.dat\n-000047b0: 735d 202a 290a s] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_form.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_form.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,186 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS\n-00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN\n-00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include \"./my\n-000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats\".#en\n-000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i\n-000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* ***\n-000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = \"p\n-000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa\n-00000100: 6665 2e73 6174 7322 0a2f 2f0a 7374 616c fe.sats\".//.stal\n-00000110: 6f61 6420 222e 2f70 6174 736f 6c76 655f oad \"./patsolve_\n-00000120: 736d 7432 5f73 6f6c 7669 6e67 5f63 7478 smt2_solving_ctx\n-00000130: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats\".//.(* ***\n-00000140: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-00000150: 0a69 6d70 6c65 6d65 6e74 0a70 7269 6e74 .implement.print\n-00000160: 5f66 6f72 6d28 7830 2920 3d0a 2020 6670 _form(x0) =. fp\n-00000170: 7269 6e74 5f66 6f72 6d28 7374 646f 7574 rint_form(stdout\n-00000180: 5f72 6566 2c20 7830 290a 696d 706c 656d _ref, x0).implem\n-00000190: 656e 740a 7072 6572 725f 666f 726d 2878 ent.prerr_form(x\n-000001a0: 3029 203d 0a20 2066 7072 696e 745f 666f 0) =. fprint_fo\n-000001b0: 726d 2873 7464 6572 725f 7265 662c 2078 rm(stderr_ref, x\n-000001c0: 3029 0a2f 2f0a 696d 706c 656d 656e 740a 0).//.implement.\n-000001d0: 6670 7269 6e74 5f66 6f72 6d0a 2020 286f fprint_form. (o\n-000001e0: 7574 2c20 7830 2920 3d20 280a 2f2f 0a63 ut, x0) = (.//.c\n-000001f0: 6173 652b 2078 3020 6f66 0a7c 2046 4f52 ase+ x0 of.| FOR\n-00000200: 4d69 6e74 2869 2920 3d3e 0a20 2066 7072 Mint(i) =>. fpr\n-00000210: 696e 7421 2028 6f75 742c 2022 464f 524d int! (out, \"FORM\n-00000220: 696e 7428 222c 2069 2c20 2229 2229 0a7c int(\", i, \")\").|\n-00000230: 2046 4f52 4d62 6f6f 6c28 6229 203d 3e0a FORMbool(b) =>.\n-00000240: 2020 6670 7269 6e74 2120 286f 7574 2c20 fprint! (out, \n-00000250: 2246 4f52 4d69 6e74 2822 2c20 622c 2022 \"FORMint(\", b, \"\n-00000260: 2922 290a 7c20 464f 524d 696e 7472 6570 )\").| FORMintrep\n-00000270: 2872 6570 2920 3d3e 0a20 2066 7072 696e (rep) =>. fprin\n-00000280: 7421 2028 6f75 742c 2022 464f 524d 696e t! (out, \"FORMin\n-00000290: 7472 6570 2822 2c20 7265 702c 2022 2922 trep(\", rep, \")\"\n-000002a0: 290a 2f2f 0a7c 2046 4f52 4d73 3276 6172 ).//.| FORMs2var\n-000002b0: 2873 3276 2920 3d3e 0a20 2066 7072 696e (s2v) =>. fprin\n-000002c0: 7421 2028 6f75 742c 2022 464f 524d 7332 t! (out, \"FORMs2\n-000002d0: 7661 7228 222c 2073 3276 2c20 2229 2229 var(\", s2v, \")\")\n-000002e0: 0a7c 2046 4f52 4d73 3263 7374 2873 3263 .| FORMs2cst(s2c\n-000002f0: 2920 3d3e 0a20 2066 7072 696e 7421 2028 ) =>. fprint! (\n-00000300: 6f75 742c 2022 464f 524d 7332 7661 7228 out, \"FORMs2var(\n-00000310: 222c 2073 3263 2c20 2229 2229 0a2f 2f0a \", s2c, \")\").//.\n-00000320: 7c20 464f 524d 7332 6578 7028 7332 6529 | FORMs2exp(s2e)\n-00000330: 203d 3e0a 2020 6670 7269 6e74 2120 286f =>. fprint! (o\n-00000340: 7574 2c20 2246 4f52 4d73 3265 7870 2822 ut, \"FORMs2exp(\"\n-00000350: 2c20 7332 652c 2022 2922 290a 2f2f 0a7c , s2e, \")\").//.|\n-00000360: 2046 4f52 4d6e 6f74 2866 6d6c 2920 3d3e FORMnot(fml) =>\n-00000370: 0a20 2028 0a20 2020 2066 7072 696e 7420 . (. fprint \n-00000380: 286f 7574 2c20 2246 4f52 4d6e 6f74 2822 (out, \"FORMnot(\"\n-00000390: 293b 0a20 2020 2066 7072 696e 745f 666f );. fprint_fo\n-000003a0: 726d 286f 7574 2c20 666d 6c29 3b20 6670 rm(out, fml); fp\n-000003b0: 7269 6e74 2028 6f75 742c 2022 2922 290a rint (out, \")\").\n-000003c0: 2020 290a 7c20 464f 524d 636f 6e6a 2866 ).| FORMconj(f\n-000003d0: 6d6c 312c 2066 6d6c 3229 203d 3e0a 2020 ml1, fml2) =>. \n-000003e0: 280a 2020 2020 6670 7269 6e74 2028 6f75 (. fprint (ou\n-000003f0: 742c 2022 464f 524d 636f 6e6a 2822 293b t, \"FORMconj(\");\n-00000400: 0a20 2020 2066 7072 696e 745f 666f 726d . fprint_form\n-00000410: 286f 7574 2c20 666d 6c31 293b 2066 7072 (out, fml1); fpr\n-00000420: 696e 745f 666f 726d 286f 7574 2c20 666d int_form(out, fm\n-00000430: 6c32 293b 2066 7072 696e 7420 286f 7574 l2); fprint (out\n-00000440: 2c20 2229 2229 0a20 2029 0a7c 2046 4f52 , \")\"). ).| FOR\n-00000450: 4d64 6973 6a28 666d 6c31 2c20 666d 6c32 Mdisj(fml1, fml2\n-00000460: 2920 3d3e 0a20 2028 0a20 2020 2066 7072 ) =>. (. fpr\n-00000470: 696e 7420 286f 7574 2c20 2246 4f52 4d64 int (out, \"FORMd\n-00000480: 6973 6a28 2229 3b0a 2020 2020 6670 7269 isj(\");. fpri\n-00000490: 6e74 5f66 6f72 6d28 6f75 742c 2066 6d6c nt_form(out, fml\n-000004a0: 3129 3b20 6670 7269 6e74 5f66 6f72 6d28 1); fprint_form(\n-000004b0: 6f75 742c 2066 6d6c 3229 3b20 6670 7269 out, fml2); fpri\n-000004c0: 6e74 2028 6f75 742c 2022 2922 290a 2020 nt (out, \")\"). \n-000004d0: 290a 7c20 464f 524d 696d 706c 2866 6d6c ).| FORMimpl(fml\n-000004e0: 312c 2066 6d6c 3229 203d 3e0a 2020 280a 1, fml2) =>. (.\n-000004f0: 2020 2020 6670 7269 6e74 2028 6f75 742c fprint (out,\n-00000500: 2022 464f 524d 696d 706c 2822 293b 0a20 \"FORMimpl(\");. \n-00000510: 2020 2066 7072 696e 745f 666f 726d 286f fprint_form(o\n-00000520: 7574 2c20 666d 6c31 293b 2066 7072 696e ut, fml1); fprin\n-00000530: 745f 666f 726d 286f 7574 2c20 666d 6c32 t_form(out, fml2\n-00000540: 293b 2066 7072 696e 7420 286f 7574 2c20 ); fprint (out, \n-00000550: 2229 2229 0a20 2029 0a2f 2f0a 2920 282a \")\"). ).//.) (*\n-00000560: 2065 6e64 206f 6620 5b66 7072 696e 745f end of [fprint_\n-00000570: 666f 726d 5d20 2a29 0a2f 2f0a 282a 202a form] *).//.(* *\n-00000580: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000590: 2f2f 0a69 6d70 6c65 6d65 6e74 0a66 6f72 //.implement.for\n-000005a0: 6d75 6c61 5f6e 756c 6c0a 2020 2828 2a76 mula_null. ((*v\n-000005b0: 6f69 642a 2929 203d 2046 4f52 4d69 6e74 oid*)) = FORMint\n-000005c0: 2830 290a 2f2f 0a28 2a20 2a2a 2a2a 2a2a (0).//.(* ******\n-000005d0: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 696d ****** *).//.im\n-000005e0: 706c 656d 656e 740a 666f 726d 756c 615f plement.formula_\n-000005f0: 7472 7565 0a20 2028 282a 766f 6964 2a29 true. ((*void*)\n-00000600: 2920 3d20 464f 524d 626f 6f6c 2874 7275 ) = FORMbool(tru\n-00000610: 6529 0a69 6d70 6c65 6d65 6e74 0a66 6f72 e).implement.for\n-00000620: 6d75 6c61 5f66 616c 7365 0a20 2028 282a mula_false. ((*\n-00000630: 766f 6964 2a29 2920 3d20 464f 524d 626f void*)) = FORMbo\n-00000640: 6f6c 2866 616c 7365 290a 2f2f 0a28 2a20 ol(false).//.(* \n-00000650: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000660: 0a2f 2f0a 696d 706c 656d 656e 740a 666f .//.implement.fo\n-00000670: 726d 756c 615f 696e 740a 2020 2869 6e74 rmula_int. (int\n-00000680: 2920 3d20 464f 524d 696e 7428 696e 7429 ) = FORMint(int)\n-00000690: 0a69 6d70 6c65 6d65 6e74 0a66 6f72 6d75 .implement.formu\n-000006a0: 6c61 5f69 6e74 7265 700a 2020 2872 6570 la_intrep. (rep\n-000006b0: 2920 3d20 464f 524d 696e 7472 6570 2872 ) = FORMintrep(r\n-000006c0: 6570 290a 2f2f 2020 0a28 2a20 2a2a 2a2a ep).// .(* ****\n-000006d0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-000006e0: 696d 706c 656d 656e 740a 666f 726d 756c implement.formul\n-000006f0: 615f 6d61 6b65 5f73 3263 7374 0a20 2028 a_make_s2cst. (\n-00000700: 656e 762c 2073 3263 3029 203d 2046 4f52 env, s2c0) = FOR\n-00000710: 4d73 3263 7374 2873 3263 3029 0a69 6d70 Ms2cst(s2c0).imp\n-00000720: 6c65 6d65 6e74 0a66 6f72 6d75 6c61 5f6d lement.formula_m\n-00000730: 616b 655f 7332 7661 720a 2020 2865 6e76 ake_s2var. (env\n-00000740: 2c20 7332 7630 2920 3d20 464f 524d 7332 , s2v0) = FORMs2\n-00000750: 7661 7228 7332 7630 290a 696d 706c 656d var(s2v0).implem\n-00000760: 656e 740a 666f 726d 756c 615f 6d61 6b65 ent.formula_make\n-00000770: 5f73 3265 7870 0a20 2028 656e 762c 2073 _s2exp. (env, s\n-00000780: 3270 3029 203d 2046 4f52 4d73 3265 7870 2p0) = FORMs2exp\n-00000790: 2873 3270 3029 0a2f 2f0a 282a 202a 2a2a (s2p0).//.(* ***\n-000007a0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i\n-000007b0: 6d70 6c65 6d65 6e74 0a66 6f72 6d75 6c61 mplement.formula\n-000007c0: 5f6e 6f74 2873 3270 2920 3d20 464f 524d _not(s2p) = FORM\n-000007d0: 6e6f 7428 7332 7029 0a0a 282a 202a 2a2a not(s2p)..(* ***\n-000007e0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i\n-000007f0: 6d70 6c65 6d65 6e74 0a66 6f72 6d75 6c61 mplement.formula\n-00000800: 5f63 6f6e 6a5f 6c69 7374 0a20 2028 7332 _conj_list. (s2\n-00000810: 6573 2920 3d20 6c65 740a 2f2f 0a66 756e es) = let.//.fun\n-00000820: 0a61 7578 0a28 0a20 2073 3265 303a 2066 .aux.(. s2e0: f\n-00000830: 6f72 6d2c 2073 3265 733a 2066 6f72 6d6c orm, s2es: forml\n-00000840: 7374 0a29 203a 2066 6f72 6d20 3d20 280a st.) : form = (.\n-00000850: 2f2f 0a63 6173 652b 2073 3265 7320 6f66 //.case+ s2es of\n-00000860: 0a7c 206c 6973 745f 6e69 6c0a 2020 2020 .| list_nil. \n-00000870: 2828 2a76 6f69 642a 2929 203d 3e20 7332 ((*void*)) => s2\n-00000880: 6530 0a7c 206c 6973 745f 636f 6e73 0a20 e0.| list_cons. \n-00000890: 2020 2028 7332 6531 2c20 7332 6573 3229 (s2e1, s2es2)\n-000008a0: 203d 3e0a 2020 2020 6175 7828 464f 524d =>. aux(FORM\n-000008b0: 636f 6e6a 2873 3265 302c 2073 3265 3129 conj(s2e0, s2e1)\n-000008c0: 2c20 7332 6573 3229 0a2f 2f0a 2920 282a , s2es2).//.) (*\n-000008d0: 2065 6e64 206f 6620 5b61 7578 5d20 2a29 end of [aux] *)\n-000008e0: 0a2f 2f0a 696e 0a2f 2f0a 6361 7365 2b20 .//.in.//.case+ \n-000008f0: 7332 6573 206f 660a 7c20 6c69 7374 5f6e s2es of.| list_n\n-00000900: 696c 2829 203d 3e20 464f 524d 626f 6f6c il() => FORMbool\n-00000910: 2874 7275 6529 0a7c 206c 6973 745f 636f (true).| list_co\n-00000920: 6e73 2873 3265 2c20 7332 6573 2920 3d3e ns(s2e, s2es) =>\n-00000930: 2061 7578 2873 3265 2c20 7332 6573 290a aux(s2e, s2es).\n-00000940: 2f2f 0a65 6e64 202f 2f20 656e 6420 6f66 //.end // end of\n-00000950: 205b 666f 726d 756c 615f 636f 6e6a 5f6c [formula_conj_l\n-00000960: 6973 745d 0a0a 282a 202a 2a2a 2a2a 2a20 ist]..(* ****** \n-00000970: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple\n-00000980: 6d65 6e74 0a66 6f72 6d75 6c61 5f63 6f6e ment.formula_con\n-00000990: 6a5f 6c69 7374 310a 2020 2873 3265 735f j_list1. (s2es_\n-000009a0: 6172 672c 2073 3265 5f72 6573 2920 3d20 arg, s2e_res) = \n-000009b0: 6c65 740a 696e 0a2f 2f0a 6361 7365 2b20 let.in.//.case+ \n-000009c0: 7332 6573 5f61 7267 206f 660a 7c20 6c69 s2es_arg of.| li\n-000009d0: 7374 5f6e 696c 2829 203d 3e20 7332 655f st_nil() => s2e_\n-000009e0: 7265 730a 7c20 6c69 7374 5f63 6f6e 7320 res.| list_cons \n-000009f0: 5f20 3d3e 0a20 2020 2046 4f52 4d63 6f6e _ =>. FORMcon\n-00000a00: 6a28 666f 726d 756c 615f 636f 6e6a 5f6c j(formula_conj_l\n-00000a10: 6973 7428 7332 6573 5f61 7267 292c 2073 ist(s2es_arg), s\n-00000a20: 3265 5f72 6573 290a 2020 2f2f 2065 6e64 2e_res). // end\n-00000a30: 206f 6620 5b6c 6973 745f 636f 6e73 5d0a of [list_cons].\n-00000a40: 2f2f 0a65 6e64 202f 2f20 656e 6420 6f66 //.end // end of\n-00000a50: 205b 666f 726d 756c 615f 636f 6e6a 5f6c [formula_conj_l\n-00000a60: 6973 7431 5d0a 0a69 6d70 6c65 6d65 6e74 ist1]..implement\n-00000a70: 0a66 6f72 6d75 6c61 5f69 6d70 6c5f 6c69 .formula_impl_li\n-00000a80: 7374 310a 2020 2873 3265 735f 6172 672c st1. (s2es_arg,\n-00000a90: 2073 3265 5f72 6573 2920 3d20 6c65 740a s2e_res) = let.\n-00000aa0: 696e 0a2f 2f0a 6361 7365 2b20 7332 6573 in.//.case+ s2es\n-00000ab0: 5f61 7267 206f 660a 7c20 6c69 7374 5f6e _arg of.| list_n\n-00000ac0: 696c 2829 203d 3e20 7332 655f 7265 730a il() => s2e_res.\n-00000ad0: 7c20 6c69 7374 5f63 6f6e 7320 5f20 3d3e | list_cons _ =>\n-00000ae0: 0a20 2020 2046 4f52 4d69 6d70 6c28 666f . FORMimpl(fo\n-00000af0: 726d 756c 615f 636f 6e6a 5f6c 6973 7428 rmula_conj_list(\n-00000b00: 7332 6573 5f61 7267 292c 2073 3265 5f72 s2es_arg), s2e_r\n-00000b10: 6573 290a 2020 2f2f 2065 6e64 206f 6620 es). // end of \n-00000b20: 5b6c 6973 745f 636f 6e73 5d0a 2f2f 0a65 [list_cons].//.e\n-00000b30: 6e64 202f 2f20 656e 6420 6f66 205b 666f nd // end of [fo\n-00000b40: 726d 756c 615f 696d 706c 5f6c 6973 7431 rmula_impl_list1\n-00000b50: 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a ]..(* ****** ***\n-00000b60: 2a2a 2a20 2a29 0a0a 282a 2065 6e64 206f *** *)..(* end o\n-00000b70: 6620 5b70 6174 736f 6c76 655f 7a33 5f73 f [patsolve_z3_s\n-00000b80: 6f6c 7669 6e67 5f66 6f72 6d2e 6461 7473 olving_form.dats\n-00000b90: 5d20 2a29 0a ] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_interp.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_interp.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,201 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS\n-00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN\n-00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include \"./my\n-000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats\".#en\n-000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i\n-000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* ***\n-000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = \"p\n-000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa\n-00000100: 6665 2e73 6174 7322 0a2f 2f0a 282a 202a fe.sats\".//.(* *\n-00000110: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000120: 0a6c 6f63 616c 0a0a 7479 7065 6465 660a .local..typedef.\n-00000130: 6b65 7920 3d20 7374 7269 6e67 2061 6e64 key = string and\n-00000140: 2069 746d 203d 2069 6e74 0a0a 696e 2028 itm = int..in (\n-00000150: 2a20 696e 2d6f 662d 6c6f 6361 6c20 2a29 * in-of-local *)\n-00000160: 0a0a 2369 6e63 6c75 6465 2022 6c69 6261 ..#include \"liba\n-00000170: 7473 2f4d 4c2f 4841 5453 2f6d 7968 6173 ts/ML/HATS/myhas\n-00000180: 6874 626c 7265 662e 6861 7473 220a 0a65 htblref.hats\"..e\n-00000190: 6e64 202f 2f20 656e 6420 6f66 205b 6c6f nd // end of [lo\n-000001a0: 6361 6c5d 0a0a 282a 202a 2a2a 2a2a 2a20 cal]..(* ****** \n-000001b0: 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 616c ****** *)..local\n-000001c0: 0a2f 2f0a 7661 6c0a 7468 655f 7332 6369 .//.val.the_s2ci\n-000001d0: 6e74 6572 705f 6d61 7020 3d0a 2020 6d79 nterp_map =. my\n-000001e0: 6861 7368 7462 6c5f 6d61 6b65 5f6e 696c hashtbl_make_nil\n-000001f0: 2831 3032 3429 0a2f 2f0a 6675 6e0a 7332 (1024).//.fun.s2\n-00000200: 6369 6e74 6572 705f 696e 7365 7274 286e cinterp_insert(n\n-00000210: 616d 653a 2073 7472 696e 6729 3a20 766f ame: string): vo\n-00000220: 6964 203d 0a7b 0a2f 2f0a 7661 6c2d 7e4e id =.{.//.val-~N\n-00000230: 6f6e 655f 7674 2829 203d 0a20 206d 7968 one_vt() =. myh\n-00000240: 6173 6874 626c 5f69 6e73 6572 7428 7468 ashtbl_insert(th\n-00000250: 655f 7332 6369 6e74 6572 705f 6d61 702c e_s2cinterp_map,\n-00000260: 206e 616d 652c 2030 290a 2f2f 2065 6e64 name, 0).// end\n-00000270: 206f 6620 5b76 616c 5d0a 7d20 282a 2065 of [val].} (* e\n-00000280: 6e64 206f 6620 5b73 3263 696e 7465 7270 nd of [s2cinterp\n-00000290: 5f69 6e73 6572 745d 202a 290a 2f2f 0a69 _insert] *).//.i\n-000002a0: 6e20 282a 2069 6e2d 6f66 2d6c 6f63 616c n (* in-of-local\n-000002b0: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement\n-000002c0: 0a73 3263 7374 5f67 6574 5f73 3263 696e .s2cst_get_s2cin\n-000002d0: 7465 7270 0a20 2028 7332 6329 203d 206c terp. (s2c) = l\n-000002e0: 6574 0a2f 2f0a 7661 6c20 7074 7220 3d0a et.//.val ptr =.\n-000002f0: 2020 7332 6373 745f 6765 745f 7061 796c s2cst_get_payl\n-00000300: 6f61 6428 7332 6329 0a2f 2f0a 696e 0a2f oad(s2c).//.in./\n-00000310: 2f0a 6966 0a70 7472 203e 2030 0a74 6865 /.if.ptr > 0.the\n-00000320: 6e20 2455 4e2e 6361 7374 7b73 3263 7374 n $UN.cast{s2cst\n-00000330: 6f70 747d 2870 7472 290a 656c 7365 206c opt}(ptr).else l\n-00000340: 6574 0a2f 2f0a 7661 6c20 6b65 7920 3d20 et.//.val key = \n-00000350: 7379 6d62 6f6c 5f67 6574 5f6e 616d 6528 symbol_get_name(\n-00000360: 7332 632e 6e61 6d65 2829 290a 7661 6c20 s2c.name()).val \n-00000370: 6f70 7420 3d20 6d79 6861 7368 7462 6c5f opt = myhashtbl_\n-00000380: 7365 6172 6368 2874 6865 5f73 3263 696e search(the_s2cin\n-00000390: 7465 7270 5f6d 6170 2c20 6b65 7929 0a76 terp_map, key).v\n-000003a0: 616c 2069 746d 203d 0a28 0a20 2063 6173 al itm =.(. cas\n-000003b0: 652b 206f 7074 206f 660a 2020 7c20 7e4e e+ opt of. | ~N\n-000003c0: 6f6e 655f 7674 205f 203d 3e20 4e6f 6e65 one_vt _ => None\n-000003d0: 2829 207c 207e 536f 6d65 5f76 7420 5f20 () | ~Some_vt _ \n-000003e0: 3d3e 2053 6f6d 6528 7332 6329 0a29 203a => Some(s2c).) :\n-000003f0: 2073 3263 7374 6f70 7420 2f2f 2065 6e64 s2cstopt // end\n-00000400: 206f 6620 5b76 616c 5d0a 7661 6c20 2829 of [val].val ()\n-00000410: 203d 2073 3263 7374 5f73 6574 5f70 6179 = s2cst_set_pay\n-00000420: 6c6f 6164 2873 3263 2c20 2455 4e2e 6361 load(s2c, $UN.ca\n-00000430: 7374 7b70 7472 7d28 6974 6d29 290a 2f2f st{ptr}(itm)).//\n-00000440: 0a69 6e0a 2020 6974 6d0a 656e 6420 2f2f .in. itm.end //\n-00000450: 2065 6e64 206f 6620 5b65 6c73 655d 0a2f end of [else]./\n-00000460: 2f0a 656e 6420 2f2f 2065 6e64 206f 6620 /.end // end of \n-00000470: 5b73 3263 7374 5f67 6574 5f73 3263 696e [s2cst_get_s2cin\n-00000480: 7465 7270 5d0a 2f2f 0a69 6d70 6c65 6d65 terp].//.impleme\n-00000490: 6e74 0a74 6865 5f73 3263 696e 7465 7270 nt.the_s2cinterp\n-000004a0: 5f69 6e69 7469 7a65 2829 203d 0a7b 0a2f _initize() =.{./\n-000004b0: 2f0a 6d61 6364 6566 0a69 6e73 6572 7420 /.macdef.insert \n-000004c0: 3d20 7332 6369 6e74 6572 705f 696e 7365 = s2cinterp_inse\n-000004d0: 7274 0a2f 2f0a 7661 6c20 2829 203d 2069 rt.//.val () = i\n-000004e0: 6e73 6572 7428 2275 6e69 745f 7022 290a nsert(\"unit_p\").\n-000004f0: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse\n-00000500: 7274 2822 6e65 675f 696e 7422 290a 7661 rt(\"neg_int\").va\n-00000510: 6c20 2829 203d 2069 6e73 6572 7428 2261 l () = insert(\"a\n-00000520: 6273 5f69 6e74 2229 0a76 616c 2028 2920 bs_int\").val () \n-00000530: 3d20 696e 7365 7274 2822 7367 6e5f 696e = insert(\"sgn_in\n-00000540: 7422 290a 2f2f 0a76 616c 2028 2920 3d20 t\").//.val () = \n-00000550: 696e 7365 7274 2822 6164 645f 696e 745f insert(\"add_int_\n-00000560: 696e 7422 290a 7661 6c20 2829 203d 2069 int\").val () = i\n-00000570: 6e73 6572 7428 2273 7562 5f69 6e74 5f69 nsert(\"sub_int_i\n-00000580: 6e74 2229 0a76 616c 2028 2920 3d20 696e nt\").val () = in\n-00000590: 7365 7274 2822 6d75 6c5f 696e 745f 696e sert(\"mul_int_in\n-000005a0: 7422 290a 7661 6c20 2829 203d 2069 6e73 t\").val () = ins\n-000005b0: 6572 7428 2264 6976 5f69 6e74 5f69 6e74 ert(\"div_int_int\n-000005c0: 2229 0a76 616c 2028 2920 3d20 696e 7365 \").val () = inse\n-000005d0: 7274 2822 6d6f 645f 696e 745f 696e 7422 rt(\"mod_int_int\"\n-000005e0: 290a 2f2f 0a76 616c 2028 2920 3d20 696e ).//.val () = in\n-000005f0: 7365 7274 2822 6964 6976 5f69 6e74 5f69 sert(\"idiv_int_i\n-00000600: 6e74 2229 0a76 616c 2028 2920 3d20 696e nt\").val () = in\n-00000610: 7365 7274 2822 6e64 6976 5f69 6e74 5f69 sert(\"ndiv_int_i\n-00000620: 6e74 2229 0a2f 2f0a 7661 6c20 2829 203d nt\").//.val () =\n-00000630: 2069 6e73 6572 7428 2265 715f 696e 745f insert(\"eq_int_\n-00000640: 696e 7422 290a 7661 6c20 2829 203d 2069 int\").val () = i\n-00000650: 6e73 6572 7428 226c 745f 696e 745f 696e nsert(\"lt_int_in\n-00000660: 7422 290a 7661 6c20 2829 203d 2069 6e73 t\").val () = ins\n-00000670: 6572 7428 2267 745f 696e 745f 696e 7422 ert(\"gt_int_int\"\n-00000680: 290a 7661 6c20 2829 203d 2069 6e73 6572 ).val () = inser\n-00000690: 7428 226c 7465 5f69 6e74 5f69 6e74 2229 t(\"lte_int_int\")\n-000006a0: 0a76 616c 2028 2920 3d20 696e 7365 7274 .val () = insert\n-000006b0: 2822 6774 655f 696e 745f 696e 7422 290a (\"gte_int_int\").\n-000006c0: 7661 6c20 2829 203d 2069 6e73 6572 7428 val () = insert(\n-000006d0: 226e 6571 5f69 6e74 5f69 6e74 2229 0a2f \"neq_int_int\")./\n-000006e0: 2f0a 7661 6c20 2829 203d 2069 6e73 6572 /.val () = inser\n-000006f0: 7428 226d 6178 5f69 6e74 5f69 6e74 2229 t(\"max_int_int\")\n-00000700: 0a76 616c 2028 2920 3d20 696e 7365 7274 .val () = insert\n-00000710: 2822 6d69 6e5f 696e 745f 696e 7422 290a (\"min_int_int\").\n-00000720: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse\n-00000730: 7274 2822 6e75 6c6c 5f61 6464 7222 290a rt(\"null_addr\").\n-00000740: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse\n-00000750: 7274 2822 6164 645f 6164 6472 5f69 6e74 rt(\"add_addr_int\n-00000760: 2229 0a76 616c 2028 2920 3d20 696e 7365 \").val () = inse\n-00000770: 7274 2822 7375 625f 6164 6472 5f69 6e74 rt(\"sub_addr_int\n-00000780: 2229 0a2f 2f0a 7661 6c20 2829 203d 2069 \").//.val () = i\n-00000790: 6e73 6572 7428 226c 745f 6164 6472 5f61 nsert(\"lt_addr_a\n-000007a0: 6464 7222 290a 7661 6c20 2829 203d 2069 ddr\").val () = i\n-000007b0: 6e73 6572 7428 2267 745f 6164 6472 5f61 nsert(\"gt_addr_a\n-000007c0: 6464 7222 290a 7661 6c20 2829 203d 2069 ddr\").val () = i\n-000007d0: 6e73 6572 7428 226c 7465 5f61 6464 725f nsert(\"lte_addr_\n-000007e0: 6164 6472 2229 0a76 616c 2028 2920 3d20 addr\").val () = \n-000007f0: 696e 7365 7274 2822 6774 655f 6164 6472 insert(\"gte_addr\n-00000800: 5f61 6464 7222 290a 7661 6c20 2829 203d _addr\").val () =\n-00000810: 2069 6e73 6572 7428 2265 715f 6164 6472 insert(\"eq_addr\n-00000820: 5f61 6464 7222 290a 7661 6c20 2829 203d _addr\").val () =\n-00000830: 2069 6e73 6572 7428 226e 6571 5f61 6464 insert(\"neq_add\n-00000840: 725f 6164 6472 2229 0a2f 2f0a 7661 6c20 r_addr\").//.val \n-00000850: 2829 203d 2069 6e73 6572 7428 2274 7275 () = insert(\"tru\n-00000860: 655f 626f 6f6c 2229 0a76 616c 2028 2920 e_bool\").val () \n-00000870: 3d20 696e 7365 7274 2822 6661 6c73 655f = insert(\"false_\n-00000880: 626f 6f6c 2229 0a2f 2f0a 7661 6c20 2829 bool\").//.val ()\n-00000890: 203d 2069 6e73 6572 7428 226e 6567 5f62 = insert(\"neg_b\n-000008a0: 6f6f 6c22 290a 2f2f 0a76 616c 2028 2920 ool\").//.val () \n-000008b0: 3d20 696e 7365 7274 2822 6164 645f 626f = insert(\"add_bo\n-000008c0: 6f6c 5f62 6f6f 6c22 290a 7661 6c20 2829 ol_bool\").val ()\n-000008d0: 203d 2069 6e73 6572 7428 226d 756c 5f62 = insert(\"mul_b\n-000008e0: 6f6f 6c5f 626f 6f6c 2229 0a2f 2f0a 7661 ool_bool\").//.va\n-000008f0: 6c20 2829 203d 2069 6e73 6572 7428 2265 l () = insert(\"e\n-00000900: 715f 626f 6f6c 5f62 6f6f 6c22 290a 7661 q_bool_bool\").va\n-00000910: 6c20 2829 203d 2069 6e73 6572 7428 226c l () = insert(\"l\n-00000920: 745f 626f 6f6c 5f62 6f6f 6c22 290a 7661 t_bool_bool\").va\n-00000930: 6c20 2829 203d 2069 6e73 6572 7428 2267 l () = insert(\"g\n-00000940: 745f 626f 6f6c 5f62 6f6f 6c22 290a 7661 t_bool_bool\").va\n-00000950: 6c20 2829 203d 2069 6e73 6572 7428 226c l () = insert(\"l\n-00000960: 7465 5f62 6f6f 6c5f 626f 6f6c 2229 0a76 te_bool_bool\").v\n-00000970: 616c 2028 2920 3d20 696e 7365 7274 2822 al () = insert(\"\n-00000980: 6774 655f 626f 6f6c 5f62 6f6f 6c22 290a gte_bool_bool\").\n-00000990: 7661 6c20 2829 203d 2069 6e73 6572 7428 val () = insert(\n-000009a0: 226e 6571 5f62 6f6f 6c5f 626f 6f6c 2229 \"neq_bool_bool\")\n-000009b0: 0a2f 2f0a 2f2f 0a76 616c 2028 2920 3d20 .//.//.val () = \n-000009c0: 696e 7365 7274 2822 696e 7432 7265 616c insert(\"int2real\n-000009d0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2069 \").//.val () = i\n-000009e0: 6e73 6572 7428 226e 6567 5f72 6561 6c22 nsert(\"neg_real\"\n-000009f0: 290a 7661 6c20 2829 203d 2069 6e73 6572 ).val () = inser\n-00000a00: 7428 2261 6273 5f72 6561 6c22 290a 7661 t(\"abs_real\").va\n-00000a10: 6c20 2829 203d 2069 6e73 6572 7428 2273 l () = insert(\"s\n-00000a20: 676e 5f72 6561 6c22 290a 7661 6c20 2829 gn_real\").val ()\n-00000a30: 203d 2069 6e73 6572 7428 2266 6c6f 6f72 = insert(\"floor\n-00000a40: 5f72 6561 6c22 290a 2f2f 0a76 616c 2028 _real\").//.val (\n-00000a50: 2920 3d20 696e 7365 7274 2822 6164 645f ) = insert(\"add_\n-00000a60: 7265 616c 5f72 6561 6c22 290a 7661 6c20 real_real\").val \n-00000a70: 2829 203d 2069 6e73 6572 7428 2273 7562 () = insert(\"sub\n-00000a80: 5f72 6561 6c5f 7265 616c 2229 0a76 616c _real_real\").val\n-00000a90: 2028 2920 3d20 696e 7365 7274 2822 6d75 () = insert(\"mu\n-00000aa0: 6c5f 7265 616c 5f72 6561 6c22 290a 7661 l_real_real\").va\n-00000ab0: 6c20 2829 203d 2069 6e73 6572 7428 2264 l () = insert(\"d\n-00000ac0: 6976 5f72 6561 6c5f 7265 616c 2229 0a76 iv_real_real\").v\n-00000ad0: 616c 2028 2920 3d20 696e 7365 7274 2822 al () = insert(\"\n-00000ae0: 6d6f 645f 7265 616c 5f72 6561 6c22 290a mod_real_real\").\n-00000af0: 2f2f 0a76 616c 2028 2920 3d20 696e 7365 //.val () = inse\n-00000b00: 7274 2822 6571 5f72 6561 6c5f 7265 616c rt(\"eq_real_real\n-00000b10: 2229 0a76 616c 2028 2920 3d20 696e 7365 \").val () = inse\n-00000b20: 7274 2822 6c74 5f72 6561 6c5f 7265 616c rt(\"lt_real_real\n-00000b30: 2229 0a76 616c 2028 2920 3d20 696e 7365 \").val () = inse\n-00000b40: 7274 2822 6774 5f72 6561 6c5f 7265 616c rt(\"gt_real_real\n-00000b50: 2229 0a76 616c 2028 2920 3d20 696e 7365 \").val () = inse\n-00000b60: 7274 2822 6c74 655f 7265 616c 5f72 6561 rt(\"lte_real_rea\n-00000b70: 6c22 290a 7661 6c20 2829 203d 2069 6e73 l\").val () = ins\n-00000b80: 6572 7428 2267 7465 5f72 6561 6c5f 7265 ert(\"gte_real_re\n-00000b90: 616c 2229 0a76 616c 2028 2920 3d20 696e al\").val () = in\n-00000ba0: 7365 7274 2822 6e65 715f 7265 616c 5f72 sert(\"neq_real_r\n-00000bb0: 6561 6c22 290a 2f2f 0a76 616c 2028 2920 eal\").//.val () \n-00000bc0: 3d20 696e 7365 7274 2822 6d61 785f 7265 = insert(\"max_re\n-00000bd0: 616c 5f72 6561 6c22 290a 7661 6c20 2829 al_real\").val ()\n-00000be0: 203d 2069 6e73 6572 7428 226d 696e 5f72 = insert(\"min_r\n-00000bf0: 6561 6c5f 7265 616c 2229 0a2f 2f0a 2f2f eal_real\").//.//\n-00000c00: 0a7d 2028 2a20 656e 6420 6f66 205b 7468 .} (* end of [th\n-00000c10: 655f 7332 6369 6e74 6572 705f 696e 6974 e_s2cinterp_init\n-00000c20: 697a 655d 202a 290a 0a65 6e64 202f 2f20 ize] *)..end // \n-00000c30: 656e 6420 6f66 205b 6c6f 6361 6c5d 0a0a end of [local]..\n-00000c40: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000c50: 202a 290a 0a28 2a20 656e 6420 6f66 205b *)..(* end of [\n-00000c60: 7061 7473 6f6c 7665 5f73 6d74 325f 736f patsolve_smt2_so\n-00000c70: 6c76 696e 675f 696e 7465 7270 2e64 6174 lving_interp.dat\n-00000c80: 735d 202a 290a s] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_smtenv.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/SOLVING/patsolve_smt2_solving_smtenv.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,404 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a2f 2f0a 2369 666e 6465 660a 5041 5453 .//.#ifndef.PATS\n-00000080: 4f4c 5645 5f53 4d54 325f 534f 4c56 494e OLVE_SMT2_SOLVIN\n-00000090: 470a 2369 6e63 6c75 6465 2022 2e2f 6d79 G.#include \"./my\n-000000a0: 6865 6164 6572 2e68 6174 7322 0a23 656e header.hats\".#en\n-000000b0: 6469 6620 2f2f 2065 6e64 206f 6620 5b69 dif // end of [i\n-000000c0: 666e 6465 665d 0a2f 2f0a 282a 202a 2a2a fndef].//.(* ***\n-000000d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000000e0: 0a73 7461 6c6f 6164 0a55 4e20 3d20 2270 .staload.UN = \"p\n-000000f0: 7265 6c75 6465 2f53 4154 532f 756e 7361 relude/SATS/unsa\n-00000100: 6665 2e73 6174 7322 0a2f 2f0a 7374 616c fe.sats\".//.stal\n-00000110: 6f61 6420 222e 2f70 6174 736f 6c76 655f oad \"./patsolve_\n-00000120: 736d 7432 5f73 6f6c 7669 6e67 5f63 7478 smt2_solving_ctx\n-00000130: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats\".//.(* ***\n-00000140: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-00000150: 0a65 7874 6572 6e0a 6675 6e0a 534d 5432 .extern.fun.SMT2\n-00000160: 5f61 7373 6572 7428 656e 763a 2021 736d _assert(env: !sm\n-00000170: 7465 6e76 2c20 666f 726d 293a 2076 6f69 tenv, form): voi\n-00000180: 640a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a d.//.(* ****** *\n-00000190: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6461 7461 ***** *).//.data\n-000001a0: 7674 7970 650a 534d 5432 5f73 6f6c 7665 vtype.SMT2_solve\n-000001b0: 7220 3d0a 534d 5432 5f53 4f4c 5645 5220 r =.SMT2_SOLVER \n-000001c0: 6f66 204c 6973 7430 5f76 7428 736f 6c76 of List0_vt(solv\n-000001d0: 6572 636d 6429 0a2f 2f0a 282a 202a 2a2a ercmd).//.(* ***\n-000001e0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000001f0: 0a66 756e 0a53 4d54 325f 736f 6c76 6572 .fun.SMT2_solver\n-00000200: 5f70 6f70 0a28 0a20 2073 6f6c 7665 723a _pop.(. solver:\n-00000210: 2021 534d 5432 5f73 6f6c 7665 720a 2920 !SMT2_solver.) \n-00000220: 3a20 766f 6964 203d 0a7b 0a2f 2f0a 7661 : void =.{.//.va\n-00000230: 6c2b 4053 4d54 325f 534f 4c56 4552 2878 l+@SMT2_SOLVER(x\n-00000240: 7329 203d 2073 6f6c 7665 720a 7661 6c20 s) = solver.val \n-00000250: 2828 2a76 6f69 642a 2929 203d 0a28 0a2f ((*void*)) =.(./\n-00000260: 2f0a 7873 203a 3d0a 6c69 7374 5f76 745f /.xs :=.list_vt_\n-00000270: 636f 6e73 2853 4f4c 5645 5243 4d44 706f cons(SOLVERCMDpo\n-00000280: 7028 292c 2078 7329 0a2f 2f0a 2920 282a p(), xs).//.) (*\n-00000290: 2065 6e64 206f 6620 5b76 616c 5d20 2a29 end of [val] *)\n-000002a0: 0a70 7276 616c 2028 282a 666f 6c64 6564 .prval ((*folded\n-000002b0: 2a29 2920 3d20 666f 6c64 4028 736f 6c76 *)) = fold@(solv\n-000002c0: 6572 290a 7d20 282a 2065 6e64 206f 6620 er).} (* end of \n-000002d0: 5b53 4d54 325f 736f 6c76 6572 5f70 6f70 [SMT2_solver_pop\n-000002e0: 5d20 2a29 0a2f 2f0a 6675 6e0a 534d 5432 ] *).//.fun.SMT2\n-000002f0: 5f73 6f6c 7665 725f 7075 7368 0a28 0a20 _solver_push.(. \n-00000300: 2073 6f6c 7665 723a 2021 534d 5432 5f73 solver: !SMT2_s\n-00000310: 6f6c 7665 720a 2920 3a20 766f 6964 203d olver.) : void =\n-00000320: 0a7b 0a76 616c 2b40 534d 5432 5f53 4f4c .{.val+@SMT2_SOL\n-00000330: 5645 5228 7873 2920 3d20 736f 6c76 6572 VER(xs) = solver\n-00000340: 0a76 616c 2028 282a 766f 6964 2a29 2920 .val ((*void*)) \n-00000350: 3d0a 280a 2f2f 0a78 7320 3a3d 0a6c 6973 =.(.//.xs :=.lis\n-00000360: 745f 7674 5f63 6f6e 7328 534f 4c56 4552 t_vt_cons(SOLVER\n-00000370: 434d 4470 7573 6828 292c 2078 7329 0a2f CMDpush(), xs)./\n-00000380: 2f0a 2920 282a 2065 6e64 206f 6620 5b76 /.) (* end of [v\n-00000390: 616c 5d20 2a29 0a70 7276 616c 2028 282a al] *).prval ((*\n-000003a0: 666f 6c64 6564 2a29 2920 3d20 666f 6c64 folded*)) = fold\n-000003b0: 4028 736f 6c76 6572 290a 7d20 282a 2065 @(solver).} (* e\n-000003c0: 6e64 206f 6620 5b53 4d54 325f 736f 6c76 nd of [SMT2_solv\n-000003d0: 6572 5f70 7573 685d 202a 290a 2f2f 0a28 er_push] *).//.(\n-000003e0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-000003f0: 2a29 0a0a 6675 6e0a 534d 5432 5f73 6f6c *)..fun.SMT2_sol\n-00000400: 7665 725f 6563 686f 6c6f 630a 280a 2020 ver_echoloc.(. \n-00000410: 736f 6c76 6572 3a20 2153 4d54 325f 736f solver: !SMT2_so\n-00000420: 6c76 6572 2c20 6c6f 633a 206c 6f63 5f74 lver, loc: loc_t\n-00000430: 0a29 203a 2076 6f69 6420 3d0a 7b0a 7661 .) : void =.{.va\n-00000440: 6c2b 4053 4d54 325f 534f 4c56 4552 2878 l+@SMT2_SOLVER(x\n-00000450: 7329 203d 2073 6f6c 7665 720a 7661 6c20 s) = solver.val \n-00000460: 2828 2a76 6f69 642a 2929 203d 0a28 0a2f ((*void*)) =.(./\n-00000470: 2f0a 7873 203a 3d0a 6c69 7374 5f76 745f /.xs :=.list_vt_\n-00000480: 636f 6e73 2853 4f4c 5645 5243 4d44 6563 cons(SOLVERCMDec\n-00000490: 686f 6c6f 6328 6c6f 6329 2c20 7873 290a holoc(loc), xs).\n-000004a0: 2f2f 0a29 2028 2a20 656e 6420 6f66 205b //.) (* end of [\n-000004b0: 7661 6c5d 202a 290a 7072 7661 6c20 2828 val] *).prval ((\n-000004c0: 2a66 6f6c 6465 642a 2929 203d 2066 6f6c *folded*)) = fol\n-000004d0: 6440 2873 6f6c 7665 7229 0a2f 2f0a 7d20 d@(solver).//.} \n-000004e0: 282a 2065 6e64 206f 6620 5b53 4d54 325f (* end of [SMT2_\n-000004f0: 736f 6c76 6572 5f65 6368 6f6c 6f63 5d20 solver_echoloc] \n-00000500: 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a *)..(* ****** **\n-00000510: 2a2a 2a2a 202a 290a 2f2f 0a66 756e 0a53 **** *).//.fun.S\n-00000520: 4d54 325f 736f 6c76 6572 5f63 6865 636b MT2_solver_check\n-00000530: 7361 740a 280a 2020 736f 6c76 6572 3a20 sat.(. solver: \n-00000540: 2153 4d54 325f 736f 6c76 6572 0a29 203a !SMT2_solver.) :\n-00000550: 2076 6f69 6420 3d0a 7b0a 7661 6c2b 4053 void =.{.val+@S\n-00000560: 4d54 325f 534f 4c56 4552 2878 7329 203d MT2_SOLVER(xs) =\n-00000570: 2073 6f6c 7665 720a 7661 6c20 2828 2a76 solver.val ((*v\n-00000580: 6f69 642a 2929 203d 0a28 0a2f 2f0a 2020 oid*)) =.(.//. \n-00000590: 7873 203a 3d0a 2020 6c69 7374 5f76 745f xs :=. list_vt_\n-000005a0: 636f 6e73 2853 4f4c 5645 5243 4d44 6368 cons(SOLVERCMDch\n-000005b0: 6563 6b73 6174 2829 2c20 7873 290a 2f2f ecksat(), xs).//\n-000005c0: 0a29 2028 2a20 656e 6420 6f66 205b 7661 .) (* end of [va\n-000005d0: 6c5d 202a 290a 7072 7661 6c20 2828 2a66 l] *).prval ((*f\n-000005e0: 6f6c 6465 642a 2929 203d 2066 6f6c 6440 olded*)) = fold@\n-000005f0: 2873 6f6c 7665 7229 0a7d 2028 2a20 656e (solver).} (* en\n-00000600: 6420 6f66 205b 534d 5432 5f73 6f6c 7665 d of [SMT2_solve\n-00000610: 725f 6368 6563 6b73 6174 5d20 2a29 0a2f r_checksat] *)./\n-00000620: 2f0a 6675 6e0a 534d 5432 5f73 6f6c 7665 /.fun.SMT2_solve\n-00000630: 725f 6173 7365 7274 0a28 0a20 2073 6f6c r_assert.(. sol\n-00000640: 7665 723a 2021 534d 5432 5f73 6f6c 7665 ver: !SMT2_solve\n-00000650: 722c 2066 6d6c 3a20 666f 726d 0a29 203a r, fml: form.) :\n-00000660: 2076 6f69 6420 3d0a 7b0a 2f2f 0a76 616c void =.{.//.val\n-00000670: 2b40 534d 5432 5f53 4f4c 5645 5228 7873 +@SMT2_SOLVER(xs\n-00000680: 2920 3d20 736f 6c76 6572 0a76 616c 2028 ) = solver.val (\n-00000690: 282a 766f 6964 2a29 2920 3d0a 280a 2020 (*void*)) =.(. \n-000006a0: 7873 203a 3d20 6c69 7374 5f76 745f 636f xs := list_vt_co\n-000006b0: 6e73 2853 4f4c 5645 5243 4d44 6173 7365 ns(SOLVERCMDasse\n-000006c0: 7274 2866 6d6c 292c 2078 7329 0a29 2028 rt(fml), xs).) (\n-000006d0: 2a20 656e 6420 6f66 205b 7661 6c5d 202a * end of [val] *\n-000006e0: 290a 7072 7661 6c20 2828 2a66 6f6c 6465 ).prval ((*folde\n-000006f0: 642a 2929 203d 2066 6f6c 6440 2873 6f6c d*)) = fold@(sol\n-00000700: 7665 7229 0a2f 2f0a 7d20 282a 2065 6e64 ver).//.} (* end\n-00000710: 206f 6620 5b53 4d54 325f 736f 6c76 6572 of [SMT2_solver\n-00000720: 5f61 7373 6572 745d 202a 290a 2f2f 0a28 _assert] *).//.(\n-00000730: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000740: 2a29 0a2f 2f0a 6675 6e0a 534d 5432 5f73 *).//.fun.SMT2_s\n-00000750: 6f6c 7665 725f 706f 7065 6e76 0a28 0a20 olver_popenv.(. \n-00000760: 2073 6f6c 7665 723a 2021 534d 5432 5f73 solver: !SMT2_s\n-00000770: 6f6c 7665 722c 2073 3276 733a 2073 3276 olver, s2vs: s2v\n-00000780: 6172 6c73 740a 2920 3a20 766f 6964 203d arlst.) : void =\n-00000790: 0a7b 0a2f 2f0a 7661 6c20 7332 7673 203d .{.//.val s2vs =\n-000007a0: 0a6c 6973 745f 7674 3274 286c 6973 745f .list_vt2t(list_\n-000007b0: 7265 7665 7273 6528 7332 7673 2929 0a2f reverse(s2vs))./\n-000007c0: 2f0a 7661 6c2b 4053 4d54 325f 534f 4c56 /.val+@SMT2_SOLV\n-000007d0: 4552 2878 7329 203d 2073 6f6c 7665 720a ER(xs) = solver.\n-000007e0: 7661 6c20 2828 2a76 6f69 642a 2929 203d val ((*void*)) =\n-000007f0: 0a28 0a20 2078 7320 3a3d 0a20 206c 6973 .(. xs :=. lis\n-00000800: 745f 7674 5f63 6f6e 7328 534f 4c56 4552 t_vt_cons(SOLVER\n-00000810: 434d 4470 6f70 656e 7628 7332 7673 292c CMDpopenv(s2vs),\n-00000820: 2078 7329 0a29 2028 2a20 656e 6420 6f66 xs).) (* end of\n-00000830: 205b 7661 6c5d 202a 290a 2f2f 0a70 7276 [val] *).//.prv\n-00000840: 616c 2028 282a 666f 6c64 6564 2a29 2920 al ((*folded*)) \n-00000850: 3d20 666f 6c64 4028 736f 6c76 6572 290a = fold@(solver).\n-00000860: 2f2f 0a7d 2028 2a20 656e 6420 6f66 205b //.} (* end of [\n-00000870: 534d 5432 5f73 6f6c 7665 725f 706f 7065 SMT2_solver_pope\n-00000880: 6e76 5d20 2a29 0a2f 2f0a 6675 6e0a 534d nv] *).//.fun.SM\n-00000890: 5432 5f73 6f6c 7665 725f 7075 7368 656e T2_solver_pushen\n-000008a0: 760a 2020 2873 6f6c 7665 723a 2021 534d v. (solver: !SM\n-000008b0: 5432 5f73 6f6c 7665 7229 3a20 766f 6964 T2_solver): void\n-000008c0: 203d 0a7b 0a2f 2f0a 7661 6c2b 4053 4d54 =.{.//.val+@SMT\n-000008d0: 325f 534f 4c56 4552 2878 7329 203d 2073 2_SOLVER(xs) = s\n-000008e0: 6f6c 7665 720a 7661 6c20 2828 2a76 6f69 olver.val ((*voi\n-000008f0: 642a 2929 203d 0a28 0a20 2078 7320 3a3d d*)) =.(. xs :=\n-00000900: 206c 6973 745f 7674 5f63 6f6e 7328 534f list_vt_cons(SO\n-00000910: 4c56 4552 434d 4470 7573 6865 6e76 2829 LVERCMDpushenv()\n-00000920: 2c20 7873 290a 2920 282a 2065 6e64 206f , xs).) (* end o\n-00000930: 6620 5b76 616c 5d20 2a29 0a2f 2f0a 7072 f [val] *).//.pr\n-00000940: 7661 6c20 2828 2a66 6f6c 6465 642a 2929 val ((*folded*))\n-00000950: 203d 2066 6f6c 6440 2873 6f6c 7665 7229 = fold@(solver)\n-00000960: 0a2f 2f0a 7d20 282a 2065 6e64 206f 6620 .//.} (* end of \n-00000970: 5b53 4d54 325f 736f 6c76 6572 5f70 7573 [SMT2_solver_pus\n-00000980: 6865 6e76 5d20 2a29 0a2f 2f0a 282a 202a henv] *).//.(* *\n-00000990: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-000009a0: 2f2f 0a66 756e 0a53 4d54 325f 736f 6c76 //.fun.SMT2_solv\n-000009b0: 6572 5f67 6574 6672 6565 0a28 0a20 2073 er_getfree.(. s\n-000009c0: 6f6c 7665 723a 2053 4d54 325f 736f 6c76 olver: SMT2_solv\n-000009d0: 6572 0a29 203a 204c 6973 7430 5f76 7428 er.) : List0_vt(\n-000009e0: 736f 6c76 6572 636d 6429 203d 0a20 2078 solvercmd) =. x\n-000009f0: 7320 7768 6572 650a 7b0a 2f2f 0a76 616c s where.{.//.val\n-00000a00: 2b7e 534d 5432 5f53 4f4c 5645 5228 7873 +~SMT2_SOLVER(xs\n-00000a10: 2920 3d20 736f 6c76 6572 0a2f 2f0a 7d20 ) = solver.//.} \n-00000a20: 282a 2065 6e64 206f 6620 5b53 4d54 325f (* end of [SMT2_\n-00000a30: 736f 6c76 6572 5f67 6574 6672 6565 5d20 solver_getfree] \n-00000a40: 2a29 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 *).//.(* ****** \n-00000a50: 2a2a 2a2a 2a2a 202a 290a 0a64 6174 6176 ****** *)..datav\n-00000a60: 7479 7065 0a73 6d74 656e 7620 3d0a 534d type.smtenv =.SM\n-00000a70: 5445 4e56 206f 660a 280a 2020 736d 7465 TENV of.(. smte\n-00000a80: 6e76 5f73 7472 7563 740a 2920 7768 6572 nv_struct.) wher\n-00000a90: 6520 736d 7465 6e76 5f73 7472 7563 7420 e smtenv_struct \n-00000aa0: 3d20 407b 0a2f 2f0a 736d 7465 6e76 5f73 = @{.//.smtenv_s\n-00000ab0: 6f6c 7665 723d 2053 4d54 325f 736f 6c76 olver= SMT2_solv\n-00000ac0: 6572 0a2c 0a73 6d74 656e 765f 7332 7661 er.,.smtenv_s2va\n-00000ad0: 726c 7374 203d 2073 3276 6172 6c73 740a rlst = s2varlst.\n-00000ae0: 2c0a 736d 7465 6e76 5f73 3276 6172 6c73 ,.smtenv_s2varls\n-00000af0: 746c 7374 203d 204c 6973 7430 5f76 7428 tlst = List0_vt(\n-00000b00: 7332 7661 726c 7374 290a 2f2f 0a7d 2028 s2varlst).//.} (\n-00000b10: 2a20 656e 6420 6f66 205b 736d 7465 6e76 * end of [smtenv\n-00000b20: 5f73 7472 7563 745d 202a 290a 0a28 2a20 _struct] *)..(* \n-00000b30: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000b40: 0a2f 2f0a 6578 7465 726e 0a66 756e 0a73 .//.extern.fun.s\n-00000b50: 6d74 656e 765f 7332 7661 726c 7374 6c73 mtenv_s2varlstls\n-00000b60: 745f 7674 5f66 7265 650a 2020 2878 7373 t_vt_free. (xss\n-00000b70: 3a20 4c69 7374 305f 7674 2873 3276 6172 : List0_vt(s2var\n-00000b80: 6c73 7429 293a 2076 6f69 640a 2f2f 0a69 lst)): void.//.i\n-00000b90: 6d70 6c65 6d65 6e74 0a73 6d74 656e 765f mplement.smtenv_\n-00000ba0: 7332 7661 726c 7374 6c73 745f 7674 5f66 s2varlstlst_vt_f\n-00000bb0: 7265 6528 7873 7329 203d 206c 6973 745f ree(xss) = list_\n-00000bc0: 7674 5f66 7265 6528 7873 7329 0a2f 2f0a vt_free(xss).//.\n-00000bd0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000be0: 202a 290a 0a61 7373 756d 6520 736d 7465 *)..assume smte\n-00000bf0: 6e76 5f76 7479 7065 203d 2073 6d74 656e nv_vtype = smten\n-00000c00: 760a 6173 7375 6d65 2073 6d74 656e 765f v.assume smtenv_\n-00000c10: 7075 7368 5f76 203d 2075 6e69 745f 760a push_v = unit_v.\n-00000c20: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000c30: 2a20 2a29 0a0a 696d 706c 656d 656e 740a * *)..implement.\n-00000c40: 736d 7465 6e76 5f63 7265 6174 650a 2020 smtenv_create. \n-00000c50: 2829 203d 2065 6e76 2077 6865 7265 0a7b () = env where.{\n-00000c60: 0a2f 2f0a 7661 6c20 656e 7620 3d20 534d .//.val env = SM\n-00000c70: 5445 4e56 285f 290a 2f2f 0a76 616c 2b53 TENV(_).//.val+S\n-00000c80: 4d54 454e 5628 656e 765f 7329 203d 2065 MTENV(env_s) = e\n-00000c90: 6e76 0a2f 2f0a 7661 6c20 2829 203d 0a28 nv.//.val () =.(\n-00000ca0: 0a20 2065 6e76 5f73 2e73 6d74 656e 765f . env_s.smtenv_\n-00000cb0: 736f 6c76 6572 203a 3d20 534d 5432 5f53 solver := SMT2_S\n-00000cc0: 4f4c 5645 5228 6e69 6c5f 7674 290a 290a OLVER(nil_vt).).\n-00000cd0: 2f2f 0a76 616c 2028 2920 3d20 656e 765f //.val () = env_\n-00000ce0: 732e 736d 7465 6e76 5f73 3276 6172 6c73 s.smtenv_s2varls\n-00000cf0: 7420 3a3d 206e 696c 2828 2a76 6f69 642a t := nil((*void*\n-00000d00: 2929 0a76 616c 2028 2920 3d20 656e 765f )).val () = env_\n-00000d10: 732e 736d 7465 6e76 5f73 3276 6172 6c73 s.smtenv_s2varls\n-00000d20: 746c 7374 203a 3d20 6e69 6c5f 7674 282a tlst := nil_vt(*\n-00000d30: 766f 6964 2a29 0a2f 2f0a 7072 7661 6c20 void*).//.prval \n-00000d40: 2829 203d 2066 6f6c 6440 2865 6e76 290a () = fold@(env).\n-00000d50: 2f2f 0a7d 2028 2a20 656e 6420 6f66 205b //.} (* end of [\n-00000d60: 736d 7465 6e76 5f63 7265 6174 655d 202a smtenv_create] *\n-00000d70: 290a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a )..(* ****** ***\n-00000d80: 2a2a 2a20 2a29 0a0a 696d 706c 656d 656e *** *)..implemen\n-00000d90: 740a 736d 7465 6e76 5f64 6573 7472 6f79 t.smtenv_destroy\n-00000da0: 0a20 2028 656e 7629 203d 2078 7320 7768 . (env) = xs wh\n-00000db0: 6572 650a 7b0a 2f2f 0a76 616c 2b7e 534d ere.{.//.val+~SM\n-00000dc0: 5445 4e56 2865 6e76 5f73 2920 3d20 656e TENV(env_s) = en\n-00000dd0: 760a 2f2f 0a76 616c 2078 7320 3d20 534d v.//.val xs = SM\n-00000de0: 5432 5f73 6f6c 7665 725f 6765 7466 7265 T2_solver_getfre\n-00000df0: 6528 656e 765f 732e 736d 7465 6e76 5f73 e(env_s.smtenv_s\n-00000e00: 6f6c 7665 7229 0a76 616c 2028 2920 3d20 olver).val () = \n-00000e10: 736d 7465 6e76 5f73 3276 6172 6c73 746c smtenv_s2varlstl\n-00000e20: 7374 5f76 745f 6672 6565 2865 6e76 5f73 st_vt_free(env_s\n-00000e30: 2e73 6d74 656e 765f 7332 7661 726c 7374 .smtenv_s2varlst\n-00000e40: 6c73 7429 0a2f 2f0a 7d20 282a 2065 6e64 lst).//.} (* end\n-00000e50: 206f 6620 5b73 6d74 656e 765f 6465 7374 of [smtenv_dest\n-00000e60: 726f 795d 202a 290a 0a28 2a20 2a2a 2a2a roy] *)..(* ****\n-00000e70: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im\n-00000e80: 706c 656d 656e 740a 736d 7465 6e76 5f70 plement.smtenv_p\n-00000e90: 6f70 0a20 2028 7066 207c 2065 6e76 2920 op. (pf | env) \n-00000ea0: 3d20 6c65 740a 2f2f 0a70 7276 616c 0a75 = let.//.prval.u\n-00000eb0: 6e69 745f 7628 282a 766f 6964 2a29 2920 nit_v((*void*)) \n-00000ec0: 3d20 7066 0a2f 2f0a 7661 6c2b 4053 4d54 = pf.//.val+@SMT\n-00000ed0: 454e 5628 656e 765f 7329 203d 2065 6e76 ENV(env_s) = env\n-00000ee0: 0a2f 2f0a 7661 6c20 2828 2a76 6f69 642a .//.val ((*void*\n-00000ef0: 2929 203d 0a53 4d54 325f 736f 6c76 6572 )) =.SMT2_solver\n-00000f00: 5f70 6f70 656e 760a 280a 2020 656e 765f _popenv.(. env_\n-00000f10: 732e 736d 7465 6e76 5f73 6f6c 7665 720a s.smtenv_solver.\n-00000f20: 2c20 656e 765f 732e 736d 7465 6e76 5f73 , env_s.smtenv_s\n-00000f30: 3276 6172 6c73 740a 290a 7661 6c20 7332 2varlst.).val s2\n-00000f40: 7673 7320 3d20 656e 765f 732e 736d 7465 vss = env_s.smte\n-00000f50: 6e76 5f73 3276 6172 6c73 746c 7374 0a76 nv_s2varlstlst.v\n-00000f60: 616c 2d7e 6c69 7374 5f76 745f 636f 6e73 al-~list_vt_cons\n-00000f70: 2873 3276 732c 2073 3276 7373 2920 3d20 (s2vs, s2vss) = \n-00000f80: 7332 7673 730a 7661 6c20 2828 2a76 6f69 s2vss.val ((*voi\n-00000f90: 642a 2929 203d 2065 6e76 5f73 2e73 6d74 d*)) = env_s.smt\n-00000fa0: 656e 765f 7332 7661 726c 7374 203a 3d20 env_s2varlst := \n-00000fb0: 7332 7673 0a76 616c 2028 282a 766f 6964 s2vs.val ((*void\n-00000fc0: 2a29 2920 3d20 656e 765f 732e 736d 7465 *)) = env_s.smte\n-00000fd0: 6e76 5f73 3276 6172 6c73 746c 7374 203a nv_s2varlstlst :\n-00000fe0: 3d20 7332 7673 730a 2f2f 0a70 7276 616c = s2vss.//.prval\n-00000ff0: 2028 282a 666f 6c64 6564 2a29 2920 3d20 ((*folded*)) = \n-00001000: 666f 6c64 4028 656e 7629 0a2f 2f0a 696e fold@(env).//.in\n-00001010: 0a20 202f 2f20 6e6f 7468 696e 670a 656e . // nothing.en\n-00001020: 6420 2f2f 2065 6e64 206f 6620 5b73 6d74 d // end of [smt\n-00001030: 656e 765f 706f 705d 0a0a 282a 202a 2a2a env_pop]..(* ***\n-00001040: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i\n-00001050: 6d70 6c65 6d65 6e74 0a73 6d74 656e 765f mplement.smtenv_\n-00001060: 7075 7368 0a20 2028 656e 7629 203d 206c push. (env) = l\n-00001070: 6574 0a2f 2f0a 7661 6c2b 4053 4d54 454e et.//.val+@SMTEN\n-00001080: 5628 656e 765f 7329 203d 2065 6e76 0a2f V(env_s) = env./\n-00001090: 2f0a 7661 6c20 2828 2a76 6f69 642a 2929 /.val ((*void*))\n-000010a0: 203d 0a20 2053 4d54 325f 736f 6c76 6572 =. SMT2_solver\n-000010b0: 5f70 7573 6865 6e76 2865 6e76 5f73 2e73 _pushenv(env_s.s\n-000010c0: 6d74 656e 765f 736f 6c76 6572 290a 2f2f mtenv_solver).//\n-000010d0: 0a76 616c 2073 3276 7320 3d20 656e 765f .val s2vs = env_\n-000010e0: 732e 736d 7465 6e76 5f73 3276 6172 6c73 s.smtenv_s2varls\n-000010f0: 740a 7661 6c20 7332 7673 7320 3d20 656e t.val s2vss = en\n-00001100: 765f 732e 736d 7465 6e76 5f73 3276 6172 v_s.smtenv_s2var\n-00001110: 6c73 746c 7374 0a76 616c 2028 282a 766f lstlst.val ((*vo\n-00001120: 6964 2a29 2920 3d0a 2020 656e 765f 732e id*)) =. env_s.\n-00001130: 736d 7465 6e76 5f73 3276 6172 6c73 7420 smtenv_s2varlst \n-00001140: 3a3d 206e 696c 2828 2a76 6f69 642a 2929 := nil((*void*))\n-00001150: 0a76 616c 2028 282a 766f 6964 2a29 2920 .val ((*void*)) \n-00001160: 3d0a 2020 656e 765f 732e 736d 7465 6e76 =. env_s.smtenv\n-00001170: 5f73 3276 6172 6c73 746c 7374 203a 3d20 _s2varlstlst := \n-00001180: 636f 6e73 5f76 7428 7332 7673 2c20 7332 cons_vt(s2vs, s2\n-00001190: 7673 7329 0a2f 2f0a 7072 7661 6c20 2828 vss).//.prval ((\n-000011a0: 2a66 6f6c 6465 642a 2929 203d 2066 6f6c *folded*)) = fol\n-000011b0: 6440 2865 6e76 290a 2f2f 0a69 6e0a 2020 d@(env).//.in. \n-000011c0: 2875 6e69 745f 7628 2920 7c20 2829 290a (unit_v() | ()).\n-000011d0: 656e 6420 2f2f 2065 6e64 206f 6620 5b73 end // end of [s\n-000011e0: 6d74 656e 765f 7075 7368 5d0a 0a28 2a20 mtenv_push]..(* \n-000011f0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00001200: 0a0a 696d 706c 656d 656e 740a 736d 7465 ..implement.smte\n-00001210: 6e76 5f61 6464 5f73 3276 6172 0a20 2028 nv_add_s2var. (\n-00001220: 656e 762c 2073 3276 3029 203d 2028 2920 env, s2v0) = () \n-00001230: 7768 6572 650a 7b0a 2f2f 0a76 616c 2b40 where.{.//.val+@\n-00001240: 534d 5445 4e56 2865 6e76 5f73 2920 3d20 SMTENV(env_s) = \n-00001250: 656e 760a 2f2f 0a76 616c 2073 3276 7320 env.//.val s2vs \n-00001260: 3d20 656e 765f 732e 736d 7465 6e76 5f73 = env_s.smtenv_s\n-00001270: 3276 6172 6c73 740a 7661 6c20 2828 2a76 2varlst.val ((*v\n-00001280: 6f69 642a 2929 203d 0a20 2065 6e76 5f73 oid*)) =. env_s\n-00001290: 2e73 6d74 656e 765f 7332 7661 726c 7374 .smtenv_s2varlst\n-000012a0: 203a 3d20 636f 6e73 2873 3276 302c 2073 := cons(s2v0, s\n-000012b0: 3276 7329 0a70 7276 616c 2028 282a 766f 2vs).prval ((*vo\n-000012c0: 6964 2a29 2920 3d20 666f 6c64 4028 656e id*)) = fold@(en\n-000012d0: 7629 0a2f 2f0a 7d20 282a 2065 6e64 206f v).//.} (* end o\n-000012e0: 6620 5b73 6d74 656e 765f 6164 645f 7332 f [smtenv_add_s2\n-000012f0: 7661 725d 202a 290a 0a28 2a20 2a2a 2a2a var] *)..(* ****\n-00001300: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im\n-00001310: 706c 656d 656e 740a 736d 7465 6e76 5f61 plement.smtenv_a\n-00001320: 6464 5f73 3265 7870 0a20 2028 656e 762c dd_s2exp. (env,\n-00001330: 2073 3270 3029 203d 0a7b 0a2f 2f0a 7661 s2p0) =.{.//.va\n-00001340: 6c0a 7332 7030 203d 0a66 6f72 6d75 6c61 l.s2p0 =.formula\n-00001350: 5f6d 616b 655f 7332 6578 700a 2020 2865 _make_s2exp. (e\n-00001360: 6e76 2c20 7332 7030 290a 2f2f 0a76 616c nv, s2p0).//.val\n-00001370: 2b0a 4053 4d54 454e 5628 656e 765f 7329 +.@SMTENV(env_s)\n-00001380: 203d 2065 6e76 0a2f 2f0a 7661 6c20 2828 = env.//.val ((\n-00001390: 2a76 6f69 642a 2929 203d 0a53 4d54 325f *void*)) =.SMT2_\n-000013a0: 736f 6c76 6572 5f61 7373 6572 7428 656e solver_assert(en\n-000013b0: 765f 732e 736d 7465 6e76 5f73 6f6c 7665 v_s.smtenv_solve\n-000013c0: 722c 2073 3270 3029 0a2f 2f0a 7072 7661 r, s2p0).//.prva\n-000013d0: 6c20 2828 2a66 6f6c 6465 642a 2929 203d l ((*folded*)) =\n-000013e0: 2066 6f6c 6440 2865 6e76 290a 2f2f 0a7d fold@(env).//.}\n-000013f0: 2028 2a20 656e 6420 6f66 205b 736d 7465 (* end of [smte\n-00001400: 6e76 5f61 6464 5f73 3265 7870 5d20 2a29 nv_add_s2exp] *)\n-00001410: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00001420: 2a2a 202a 290a 2f2f 0a69 6d70 6c65 6d65 ** *).//.impleme\n-00001430: 6e74 0a73 6d74 656e 765f 6164 645f 6833 nt.smtenv_add_h3\n-00001440: 7970 6f0a 2020 2865 6e76 2c20 6833 7030 ypo. (env, h3p0\n-00001450: 2920 3d20 6c65 740a 2f2f 0a28 2a0a 7661 ) = let.//.(*.va\n-00001460: 6c20 2829 203d 0a66 7072 696e 746c 6e21 l () =.fprintln!\n-00001470: 0a28 0a20 2073 7464 6f75 745f 7265 660a .(. stdout_ref.\n-00001480: 2c20 2273 6d74 656e 765f 6164 645f 6833 , \"smtenv_add_h3\n-00001490: 7970 6f3a 2068 3370 3020 3d20 222c 2068 ypo: h3p0 = \", h\n-000014a0: 3370 300a 2920 282a 2065 6e64 206f 6620 3p0.) (* end of \n-000014b0: 5b76 616c 5d20 2a29 0a2a 290a 2f2f 0a69 [val] *).*).//.i\n-000014c0: 6e0a 2f2f 0a63 6173 652b 0a68 3370 302e n.//.case+.h3p0.\n-000014d0: 6833 7970 6f5f 6e6f 6465 0a6f 6620 282a h3ypo_node.of (*\n-000014e0: 2063 6173 652b 202a 290a 7c20 4833 5950 case+ *).| H3YP\n-000014f0: 4f70 726f 7020 7332 7020 3d3e 0a20 2020 Oprop s2p =>. \n-00001500: 2073 6d74 656e 765f 6164 645f 7332 6578 smtenv_add_s2ex\n-00001510: 7028 656e 762c 2073 3270 290a 2020 2f2f p(env, s2p). //\n-00001520: 2065 6e64 206f 6620 5b48 3359 504f 7072 end of [H3YPOpr\n-00001530: 6f70 5d0a 2f2f 0a7c 2048 3359 504f 6269 op].//.| H3YPObi\n-00001540: 6e64 0a20 2020 2028 7332 7631 2c20 7332 nd. (s2v1, s2\n-00001550: 6532 2920 3d3e 206c 6574 0a20 2069 6e0a e2) => let. in.\n-00001560: 2020 2020 6966 2073 3276 6172 5f69 735f if s2var_is_\n-00001570: 696d 7072 6564 2873 3276 3129 0a20 2020 impred(s2v1). \n-00001580: 2020 2074 6865 6e20 2829 0a20 2020 2020 then (). \n-00001590: 2065 6c73 6520 6c65 740a 2020 2020 2020 else let. \n-000015a0: 2020 7661 6c20 7332 7020 3d0a 2020 2020 val s2p =. \n-000015b0: 2020 2020 7332 6578 705f 6571 6571 0a20 s2exp_eqeq. \n-000015c0: 2020 2020 2020 2020 2028 7332 6578 705f (s2exp_\n-000015d0: 7661 7228 7332 7631 292c 2073 3265 3229 var(s2v1), s2e2)\n-000015e0: 0a20 2020 2020 2020 202f 2f20 656e 6420 . // end \n-000015f0: 6f66 205b 7661 6c5d 0a20 2020 2020 2069 of [val]. i\n-00001600: 6e0a 2020 2020 2020 2020 736d 7465 6e76 n. smtenv\n-00001610: 5f61 6464 5f73 3265 7870 2865 6e76 2c20 _add_s2exp(env, \n-00001620: 7332 7029 0a20 2020 2020 2065 6e64 202f s2p). end /\n-00001630: 2f20 656e 6420 6f66 205b 656c 7365 5d0a / end of [else].\n-00001640: 2020 656e 6420 2f2f 2065 6e64 206f 6620 end // end of \n-00001650: 5b48 3359 504f 6269 6e64 5d0a 2f2f 0a7c [H3YPObind].//.|\n-00001660: 2048 3359 504f 6571 6571 0a20 2020 2028 H3YPOeqeq. (\n-00001670: 7332 6531 2c20 7332 6532 2920 3d3e 0a20 s2e1, s2e2) =>. \n-00001680: 2028 0a20 2020 2073 6d74 656e 765f 6164 (. smtenv_ad\n-00001690: 645f 7332 6578 7028 656e 762c 2073 3265 d_s2exp(env, s2e\n-000016a0: 7870 5f65 7165 7128 7332 6531 2c20 7332 xp_eqeq(s2e1, s2\n-000016b0: 6532 2929 0a20 2029 2028 2a20 656e 6420 e2)). ) (* end \n-000016c0: 6f66 205b 4833 5950 4f65 7165 715d 202a of [H3YPOeqeq] *\n-000016d0: 290a 2f2f 0a65 6e64 202f 2f20 656e 6420 ).//.end // end \n-000016e0: 6f66 205b 736d 7465 6e76 5f61 6464 5f68 of [smtenv_add_h\n-000016f0: 3379 706f 5d0a 0a28 2a20 2a2a 2a2a 2a2a 3ypo]..(* ******\n-00001700: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl\n-00001710: 656d 656e 740a 736d 7465 6e76 5f73 6f6c ement.smtenv_sol\n-00001720: 7665 5f66 6f72 6d75 6c61 0a20 2028 656e ve_formula. (en\n-00001730: 762c 206c 6f63 302c 2073 3270 3029 203d v, loc0, s2p0) =\n-00001740: 0a7b 0a2f 2f0a 7661 6c2b 0a40 534d 5445 .{.//.val+.@SMTE\n-00001750: 4e56 2865 6e76 5f73 2920 3d20 656e 760a NV(env_s) = env.\n-00001760: 2f2f 0a76 616c 2028 2920 3d0a 534d 5432 //.val () =.SMT2\n-00001770: 5f73 6f6c 7665 725f 7075 7368 2865 6e76 _solver_push(env\n-00001780: 5f73 2e73 6d74 656e 765f 736f 6c76 6572 _s.smtenv_solver\n-00001790: 290a 2f2f 0a76 616c 2028 2920 3d0a 534d ).//.val () =.SM\n-000017a0: 5432 5f73 6f6c 7665 725f 6173 7365 7274 T2_solver_assert\n-000017b0: 0a20 2028 656e 765f 732e 736d 7465 6e76 . (env_s.smtenv\n-000017c0: 5f73 6f6c 7665 722c 2066 6f72 6d75 6c61 _solver, formula\n-000017d0: 5f6e 6f74 2873 3270 3029 290a 2f2f 0a76 _not(s2p0)).//.v\n-000017e0: 616c 2028 2920 3d0a 534d 5432 5f73 6f6c al () =.SMT2_sol\n-000017f0: 7665 725f 6563 686f 6c6f 630a 280a 2020 ver_echoloc.(. \n-00001800: 656e 765f 732e 736d 7465 6e76 5f73 6f6c env_s.smtenv_sol\n-00001810: 7665 722c 206c 6f63 3028 2a63 6f6e 7374 ver, loc0(*const\n-00001820: 7261 696e 742a 290a 2920 282a 2065 6e64 raint*).) (* end\n-00001830: 206f 6620 5b76 616c 5d20 2a29 0a2f 2f0a of [val] *).//.\n-00001840: 7661 6c20 2829 203d 0a20 2053 4d54 325f val () =. SMT2_\n-00001850: 736f 6c76 6572 5f63 6865 636b 7361 7428 solver_checksat(\n-00001860: 656e 765f 732e 736d 7465 6e76 5f73 6f6c env_s.smtenv_sol\n-00001870: 7665 7229 0a2f 2f0a 7661 6c20 2829 203d ver).//.val () =\n-00001880: 2053 4d54 325f 736f 6c76 6572 5f70 6f70 SMT2_solver_pop\n-00001890: 2865 6e76 5f73 2e73 6d74 656e 765f 736f (env_s.smtenv_so\n-000018a0: 6c76 6572 290a 2f2f 0a70 7276 616c 2028 lver).//.prval (\n-000018b0: 282a 766f 6964 2a29 2920 3d20 666f 6c64 (*void*)) = fold\n-000018c0: 4028 656e 7629 0a2f 2f0a 7d20 282a 2065 @(env).//.} (* e\n-000018d0: 6e64 206f 6620 5b73 6d74 656e 765f 736f nd of [smtenv_so\n-000018e0: 6c76 655f 666f 726d 756c 615d 202a 290a lve_formula] *).\n-000018f0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00001900: 2a20 2a29 0a0a 282a 2065 6e64 206f 6620 * *)..(* end of \n-00001910: 5b70 6174 736f 6c76 655f 736d 7432 5f73 [patsolve_smt2_s\n-00001920: 6f6c 7669 6e67 5f73 6d74 656e 762e 6461 olving_smtenv.da\n-00001930: 7473 5d20 2a29 0a ts] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_commarg.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_commarg.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,860 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho\n-00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.**\n-00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm\n-000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco\n-000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time:\n-000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.*\n-000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia\n-000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho\n-000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA\n-00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** \n-00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some\n-00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.//\n-00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** *\n-00000140: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc\n-00000150: 6c75 6465 0a22 7368 6172 652f 6174 7370 lude.\"share/atsp\n-00000160: 7265 5f73 7461 6c6f 6164 2e68 6174 7322 re_staload.hats\"\n-00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000180: 2a2a 2a2a 202a 290a 2f2f 0a73 7461 6c6f **** *).//.stalo\n-00000190: 6164 0a53 5444 494f 203d 0a22 6c69 6261 ad.STDIO =.\"liba\n-000001a0: 7473 2f6c 6962 632f 5341 5453 2f73 7464 ts/libc/SATS/std\n-000001b0: 696f 2e73 6174 7322 0a2f 2f0a 282a 202a io.sats\".//.(* *\n-000001c0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-000001d0: 2f2f 0a23 6465 6669 6e65 0a50 4154 534f //.#define.PATSO\n-000001e0: 4c56 455f 7461 7267 6574 6c6f 6322 2e2f LVE_targetloc\"./\n-000001f0: 2e2e 2f41 5453 2d65 7874 736f 6c76 6522 ../ATS-extsolve\"\n-00000200: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000210: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal\n-00000220: 6f61 640a 227b 2450 4154 534f 4c56 457d oad.\"{$PATSOLVE}\n-00000230: 2f53 4154 532f 7061 7473 6f6c 7665 5f63 /SATS/patsolve_c\n-00000240: 6e73 7472 6e74 2e73 6174 7322 0a23 7374 nstrnt.sats\".#st\n-00000250: 616c 6f61 640a 227b 2450 4154 534f 4c56 aload.\"{$PATSOLV\n-00000260: 457d 2f53 4154 532f 7061 7473 6f6c 7665 E}/SATS/patsolve\n-00000270: 5f70 6172 7369 6e67 2e73 6174 7322 0a2f _parsing.sats\"./\n-00000280: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-00000290: 2a2a 202a 290a 0a73 7461 6c6f 6164 2022 ** *)..staload \"\n-000002a0: 2e2f 2e2e 2f53 4154 532f 7061 7473 6f6c ./../SATS/patsol\n-000002b0: 7665 5f73 6d74 325f 636f 6d6d 6172 672e ve_smt2_commarg.\n-000002c0: 7361 7473 220a 7374 616c 6f61 6420 222e sats\".staload \".\n-000002d0: 2f2e 2e2f 5341 5453 2f70 6174 736f 6c76 /../SATS/patsolv\n-000002e0: 655f 736d 7432 5f73 6f6c 7669 6e67 2e73 e_smt2_solving.s\n-000002f0: 6174 7322 0a0a 282a 202a 2a2a 2a2a 2a20 ats\"..(* ****** \n-00000300: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple\n-00000310: 6d65 6e74 0a66 7072 696e 745f 636f 6d6d ment.fprint_comm\n-00000320: 6172 6728 6f75 742c 2063 6129 203d 2028 arg(out, ca) = (\n-00000330: 0a2f 2f0a 6361 7365 2b20 6361 206f 660a .//.case+ ca of.\n-00000340: 2f2f 0a7c 2043 4168 656c 7028 7374 7229 //.| CAhelp(str)\n-00000350: 203d 3e0a 2020 2020 6670 7269 6e74 2120 =>. fprint! \n-00000360: 286f 7574 2c20 2243 4168 656c 7028 222c (out, \"CAhelp(\",\n-00000370: 2073 7472 2c20 2229 2229 0a2f 2f0a 7c20 str, \")\").//.| \n-00000380: 4341 6769 7465 6d28 7374 7229 203d 3e0a CAgitem(str) =>.\n-00000390: 2020 2020 6670 7269 6e74 2120 286f 7574 fprint! (out\n-000003a0: 2c20 2243 4167 6974 656d 2822 2c20 7374 , \"CAgitem(\", st\n-000003b0: 722c 2022 2922 290a 2f2f 0a7c 2043 4169 r, \")\").//.| CAi\n-000003c0: 6e70 7574 2873 7472 2920 3d3e 0a20 2020 nput(str) =>. \n-000003d0: 2066 7072 696e 7421 2028 6f75 742c 2022 fprint! (out, \"\n-000003e0: 4341 696e 7075 7428 222c 2073 7472 2c20 CAinput(\", str, \n-000003f0: 2229 2229 0a2f 2f0a 7c20 4341 6f75 7470 \")\").//.| CAoutp\n-00000400: 7574 286b 6e64 2c20 7374 7229 203d 3e0a ut(knd, str) =>.\n-00000410: 2020 2020 6670 7269 6e74 2120 286f 7574 fprint! (out\n-00000420: 2c20 2243 416f 7574 7075 7428 222c 206b , \"CAoutput(\", k\n-00000430: 6e64 2c20 222c 2022 2c20 7374 722c 2022 nd, \", \", str, \"\n-00000440: 2922 290a 2f2f 0a7c 2043 4170 7269 6e74 )\").//.| CAprint\n-00000450: 6c6e 2873 7472 2920 3d3e 0a20 2020 2066 ln(str) =>. f\n-00000460: 7072 696e 7421 2028 6f75 742c 2022 4341 print! (out, \"CA\n-00000470: 7072 696e 746c 6e28 222c 2073 7472 2c20 println(\", str, \n-00000480: 2229 2229 0a7c 2043 4170 7269 6e74 6669 \")\").| CAprintfi\n-00000490: 6c65 2873 7472 2920 3d3e 0a20 2020 2066 le(str) =>. f\n-000004a0: 7072 696e 7421 2028 6f75 742c 2022 4341 print! (out, \"CA\n-000004b0: 7072 696e 7466 696c 6528 222c 2073 7472 printfile(\", str\n-000004c0: 2c20 2229 2229 0a2f 2f0a 7c20 4341 6172 , \")\").//.| CAar\n-000004d0: 6765 6e64 2828 2a76 6f69 642a 2929 203d gend((*void*)) =\n-000004e0: 3e20 6670 7269 6e74 2120 286f 7574 2c20 > fprint! (out, \n-000004f0: 2243 4161 7267 656e 6428 222c 2022 2922 \"CAargend(\", \")\"\n-00000500: 290a 2f2f 0a29 2028 2a20 656e 6420 6f66 ).//.) (* end of\n-00000510: 205b 6670 7269 6e74 5f63 6f6d 6d61 7267 [fprint_commarg\n-00000520: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** \n-00000530: 2a2a 2a2a 2a2a 202a 290a 0a66 756e 7b0a ****** *)..fun{.\n-00000540: 7d20 6172 6776 5f67 6574 6f70 745f 6174 } argv_getopt_at\n-00000550: 0a20 207b 6e3a 696e 747d 7b69 3a6e 6174 . {n:int}{i:nat\n-00000560: 7d0a 280a 2020 6e3a 2069 6e74 206e 2c20 }.(. n: int n, \n-00000570: 6172 6776 3a20 2161 7267 7628 6e29 2c20 argv: !argv(n), \n-00000580: 693a 2069 6e74 2069 0a29 203a 2073 7472 i: int i.) : str\n-00000590: 6f70 7420 3d0a 280a 2f2f 0a69 6620 6920 opt =.(.//.if i \n-000005a0: 3c20 6e0a 2020 7468 656e 2073 7472 6f70 < n. then strop\n-000005b0: 745f 736f 6d65 2028 6172 6776 5b69 5d29 t_some (argv[i])\n-000005c0: 2065 6c73 6520 7374 726f 7074 5f6e 6f6e else stropt_non\n-000005d0: 6520 2829 0a2f 2f20 656e 6420 6f66 205b e ().// end of [\n-000005e0: 6966 5d0a 2f2f 0a29 2028 2a20 656e 6420 if].//.) (* end \n-000005f0: 6f66 205b 6172 6776 5f67 6574 6f70 745f of [argv_getopt_\n-00000600: 6174 5d20 2a29 0a0a 282a 202a 2a2a 2a2a at] *)..(* *****\n-00000610: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp\n-00000620: 6c65 6d65 6e74 0a70 6174 736f 6c76 655f lement.patsolve_\n-00000630: 736d 7432 5f63 6d64 6c69 6e65 0a20 2028 smt2_cmdline. (\n-00000640: 6172 6763 2c20 6172 6776 2920 3d20 6c65 argc, argv) = le\n-00000650: 740a 2f2f 0a76 7479 7065 6465 660a 7265 t.//.vtypedef.re\n-00000660: 735f 7674 203d 2063 6f6d 6d61 7267 6c73 s_vt = commargls\n-00000670: 745f 7674 0a2f 2f0a 6675 6e0a 6175 780a t_vt.//.fun.aux.\n-00000680: 7b6e 3a69 6e74 7d0a 7b69 3a6e 6174 207c {n:int}.{i:nat |\n-00000690: 2069 203c 3d20 6e7d 0a28 0a20 2061 7267 i <= n}.(. arg\n-000006a0: 633a 2069 6e74 206e 0a2c 2061 7267 763a c: int n., argv:\n-000006b0: 2021 6172 6776 286e 290a 2c20 693a 2069 !argv(n)., i: i\n-000006c0: 6e74 2069 2c20 7265 7330 3a20 7265 735f nt i, res0: res_\n-000006d0: 7674 0a29 203a 2072 6573 5f76 7420 3d20 vt.) : res_vt = \n-000006e0: 6c65 740a 696e 0a2f 2f0a 6966 0a69 203c let.in.//.if.i <\n-000006f0: 2061 7267 630a 7468 656e 206c 6574 0a2f argc.then let./\n-00000700: 2f0a 7661 6c20 6172 6720 3d20 6172 6776 /.val arg = argv\n-00000710: 5b69 5d0a 2f2f 0a69 6e0a 2f2f 0a63 6173 [i].//.in.//.cas\n-00000720: 652b 2061 7267 206f 660a 2f2f 0a7c 2022 e+ arg of.//.| \"\n-00000730: 2d68 2220 3d3e 206c 6574 0a20 2020 2076 -h\" => let. v\n-00000740: 616c 2063 6120 3d0a 2020 2020 2020 4341 al ca =. CA\n-00000750: 6865 6c70 2861 7267 290a 2020 2020 7661 help(arg). va\n-00000760: 6c20 7265 7330 203d 0a20 2020 2020 2063 l res0 =. c\n-00000770: 6f6e 735f 7674 2863 612c 2072 6573 3029 ons_vt(ca, res0)\n-00000780: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [\n-00000790: 7661 6c5d 0a20 2069 6e0a 2020 2020 6175 val]. in. au\n-000007a0: 7828 6172 6763 2c20 6172 6776 2c20 692b x(argc, argv, i+\n-000007b0: 312c 2072 6573 3029 0a20 2065 6e64 202f 1, res0). end /\n-000007c0: 2f20 656e 6420 6f66 202e 2e2e 0a7c 2022 / end of ....| \"\n-000007d0: 2d2d 6865 6c70 2220 3d3e 206c 6574 0a20 --help\" => let. \n-000007e0: 2020 2076 616c 2063 6120 3d0a 2020 2020 val ca =. \n-000007f0: 2020 4341 6865 6c70 2861 7267 290a 2020 CAhelp(arg). \n-00000800: 2020 7661 6c20 7265 7330 203d 0a20 2020 val res0 =. \n-00000810: 2020 2063 6f6e 735f 7674 2863 612c 2072 cons_vt(ca, r\n-00000820: 6573 3029 0a20 2020 202f 2f20 656e 6420 es0). // end \n-00000830: 6f66 205b 7661 6c5d 0a20 2069 6e0a 2020 of [val]. in. \n-00000840: 2020 6175 7828 6172 6763 2c20 6172 6776 aux(argc, argv\n-00000850: 2c20 692b 312c 2072 6573 3029 0a20 2065 , i+1, res0). e\n-00000860: 6e64 202f 2f20 656e 6420 6f66 202e 2e2e nd // end of ...\n-00000870: 0a2f 2f0a 7c20 222d 6922 203d 3e20 6c65 .//.| \"-i\" => le\n-00000880: 740a 2020 2020 7661 6c20 6361 203d 0a20 t. val ca =. \n-00000890: 2020 2020 2043 4169 6e70 7574 2861 7267 CAinput(arg\n-000008a0: 290a 2020 2020 7661 6c20 7265 7330 203d ). val res0 =\n-000008b0: 0a20 2020 2020 2063 6f6e 735f 7674 2863 . cons_vt(c\n-000008c0: 612c 2072 6573 3029 0a20 2020 202f 2f20 a, res0). // \n-000008d0: 656e 6420 6f66 205b 7661 6c5d 0a20 2069 end of [val]. i\n-000008e0: 6e0a 2020 2020 6175 7832 2861 7267 632c n. aux2(argc,\n-000008f0: 2061 7267 762c 2069 2b31 2c20 7265 7330 argv, i+1, res0\n-00000900: 290a 2020 656e 6420 2f2f 2065 6e64 206f ). end // end o\n-00000910: 6620 2e2e 2e0a 7c20 222d 2d69 6e70 7574 f ....| \"--input\n-00000920: 2220 3d3e 206c 6574 0a20 2020 2076 616c \" => let. val\n-00000930: 2063 6120 3d0a 2020 2020 2020 4341 696e ca =. CAin\n-00000940: 7075 7428 6172 6729 0a20 2020 2076 616c put(arg). val\n-00000950: 2072 6573 3020 3d0a 2020 2020 2020 636f res0 =. co\n-00000960: 6e73 5f76 7428 6361 2c20 7265 7330 290a ns_vt(ca, res0).\n-00000970: 2020 2020 2f2f 2065 6e64 206f 6620 5b76 // end of [v\n-00000980: 616c 5d0a 2020 696e 0a20 2020 2061 7578 al]. in. aux\n-00000990: 3228 6172 6763 2c20 6172 6776 2c20 692b 2(argc, argv, i+\n-000009a0: 312c 2072 6573 3029 0a20 2065 6e64 202f 1, res0). end /\n-000009b0: 2f20 656e 6420 6f66 202e 2e2e 0a2f 2f0a / end of ....//.\n-000009c0: 7c20 222d 6f22 203d 3e20 6c65 740a 2020 | \"-o\" => let. \n-000009d0: 2020 7661 6c20 6361 203d 0a20 2020 2020 val ca =. \n-000009e0: 2043 416f 7574 7075 7428 302c 2061 7267 CAoutput(0, arg\n-000009f0: 290a 2020 2020 7661 6c20 7265 7330 203d ). val res0 =\n-00000a00: 0a20 2020 2020 2063 6f6e 735f 7674 2863 . cons_vt(c\n-00000a10: 612c 2072 6573 3029 0a20 2020 202f 2f20 a, res0). // \n-00000a20: 656e 6420 6f66 205b 7661 6c5d 0a20 2069 end of [val]. i\n-00000a30: 6e0a 2020 2020 6175 7832 2861 7267 632c n. aux2(argc,\n-00000a40: 2061 7267 762c 2069 2b31 2c20 7265 7330 argv, i+1, res0\n-00000a50: 290a 2020 656e 6420 2f2f 2065 6e64 206f ). end // end o\n-00000a60: 6620 2e2e 2e0a 7c20 222d 2d6f 7574 7075 f ....| \"--outpu\n-00000a70: 7422 203d 3e20 6c65 740a 2020 2020 7661 t\" => let. va\n-00000a80: 6c20 6361 203d 0a20 2020 2020 2043 416f l ca =. CAo\n-00000a90: 7574 7075 7428 302c 2061 7267 290a 2020 utput(0, arg). \n-00000aa0: 2020 7661 6c20 7265 7330 203d 0a20 2020 val res0 =. \n-00000ab0: 2020 2063 6f6e 735f 7674 2863 612c 2072 cons_vt(ca, r\n-00000ac0: 6573 3029 0a20 2020 202f 2f20 656e 6420 es0). // end \n-00000ad0: 6f66 205b 7661 6c5d 0a20 2069 6e0a 2020 of [val]. in. \n-00000ae0: 2020 6175 7832 2861 7267 632c 2061 7267 aux2(argc, arg\n-00000af0: 762c 2069 2b31 2c20 7265 7330 290a 2020 v, i+1, res0). \n-00000b00: 656e 6420 2f2f 2065 6e64 206f 6620 2e2e end // end of ..\n-00000b10: 2e0a 7c20 222d 2d6f 7574 7075 742d 7722 ..| \"--output-w\"\n-00000b20: 203d 3e20 6c65 740a 2020 2020 7661 6c20 => let. val \n-00000b30: 6361 203d 0a20 2020 2020 2043 416f 7574 ca =. CAout\n-00000b40: 7075 7428 312c 2061 7267 290a 2020 2020 put(1, arg). \n-00000b50: 7661 6c20 7265 7330 203d 0a20 2020 2020 val res0 =. \n-00000b60: 2063 6f6e 735f 7674 2863 612c 2072 6573 cons_vt(ca, res\n-00000b70: 3029 0a20 2020 202f 2f20 656e 6420 6f66 0). // end of\n-00000b80: 205b 7661 6c5d 0a20 2069 6e0a 2020 2020 [val]. in. \n-00000b90: 6175 7832 2861 7267 632c 2061 7267 762c aux2(argc, argv,\n-00000ba0: 2069 2b31 2c20 7265 7330 290a 2020 656e i+1, res0). en\n-00000bb0: 6420 2f2f 2065 6e64 206f 6620 2e2e 2e0a d // end of ....\n-00000bc0: 7c20 222d 2d6f 7574 7075 742d 6122 203d | \"--output-a\" =\n-00000bd0: 3e20 6c65 740a 2020 2020 7661 6c20 6361 > let. val ca\n-00000be0: 203d 0a20 2020 2020 2043 416f 7574 7075 =. CAoutpu\n-00000bf0: 7428 322c 2061 7267 290a 2020 2020 7661 t(2, arg). va\n-00000c00: 6c20 7265 7330 203d 0a20 2020 2020 2063 l res0 =. c\n-00000c10: 6f6e 735f 7674 2863 612c 2072 6573 3029 ons_vt(ca, res0)\n-00000c20: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [\n-00000c30: 7661 6c5d 0a20 2069 6e0a 2020 2020 6175 val]. in. au\n-00000c40: 7832 2861 7267 632c 2061 7267 762c 2069 x2(argc, argv, i\n-00000c50: 2b31 2c20 7265 7330 290a 2020 656e 6420 +1, res0). end \n-00000c60: 2f2f 2065 6e64 206f 6620 2e2e 2e0a 2f2f // end of ....//\n-00000c70: 0a7c 2022 2d2d 7072 696e 746c 6e22 203d .| \"--println\" =\n-00000c80: 3e20 6c65 740a 2020 2020 7661 6c20 6361 > let. val ca\n-00000c90: 203d 0a20 2020 2020 2043 4170 7269 6e74 =. CAprint\n-00000ca0: 6c6e 2861 7267 290a 2020 2020 7661 6c20 ln(arg). val \n-00000cb0: 7265 7330 203d 0a20 2020 2020 2063 6f6e res0 =. con\n-00000cc0: 735f 7674 2863 612c 2072 6573 3029 0a20 s_vt(ca, res0). \n-00000cd0: 2020 202f 2f20 656e 6420 6f66 205b 7661 // end of [va\n-00000ce0: 6c5d 0a20 2069 6e0a 2020 2020 6175 7832 l]. in. aux2\n-00000cf0: 2861 7267 632c 2061 7267 762c 2069 2b31 (argc, argv, i+1\n-00000d00: 2c20 7265 7330 290a 2020 656e 6420 2f2f , res0). end //\n-00000d10: 2065 6e64 206f 6620 2e2e 2e0a 2f2f 0a7c end of ....//.|\n-00000d20: 2022 2d2d 7072 696e 7466 696c 6522 203d \"--printfile\" =\n-00000d30: 3e20 6c65 740a 2020 2020 7661 6c20 6361 > let. val ca\n-00000d40: 203d 0a20 2020 2020 2043 4170 7269 6e74 =. CAprint\n-00000d50: 6669 6c65 2861 7267 290a 2020 2020 7661 file(arg). va\n-00000d60: 6c20 7265 7330 203d 0a20 2020 2020 2063 l res0 =. c\n-00000d70: 6f6e 735f 7674 2863 612c 2072 6573 3029 ons_vt(ca, res0)\n-00000d80: 0a20 2020 202f 2f20 656e 6420 6f66 205b . // end of [\n-00000d90: 7661 6c5d 0a20 2069 6e0a 2020 2020 6175 val]. in. au\n-00000da0: 7832 2861 7267 632c 2061 7267 762c 2069 x2(argc, argv, i\n-00000db0: 2b31 2c20 7265 7330 290a 2020 656e 6420 +1, res0). end \n-00000dc0: 2f2f 2065 6e64 206f 6620 2e2e 2e0a 2f2f // end of ....//\n-00000dd0: 0a7c 205f 2028 2a72 6573 742a 2920 3d3e .| _ (*rest*) =>\n-00000de0: 206c 6574 0a20 2020 2076 616c 2063 6120 let. val ca \n-00000df0: 3d0a 2020 2020 2020 4341 6769 7465 6d28 =. CAgitem(\n-00000e00: 6172 6729 0a20 2020 2076 616c 2072 6573 arg). val res\n-00000e10: 3020 3d0a 2020 2020 2020 636f 6e73 5f76 0 =. cons_v\n-00000e20: 7428 6361 2c20 7265 7330 290a 2020 2020 t(ca, res0). \n-00000e30: 2f2f 2065 6e64 206f 6620 5b76 616c 5d0a // end of [val].\n-00000e40: 2020 696e 0a20 2020 2061 7578 2861 7267 in. aux(arg\n-00000e50: 632c 2061 7267 762c 2069 2b31 2c20 7265 c, argv, i+1, re\n-00000e60: 7330 290a 2020 656e 6420 2f2f 2065 6e64 s0). end // end\n-00000e70: 206f 6620 5b2e 2e2e 5d0a 2f2f 0a65 6e64 of [...].//.end\n-00000e80: 202f 2f20 656e 6420 6f66 205b 7468 656e // end of [then\n-00000e90: 5d0a 656c 7365 2072 6573 3020 2f2f 2065 ].else res0 // e\n-00000ea0: 6e64 206f 6620 5b65 6c73 655d 0a2f 2f0a nd of [else].//.\n-00000eb0: 656e 6420 2f2f 2065 6e64 206f 6620 5b61 end // end of [a\n-00000ec0: 7578 5d0a 2f2f 0a61 6e64 0a61 7578 320a ux].//.and.aux2.\n-00000ed0: 7b6e 3a69 6e74 7d0a 7b69 3a6e 6174 207c {n:int}.{i:nat |\n-00000ee0: 2069 203c 3d20 6e7d 0a28 0a20 2061 7267 i <= n}.(. arg\n-00000ef0: 633a 2069 6e74 206e 0a2c 2061 7267 763a c: int n., argv:\n-00000f00: 2021 6172 6776 286e 290a 2c20 693a 2069 !argv(n)., i: i\n-00000f10: 6e74 2069 2c20 7265 7330 3a20 7265 735f nt i, res0: res_\n-00000f20: 7674 0a29 203a 2072 6573 5f76 7420 3d20 vt.) : res_vt = \n-00000f30: 6c65 740a 696e 0a69 660a 6920 3c20 6172 let.in.if.i < ar\n-00000f40: 6763 0a74 6865 6e20 6c65 740a 2f2f 0a76 gc.then let.//.v\n-00000f50: 616c 2061 7267 203d 2061 7267 765b 695d al arg = argv[i]\n-00000f60: 0a2f 2f0a 7661 6c20 6361 203d 0a20 2043 .//.val ca =. C\n-00000f70: 4167 6974 656d 2861 7267 290a 7661 6c20 Agitem(arg).val \n-00000f80: 7265 7330 203d 0a20 2063 6f6e 735f 7674 res0 =. cons_vt\n-00000f90: 2863 612c 2072 6573 3029 0a2f 2f20 656e (ca, res0).// en\n-00000fa0: 6420 6f66 205b 7661 6c5d 0a69 6e0a 2020 d of [val].in. \n-00000fb0: 6175 7828 6172 6763 2c20 6172 6776 2c20 aux(argc, argv, \n-00000fc0: 692b 312c 2072 6573 3029 0a65 6e64 202f i+1, res0).end /\n-00000fd0: 2f20 656e 6420 6f66 205b 7468 656e 5d0a / end of [then].\n-00000fe0: 656c 7365 2072 6573 3020 2f2f 2065 6e64 else res0 // end\n-00000ff0: 206f 6620 5b65 6c73 655d 0a2f 2f0a 656e of [else].//.en\n-00001000: 6420 2f2f 2065 6e64 206f 6620 5b61 7578 d // end of [aux\n-00001010: 325d 0a2f 2f0a 7661 6c20 6172 6773 203d 2].//.val args =\n-00001020: 2061 7578 2861 7267 632c 2061 7267 762c aux(argc, argv,\n-00001030: 2030 2c20 6e69 6c5f 7674 290a 2f2f 0a69 0, nil_vt).//.i\n-00001040: 6e0a 2f2f 0a6c 6973 745f 7674 5f72 6576 n.//.list_vt_rev\n-00001050: 6572 7365 286c 6973 745f 7674 5f63 6f6e erse(list_vt_con\n-00001060: 7328 4341 6172 6765 6e64 2829 2c20 6172 s(CAargend(), ar\n-00001070: 6773 2929 0a2f 2f0a 656e 6420 2f2f 2065 gs)).//.end // e\n-00001080: 6e64 206f 6620 5b70 6174 736f 6c76 655f nd of [patsolve_\n-00001090: 736d 7432 5f63 6d64 6c69 6e65 5d0a 0a28 smt2_cmdline]..(\n-000010a0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-000010b0: 2a29 0a2f 2f0a 6578 7465 726e 2066 756e *).//.extern fun\n-000010c0: 2070 6174 736f 6c76 655f 736d 7432 5f68 patsolve_smt2_h\n-000010d0: 656c 7028 293a 2076 6f69 640a 2f2f 0a65 elp(): void.//.e\n-000010e0: 7874 6572 6e20 6675 6e20 7061 7473 6f6c xtern fun patsol\n-000010f0: 7665 5f73 6d74 325f 6769 7465 6d28 7374 ve_smt2_gitem(st\n-00001100: 7269 6e67 293a 2076 6f69 640a 2f2f 0a65 ring): void.//.e\n-00001110: 7874 6572 6e20 6675 6e20 7061 7473 6f6c xtern fun patsol\n-00001120: 7665 5f73 6d74 325f 696e 7075 7428 282a ve_smt2_input((*\n-00001130: 766f 6964 2a29 293a 2076 6f69 640a 6578 void*)): void.ex\n-00001140: 7465 726e 2066 756e 2070 6174 736f 6c76 tern fun patsolv\n-00001150: 655f 736d 7432 5f69 6e70 7574 5f61 7267 e_smt2_input_arg\n-00001160: 2873 7472 696e 6729 3a20 766f 6964 0a2f (string): void./\n-00001170: 2f0a 6578 7465 726e 2066 756e 2070 6174 /.extern fun pat\n-00001180: 736f 6c76 655f 736d 7432 5f6f 7574 7075 solve_smt2_outpu\n-00001190: 7428 6b6e 643a 2069 6e74 293a 2076 6f69 t(knd: int): voi\n-000011a0: 640a 6578 7465 726e 2066 756e 2070 6174 d.extern fun pat\n-000011b0: 736f 6c76 655f 736d 7432 5f6f 7574 7075 solve_smt2_outpu\n-000011c0: 745f 6172 6728 7374 7269 6e67 293a 2076 t_arg(string): v\n-000011d0: 6f69 640a 2f2f 0a65 7874 6572 6e20 6675 oid.//.extern fu\n-000011e0: 6e20 7061 7473 6f6c 7665 5f73 6d74 325f n patsolve_smt2_\n-000011f0: 7072 696e 746c 6e28 293a 2076 6f69 640a println(): void.\n-00001200: 6578 7465 726e 2066 756e 2070 6174 736f extern fun patso\n-00001210: 6c76 655f 736d 7432 5f70 7269 6e74 6669 lve_smt2_printfi\n-00001220: 6c65 2829 3a20 766f 6964 0a65 7874 6572 le(): void.exter\n-00001230: 6e20 6675 6e20 7061 7473 6f6c 7665 5f73 n fun patsolve_s\n-00001240: 6d74 325f 7072 696e 7466 696c 655f 6172 mt2_printfile_ar\n-00001250: 6728 7374 7269 6e67 293a 2076 6f69 640a g(string): void.\n-00001260: 2f2f 0a65 7874 6572 6e20 6675 6e20 7061 //.extern fun pa\n-00001270: 7473 6f6c 7665 5f73 6d74 325f 6172 6765 tsolve_smt2_arge\n-00001280: 6e64 2828 2a76 6f69 642a 2929 3a20 766f nd((*void*)): vo\n-00001290: 6964 0a2f 2f0a 6578 7465 726e 2066 756e id.//.extern fun\n-000012a0: 2070 6174 736f 6c76 655f 736d 7432 5f63 patsolve_smt2_c\n-000012b0: 6f6d 6d61 7267 6c73 745f 6669 6e61 6c69 ommarglst_finali\n-000012c0: 7a65 2829 3a20 766f 6964 0a2f 2f0a 282a ze(): void.//.(*\n-000012d0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-000012e0: 290a 0a74 7970 6564 6566 0a73 7461 7465 )..typedef.state\n-000012f0: 5f73 7472 7563 7420 3d0a 407b 0a2f 2f0a _struct =.@{.//.\n-00001300: 2020 6e65 7272 3d20 696e 740a 2f2f 0a2c nerr= int.//.,\n-00001310: 2069 6e70 7574 3d20 696e 740a 2f2f 0a2c input= int.//.,\n-00001320: 206e 696e 7075 743d 2069 6e74 0a2f 2f0a ninput= int.//.\n-00001330: 2c20 696e 7066 696c 5f72 6566 3d20 4649 , inpfil_ref= FI\n-00001340: 4c45 7265 660a 2f2f 0a2c 206f 7574 7075 LEref.//., outpu\n-00001350: 743d 2069 6e74 0a2f 2f0a 2c20 666f 7065 t= int.//., fope\n-00001360: 6e5f 6f75 743d 2069 6e74 0a2c 206f 7574 n_out= int., out\n-00001370: 6669 6c5f 7265 663d 2046 494c 4572 6566 fil_ref= FILEref\n-00001380: 0a2c 206f 7574 6669 6c5f 6d6f 643d 2066 ., outfil_mod= f\n-00001390: 696c 655f 6d6f 6465 0a2f 2f0a 2c20 7072 ile_mode.//., pr\n-000013a0: 696e 746c 6e3d 2069 6e74 0a2c 2070 7269 intln= int., pri\n-000013b0: 6e74 6669 6c65 3d20 696e 740a 2f2f 0a2c ntfile= int.//.,\n-000013c0: 2063 6f6e 7374 7261 696e 745f 7265 616c constraint_real\n-000013d0: 3d20 696e 740a 2f2f 0a7d 2028 2a20 656e = int.//.} (* en\n-000013e0: 6420 6f66 205b 7374 6174 655f 7374 7275 d of [state_stru\n-000013f0: 6374 5d20 2a29 0a0a 282a 202a 2a2a 2a2a ct] *)..(* *****\n-00001400: 2a20 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 * ****** *)..loc\n-00001410: 616c 0a2f 2f0a 7661 720a 7468 655f 7374 al.//.var.the_st\n-00001420: 6174 653a 2073 7461 7465 5f73 7472 7563 ate: state_struc\n-00001430: 743f 0a2f 2f0a 7661 6c20 2829 203d 2074 t?.//.val () = t\n-00001440: 6865 5f73 7461 7465 2e6e 6572 7220 3a3d he_state.nerr :=\n-00001450: 2030 0a2f 2f0a 7661 6c20 2829 203d 2074 0.//.val () = t\n-00001460: 6865 5f73 7461 7465 2e69 6e70 7574 203a he_state.input :\n-00001470: 3d20 300a 7661 6c20 2829 203d 2074 6865 = 0.val () = the\n-00001480: 5f73 7461 7465 2e6e 696e 7075 7420 3a3d _state.ninput :=\n-00001490: 2030 0a2f 2f0a 7661 6c20 2829 203d 2074 0.//.val () = t\n-000014a0: 6865 5f73 7461 7465 2e69 6e70 6669 6c5f he_state.inpfil_\n-000014b0: 7265 6620 3a3d 2073 7464 696e 5f72 6566 ref := stdin_ref\n-000014c0: 0a2f 2f0a 7661 6c20 2829 203d 2074 6865 .//.val () = the\n-000014d0: 5f73 7461 7465 2e6f 7574 7075 7420 3a3d _state.output :=\n-000014e0: 2030 0a2f 2f0a 7661 6c20 2829 203d 2074 0.//.val () = t\n-000014f0: 6865 5f73 7461 7465 2e66 6f70 656e 5f6f he_state.fopen_o\n-00001500: 7574 203a 3d20 300a 7661 6c20 2829 203d ut := 0.val () =\n-00001510: 2074 6865 5f73 7461 7465 2e6f 7574 6669 the_state.outfi\n-00001520: 6c5f 7265 6620 3a3d 2073 7464 6f75 745f l_ref := stdout_\n-00001530: 7265 660a 7661 6c20 2829 203d 2074 6865 ref.val () = the\n-00001540: 5f73 7461 7465 2e6f 7574 6669 6c5f 6d6f _state.outfil_mo\n-00001550: 6420 3a3d 2066 696c 655f 6d6f 6465 5f77 d := file_mode_w\n-00001560: 0a2f 2f0a 7661 6c20 2829 203d 2074 6865 .//.val () = the\n-00001570: 5f73 7461 7465 2e70 7269 6e74 6c6e 203a _state.println :\n-00001580: 3d20 300a 7661 6c20 2829 203d 2074 6865 = 0.val () = the\n-00001590: 5f73 7461 7465 2e70 7269 6e74 6669 6c65 _state.printfile\n-000015a0: 203a 3d20 300a 2f2f 0a76 616c 2028 2920 := 0.//.val () \n-000015b0: 3d20 7468 655f 7374 6174 652e 636f 6e73 = the_state.cons\n-000015c0: 7472 6169 6e74 5f72 6561 6c20 3a3d 2030 traint_real := 0\n-000015d0: 0a2f 2f0a 696e 2028 2a20 696e 2d6f 662d .//.in (* in-of-\n-000015e0: 6c6f 6361 6c20 2a29 0a2f 2f0a 7661 6c0a local *).//.val.\n-000015f0: 7468 655f 7374 6174 650a 2020 3a20 7265 the_state. : re\n-00001600: 6628 7374 6174 655f 7374 7275 6374 2920 f(state_struct) \n-00001610: 3d0a 2020 7265 665f 6d61 6b65 5f76 6965 =. ref_make_vie\n-00001620: 7770 7472 2876 6965 7740 7468 655f 7374 wptr(view@the_st\n-00001630: 6174 6520 7c20 6164 6472 4074 6865 5f73 ate | addr@the_s\n-00001640: 7461 7465 290a 2f2f 0a65 6e64 202f 2f20 tate).//.end // \n-00001650: 656e 6420 6f66 205b 6c6f 6361 6c5d 0a0a end of [local]..\n-00001660: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00001670: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement\n-00001680: 0a74 6865 5f63 6f6e 7374 7261 696e 745f .the_constraint_\n-00001690: 7265 616c 0a20 2028 282a 766f 6964 2a29 real. ((*void*)\n-000016a0: 2920 3d20 2174 6865 5f73 7461 7465 2e63 ) = !the_state.c\n-000016b0: 6f6e 7374 7261 696e 745f 7265 616c 0a2f onstraint_real./\n-000016c0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-000016d0: 2a2a 202a 290a 0a66 756e 0a70 726f 6365 ** *)..fun.proce\n-000016e0: 7373 5f61 7267 0a20 2028 783a 2063 6f6d ss_arg. (x: com\n-000016f0: 6d61 7267 293a 2076 6f69 6420 3d20 6c65 marg): void = le\n-00001700: 740a 2f2f 0a28 2a0a 7661 6c20 2829 203d t.//.(*.val () =\n-00001710: 0a66 7072 696e 746c 6e21 0a28 0a20 2073 .fprintln!.(. s\n-00001720: 7464 6f75 745f 7265 660a 2c20 2270 6174 tdout_ref., \"pat\n-00001730: 736f 6c76 655f 736d 7432 5f63 6f6d 6d61 solve_smt2_comma\n-00001740: 7267 6c73 743a 2070 726f 6365 7373 5f61 rglst: process_a\n-00001750: 7267 3a20 7820 3d20 222c 2078 0a29 2028 rg: x = \", x.) (\n-00001760: 2a20 656e 6420 6f66 205b 7661 6c5d 202a * end of [val] *\n-00001770: 290a 2a29 0a2f 2f0a 696e 0a2f 2f0a 6361 ).*).//.in.//.ca\n-00001780: 7365 2b20 7820 6f66 0a2f 2f0a 7c20 4341 se+ x of.//.| CA\n-00001790: 6865 6c70 205f 203d 3e20 7061 7473 6f6c help _ => patsol\n-000017a0: 7665 5f73 6d74 325f 6865 6c70 2829 0a2f ve_smt2_help()./\n-000017b0: 2f0a 7c20 4341 6769 7465 6d0a 2020 2020 /.| CAgitem. \n-000017c0: 2873 7472 2920 3d3e 2070 6174 736f 6c76 (str) => patsolv\n-000017d0: 655f 736d 7432 5f67 6974 656d 2873 7472 e_smt2_gitem(str\n-000017e0: 290a 2020 2f2f 2043 4167 6974 656d 0a2f ). // CAgitem./\n-000017f0: 2f0a 7c20 4341 696e 7075 7420 5f20 3d3e /.| CAinput _ =>\n-00001800: 2070 6174 736f 6c76 655f 736d 7432 5f69 patsolve_smt2_i\n-00001810: 6e70 7574 2829 0a2f 2f0a 7c20 4341 6f75 nput().//.| CAou\n-00001820: 7470 7574 0a20 2020 2028 6b6e 642c 205f tput. (knd, _\n-00001830: 2920 3d3e 2070 6174 736f 6c76 655f 736d ) => patsolve_sm\n-00001840: 7432 5f6f 7574 7075 7428 6b6e 6429 0a20 t2_output(knd). \n-00001850: 202f 2f20 4341 6f75 7470 7574 0a2f 2f0a // CAoutput.//.\n-00001860: 7c20 4341 7072 696e 746c 6e20 5f20 3d3e | CAprintln _ =>\n-00001870: 2070 6174 736f 6c76 655f 736d 7432 5f70 patsolve_smt2_p\n-00001880: 7269 6e74 6c6e 2829 0a7c 2043 4170 7269 rintln().| CApri\n-00001890: 6e74 6669 6c65 205f 203d 3e20 7061 7473 ntfile _ => pats\n-000018a0: 6f6c 7665 5f73 6d74 325f 7072 696e 7466 olve_smt2_printf\n-000018b0: 696c 6528 290a 2f2f 0a7c 2043 4161 7267 ile().//.| CAarg\n-000018c0: 656e 6428 282a 766f 6964 2a29 2920 3d3e end((*void*)) =>\n-000018d0: 2070 6174 736f 6c76 655f 736d 7432 5f61 patsolve_smt2_a\n-000018e0: 7267 656e 6428 290a 2f2f 0a65 6e64 202f rgend().//.end /\n-000018f0: 2f20 656e 6420 6f66 205b 7072 6f63 6573 / end of [proces\n-00001900: 735f 6172 675d 0a0a 282a 202a 2a2a 2a2a s_arg]..(* *****\n-00001910: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp\n-00001920: 6c65 6d65 6e74 0a70 6174 736f 6c76 655f lement.patsolve_\n-00001930: 736d 7432 5f63 6f6d 6d61 7267 6c73 740a smt2_commarglst.\n-00001940: 2020 2878 7329 203d 206c 6574 0a28 2a0a (xs) = let.(*.\n-00001950: 7661 6c20 2829 203d 2070 7269 6e74 6c6e val () = println\n-00001960: 2120 2822 7061 7473 6f6c 7665 5f73 6d74 ! (\"patsolve_smt\n-00001970: 325f 636f 6d6d 6172 676c 7374 2229 0a2a 2_commarglst\").*\n-00001980: 290a 696e 0a2f 2f0a 6361 7365 2b20 7873 ).in.//.case+ xs\n-00001990: 206f 660a 7c20 7e6c 6973 745f 7674 5f63 of.| ~list_vt_c\n-000019a0: 6f6e 730a 2020 2020 2878 2c20 7873 2920 ons. (x, xs) \n-000019b0: 3d3e 206c 6574 0a20 2020 2076 616c 2028 => let. val (\n-000019c0: 2920 3d20 7072 6f63 6573 735f 6172 6728 ) = process_arg(\n-000019d0: 7829 0a20 2069 6e0a 2020 2020 7061 7473 x). in. pats\n-000019e0: 6f6c 7665 5f73 6d74 325f 636f 6d6d 6172 olve_smt2_commar\n-000019f0: 676c 7374 2028 7873 290a 2020 656e 6420 glst (xs). end \n-00001a00: 2f2f 2065 6e64 206f 6620 5b6c 6973 745f // end of [list_\n-00001a10: 7674 5f63 6f6e 735d 0a2f 2f0a 7c20 7e6c vt_cons].//.| ~l\n-00001a20: 6973 745f 7674 5f6e 696c 0a20 2020 2028 ist_vt_nil. (\n-00001a30: 282a 766f 6964 2a29 2920 3d3e 2070 6174 (*void*)) => pat\n-00001a40: 736f 6c76 655f 736d 7432 5f63 6f6d 6d61 solve_smt2_comma\n-00001a50: 7267 6c73 745f 6669 6e61 6c69 7a65 2028 rglst_finalize (\n-00001a60: 290a 2020 2f2f 2065 6e64 206f 6620 5b6c ). // end of [l\n-00001a70: 6973 745f 7674 5f6e 696c 5d0a 2f2f 0a65 ist_vt_nil].//.e\n-00001a80: 6e64 202f 2f20 656e 6420 6f66 205b 7061 nd // end of [pa\n-00001a90: 7473 6f6c 7665 5f73 6d74 325f 636f 6d6d tsolve_smt2_comm\n-00001aa0: 6172 676c 7374 5d0a 0a28 2a20 2a2a 2a2a arglst]..(* ****\n-00001ab0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im\n-00001ac0: 706c 656d 656e 740a 7061 7473 6f6c 7665 plement.patsolve\n-00001ad0: 5f73 6d74 325f 6865 6c70 2829 203d 206c _smt2_help() = l\n-00001ae0: 6574 0a2f 2f0a 7661 6c20 6f75 7420 3d20 et.//.val out = \n-00001af0: 7374 646f 7574 5f72 6566 0a76 616c 2063 stdout_ref.val c\n-00001b00: 6d64 6e61 6d65 203d 2022 7061 7473 6f6c mdname = \"patsol\n-00001b10: 7665 5f73 6d74 3222 0a2f 2f0a 696e 0a2f ve_smt2\".//.in./\n-00001b20: 2f0a 6670 7269 6e74 6c6e 210a 2020 286f /.fprintln!. (o\n-00001b30: 7574 2c20 2255 7361 6765 3a20 222c 2063 ut, \"Usage: \", c\n-00001b40: 6d64 6e61 6d65 2c20 2220 3c63 6f6d 6d61 mdname, \" ... \\n\");.fprintln!\n-00001b70: 0a20 2028 6f75 742c 2022 7768 6572 6520 . (out, \"where \n-00001b80: 6120 3c63 6f6d 6d61 6e64 3e20 6973 206f a is o\n-00001b90: 6620 6f6e 6520 6f66 2074 6865 2066 6f6c f one of the fol\n-00001ba0: 6c6f 7769 6e67 2066 6f72 6d73 3a5c 6e22 lowing forms:\\n\"\n-00001bb0: 293b 0a2f 2f0a 6670 7269 6e74 6c6e 2120 );.//.fprintln! \n-00001bc0: 286f 7574 2c20 2220 202d 6820 2866 6f72 (out, \" -h (for\n-00001bd0: 2070 7269 6e74 696e 6720 6f75 7420 7468 printing out th\n-00001be0: 6973 2068 656c 7020 7573 6167 6529 2229 is help usage)\")\n-00001bf0: 3b0a 6670 7269 6e74 6c6e 2120 286f 7574 ;.fprintln! (out\n-00001c00: 2c20 2220 202d 6920 3c66 696c 656e 616d , \" -i (input from <\n-00001c20: 6669 6c65 6e61 6d65 3e29 2229 3b0a 6670 filename>)\");.fp\n-00001c30: 7269 6e74 6c6e 2120 286f 7574 2c20 2220 rintln! (out, \" \n-00001c40: 202d 6f20 3c66 696c 656e 616d 653e 2028 -o (\n-00001c50: 6f75 7470 7574 2069 6e74 6f20 3c66 696c output into )\");.//.fp\n-00001c70: 7269 6e74 6c6e 2120 286f 7574 293b 0a2f rintln! (out);./\n-00001c80: 2f0a 6670 7269 6e74 6c6e 2120 286f 7574 /.fprintln! (out\n-00001c90: 2c20 2220 202d 2d68 656c 7020 2866 6f72 , \" --help (for\n-00001ca0: 2070 7269 6e74 696e 6720 6f75 7420 7468 printing out th\n-00001cb0: 6973 2068 656c 7020 7573 6167 6529 2229 is help usage)\")\n-00001cc0: 3b0a 2f2f 0a66 7072 696e 746c 6e21 2028 ;.//.fprintln! (\n-00001cd0: 6f75 742c 2022 2020 2d2d 696e 7075 7420 out, \" --input \n-00001ce0: 3c66 696c 656e 616d 653e 2028 696e 7075 (inpu\n-00001cf0: 7420 6672 6f6d 203c 6669 6c65 6e61 6d65 t from )\");.//.fprintl\n-00001d10: 6e21 2028 6f75 742c 2022 2020 2d2d 6f75 n! (out, \" --ou\n-00001d20: 7470 7574 203c 6669 6c65 6e61 6d65 3e20 tput \n-00001d30: 286f 7574 7075 7420 696e 746f 203c 6669 (output into )\");.fpri\n-00001d50: 6e74 6c6e 2120 286f 7574 2c20 2220 202d ntln! (out, \" -\n-00001d60: 2d6f 7574 7075 742d 7720 3c66 696c 656e -output-w (output-wri\n-00001d80: 7465 2069 6e74 6f20 3c66 696c 656e 616d te into )\");.fprintln!\n-00001da0: 2028 6f75 742c 2022 2020 2d2d 6f75 7470 (out, \" --outp\n-00001db0: 7574 2d61 203c 6669 6c65 6e61 6d65 3e20 ut-a \n-00001dc0: 286f 7574 7075 742d 6170 7065 6e64 2069 (output-append i\n-00001dd0: 6e74 6f20 3c66 696c 656e 616d 653e 2922 nto )\"\n-00001de0: 293b 0a2f 2f0a 6670 7269 6e74 6c6e 2120 );.//.fprintln! \n-00001df0: 286f 7574 2c20 2220 202d 2d70 7269 6e74 (out, \" --print\n-00001e00: 6c6e 203c 7374 7269 6e67 3e20 2870 7269 ln (pri\n-00001e10: 6e74 203c 7374 7269 6e67 3e2b 6e65 776c nt +newl\n-00001e20: 696e 6529 2229 3b0a 6670 7269 6e74 6c6e ine)\");.fprintln\n-00001e30: 2120 286f 7574 2c20 2220 202d 2d70 7269 ! (out, \" --pri\n-00001e40: 6e74 6669 6c65 203c 6669 6c65 6e61 6d65 ntfile (print the con\n-00001e60: 7465 6e74 206f 6620 3c66 696c 656e 616d tent of )\");.//.fprint\n-00001e80: 6c6e 2120 286f 7574 293b 0a2f 2f0a 656e ln! (out);.//.en\n-00001e90: 6420 282a 2065 6e64 206f 6620 5b70 6174 d (* end of [pat\n-00001ea0: 736f 6c76 655f 736d 7432 5f68 656c 705d solve_smt2_help]\n-00001eb0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** *\n-00001ec0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem\n-00001ed0: 656e 740a 7061 7473 6f6c 7665 5f73 6d74 ent.patsolve_smt\n-00001ee0: 325f 696e 7075 7428 2920 3d0a 7b0a 2f2f 2_input() =.{.//\n-00001ef0: 0a28 2a0a 7661 6c20 2829 203d 0a70 7269 .(*.val () =.pri\n-00001f00: 6e74 6c6e 210a 2020 2822 7061 7473 6f6c ntln!. (\"patsol\n-00001f10: 7665 5f73 6d74 325f 696e 7075 743a 202e ve_smt2_input: .\n-00001f20: 2e2e 2229 0a2a 290a 2f2f 0a76 616c 2028 ..\").*).//.val (\n-00001f30: 2920 3d20 2174 6865 5f73 7461 7465 2e69 ) = !the_state.i\n-00001f40: 6e70 7574 203a 3d20 310a 7661 6c20 2829 nput := 1.val ()\n-00001f50: 203d 2021 7468 655f 7374 6174 652e 7072 = !the_state.pr\n-00001f60: 696e 746c 6e20 3a3d 2030 0a76 616c 2028 intln := 0.val (\n-00001f70: 2920 3d20 2174 6865 5f73 7461 7465 2e70 ) = !the_state.p\n-00001f80: 7269 6e74 6669 6c65 203a 3d20 300a 2f2f rintfile := 0.//\n-00001f90: 0a7d 2028 2a20 656e 6420 6f66 205b 7061 .} (* end of [pa\n-00001fa0: 7473 6f6c 7665 5f73 6d74 325f 696e 7075 tsolve_smt2_inpu\n-00001fb0: 745d 202a 290a 0a28 2a20 2a2a 2a2a 2a2a t] *)..(* ******\n-00001fc0: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl\n-00001fd0: 656d 656e 740a 7061 7473 6f6c 7665 5f73 ement.patsolve_s\n-00001fe0: 6d74 325f 6f75 7470 7574 0a20 2028 6b6e mt2_output. (kn\n-00001ff0: 6429 203d 0a7b 0a2f 2f0a 282a 0a76 616c d) =.{.//.(*.val\n-00002000: 2028 2920 3d0a 7072 696e 746c 6e21 0a20 () =.println!. \n-00002010: 2028 2270 6174 736f 6c76 655f 736d 7432 (\"patsolve_smt2\n-00002020: 5f6f 7574 7075 743a 202e 2e2e 2229 0a2a _output: ...\").*\n-00002030: 290a 2f2f 0a76 616c 2028 2920 3d20 2174 ).//.val () = !t\n-00002040: 6865 5f73 7461 7465 2e69 6e70 7574 203a he_state.input :\n-00002050: 3d20 300a 7661 6c20 2829 203d 2021 7468 = 0.val () = !th\n-00002060: 655f 7374 6174 652e 6f75 7470 7574 203a e_state.output :\n-00002070: 3d20 310a 7661 6c20 2829 203d 2021 7468 = 1.val () = !th\n-00002080: 655f 7374 6174 652e 7072 696e 746c 6e20 e_state.println \n-00002090: 3a3d 2030 0a76 616c 2028 2920 3d20 2174 := 0.val () = !t\n-000020a0: 6865 5f73 7461 7465 2e70 7269 6e74 6669 he_state.printfi\n-000020b0: 6c65 203a 3d20 300a 2f2f 0a76 616c 2028 le := 0.//.val (\n-000020c0: 2920 3d0a 280a 2020 6966 6361 7365 0a20 ) =.(. ifcase. \n-000020d0: 2020 207c 206b 6e64 203d 2031 203d 3e20 | knd = 1 => \n-000020e0: 2174 6865 5f73 7461 7465 2e6f 7574 6669 !the_state.outfi\n-000020f0: 6c5f 6d6f 6420 3a3d 2066 696c 655f 6d6f l_mod := file_mo\n-00002100: 6465 5f77 0a20 2020 207c 206b 6e64 203d de_w. | knd =\n-00002110: 2032 203d 3e20 2174 6865 5f73 7461 7465 2 => !the_state\n-00002120: 2e6f 7574 6669 6c5f 6d6f 6420 3a3d 2066 .outfil_mod := f\n-00002130: 696c 655f 6d6f 6465 5f61 0a20 2020 207c ile_mode_a. |\n-00002140: 205f 282a 2065 6c73 6520 2a29 203d 3e20 _(* else *) => \n-00002150: 2829 0a29 203a 2076 6f69 6420 2f2f 2065 ().) : void // e\n-00002160: 6e64 206f 6620 5b76 616c 5d0a 2f2f 0a7d nd of [val].//.}\n-00002170: 2028 2a20 656e 6420 6f66 205b 7061 7473 (* end of [pats\n-00002180: 6f6c 7665 5f73 6d74 325f 6f75 7470 7574 olve_smt2_output\n-00002190: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** \n-000021a0: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple\n-000021b0: 6d65 6e74 0a70 6174 736f 6c76 655f 736d ment.patsolve_sm\n-000021c0: 7432 5f70 7269 6e74 6c6e 0a20 2028 282a t2_println. ((*\n-000021d0: 766f 6964 2a29 2920 3d0a 7b0a 2f2f 0a28 void*)) =.{.//.(\n-000021e0: 2a0a 7661 6c20 2829 203d 0a70 7269 6e74 *.val () =.print\n-000021f0: 6c6e 210a 2020 2822 7061 7473 6f6c 7665 ln!. (\"patsolve\n-00002200: 5f73 6d74 325f 7072 696e 743a 202e 2e2e _smt2_print: ...\n-00002210: 2229 0a2a 290a 2f2f 0a76 616c 2028 2920 \").*).//.val () \n-00002220: 3d20 2174 6865 5f73 7461 7465 2e69 6e70 = !the_state.inp\n-00002230: 7574 203a 3d20 300a 7661 6c20 2829 203d ut := 0.val () =\n-00002240: 2021 7468 655f 7374 6174 652e 7072 696e !the_state.prin\n-00002250: 746c 6e20 3a3d 2031 0a76 616c 2028 2920 tln := 1.val () \n-00002260: 3d20 2174 6865 5f73 7461 7465 2e70 7269 = !the_state.pri\n-00002270: 6e74 6669 6c65 203a 3d20 300a 2f2f 0a7d ntfile := 0.//.}\n-00002280: 2028 2a20 656e 6420 6f66 205b 7061 7473 (* end of [pats\n-00002290: 6f6c 7665 5f73 6d74 325f 7072 696e 745d olve_smt2_print]\n-000022a0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** *\n-000022b0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem\n-000022c0: 656e 740a 7061 7473 6f6c 7665 5f73 6d74 ent.patsolve_smt\n-000022d0: 325f 7072 696e 7466 696c 650a 2020 2828 2_printfile. ((\n-000022e0: 2a76 6f69 642a 2929 203d 0a7b 0a2f 2f0a *void*)) =.{.//.\n-000022f0: 282a 0a76 616c 2028 2920 3d0a 7072 696e (*.val () =.prin\n-00002300: 746c 6e21 0a20 2028 2270 6174 736f 6c76 tln!. (\"patsolv\n-00002310: 655f 736d 7432 5f70 7269 6e74 3a20 2e2e e_smt2_print: ..\n-00002320: 2e22 290a 2a29 0a2f 2f0a 7661 6c20 2829 .\").*).//.val ()\n-00002330: 203d 2021 7468 655f 7374 6174 652e 696e = !the_state.in\n-00002340: 7075 7420 3a3d 2030 0a76 616c 2028 2920 put := 0.val () \n-00002350: 3d20 2174 6865 5f73 7461 7465 2e70 7269 = !the_state.pri\n-00002360: 6e74 6c6e 203a 3d20 300a 7661 6c20 2829 ntln := 0.val ()\n-00002370: 203d 2021 7468 655f 7374 6174 652e 7072 = !the_state.pr\n-00002380: 696e 7466 696c 6520 3a3d 2031 0a2f 2f0a intfile := 1.//.\n-00002390: 7d20 282a 2065 6e64 206f 6620 5b70 6174 } (* end of [pat\n-000023a0: 736f 6c76 655f 736d 7432 5f70 7269 6e74 solve_smt2_print\n-000023b0: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** \n-000023c0: 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 6c65 ****** *)..imple\n-000023d0: 6d65 6e74 0a70 6174 736f 6c76 655f 736d ment.patsolve_sm\n-000023e0: 7432 5f67 6974 656d 2861 7267 2920 3d20 t2_gitem(arg) = \n-000023f0: 6c65 740a 2f2f 0a28 2a0a 7661 6c20 2829 let.//.(*.val ()\n-00002400: 203d 0a70 7269 6e74 6c6e 210a 280a 2020 =.println!.(. \n-00002410: 2270 6174 736f 6c76 655f 736d 7432 5f67 \"patsolve_smt2_g\n-00002420: 6974 656d 3a20 6172 6720 3d20 222c 2061 item: arg = \", a\n-00002430: 7267 0a29 2028 2a20 7072 696e 746c 6e21 rg.) (* println!\n-00002440: 202a 290a 2a29 0a2f 2f0a 6d61 6364 6566 *).*).//.macdef\n-00002450: 0a69 6e70 7574 2829 203d 2028 2174 6865 .input() = (!the\n-00002460: 5f73 7461 7465 2e69 6e70 7574 203e 2030 _state.input > 0\n-00002470: 290a 6d61 6364 6566 0a6f 7574 7075 7428 ).macdef.output(\n-00002480: 2920 3d20 2821 7468 655f 7374 6174 652e ) = (!the_state.\n-00002490: 6f75 7470 7574 203e 2030 290a 6d61 6364 output > 0).macd\n-000024a0: 6566 0a70 7269 6e74 6c6e 2829 203d 2028 ef.println() = (\n-000024b0: 2174 6865 5f73 7461 7465 2e70 7269 6e74 !the_state.print\n-000024c0: 6c6e 203e 2030 290a 6d61 6364 6566 0a70 ln > 0).macdef.p\n-000024d0: 7269 6e74 6669 6c65 2829 203d 2028 2174 rintfile() = (!t\n-000024e0: 6865 5f73 7461 7465 2e70 7269 6e74 6669 he_state.printfi\n-000024f0: 6c65 203e 2030 290a 2f2f 0a69 6e0a 2f2f le > 0).//.in.//\n-00002500: 0a63 6173 652b 2030 206f 660a 2f2f 0a7c .case+ 0 of.//.|\n-00002510: 205f 2077 6865 6e20 696e 7075 7428 2920 _ when input() \n-00002520: 3d3e 0a20 207b 0a20 2020 2076 616c 2028 =>. {. val (\n-00002530: 2920 3d20 7061 7473 6f6c 7665 5f73 6d74 ) = patsolve_smt\n-00002540: 325f 696e 7075 745f 6172 6728 6172 6729 2_input_arg(arg)\n-00002550: 0a20 2020 2076 616c 2028 2920 3d0a 2020 . val () =. \n-00002560: 2020 280a 2020 2020 2020 2174 6865 5f73 (. !the_s\n-00002570: 7461 7465 2e6e 696e 7075 7420 3a3d 2021 tate.ninput := !\n-00002580: 7468 655f 7374 6174 652e 6e69 6e70 7574 the_state.ninput\n-00002590: 2b31 0a20 2020 2029 0a20 207d 2028 2a20 +1. ). } (* \n-000025a0: 696e 7075 7428 2920 2a29 0a7c 205f 2077 input() *).| _ w\n-000025b0: 6865 6e20 6f75 7470 7574 2829 203d 3e0a hen output() =>.\n-000025c0: 2020 7b0a 2020 2020 7661 6c20 2829 203d {. val () =\n-000025d0: 2021 7468 655f 7374 6174 652e 6f75 7470 !the_state.outp\n-000025e0: 7574 203a 3d20 300a 2020 2020 7661 6c20 ut := 0. val \n-000025f0: 2829 203d 2070 6174 736f 6c76 655f 736d () = patsolve_sm\n-00002600: 7432 5f6f 7574 7075 745f 6172 6728 6172 t2_output_arg(ar\n-00002610: 6729 0a20 207d 2028 2a20 696e 7075 7428 g). } (* input(\n-00002620: 2920 2a29 0a2f 2f0a 7c20 5f20 7768 656e ) *).//.| _ when\n-00002630: 2070 7269 6e74 6c6e 2829 203d 3e0a 2020 println() =>. \n-00002640: 7b0a 2020 2020 7661 6c20 2829 203d 0a20 {. val () =. \n-00002650: 2020 2020 2066 7072 696e 746c 6e21 2028 fprintln! (\n-00002660: 2174 6865 5f73 7461 7465 2e6f 7574 6669 !the_state.outfi\n-00002670: 6c5f 7265 662c 2061 7267 290a 2020 2020 l_ref, arg). \n-00002680: 2f2f 2065 6e64 206f 6620 5b76 616c 5d0a // end of [val].\n-00002690: 2020 7d20 282a 2069 6e70 7574 2829 202a } (* input() *\n-000026a0: 290a 2f2f 0a7c 205f 2077 6865 6e20 7072 ).//.| _ when pr\n-000026b0: 696e 7466 696c 6528 2920 3d3e 0a20 207b intfile() =>. {\n-000026c0: 0a20 2020 2076 616c 2028 2920 3d20 7061 . val () = pa\n-000026d0: 7473 6f6c 7665 5f73 6d74 325f 7072 696e tsolve_smt2_prin\n-000026e0: 7466 696c 655f 6172 6728 6172 6729 0a20 tfile_arg(arg). \n-000026f0: 207d 2028 2a20 696e 7075 7428 2920 2a29 } (* input() *)\n-00002700: 0a2f 2f0a 7c20 5f20 7768 656e 0a20 2020 .//.| _ when. \n-00002710: 2061 7267 203d 2022 2d2d 7265 616c 2d6f arg = \"--real-o\n-00002720: 6e22 203d 3e0a 2020 7b0a 2020 2020 7661 n\" =>. {. va\n-00002730: 6c20 2829 203d 2021 7468 655f 7374 6174 l () = !the_stat\n-00002740: 652e 636f 6e73 7472 6169 6e74 5f72 6561 e.constraint_rea\n-00002750: 6c20 3a3d 2031 0a20 207d 0a7c 205f 2077 l := 1. }.| _ w\n-00002760: 6865 6e0a 2020 2020 6172 6720 3d20 222d hen. arg = \"-\n-00002770: 2d72 6561 6c2d 6f66 6622 203d 3e0a 2020 -real-off\" =>. \n-00002780: 7b0a 2020 2020 7661 6c20 2829 203d 2021 {. val () = !\n-00002790: 7468 655f 7374 6174 652e 636f 6e73 7472 the_state.constr\n-000027a0: 6169 6e74 5f72 6561 6c20 3a3d 2030 0a20 aint_real := 0. \n-000027b0: 207d 0a2f 2f0a 7c20 5f20 282a 2075 6e72 }.//.| _ (* unr\n-000027c0: 6563 6f67 6e69 7a65 6420 2a29 203d 3e20 ecognized *) => \n-000027d0: 2828 2a76 6f69 642a 2929 0a2f 2f0a 656e ((*void*)).//.en\n-000027e0: 6420 282a 2065 6e64 206f 6620 5b70 6174 d (* end of [pat\n-000027f0: 736f 6c76 655f 736d 7432 5f67 6974 656d solve_smt2_gitem\n-00002800: 5d20 2a29 0a0a 282a 202a 2a2a 2a2a 2a20 ] *)..(* ****** \n-00002810: 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 616c ****** *)..local\n-00002820: 0a0a 6675 6e0a 6175 786d 6169 6e0a 2020 ..fun.auxmain. \n-00002830: 2870 6174 683a 2073 7472 696e 6729 3a20 (path: string): \n-00002840: 766f 6964 203d 206c 6574 0a2f 2f0a 7661 void = let.//.va\n-00002850: 6c0a 6f70 7420 3d0a 6669 6c65 7265 665f l.opt =.fileref_\n-00002860: 6f70 656e 5f6f 7074 2870 6174 682c 2066 open_opt(path, f\n-00002870: 696c 655f 6d6f 6465 5f72 290a 2f2f 0a69 ile_mode_r).//.i\n-00002880: 6e0a 2f2f 0a63 6173 652b 206f 7074 206f n.//.case+ opt o\n-00002890: 660a 7c20 7e53 6f6d 655f 7674 2866 696c f.| ~Some_vt(fil\n-000028a0: 7229 203d 3e0a 2020 7b0a 2f2f 0a20 2020 r) =>. {.//. \n-000028b0: 2076 616c 2063 3374 3020 3d0a 2020 2020 val c3t0 =. \n-000028c0: 2020 7061 7273 655f 6669 6c65 7265 665f parse_fileref_\n-000028d0: 636f 6e73 7472 6169 6e74 7328 6669 6c72 constraints(filr\n-000028e0: 290a 2020 2020 2f2f 2065 6e64 206f 6620 ). // end of \n-000028f0: 5b76 616c 5d0a 2020 2020 7661 6c20 2828 [val]. val ((\n-00002900: 2a76 6f69 642a 2929 203d 2066 696c 6572 *void*)) = filer\n-00002910: 6566 5f63 6c6f 7365 2866 696c 7229 0a2f ef_close(filr)./\n-00002920: 2f0a 282a 0a20 2020 2076 616c 2028 2920 /.(*. val () \n-00002930: 3d0a 2020 2020 6670 7269 6e74 2120 280a =. fprint! (.\n-00002940: 2020 2020 2020 7374 646f 7574 5f72 6566 stdout_ref\n-00002950: 0a20 2020 202c 2022 7061 7473 6f6c 7665 . , \"patsolve\n-00002960: 5f73 6d74 325f 696e 7075 745f 6172 673a _smt2_input_arg:\n-00002970: 2063 3374 3020 3d5c 6e22 0a20 2020 2029 c3t0 =\\n\". )\n-00002980: 2028 2a20 656e 6420 6f66 205b 6670 7269 (* end of [fpri\n-00002990: 6e74 5d20 2a29 0a20 2020 2076 616c 2028 nt] *). val (\n-000029a0: 2920 3d0a 2020 2020 2020 6670 7072 696e ) =. fpprin\n-000029b0: 745f 6333 6e73 7472 2873 7464 6f75 745f t_c3nstr(stdout_\n-000029c0: 7265 662c 2063 3374 3029 0a20 2020 202f ref, c3t0). /\n-000029d0: 2f20 656e 6420 6f66 205b 7661 6c5d 0a20 / end of [val]. \n-000029e0: 2020 2076 616c 2028 2920 3d20 6670 7269 val () = fpri\n-000029f0: 6e74 5f6e 6577 6c69 6e65 2028 7374 646f nt_newline (stdo\n-00002a00: 7574 5f72 6566 290a 2a29 0a2f 2f0a 2020 ut_ref).*).//. \n-00002a10: 2020 7661 6c20 6f75 7420 3d20 2174 6865 val out = !the\n-00002a20: 5f73 7461 7465 2e6f 7574 6669 6c5f 7265 _state.outfil_re\n-00002a30: 660a 2020 2020 7661 6c20 2828 2a76 6f69 f. val ((*voi\n-00002a40: 642a 2929 203d 2063 336e 7374 725f 736d d*)) = c3nstr_sm\n-00002a50: 7432 5f73 6f6c 7665 286f 7574 2c20 6333 t2_solve(out, c3\n-00002a60: 7430 290a 2f2f 0a20 207d 2028 2a20 656e t0).//. } (* en\n-00002a70: 6420 6f66 205b 536f 6d65 5f76 745d 202a d of [Some_vt] *\n-00002a80: 290a 2f2f 0a7c 207e 4e6f 6e65 5f76 7428 ).//.| ~None_vt(\n-00002a90: 282a 766f 6964 2a29 2920 3d3e 0a20 207b (*void*)) =>. {\n-00002aa0: 0a2f 2f0a 282a 0a20 2020 2076 616c 2028 .//.(*. val (\n-00002ab0: 2920 3d20 2174 6865 5f73 7461 7465 2e69 ) = !the_state.i\n-00002ac0: 6e70 6669 6c5f 7265 6620 3a3d 2073 7464 npfil_ref := std\n-00002ad0: 696e 5f72 6566 0a2a 290a 2f2f 0a20 2020 in_ref.*).//. \n-00002ae0: 2076 616c 2028 2920 3d0a 2020 2020 7072 val () =. pr\n-00002af0: 6572 726c 6e21 0a20 2020 2020 2028 2254 errln!. (\"T\n-00002b00: 6865 2066 696c 6520 5b22 2c20 7061 7468 he file [\", path\n-00002b10: 2c20 225d 2063 616e 6e6f 7420 6265 206f , \"] cannot be o\n-00002b20: 7065 6e65 6420 666f 7220 7265 6164 2122 pened for read!\"\n-00002b30: 290a 2020 2020 2f2f 2065 6e64 206f 6620 ). // end of \n-00002b40: 5b76 616c 5d0a 2f2f 0a20 207d 2028 2a20 [val].//. } (* \n-00002b50: 656e 6420 6f66 205b 4e6f 6e65 5f76 745d end of [None_vt]\n-00002b60: 202a 290a 2f2f 0a65 6e64 202f 2f20 656e *).//.end // en\n-00002b70: 6420 6f66 205b 6175 786d 6169 6e5d 0a0a d of [auxmain]..\n-00002b80: 696e 2028 2a20 696e 2d6f 662d 6c6f 6361 in (* in-of-loca\n-00002b90: 6c20 2a29 0a2f 2f0a 696d 706c 656d 656e l *).//.implemen\n-00002ba0: 740a 7061 7473 6f6c 7665 5f73 6d74 325f t.patsolve_smt2_\n-00002bb0: 696e 7075 745f 6172 670a 2020 2870 6174 input_arg. (pat\n-00002bc0: 6829 203d 0a28 0a2f 2f0a 6361 7365 2b0a h) =.(.//.case+.\n-00002bd0: 7061 7468 206f 660a 7c20 222d 2220 3d3e path of.| \"-\" =>\n-00002be0: 0a20 207b 0a20 2020 2076 616c 2069 6e70 . {. val inp\n-00002bf0: 203d 2073 7464 696e 5f72 6566 0a20 2020 = stdin_ref. \n-00002c00: 2076 616c 206f 7574 203d 2021 7468 655f val out = !the_\n-00002c10: 7374 6174 652e 6f75 7466 696c 5f72 6566 state.outfil_ref\n-00002c20: 0a20 2020 2076 616c 2063 3374 3020 3d20 . val c3t0 = \n-00002c30: 7061 7273 655f 6669 6c65 7265 665f 636f parse_fileref_co\n-00002c40: 6e73 7472 6169 6e74 7328 696e 7029 0a20 nstraints(inp). \n-00002c50: 2020 2076 616c 2028 282a 766f 6964 2a29 val ((*void*)\n-00002c60: 2920 3d20 6333 6e73 7472 5f73 6d74 325f ) = c3nstr_smt2_\n-00002c70: 736f 6c76 6528 6f75 742c 2063 3374 3029 solve(out, c3t0)\n-00002c80: 0a20 207d 0a7c 205f 282a 202e 2e2e 202a . }.| _(* ... *\n-00002c90: 2920 3d3e 2061 7578 6d61 696e 2870 6174 ) => auxmain(pat\n-00002ca0: 6829 0a2f 2f0a 2920 282a 2065 6e64 206f h).//.) (* end o\n-00002cb0: 6620 5b70 6174 736f 6c76 655f 736d 7432 f [patsolve_smt2\n-00002cc0: 5f69 6e70 7574 5f61 7267 5d20 2a29 0a2f _input_arg] *)./\n-00002cd0: 2f0a 656e 6420 2f2f 2065 6e64 206f 6620 /.end // end of \n-00002ce0: 5b6c 6f63 616c 5d0a 0a28 2a20 2a2a 2a2a [local]..(* ****\n-00002cf0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im\n-00002d00: 706c 656d 656e 740a 7061 7473 6f6c 7665 plement.patsolve\n-00002d10: 5f73 6d74 325f 6f75 7470 7574 5f61 7267 _smt2_output_arg\n-00002d20: 0a20 2028 7061 7468 2920 3d20 6c65 740a . (path) = let.\n-00002d30: 2f2f 0a76 616c 206e 3120 3d20 2174 6865 //.val n1 = !the\n-00002d40: 5f73 7461 7465 2e66 6f70 656e 5f6f 7574 _state.fopen_out\n-00002d50: 0a76 616c 2066 3120 3d20 2174 6865 5f73 .val f1 = !the_s\n-00002d60: 7461 7465 2e6f 7574 6669 6c5f 7265 660a tate.outfil_ref.\n-00002d70: 7661 6c20 2829 203d 2069 6620 6e31 203e val () = if n1 >\n-00002d80: 2030 2074 6865 6e20 6669 6c65 7265 665f 0 then fileref_\n-00002d90: 636c 6f73 6528 6631 290a 2f2f 0a76 616c close(f1).//.val\n-00002da0: 2066 6d20 3d20 2174 6865 5f73 7461 7465 fm = !the_state\n-00002db0: 2e6f 7574 6669 6c5f 6d6f 640a 7661 6c20 .outfil_mod.val \n-00002dc0: 6f70 7420 3d20 6669 6c65 7265 665f 6f70 opt = fileref_op\n-00002dd0: 656e 5f6f 7074 2870 6174 682c 2066 6d29 en_opt(path, fm)\n-00002de0: 0a2f 2f0a 696e 0a2f 2f0a 6361 7365 2b20 .//.in.//.case+ \n-00002df0: 6f70 7420 6f66 0a7c 207e 536f 6d65 5f76 opt of.| ~Some_v\n-00002e00: 7428 6669 6c72 2920 3d3e 0a20 207b 0a2f t(filr) =>. {./\n-00002e10: 2f0a 2020 2020 7661 6c20 2829 203d 2021 /. val () = !\n-00002e20: 7468 655f 7374 6174 652e 666f 7065 6e5f the_state.fopen_\n-00002e30: 6f75 7420 3a3d 2031 0a20 2020 2076 616c out := 1. val\n-00002e40: 2028 2920 3d20 2174 6865 5f73 7461 7465 () = !the_state\n-00002e50: 2e6f 7574 6669 6c5f 7265 6620 3a3d 2066 .outfil_ref := f\n-00002e60: 696c 720a 2f2f 0a20 207d 2028 2a20 656e ilr.//. } (* en\n-00002e70: 6420 6f66 205b 536f 6d65 5f76 745d 202a d of [Some_vt] *\n-00002e80: 290a 2f2f 0a7c 207e 4e6f 6e65 5f76 7428 ).//.| ~None_vt(\n-00002e90: 282a 766f 6964 2a29 2920 3d3e 0a20 207b (*void*)) =>. {\n-00002ea0: 0a2f 2f0a 2020 2020 7661 6c20 2829 203d .//. val () =\n-00002eb0: 2021 7468 655f 7374 6174 652e 666f 7065 !the_state.fope\n-00002ec0: 6e5f 6f75 7420 3a3d 2030 0a20 2020 2076 n_out := 0. v\n-00002ed0: 616c 2028 2920 3d20 2174 6865 5f73 7461 al () = !the_sta\n-00002ee0: 7465 2e6f 7574 6669 6c5f 7265 6620 3a3d te.outfil_ref :=\n-00002ef0: 2073 7464 6572 725f 7265 660a 2f2f 0a20 stderr_ref.//. \n-00002f00: 2020 2076 616c 2028 2920 3d0a 2020 2020 val () =. \n-00002f10: 7072 6572 726c 6e21 0a20 2020 2020 2028 prerrln!. (\n-00002f20: 2254 6865 2066 696c 6520 5b22 2c20 7061 \"The file [\", pa\n-00002f30: 7468 2c20 225d 2063 616e 6e6f 7420 6265 th, \"] cannot be\n-00002f40: 206f 7065 6e65 6420 666f 7220 7772 6974 opened for writ\n-00002f50: 6521 2229 0a20 2020 202f 2f20 656e 6420 e!\"). // end \n-00002f60: 6f66 205b 7661 6c5d 0a2f 2f0a 2020 7d20 of [val].//. } \n-00002f70: 282a 2065 6e64 206f 6620 5b4e 6f6e 655f (* end of [None_\n-00002f80: 7674 5d20 2a29 0a2f 2f0a 656e 6420 2f2f vt] *).//.end //\n-00002f90: 2065 6e64 206f 6620 5b70 6174 736f 6c76 end of [patsolv\n-00002fa0: 655f 736d 7432 5f6f 7574 7075 745f 6172 e_smt2_output_ar\n-00002fb0: 675d 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a g]..(* ****** **\n-00002fc0: 2a2a 2a2a 202a 290a 0a69 6d70 6c65 6d65 **** *)..impleme\n-00002fd0: 6e74 0a70 6174 736f 6c76 655f 736d 7432 nt.patsolve_smt2\n-00002fe0: 5f70 7269 6e74 6669 6c65 5f61 7267 0a20 _printfile_arg. \n-00002ff0: 2028 7061 7468 2920 3d20 6c65 740a 2f2f (path) = let.//\n-00003000: 0a76 616c 2066 6d20 3d20 6669 6c65 5f6d .val fm = file_m\n-00003010: 6f64 655f 720a 7661 6c20 6f70 7420 3d0a ode_r.val opt =.\n-00003020: 2020 6669 6c65 7265 665f 6f70 656e 5f6f fileref_open_o\n-00003030: 7074 2870 6174 682c 2066 6d29 0a2f 2f0a pt(path, fm).//.\n-00003040: 7661 6c20 6f75 7420 3d20 2174 6865 5f73 val out = !the_s\n-00003050: 7461 7465 2e6f 7574 6669 6c5f 7265 660a tate.outfil_ref.\n-00003060: 2f2f 0a66 756e 0a66 636f 7079 0a28 0a20 //.fun.fcopy.(. \n-00003070: 2069 6e70 3a20 4649 4c45 7265 662c 206f inp: FILEref, o\n-00003080: 7574 3a20 4649 4c45 7265 660a 2920 3a20 ut: FILEref.) : \n-00003090: 766f 6964 203d 206c 6574 0a2f 2f0a 7661 void = let.//.va\n-000030a0: 6c20 6973 656f 6620 3d20 6669 6c65 7265 l iseof = filere\n-000030b0: 665f 6973 5f65 6f66 2869 6e70 290a 2f2f f_is_eof(inp).//\n-000030c0: 0a69 6e0a 2f2f 0a69 660a 6973 656f 660a .in.//.if.iseof.\n-000030d0: 7468 656e 0a20 2066 696c 6572 6566 5f63 then. fileref_c\n-000030e0: 6c6f 7365 2869 6e70 290a 656c 7365 206c lose(inp).else l\n-000030f0: 6574 0a2f 2f0a 7661 6c20 7374 7220 3d0a et.//.val str =.\n-00003100: 2020 6669 6c65 7265 665f 6765 745f 6c69 fileref_get_li\n-00003110: 6e65 5f73 7472 696e 6728 696e 7029 0a2f ne_string(inp)./\n-00003120: 2f20 656e 6420 6f66 205b 7661 5d0a 7661 / end of [va].va\n-00003130: 6c20 2828 2a76 6f69 642a 2929 203d 2066 l ((*void*)) = f\n-00003140: 7072 696e 746c 6e21 2028 6f75 742c 2073 println! (out, s\n-00003150: 7472 290a 7661 6c20 2828 2a66 7265 6564 tr).val ((*freed\n-00003160: 2a29 2920 3d20 7374 7270 7472 5f66 7265 *)) = strptr_fre\n-00003170: 6528 7374 7229 0a2f 2f0a 696e 0a20 2066 e(str).//.in. f\n-00003180: 636f 7079 2869 6e70 2c20 6f75 7429 0a65 copy(inp, out).e\n-00003190: 6e64 2028 2a20 656e 6420 6f66 205b 656c nd (* end of [el\n-000031a0: 7365 5d20 2a29 0a2f 2f0a 656e 6420 2f2f se] *).//.end //\n-000031b0: 2065 6e64 206f 6620 5b66 636f 7079 5d0a end of [fcopy].\n-000031c0: 2f2f 0a69 6e0a 2f2f 0a63 6173 652b 206f //.in.//.case+ o\n-000031d0: 7074 206f 660a 7c20 7e53 6f6d 655f 7674 pt of.| ~Some_vt\n-000031e0: 2869 6e70 2920 3d3e 0a20 2020 2066 636f (inp) =>. fco\n-000031f0: 7079 2869 6e70 2c20 6f75 7429 0a20 202f py(inp, out). /\n-00003200: 2f20 656e 6420 6f66 205b 536f 6d65 5f76 / end of [Some_v\n-00003210: 745d 0a7c 207e 4e6f 6e65 5f76 7428 282a t].| ~None_vt((*\n-00003220: 766f 6964 2a29 2920 3d3e 0a20 2028 0a20 void*)) =>. (. \n-00003230: 2020 2066 7072 696e 746c 6e21 2028 6f75 fprintln! (ou\n-00003240: 742c 2022 2874 6865 2d66 696c 652d 5b22 t, \"(the-file-[\"\n-00003250: 2c20 7061 7468 2c20 225d 2d63 616e 6e6f , path, \"]-canno\n-00003260: 742d 6f70 656e 2d66 6f72 2d72 6561 6429 t-open-for-read)\n-00003270: 2229 0a20 2029 2028 2a20 656e 6420 6f66 \"). ) (* end of\n-00003280: 205b 4e6f 6e65 5f76 745d 202a 290a 2f2f [None_vt] *).//\n-00003290: 0a65 6e64 202f 2f20 656e 6420 6f66 205b .end // end of [\n-000032a0: 7061 7473 6f6c 7665 5f73 6d74 325f 7072 patsolve_smt2_pr\n-000032b0: 696e 7466 696c 655f 6172 675d 0a0a 282a intfile_arg]..(*\n-000032c0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-000032d0: 290a 0a69 6d70 6c65 6d65 6e74 0a70 6174 )..implement.pat\n-000032e0: 736f 6c76 655f 736d 7432 5f61 7267 656e solve_smt2_argen\n-000032f0: 640a 2020 2828 2a76 6f69 642a 2929 203d d. ((*void*)) =\n-00003300: 206c 6574 0a2f 2f0a 6d61 6364 6566 2074 let.//.macdef t\n-00003310: 6573 7428 2920 3d0a 2020 2821 7468 655f est() =. (!the_\n-00003320: 7374 6174 652e 696e 7075 7420 3e20 3020 state.input > 0 \n-00003330: 2626 2021 7468 655f 7374 6174 652e 6e69 && !the_state.ni\n-00003340: 6e70 7574 203d 2030 290a 2f2f 0a69 6e0a nput = 0).//.in.\n-00003350: 2f2f 0a63 6173 652b 2030 206f 660a 7c20 //.case+ 0 of.| \n-00003360: 5f20 7768 656e 2074 6573 7428 2920 3d3e _ when test() =>\n-00003370: 0a20 207b 0a2f 2f0a 2020 2020 7661 6c20 . {.//. val \n-00003380: 696e 7020 3d20 7374 6469 6e5f 7265 660a inp = stdin_ref.\n-00003390: 2020 2020 7661 6c20 6f75 7420 3d20 2174 val out = !t\n-000033a0: 6865 5f73 7461 7465 2e6f 7574 6669 6c5f he_state.outfil_\n-000033b0: 7265 660a 2020 2020 7661 6c20 6333 7430 ref. val c3t0\n-000033c0: 203d 2070 6172 7365 5f66 696c 6572 6566 = parse_fileref\n-000033d0: 5f63 6f6e 7374 7261 696e 7473 2869 6e70 _constraints(inp\n-000033e0: 290a 2020 2020 7661 6c20 2828 2a76 6f69 ). val ((*voi\n-000033f0: 642a 2929 203d 2063 336e 7374 725f 736d d*)) = c3nstr_sm\n-00003400: 7432 5f73 6f6c 7665 286f 7574 2c20 6333 t2_solve(out, c3\n-00003410: 7430 290a 2f2f 0a20 207d 2028 2a20 656e t0).//. } (* en\n-00003420: 6420 6f66 205b 7465 7374 5d20 2a29 0a7c d of [test] *).|\n-00003430: 205f 2028 2a72 6573 742a 2920 3d3e 2028 _ (*rest*) => (\n-00003440: 282a 6967 6e6f 7265 642a 2929 0a2f 2f0a (*ignored*)).//.\n-00003450: 656e 6420 282a 2065 6e64 206f 6620 5b70 end (* end of [p\n-00003460: 6174 736f 6c76 655f 736d 7432 5f61 7267 atsolve_smt2_arg\n-00003470: 656e 645d 202a 290a 0a28 2a20 2a2a 2a2a end] *)..(* ****\n-00003480: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im\n-00003490: 706c 656d 656e 740a 7061 7473 6f6c 7665 plement.patsolve\n-000034a0: 5f73 6d74 325f 636f 6d6d 6172 676c 7374 _smt2_commarglst\n-000034b0: 5f66 696e 616c 697a 650a 2020 2828 2a76 _finalize. ((*v\n-000034c0: 6f69 642a 2929 203d 0a7b 0a2f 2f0a 2020 oid*)) =.{.//. \n-000034d0: 7661 6c20 6e31 203d 2021 7468 655f 7374 val n1 = !the_st\n-000034e0: 6174 652e 666f 7065 6e5f 6f75 740a 2020 ate.fopen_out. \n-000034f0: 7661 6c20 6631 203d 2021 7468 655f 7374 val f1 = !the_st\n-00003500: 6174 652e 6f75 7466 696c 5f72 6566 0a20 ate.outfil_ref. \n-00003510: 2076 616c 2028 2920 3d20 6966 206e 3120 val () = if n1 \n-00003520: 3e20 3020 7468 656e 2066 696c 6572 6566 > 0 then fileref\n-00003530: 5f63 6c6f 7365 2866 3129 0a2f 2f0a 7d20 _close(f1).//.} \n-00003540: 282a 2065 6e64 206f 6620 5b70 6174 736f (* end of [patso\n-00003550: 6c76 655f 736d 7432 5f63 6f6d 6d61 7267 lve_smt2_commarg\n-00003560: 6c73 745f 6669 6e61 6c69 7a65 5d20 2a29 lst_finalize] *)\n-00003570: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00003580: 2a2a 202a 290a 0a28 2a20 656e 6420 6f66 ** *)..(* end of\n-00003590: 205b 7061 7473 6f6c 7665 5f73 6d74 325f [patsolve_smt2_\n-000035a0: 636f 6d6d 6172 672e 6461 7473 5d20 2a29 commarg.dats] *)\n-000035b0: 0a .\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_main.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_main.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,86 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho\n-00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.**\n-00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm\n-000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco\n-000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time:\n-000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.*\n-000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia\n-000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho\n-000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA\n-00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** \n-00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some\n-00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.//\n-00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** *\n-00000140: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc\n-00000150: 6c75 6465 0a22 7368 6172 652f 6174 7370 lude.\"share/atsp\n-00000160: 7265 5f73 7461 6c6f 6164 2e68 6174 7322 re_staload.hats\"\n-00000170: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000180: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal\n-00000190: 6f61 640a 222e 2f2e 2e2f 5341 5453 2f70 oad.\"./../SATS/p\n-000001a0: 6174 736f 6c76 655f 736d 7432 5f63 6f6d atsolve_smt2_com\n-000001b0: 6d61 7267 2e73 6174 7322 0a23 7374 616c marg.sats\".#stal\n-000001c0: 6f61 640a 222e 2f2e 2e2f 5341 5453 2f70 oad.\"./../SATS/p\n-000001d0: 6174 736f 6c76 655f 736d 7432 5f73 6f6c atsolve_smt2_sol\n-000001e0: 7669 6e67 2e73 6174 7322 0a2f 2f0a 282a ving.sats\".//.(*\n-000001f0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000200: 290a 2f2f 0a28 2a0a 6479 6e6c 6f61 640a ).//.(*.dynload.\n-00000210: 2241 5453 2d65 7874 736f 6c76 652f 4441 \"ATS-extsolve/DA\n-00000220: 5453 2f70 6174 736f 6c76 655f 636e 7374 TS/patsolve_cnst\n-00000230: 726e 742e 6461 7473 220a 2a29 0a76 616c rnt.dats\".*).val\n-00000240: 2028 2920 3d0a 7061 7473 6f6c 7665 5f63 () =.patsolve_c\n-00000250: 6e73 7472 6e74 5f5f 6479 6e6c 6f61 6428 nstrnt__dynload(\n-00000260: 2920 7768 6572 650a 7b0a 2020 6578 7465 ) where.{. exte\n-00000270: 726e 0a20 2066 756e 0a20 2070 6174 736f rn. fun. patso\n-00000280: 6c76 655f 636e 7374 726e 745f 5f64 796e lve_cnstrnt__dyn\n-00000290: 6c6f 6164 2829 3a20 766f 6964 203d 2022 load(): void = \"\n-000002a0: 6578 7423 220a 7d0a 2f2f 0a28 2a20 2a2a ext#\".}.//.(* **\n-000002b0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./\n-000002c0: 2f0a 282a 0a64 796e 6c6f 6164 0a22 4154 /.(*.dynload.\"AT\n-000002d0: 532d 6578 7473 6f6c 7665 2f44 4154 532f S-extsolve/DATS/\n-000002e0: 7061 7473 6f6c 7665 5f70 6172 7369 6e67 patsolve_parsing\n-000002f0: 2e64 6174 7322 0a2a 290a 7661 6c20 2829 .dats\".*).val ()\n-00000300: 203d 0a70 6174 736f 6c76 655f 7061 7273 =.patsolve_pars\n-00000310: 696e 675f 5f64 796e 6c6f 6164 2829 2077 ing__dynload() w\n-00000320: 6865 7265 0a7b 0a20 2065 7874 6572 6e0a here.{. extern.\n-00000330: 2020 6675 6e0a 2020 7061 7473 6f6c 7665 fun. patsolve\n-00000340: 5f70 6172 7369 6e67 5f5f 6479 6e6c 6f61 _parsing__dynloa\n-00000350: 6428 293a 2076 6f69 6420 3d20 2265 7874 d(): void = \"ext\n-00000360: 2322 0a7d 0a2f 2f0a 282a 202a 2a2a 2a2a #\".}.//.(* *****\n-00000370: 2a20 2a2a 2a2a 2a2a 202a 290a 0a23 6479 * ****** *)..#dy\n-00000380: 6e6c 6f61 6420 222e 2f70 6174 736f 6c76 nload \"./patsolv\n-00000390: 655f 736d 7432 5f63 6f6d 6d61 7267 2e64 e_smt2_commarg.d\n-000003a0: 6174 7322 0a23 6479 6e6c 6f61 6420 222e ats\".#dynload \".\n-000003b0: 2f70 6174 736f 6c76 655f 736d 7432 5f73 /patsolve_smt2_s\n-000003c0: 6f6c 7669 6e67 2e64 6174 7322 0a0a 282a olving.dats\"..(*\n-000003d0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-000003e0: 290a 0a69 6d70 6c65 6d65 6e74 0a6d 6169 )..implement.mai\n-000003f0: 6e30 2028 6172 6763 2c20 6172 6776 2920 n0 (argc, argv) \n-00000400: 3d0a 7b0a 2f2f 0a76 616c 2028 2920 3d0a =.{.//.val () =.\n-00000410: 7072 6572 726c 6e21 0a20 2028 2248 656c prerrln!. (\"Hel\n-00000420: 6c6f 2066 726f 6d20 5b70 6174 736f 6c76 lo from [patsolv\n-00000430: 655f 736d 7432 5d21 2229 0a2f 2f0a 7661 e_smt2]!\").//.va\n-00000440: 6c20 2829 203d 2074 6865 5f73 3263 696e l () = the_s2cin\n-00000450: 7465 7270 5f69 6e69 7469 7a65 2829 0a2f terp_initize()./\n-00000460: 2f0a 7661 6c0a 6172 676c 7374 203d 0a70 /.val.arglst =.p\n-00000470: 6174 736f 6c76 655f 736d 7432 5f63 6d64 atsolve_smt2_cmd\n-00000480: 6c69 6e65 2028 6172 6763 2c20 6172 6776 line (argc, argv\n-00000490: 290a 2f2f 0a2f 2f20 4858 3a20 736b 6970 ).//.// HX: skip\n-000004a0: 7069 6e67 2061 7267 765b 305d 0a2f 2f0a ping argv[0].//.\n-000004b0: 7661 6c2d 7e6c 6973 745f 7674 5f63 6f6e val-~list_vt_con\n-000004c0: 7328 5f2c 2061 7267 6c73 7429 203d 2061 s(_, arglst) = a\n-000004d0: 7267 6c73 740a 2f2f 0a76 616c 2028 2920 rglst.//.val () \n-000004e0: 3d20 7061 7473 6f6c 7665 5f73 6d74 325f = patsolve_smt2_\n-000004f0: 636f 6d6d 6172 676c 7374 2861 7267 6c73 commarglst(argls\n-00000500: 7429 0a2f 2f0a 7d20 282a 2065 6e64 206f t).//.} (* end o\n-00000510: 6620 5b6d 6169 6e5d 202a 290a 0a28 2a20 f [main] *)..(* \n-00000520: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000530: 0a0a 282a 2065 6e64 206f 6620 5b70 6174 ..(* end of [pat\n-00000540: 736f 6c76 655f 736d 7432 5f6d 6169 6e2e solve_smt2_main.\n-00000550: 6461 7473 5d20 2a29 0a dats] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_mylib.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_mylib.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,55 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho\n-00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.**\n-00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm\n-000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco\n-000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time:\n-000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.*\n-000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia\n-000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho\n-000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA\n-00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** \n-00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some\n-00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.//\n-00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** *\n-00000140: 2a2a 2a2a 2a20 2a29 0a0a 2364 6566 696e ***** *)..#defin\n-00000150: 6520 4154 535f 4459 4e4c 4f41 4446 4c41 e ATS_DYNLOADFLA\n-00000160: 4720 300a 0a28 2a20 2a2a 2a2a 2a2a 202a G 0..(* ****** *\n-00000170: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc\n-00000180: 6c75 6465 0a22 7368 6172 652f 6174 7370 lude.\"share/atsp\n-00000190: 7265 5f73 7461 6c6f 6164 2e68 6174 7322 re_staload.hats\"\n-000001a0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-000001b0: 2a2a 2a2a 202a 290a 2f2f 0a23 6465 6669 **** *).//.#defi\n-000001c0: 6e65 0a4c 4942 4a53 4f4e 435f 7461 7267 ne.LIBJSONC_targ\n-000001d0: 6574 6c6f 630a 225c 0a24 5041 5453 484f etloc.\"\\.$PATSHO\n-000001e0: 4d45 2f63 6f6e 7472 6962 5c0a 2f61 7473 ME/contrib\\./ats\n-000001f0: 636e 7472 622f 6174 7363 6e74 7262 2d68 cntrb/atscntrb-h\n-00000200: 782d 6c69 626a 736f 6e2d 6322 0a2f 2f0a x-libjson-c\".//.\n-00000210: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000220: 202a 290a 2f2f 0a23 7374 616c 6f61 640a *).//.#staload.\n-00000230: 227b 244c 4942 4a53 4f4e 437d 2f44 4154 \"{$LIBJSONC}/DAT\n-00000240: 532f 6a73 6f6e 2e64 6174 7322 0a2f 2f0a S/json.dats\".//.\n-00000250: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000260: 202a 290a 2f2f 0a6c 6f63 616c 0a23 696e *).//.local.#in\n-00000270: 636c 7564 650a 2270 7265 6c75 6465 2f44 clude.\"prelude/D\n-00000280: 4154 532f 6669 6c65 6261 732e 6461 7473 ATS/filebas.dats\n-00000290: 220a 696e 2028 2a6e 6f74 6869 6e67 2a29 \".in (*nothing*)\n-000002a0: 2065 6e64 202f 2f20 656e 6420 6f66 205b end // end of [\n-000002b0: 6c6f 6361 6c5d 0a2f 2f0a 282a 202a 2a2a local].//.(* ***\n-000002c0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000002d0: 0a6c 6f63 616c 0a23 696e 636c 7564 650a .local.#include.\n-000002e0: 227b 244c 4942 4a53 4f4e 437d 2f44 4154 \"{$LIBJSONC}/DAT\n-000002f0: 532f 6a73 6f6e 5f4d 4c2e 6461 7473 220a S/json_ML.dats\".\n-00000300: 696e 2028 2a6e 6f74 6869 6e67 2a29 2065 in (*nothing*) e\n-00000310: 6e64 202f 2f20 656e 6420 6f66 205b 6c6f nd // end of [lo\n-00000320: 6361 6c5d 0a2f 2f0a 282a 202a 2a2a 2a2a cal].//.(* *****\n-00000330: 2a20 2a2a 2a2a 2a2a 202a 290a 0a28 2a20 * ****** *)..(* \n-00000340: 656e 6420 6f66 205b 7061 7473 6f6c 7665 end of [patsolve\n-00000350: 5f73 6d74 325f 6d79 6c69 622e 6461 7473 _smt2_mylib.dats\n-00000360: 5d20 2a29 0a ] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_solving.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/DATS/patsolve_smt2_solving.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,595 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a0a 282a 0a2a 2a20 4175 7468 6f72 3a20 ..(*.** Author: \n-00000080: 486f 6e67 7765 6920 5869 0a2a 2a20 4175 Hongwei Xi.** Au\n-00000090: 7468 6f72 656d 6169 6c3a 2067 6d68 7778 thoremail: gmhwx\n-000000a0: 6941 5467 6d61 696c 444f 5463 6f6d 0a2a iATgmailDOTcom.*\n-000000b0: 2a20 5374 6172 7420 7469 6d65 3a20 4a75 * Start time: Ju\n-000000c0: 6e65 2c20 3230 3135 0a2a 290a 0a28 2a20 ne, 2015.*)..(* \n-000000d0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-000000e0: 0a2f 2f0a 2369 6e63 6c75 6465 0a22 7368 .//.#include.\"sh\n-000000f0: 6172 652f 6174 7370 7265 5f64 6566 696e are/atspre_defin\n-00000100: 652e 6861 7473 220a 2369 6e63 6c75 6465 e.hats\".#include\n-00000110: 0a22 7368 6172 652f 6174 7370 7265 5f73 .\"share/atspre_s\n-00000120: 7461 6c6f 6164 2e68 6174 7322 0a2f 2f0a taload.hats\".//.\n-00000130: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000140: 202a 290a 2f2f 0a73 7461 6c6f 6164 0a55 *).//.staload.U\n-00000150: 4e20 3d20 2270 7265 6c75 6465 2f53 4154 N = \"prelude/SAT\n-00000160: 532f 756e 7361 6665 2e73 6174 7322 0a2f S/unsafe.sats\"./\n-00000170: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-00000180: 2a2a 202a 290a 2f2f 0a23 6465 6669 6e65 ** *).//.#define\n-00000190: 0a50 4154 534f 4c56 455f 7461 7267 6574 .PATSOLVE_target\n-000001a0: 6c6f 6320 222e 2f2e 2e2f 4154 532d 6578 loc \"./../ATS-ex\n-000001b0: 7473 6f6c 7665 220a 2f2f 0a28 2a20 2a2a tsolve\".//.(* **\n-000001c0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./\n-000001d0: 2f0a 2373 7461 6c6f 6164 0a22 7b24 5041 /.#staload.\"{$PA\n-000001e0: 5453 4f4c 5645 7d2f 5341 5453 2f70 6174 TSOLVE}/SATS/pat\n-000001f0: 736f 6c76 655f 636e 7374 726e 742e 7361 solve_cnstrnt.sa\n-00000200: 7473 220a 2373 7461 6c6f 6164 0a22 7b24 ts\".#staload.\"{$\n-00000210: 5041 5453 4f4c 5645 7d2f 5341 5453 2f70 PATSOLVE}/SATS/p\n-00000220: 6174 736f 6c76 655f 7061 7273 696e 672e atsolve_parsing.\n-00000230: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats\".//.(* ****\n-00000240: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-00000250: 2373 7461 6c6f 6164 0a22 2e2f 2e2e 2f53 #staload.\"./../S\n-00000260: 4154 532f 7061 7473 6f6c 7665 5f73 6d74 ATS/patsolve_smt\n-00000270: 325f 636f 6d6d 6172 672e 7361 7473 220a 2_commarg.sats\".\n-00000280: 2373 7461 6c6f 6164 0a22 2e2f 2e2e 2f53 #staload.\"./../S\n-00000290: 4154 532f 7061 7473 6f6c 7665 5f73 6d74 ATS/patsolve_smt\n-000002a0: 325f 736f 6c76 696e 672e 7361 7473 220a 2_solving.sats\".\n-000002b0: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-000002c0: 2a2a 2a20 2a29 0a2f 2f0a 696d 706c 656d *** *).//.implem\n-000002d0: 656e 740a 6670 7269 6e74 5f76 616c 3c73 ent.fprint_val = fprint_s\n-000002f0: 3263 7374 0a69 6d70 6c65 6d65 6e74 0a66 2cst.implement.f\n-00000300: 7072 696e 745f 7661 6c3c 7332 7661 723e print_val\n-00000310: 203d 2066 7072 696e 745f 7332 7661 720a = fprint_s2var.\n-00000320: 696d 706c 656d 656e 740a 6670 7269 6e74 implement.fprint\n-00000330: 5f76 616c 3c73 3256 6172 3e20 3d20 6670 _val = fp\n-00000340: 7269 6e74 5f73 3256 6172 0a69 6d70 6c65 rint_s2Var.imple\n-00000350: 6d65 6e74 0a66 7072 696e 745f 7661 6c3c ment.fprint_val<\n-00000360: 7332 6578 703e 203d 2066 7072 696e 745f s2exp> = fprint_\n-00000370: 7332 6578 700a 696d 706c 656d 656e 740a s2exp.implement.\n-00000380: 6670 7269 6e74 5f76 616c 3c73 3369 746d fprint_val = fprint_s3itm\n-000003a0: 0a2f 2f0a 696d 706c 656d 656e 740a 6670 .//.implement.fp\n-000003b0: 7269 6e74 5f76 616c 3c66 6f72 6d3e 203d rint_val
=\n-000003c0: 2066 7072 696e 745f 666f 726d 0a69 6d70 fprint_form.imp\n-000003d0: 6c65 6d65 6e74 0a66 7072 696e 745f 7661 lement.fprint_va\n-000003e0: 6c3c 736f 6c76 6572 636d 643e 203d 2066 l = f\n-000003f0: 7072 696e 745f 736f 6c76 6572 636d 640a print_solvercmd.\n-00000400: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-00000410: 2a2a 2a20 2a29 0a2f 2f0a 696d 706c 656d *** *).//.implem\n-00000420: 656e 740a 7072 696e 745f 736f 6c76 6572 ent.print_solver\n-00000430: 636d 6428 7830 2920 3d0a 2020 6670 7269 cmd(x0) =. fpri\n-00000440: 6e74 5f73 6f6c 7665 7263 6d64 2873 7464 nt_solvercmd(std\n-00000450: 6f75 745f 7265 662c 2078 3029 0a69 6d70 out_ref, x0).imp\n-00000460: 6c65 6d65 6e74 0a70 7265 7272 5f73 6f6c lement.prerr_sol\n-00000470: 7665 7263 6d64 2878 3029 203d 0a20 2066 vercmd(x0) =. f\n-00000480: 7072 696e 745f 736f 6c76 6572 636d 6428 print_solvercmd(\n-00000490: 7374 6465 7272 5f72 6566 2c20 7830 290a stderr_ref, x0).\n-000004a0: 2f2f 0a69 6d70 6c65 6d65 6e74 0a66 7072 //.implement.fpr\n-000004b0: 696e 745f 736f 6c76 6572 636d 640a 2020 int_solvercmd. \n-000004c0: 286f 7574 2c20 7830 2920 3d20 280a 2f2f (out, x0) = (.//\n-000004d0: 0a63 6173 652b 2078 3020 6f66 0a7c 2053 .case+ x0 of.| S\n-000004e0: 4f4c 5645 5243 4d44 706f 7028 2920 3d3e OLVERCMDpop() =>\n-000004f0: 0a20 2020 2066 7072 696e 7421 2028 6f75 . fprint! (ou\n-00000500: 742c 2022 534f 4c56 4552 434d 4470 6f70 t, \"SOLVERCMDpop\n-00000510: 2829 2229 0a7c 2053 4f4c 5645 5243 4d44 ()\").| SOLVERCMD\n-00000520: 7075 7368 2829 203d 3e0a 2020 2020 6670 push() =>. fp\n-00000530: 7269 6e74 2120 286f 7574 2c20 2253 4f4c rint! (out, \"SOL\n-00000540: 5645 5243 4d44 7075 7368 2829 2229 0a2f VERCMDpush()\")./\n-00000550: 2f0a 7c20 534f 4c56 4552 434d 4461 7373 /.| SOLVERCMDass\n-00000560: 6572 7428 666d 6c29 203d 3e0a 2020 2020 ert(fml) =>. \n-00000570: 6670 7269 6e74 2120 286f 7574 2c20 2253 fprint! (out, \"S\n-00000580: 4f4c 5645 5243 4d44 6173 7365 7274 2822 OLVERCMDassert(\"\n-00000590: 2c20 666d 6c2c 2022 2922 290a 7c20 534f , fml, \")\").| SO\n-000005a0: 4c56 4552 434d 4463 6865 636b 7361 7428 LVERCMDchecksat(\n-000005b0: 2920 3d3e 0a20 2020 2066 7072 696e 7421 ) =>. fprint!\n-000005c0: 2028 6f75 742c 2022 534f 4c56 4552 434d (out, \"SOLVERCM\n-000005d0: 4463 6865 636b 7361 7428 2922 290a 2f2f Dchecksat()\").//\n-000005e0: 0a7c 2053 4f4c 5645 5243 4d44 6563 686f .| SOLVERCMDecho\n-000005f0: 6c6f 6328 6c6f 6329 203d 3e0a 2020 2020 loc(loc) =>. \n-00000600: 6670 7269 6e74 2120 286f 7574 2c20 2253 fprint! (out, \"S\n-00000610: 4f4c 5645 5243 4d44 6563 686f 6c6f 6328 OLVERCMDecholoc(\n-00000620: 222c 206c 6f63 2c20 2229 2229 0a2f 2f0a \", loc, \")\").//.\n-00000630: 7c20 534f 4c56 4552 434d 4470 6f70 656e | SOLVERCMDpopen\n-00000640: 7628 7332 7673 2920 3d3e 0a20 2020 2066 v(s2vs) =>. f\n-00000650: 7072 696e 7421 2028 6f75 742c 2022 534f print! (out, \"SO\n-00000660: 4c56 4552 434d 4470 6f70 656e 7628 222c LVERCMDpopenv(\",\n-00000670: 2073 3276 732c 2022 2922 290a 7c20 534f s2vs, \")\").| SO\n-00000680: 4c56 4552 434d 4470 7573 6865 6e76 2828 LVERCMDpushenv((\n-00000690: 2a76 6f69 642a 2929 203d 3e0a 2020 2020 *void*)) =>. \n-000006a0: 6670 7269 6e74 2120 286f 7574 2c20 2253 fprint! (out, \"S\n-000006b0: 4f4c 5645 5243 4d44 7075 7368 656e 7628 OLVERCMDpushenv(\n-000006c0: 2922 290a 2f2f 0a7c 2053 4f4c 5645 5243 )\").//.| SOLVERC\n-000006d0: 4d44 706f 7065 6e76 3228 2920 3d3e 0a20 MDpopenv2() =>. \n-000006e0: 2020 2066 7072 696e 7421 2028 6f75 742c fprint! (out,\n-000006f0: 2022 534f 4c56 4552 434d 4470 6f70 656e \"SOLVERCMDpopen\n-00000700: 7632 2829 2229 0a7c 2053 4f4c 5645 5243 v2()\").| SOLVERC\n-00000710: 4d44 7075 7368 656e 7632 2873 3276 7329 MDpushenv2(s2vs)\n-00000720: 203d 3e0a 2020 2020 6670 7269 6e74 2120 =>. fprint! \n-00000730: 286f 7574 2c20 2253 4f4c 5645 5243 4d44 (out, \"SOLVERCMD\n-00000740: 7075 7368 656e 7632 2822 2c20 7332 7673 pushenv2(\", s2vs\n-00000750: 2c20 2229 2229 0a2f 2f0a 2920 282a 2065 , \")\").//.) (* e\n-00000760: 6e64 206f 6620 5b66 7072 696e 745f 736f nd of [fprint_so\n-00000770: 6c76 6572 636d 645d 202a 290a 2f2f 0a28 lvercmd] *).//.(\n-00000780: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000790: 2a29 0a0a 696d 706c 656d 656e 740a 736f *)..implement.so\n-000007a0: 6c76 6572 636d 646c 7374 5f72 6576 6572 lvercmdlst_rever\n-000007b0: 7365 0a20 2028 7873 2920 3d20 6c65 740a se. (xs) = let.\n-000007c0: 2f2f 0a76 7479 7065 6465 6620 7873 203d //.vtypedef xs =\n-000007d0: 204c 6973 745f 7674 2873 6f6c 7665 7263 List_vt(solverc\n-000007e0: 6d64 290a 7674 7970 6564 6566 2079 7320 md).vtypedef ys \n-000007f0: 3d20 4c69 7374 305f 7674 2873 6f6c 7665 = List0_vt(solve\n-00000800: 7263 6d64 290a 7674 7970 6564 6566 2072 rcmd).vtypedef r\n-00000810: 6573 203d 204c 6973 7430 5f76 7428 736f es = List0_vt(so\n-00000820: 6c76 6572 636d 6429 0a2f 2f0a 6675 6e0a lvercmd).//.fun.\n-00000830: 6c6f 6f70 0a28 0a20 2078 733a 2078 732c loop.(. xs: xs,\n-00000840: 2079 733a 2079 732c 2072 6573 3a20 7265 ys: ys, res: re\n-00000850: 730a 2920 3a20 7265 7320 3d20 280a 2f2f s.) : res = (.//\n-00000860: 0a63 6173 652b 2078 7320 6f66 0a7c 207e .case+ xs of.| ~\n-00000870: 6c69 7374 5f76 745f 6e69 6c28 2920 3d3e list_vt_nil() =>\n-00000880: 206c 6574 0a20 2020 2076 616c 2028 2920 let. val () \n-00000890: 3d20 6c69 7374 5f76 745f 6672 6565 2879 = list_vt_free(y\n-000008a0: 7329 2069 6e20 7265 730a 2020 656e 6420 s) in res. end \n-000008b0: 2f2f 2065 6e64 206f 6620 5b6c 6973 745f // end of [list_\n-000008c0: 7674 5f6e 696c 5d0a 7c20 7e6c 6973 745f vt_nil].| ~list_\n-000008d0: 7674 5f63 6f6e 7328 782c 2078 7329 203d vt_cons(x, xs) =\n-000008e0: 3e0a 2020 280a 2020 2020 6361 7365 2b20 >. (. case+ \n-000008f0: 7820 6f66 0a20 2020 207c 2053 4f4c 5645 x of. | SOLVE\n-00000900: 5243 4d44 706f 7065 6e76 205f 203d 3e20 RCMDpopenv _ => \n-00000910: 6c65 740a 2020 2020 2020 2020 7661 6c20 let. val \n-00000920: 7973 203d 206c 6973 745f 7674 5f63 6f6e ys = list_vt_con\n-00000930: 7328 782c 2079 7329 0a20 2020 2020 2020 s(x, ys). \n-00000940: 2076 616c 2072 6573 203d 206c 6973 745f val res = list_\n-00000950: 7674 5f63 6f6e 7328 534f 4c56 4552 434d vt_cons(SOLVERCM\n-00000960: 4470 6f70 656e 7632 2829 2c20 7265 7329 Dpopenv2(), res)\n-00000970: 0a20 2020 2020 2069 6e0a 2020 2020 2020 . in. \n-00000980: 2020 6c6f 6f70 2878 732c 2079 732c 2072 loop(xs, ys, r\n-00000990: 6573 290a 2020 2020 2020 656e 6420 2f2f es). end //\n-000009a0: 2065 6e64 206f 6620 5b53 4f4c 5645 5243 end of [SOLVERC\n-000009b0: 4d44 706f 7065 6e76 5d0a 2020 2020 7c20 MDpopenv]. | \n-000009c0: 534f 4c56 4552 434d 4470 7573 6865 6e76 SOLVERCMDpushenv\n-000009d0: 205f 203d 3e20 6c65 740a 2020 2020 2020 _ => let. \n-000009e0: 2020 7661 6c2d 7e6c 6973 745f 7674 5f63 val-~list_vt_c\n-000009f0: 6f6e 7328 792c 2079 7329 203d 2079 730a ons(y, ys) = ys.\n-00000a00: 2020 2020 2020 2020 7661 6c2d 2053 4f4c val- SOL\n-00000a10: 5645 5243 4d44 706f 7065 6e76 2873 3276 VERCMDpopenv(s2v\n-00000a20: 7329 203d 2079 0a20 2020 2020 2020 2076 s) = y. v\n-00000a30: 616c 2072 6573 203d 206c 6973 745f 7674 al res = list_vt\n-00000a40: 5f63 6f6e 7328 534f 4c56 4552 434d 4470 _cons(SOLVERCMDp\n-00000a50: 7573 6865 6e76 3228 7332 7673 292c 2072 ushenv2(s2vs), r\n-00000a60: 6573 290a 2020 2020 2020 696e 0a20 2020 es). in. \n-00000a70: 2020 2020 206c 6f6f 7028 7873 2c20 7973 loop(xs, ys\n-00000a80: 2c20 7265 7329 0a20 2020 2020 2065 6e64 , res). end\n-00000a90: 202f 2f20 656e 6420 6f66 205b 534f 4c56 // end of [SOLV\n-00000aa0: 4552 434d 4470 7573 6865 6e76 5d0a 2020 ERCMDpushenv]. \n-00000ab0: 2020 7c20 5f28 2a72 6573 742d 6f66 2d73 | _(*rest-of-s\n-00000ac0: 6f6c 7665 7263 6d64 2a29 203d 3e20 6c6f olvercmd*) => lo\n-00000ad0: 6f70 2878 732c 2079 732c 206c 6973 745f op(xs, ys, list_\n-00000ae0: 7674 5f63 6f6e 7328 782c 2072 6573 2929 vt_cons(x, res))\n-00000af0: 0a20 2029 0a2f 2f0a 2920 282a 2065 6e64 . ).//.) (* end\n-00000b00: 206f 6620 5b6c 6f6f 705d 202a 290a 2f2f of [loop] *).//\n-00000b10: 0a69 6e0a 2020 6c6f 6f70 2878 732c 206c .in. loop(xs, l\n-00000b20: 6973 745f 7674 5f6e 696c 2829 2c20 6c69 ist_vt_nil(), li\n-00000b30: 7374 5f76 745f 6e69 6c28 2929 0a65 6e64 st_vt_nil()).end\n-00000b40: 202f 2f20 656e 6420 6f66 205b 736f 6c76 // end of [solv\n-00000b50: 6572 636d 646c 7374 5f72 6576 6572 7365 ercmdlst_reverse\n-00000b60: 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a ]..(* ****** ***\n-00000b70: 2a2a 2a20 2a29 0a2f 2f0a 6578 7465 726e *** *).//.extern\n-00000b80: 0a66 756e 0a63 336e 7374 725f 736f 6c76 .fun.c3nstr_solv\n-00000b90: 655f 6d61 696e 200a 2020 2865 6e76 3a20 e_main . (env: \n-00000ba0: 2173 6d74 656e 762c 2063 3374 3a20 6333 !smtenv, c3t: c3\n-00000bb0: 6e73 7472 293a 2076 6f69 640a 2f2f 0a28 nstr): void.//.(\n-00000bc0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000bd0: 2a29 0a2f 2f0a 6578 7465 726e 0a66 756e *).//.extern.fun\n-00000be0: 0a63 336e 7374 725f 736f 6c76 655f 6572 .c3nstr_solve_er\n-00000bf0: 726d 7367 0a20 2028 6333 743a 2063 336e rmsg. (c3t: c3n\n-00000c00: 7374 722c 2075 6e73 6f6c 7665 643a 2075 str, unsolved: u\n-00000c10: 696e 7429 3a20 696e 740a 2f2f 0a69 6d70 int): int.//.imp\n-00000c20: 6c65 6d65 6e74 200a 6333 6e73 7472 5f73 lement .c3nstr_s\n-00000c30: 6f6c 7665 5f65 7272 6d73 670a 2020 2863 olve_errmsg. (c\n-00000c40: 3374 2c20 756e 736f 6c76 6564 2920 3d20 3t, unsolved) = \n-00000c50: 3020 7768 6572 650a 7b0a 2f2f 0a76 616c 0 where.{.//.val\n-00000c60: 2028 2920 3d20 280a 2f2f 0a69 660a 756e () = (.//.if.un\n-00000c70: 736f 6c76 6564 203d 2030 750a 7468 656e solved = 0u.then\n-00000c80: 206c 6574 0a20 2076 616c 206f 7574 203d let. val out =\n-00000c90: 2073 7464 6572 725f 7265 660a 2020 7661 stderr_ref. va\n-00000ca0: 6c20 6c6f 6320 3d20 6333 742e 6333 6e73 l loc = c3t.c3ns\n-00000cb0: 7472 5f6c 6f63 0a20 2076 616c 2063 3374 tr_loc. val c3t\n-00000cc0: 6b20 3d20 6333 742e 6333 6e73 7472 5f6b k = c3t.c3nstr_k\n-00000cd0: 696e 640a 696e 0a2f 2f0a 6361 7365 2b20 ind.in.//.case+ \n-00000ce0: 6333 746b 206f 660a 7c20 4333 544b 6d61 c3tk of.| C3TKma\n-00000cf0: 696e 2829 203d 3e0a 2020 280a 2020 2020 in() =>. (. \n-00000d00: 6670 7269 6e74 6c6e 2120 286f 7574 2c20 fprintln! (out, \n-00000d10: 2255 6e73 6f6c 7665 6443 6f6e 7374 7261 \"UnsolvedConstra\n-00000d20: 696e 7428 6d61 696e 2940 222c 206c 6f63 int(main)@\", loc\n-00000d30: 2c20 223a 222c 2063 3374 290a 2020 290a , \":\", c3t). ).\n-00000d40: 7c20 4333 544b 7465 726d 6574 5f69 736e | C3TKtermet_isn\n-00000d50: 6174 2829 203d 3e0a 2020 280a 2020 2020 at() =>. (. \n-00000d60: 6670 7269 6e74 6c6e 2120 286f 7574 2c20 fprintln! (out, \n-00000d70: 2255 6e73 6f6c 7665 6443 6f6e 7374 7261 \"UnsolvedConstra\n-00000d80: 696e 7428 7465 726d 6574 5f69 736e 6174 int(termet_isnat\n-00000d90: 2940 222c 206c 6f63 2c20 223a 222c 2063 )@\", loc, \":\", c\n-00000da0: 3374 290a 2020 290a 7c20 4333 544b 7465 3t). ).| C3TKte\n-00000db0: 726d 6574 5f69 7364 6563 2829 203d 3e0a rmet_isdec() =>.\n-00000dc0: 2020 280a 2020 2020 6670 7269 6e74 6c6e (. fprintln\n-00000dd0: 2120 286f 7574 2c20 2255 6e73 6f6c 7665 ! (out, \"Unsolve\n-00000de0: 6443 6f6e 7374 7261 696e 7428 7465 726d dConstraint(term\n-00000df0: 6574 5f69 7364 6563 2940 222c 206c 6f63 et_isdec)@\", loc\n-00000e00: 2c20 223a 222c 2063 3374 290a 2020 290a , \":\", c3t). ).\n-00000e10: 7c20 5f28 2a72 6573 742d 6f66 2d43 3354 | _(*rest-of-C3T\n-00000e20: 4b2a 2920 3d3e 0a20 2028 0a20 2020 2066 K*) =>. (. f\n-00000e30: 7072 696e 746c 6e21 2028 6f75 742c 2022 println! (out, \"\n-00000e40: 556e 736f 6c76 6564 436f 6e73 7472 6169 UnsolvedConstrai\n-00000e50: 6e74 2875 6e63 6c61 7373 6966 6965 6429 nt(unclassified)\n-00000e60: 4022 2c20 6c6f 632c 2022 3a22 2c20 6333 @\", loc, \":\", c3\n-00000e70: 7429 0a20 2029 0a2f 2f0a 656e 6420 2f2f t). ).//.end //\n-00000e80: 2065 6e64 206f 6620 5b74 6865 6e5d 0a2f end of [then]./\n-00000e90: 2f0a 2920 282a 2065 6e64 206f 6620 5b76 /.) (* end of [v\n-00000ea0: 616c 5d20 2a29 0a2f 2f0a 7d20 282a 2065 al] *).//.} (* e\n-00000eb0: 6e64 206f 6620 5b63 336e 7374 725f 736f nd of [c3nstr_so\n-00000ec0: 6c76 655f 6572 726d 7367 5d20 2a29 0a2f lve_errmsg] *)./\n-00000ed0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-00000ee0: 2a2a 202a 290a 0a65 7874 6572 6e0a 6675 ** *)..extern.fu\n-00000ef0: 6e0a 6333 6e73 7472 5f73 6f6c 7665 5f70 n.c3nstr_solve_p\n-00000f00: 726f 700a 280a 2020 656e 763a 2021 736d rop.(. env: !sm\n-00000f10: 7465 6e76 2c20 6c6f 6330 3a20 6c6f 635f tenv, loc0: loc_\n-00000f20: 742c 2073 3270 3a20 7332 6578 700a 2920 t, s2p: s2exp.) \n-00000f30: 3a20 766f 6964 202f 2f20 656e 642d 6f66 : void // end-of\n-00000f40: 2d66 756e 6374 696f 6e0a 0a28 2a20 2a2a -function..(* **\n-00000f50: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-00000f60: 6578 7465 726e 0a66 756e 0a63 336e 7374 extern.fun.c3nst\n-00000f70: 725f 736f 6c76 655f 6974 6d6c 7374 0a28 r_solve_itmlst.(\n-00000f80: 0a20 2065 6e76 3a20 2173 6d74 656e 762c . env: !smtenv,\n-00000f90: 206c 6f63 303a 206c 6f63 5f74 2c20 7333 loc0: loc_t, s3\n-00000fa0: 6973 3a20 7333 6974 6d6c 7374 0a29 203a is: s3itmlst.) :\n-00000fb0: 2076 6f69 6420 2f2f 2065 6e64 2d6f 662d void // end-of-\n-00000fc0: 6675 6e63 7469 6f6e 0a0a 282a 202a 2a2a function..(* ***\n-00000fd0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a65 *** ****** *)..e\n-00000fe0: 7874 6572 6e0a 6675 6e0a 6333 6e73 7472 xtern.fun.c3nstr\n-00000ff0: 5f73 6f6c 7665 5f69 746d 6c73 745f 636e _solve_itmlst_cn\n-00001000: 7374 720a 280a 2020 656e 763a 2021 736d str.(. env: !sm\n-00001010: 7465 6e76 0a2c 206c 6f63 303a 206c 6f63 tenv., loc0: loc\n-00001020: 5f74 2c20 7333 6973 3a20 7333 6974 6d6c _t, s3is: s3itml\n-00001030: 7374 2c20 6333 743a 2063 336e 7374 720a st, c3t: c3nstr.\n-00001040: 2920 3a20 766f 6964 202f 2f20 656e 642d ) : void // end-\n-00001050: 6f66 2d66 756e 6374 696f 6e0a 0a28 2a20 of-function..(* \n-00001060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00001070: 0a0a 6578 7465 726e 0a66 756e 0a63 336e ..extern.fun.c3n\n-00001080: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst\n-00001090: 5f64 6973 6a0a 280a 2020 656e 763a 2021 _disj.(. env: !\n-000010a0: 736d 7465 6e76 0a2c 206c 6f63 303a 206c smtenv., loc0: l\n-000010b0: 6f63 5f74 2c20 7333 6973 3a20 7333 6974 oc_t, s3is: s3it\n-000010c0: 6d6c 7374 2c20 7333 6973 733a 2073 3369 mlst, s3iss: s3i\n-000010d0: 746d 6c73 746c 7374 0a29 203a 2076 6f69 tmlstlst.) : voi\n-000010e0: 6420 2f2f 2065 6e64 2d6f 662d 6675 6e63 d // end-of-func\n-000010f0: 7469 6f6e 0a0a 282a 202a 2a2a 2a2a 2a20 tion..(* ****** \n-00001100: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a65 7874 ****** *).//.ext\n-00001110: 6572 6e0a 6675 6e0a 6333 6e73 7472 5f73 ern.fun.c3nstr_s\n-00001120: 6f6c 7665 5f73 6f6c 7665 7269 6679 0a20 olve_solverify. \n-00001130: 2028 656e 763a 2021 736d 7465 6e76 2c20 (env: !smtenv, \n-00001140: 6c6f 6330 3a20 6c6f 635f 742c 2073 3265 loc0: loc_t, s2e\n-00001150: 5f70 726f 703a 2073 3265 7870 293a 2076 _prop: s2exp): v\n-00001160: 6f69 640a 2f2f 0a28 2a20 2a2a 2a2a 2a2a oid.//.(* ******\n-00001170: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl\n-00001180: 656d 656e 740a 6333 6e73 7472 5f73 6f6c ement.c3nstr_sol\n-00001190: 7665 5f70 726f 700a 280a 2020 656e 762c ve_prop.(. env,\n-000011a0: 206c 6f63 302c 2073 3270 300a 2920 3d20 loc0, s2p0.) = \n-000011b0: 6c65 740a 2f2f 0a76 616c 2073 3270 3020 let.//.val s2p0 \n-000011c0: 3d0a 2020 666f 726d 756c 615f 6d61 6b65 =. formula_make\n-000011d0: 5f73 3265 7870 2028 656e 762c 2073 3270 _s2exp (env, s2p\n-000011e0: 3029 0a2f 2f0a 696e 0a20 2073 6d74 656e 0).//.in. smten\n-000011f0: 765f 736f 6c76 655f 666f 726d 756c 6120 v_solve_formula \n-00001200: 2865 6e76 2c20 6c6f 6330 2c20 7332 7030 (env, loc0, s2p0\n-00001210: 290a 656e 6420 2f2f 2065 6e64 206f 6620 ).end // end of \n-00001220: 5b63 336e 7374 725f 736f 6c76 655f 7072 [c3nstr_solve_pr\n-00001230: 6f70 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a op]..(* ****** *\n-00001240: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem\n-00001250: 656e 740a 6333 6e73 7472 5f73 6f6c 7665 ent.c3nstr_solve\n-00001260: 5f69 746d 6c73 740a 2020 2865 6e76 2c20 _itmlst. (env, \n-00001270: 6c6f 6330 2c20 7333 6973 2920 3d20 6c65 loc0, s3is) = le\n-00001280: 740a 2f2f 0a28 2a0a 7661 6c20 2829 203d t.//.(*.val () =\n-00001290: 0a70 7269 6e74 6c6e 210a 2020 2822 6333 .println!. (\"c3\n-000012a0: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst\n-000012b0: 3a20 7333 6973 203d 2022 2c20 7333 6973 : s3is = \", s3is\n-000012c0: 290a 2a29 0a2f 2f0a 696e 0a2f 2f0a 6361 ).*).//.in.//.ca\n-000012d0: 7365 2b20 7333 6973 206f 660a 7c20 6c69 se+ s3is of.| li\n-000012e0: 7374 5f6e 696c 0a20 2020 2028 282a 766f st_nil. ((*vo\n-000012f0: 6964 2a29 2920 3d3e 2028 290a 2020 2f2f id*)) => (). //\n-00001300: 2065 6e64 206f 6620 5b6c 6973 745f 6e69 end of [list_ni\n-00001310: 6c5d 0a7c 206c 6973 745f 636f 6e73 0a20 l].| list_cons. \n-00001320: 2020 2028 7333 692c 2073 3369 7329 203d (s3i, s3is) =\n-00001330: 3e0a 2020 280a 2020 6361 7365 2b20 7333 >. (. case+ s3\n-00001340: 6920 6f66 0a20 207c 2053 3349 544d 7376 i of. | S3ITMsv\n-00001350: 6172 2873 3276 2920 3d3e 206c 6574 0a20 ar(s2v) => let. \n-00001360: 2020 2020 2076 616c 2028 2920 3d20 736d val () = sm\n-00001370: 7465 6e76 5f61 6464 5f73 3276 6172 2865 tenv_add_s2var(e\n-00001380: 6e76 2c20 7332 7629 0a20 2020 2069 6e0a nv, s2v). in.\n-00001390: 2020 2020 2020 6333 6e73 7472 5f73 6f6c c3nstr_sol\n-000013a0: 7665 5f69 746d 6c73 7428 656e 762c 206c ve_itmlst(env, l\n-000013b0: 6f63 302c 2073 3369 7329 0a20 2020 2065 oc0, s3is). e\n-000013c0: 6e64 202f 2f20 656e 6420 6f66 205b 5333 nd // end of [S3\n-000013d0: 4954 4d73 7661 725d 0a20 207c 2053 3349 ITMsvar]. | S3I\n-000013e0: 544d 6879 706f 2868 3370 2920 3d3e 206c TMhypo(h3p) => l\n-000013f0: 6574 0a20 2020 2020 2076 616c 2028 2920 et. val () \n-00001400: 3d20 736d 7465 6e76 5f61 6464 5f68 3379 = smtenv_add_h3y\n-00001410: 706f 2865 6e76 2c20 6833 7029 0a20 2020 po(env, h3p). \n-00001420: 2069 6e0a 2020 2020 2020 6333 6e73 7472 in. c3nstr\n-00001430: 5f73 6f6c 7665 5f69 746d 6c73 7428 656e _solve_itmlst(en\n-00001440: 762c 206c 6f63 302c 2073 3369 7329 0a20 v, loc0, s3is). \n-00001450: 2020 2065 6e64 202f 2f20 656e 6420 6f66 end // end of\n-00001460: 205b 5333 4954 4d68 7970 6f5d 0a20 207c [S3ITMhypo]. |\n-00001470: 2053 3349 544d 7356 6172 2873 3256 2920 S3ITMsVar(s2V) \n-00001480: 3d3e 0a20 2020 2020 2063 336e 7374 725f =>. c3nstr_\n-00001490: 736f 6c76 655f 6974 6d6c 7374 2865 6e76 solve_itmlst(env\n-000014a0: 2c20 6c6f 6330 2c20 7333 6973 290a 2020 , loc0, s3is). \n-000014b0: 7c20 5333 4954 4d63 6e73 7472 2863 3374 | S3ITMcnstr(c3t\n-000014c0: 2920 3d3e 0a20 2020 2020 2063 336e 7374 ) =>. c3nst\n-000014d0: 725f 736f 6c76 655f 6974 6d6c 7374 5f63 r_solve_itmlst_c\n-000014e0: 6e73 7472 2865 6e76 2c20 6c6f 6330 2c20 nstr(env, loc0, \n-000014f0: 7333 6973 2c20 6333 7429 0a20 207c 2053 s3is, c3t). | S\n-00001500: 3349 544d 636e 7374 725f 7265 660a 2020 3ITMcnstr_ref. \n-00001510: 2020 2020 286c 6f63 5f72 6566 2c20 6f70 (loc_ref, op\n-00001520: 7429 203d 3e0a 2020 2020 280a 2020 2020 t) =>. (. \n-00001530: 2020 6361 7365 2b20 6f70 7420 6f66 0a20 case+ opt of. \n-00001540: 2020 2020 207c 204e 6f6e 6528 2920 3d3e | None() =>\n-00001550: 2028 290a 2020 2020 2020 7c20 536f 6d65 (). | Some\n-00001560: 2863 3374 2920 3d3e 0a20 2020 2020 2020 (c3t) =>. \n-00001570: 2063 336e 7374 725f 736f 6c76 655f 6974 c3nstr_solve_it\n-00001580: 6d6c 7374 5f63 6e73 7472 2865 6e76 2c20 mlst_cnstr(env, \n-00001590: 6c6f 635f 7265 662c 2073 3369 732c 2063 loc_ref, s3is, c\n-000015a0: 3374 290a 2020 2020 2920 282a 2065 6e64 3t). ) (* end\n-000015b0: 206f 6620 5b53 3349 544d 636e 7374 725d of [S3ITMcnstr]\n-000015c0: 202a 290a 2020 7c20 5333 4954 4d64 6973 *). | S3ITMdis\n-000015d0: 6a28 7333 6973 735f 6469 736a 2920 3d3e j(s3iss_disj) =>\n-000015e0: 0a20 2020 2028 0a20 2020 2020 2063 336e . (. c3n\n-000015f0: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst\n-00001600: 5f64 6973 6a28 656e 762c 206c 6f63 302c _disj(env, loc0,\n-00001610: 2073 3369 732c 2073 3369 7373 5f64 6973 s3is, s3iss_dis\n-00001620: 6a29 0a20 2020 2029 2028 2a20 656e 6420 j). ) (* end \n-00001630: 6f66 205b 5333 4954 4d64 6973 6a5d 202a of [S3ITMdisj] *\n-00001640: 290a 2020 7c20 5333 4954 4d73 6f6c 6173 ). | S3ITMsolas\n-00001650: 7365 7274 2873 3265 5f70 726f 7029 203d sert(s2e_prop) =\n-00001660: 3e20 6c65 740a 2020 2020 2020 7661 6c20 > let. val \n-00001670: 2829 203d 0a20 2020 2020 2020 2073 6d74 () =. smt\n-00001680: 656e 765f 6164 645f 7332 6578 7028 656e env_add_s2exp(en\n-00001690: 762c 2073 3265 5f70 726f 7029 0a20 2020 v, s2e_prop). \n-000016a0: 2020 202f 2f20 656e 6420 6f66 205b 7661 // end of [va\n-000016b0: 6c5d 0a20 2020 2069 6e0a 2020 2020 2020 l]. in. \n-000016c0: 6333 6e73 7472 5f73 6f6c 7665 5f69 746d c3nstr_solve_itm\n-000016d0: 6c73 7428 656e 762c 206c 6f63 302c 2073 lst(env, loc0, s\n-000016e0: 3369 7329 0a20 2020 2065 6e64 202f 2f20 3is). end // \n-000016f0: 656e 6420 6f66 205b 5333 4954 4d73 6f6c end of [S3ITMsol\n-00001700: 6173 7365 7274 5d0a 2020 2920 2f2f 2065 assert]. ) // e\n-00001710: 6e64 206f 6620 5b6c 6973 745f 636f 6e73 nd of [list_cons\n-00001720: 5d0a 2f2f 0a65 6e64 202f 2f20 656e 6420 ].//.end // end \n-00001730: 6f66 205b 6333 6e73 7472 5f73 6f6c 7665 of [c3nstr_solve\n-00001740: 5f69 746d 6c73 745d 0a0a 282a 202a 2a2a _itmlst]..(* ***\n-00001750: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 *** ****** *)..i\n-00001760: 6d70 6c65 6d65 6e74 0a63 336e 7374 725f mplement.c3nstr_\n-00001770: 736f 6c76 655f 6974 6d6c 7374 5f63 6e73 solve_itmlst_cns\n-00001780: 7472 0a20 2028 656e 762c 206c 6f63 302c tr. (env, loc0,\n-00001790: 2073 3369 732c 2063 3374 2920 3d20 2829 s3is, c3t) = ()\n-000017a0: 2077 6865 7265 0a7b 0a20 2076 616c 2028 where.{. val (\n-000017b0: 7066 7c28 2929 203d 2073 6d74 656e 765f pf|()) = smtenv_\n-000017c0: 7075 7368 2028 656e 7629 0a2f 2f0a 2020 push (env).//. \n-000017d0: 7661 6c20 616e 7331 203d 0a20 2020 2063 val ans1 =. c\n-000017e0: 336e 7374 725f 736f 6c76 655f 6d61 696e 3nstr_solve_main\n-000017f0: 2028 656e 762c 2063 3374 290a 2020 2f2f (env, c3t). //\n-00001800: 2065 6e64 206f 6620 5b76 616c 5d0a 2f2f end of [val].//\n-00001810: 0a20 2076 616c 2028 282a 766f 6964 2a29 . val ((*void*)\n-00001820: 2920 3d20 736d 7465 6e76 5f70 6f70 2028 ) = smtenv_pop (\n-00001830: 7066 207c 2065 6e76 290a 2f2f 0a20 2076 pf | env).//. v\n-00001840: 616c 2061 6e73 3220 3d0a 2020 2020 6333 al ans2 =. c3\n-00001850: 6e73 7472 5f73 6f6c 7665 5f69 746d 6c73 nstr_solve_itmls\n-00001860: 7420 2865 6e76 2c20 6c6f 6330 2c20 7333 t (env, loc0, s3\n-00001870: 6973 290a 2020 2f2f 2065 6e64 206f 6620 is). // end of \n-00001880: 5b76 616c 5d0a 2f2f 0a7d 2028 2a20 656e [val].//.} (* en\n-00001890: 6420 6f66 205b 6333 6e73 7472 5f73 6f6c d of [c3nstr_sol\n-000018a0: 7665 5f69 746d 6c73 745f 636e 7374 725d ve_itmlst_cnstr]\n-000018b0: 202a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a *)..(* ****** *\n-000018c0: 2a2a 2a2a 2a20 2a29 0a0a 696d 706c 656d ***** *)..implem\n-000018d0: 656e 740a 6333 6e73 7472 5f73 6f6c 7665 ent.c3nstr_solve\n-000018e0: 5f69 746d 6c73 745f 6469 736a 0a28 0a20 _itmlst_disj.(. \n-000018f0: 2065 6e76 2c20 6c6f 6330 2c20 7333 6973 env, loc0, s3is\n-00001900: 302c 2073 3369 7373 282a 6469 736a 2a29 0, s3iss(*disj*)\n-00001910: 0a29 203d 206c 6574 0a28 2a0a 7661 6c20 .) = let.(*.val \n-00001920: 2829 203d 2028 0a20 2070 7269 6e74 6c6e () = (. println\n-00001930: 2120 2822 6333 6e73 7472 5f73 6f6c 7665 ! (\"c3nstr_solve\n-00001940: 5f69 746d 6c73 745f 6469 736a 3a20 7333 _itmlst_disj: s3\n-00001950: 6973 7320 3d20 2e2e 2e22 290a 2920 282a iss = ...\").) (*\n-00001960: 2065 6e64 206f 6620 5b76 616c 5d20 2a29 end of [val] *)\n-00001970: 0a2a 290a 696e 0a2f 2f0a 6361 7365 2b20 .*).in.//.case+ \n-00001980: 7333 6973 7320 6f66 0a7c 206c 6973 745f s3iss of.| list_\n-00001990: 6e69 6c0a 2020 2020 2828 2a76 6f69 642a nil. ((*void*\n-000019a0: 2929 203d 3e20 2829 0a20 202f 2f20 656e )) => (). // en\n-000019b0: 6420 6f66 205b 6c69 7374 5f6e 696c 5d0a d of [list_nil].\n-000019c0: 7c20 6c69 7374 5f63 6f6e 730a 2020 2020 | list_cons. \n-000019d0: 2873 3369 732c 2073 3369 7373 2920 3d3e (s3is, s3iss) =>\n-000019e0: 206c 6574 0a20 2020 2076 616c 2028 7066 let. val (pf\n-000019f0: 7c28 2929 203d 2073 6d74 656e 765f 7075 |()) = smtenv_pu\n-00001a00: 7368 2028 656e 7629 0a20 2020 2076 616c sh (env). val\n-00001a10: 2073 3369 7331 203d 206c 6973 745f 6170 s3is1 = list_ap\n-00001a20: 7065 6e64 2028 7333 6973 2c20 7333 6973 pend (s3is, s3is\n-00001a30: 3029 0a20 2020 2076 616c 2061 6e73 203d 0). val ans =\n-00001a40: 2063 336e 7374 725f 736f 6c76 655f 6974 c3nstr_solve_it\n-00001a50: 6d6c 7374 2028 656e 762c 206c 6f63 302c mlst (env, loc0,\n-00001a60: 2073 3369 7331 290a 2020 2020 7661 6c20 s3is1). val \n-00001a70: 2828 2a76 6f69 642a 2929 203d 2073 6d74 ((*void*)) = smt\n-00001a80: 656e 765f 706f 7020 2870 6620 7c20 656e env_pop (pf | en\n-00001a90: 7629 0a20 2069 6e0a 2020 2020 6333 6e73 v). in. c3ns\n-00001aa0: 7472 5f73 6f6c 7665 5f69 746d 6c73 745f tr_solve_itmlst_\n-00001ab0: 6469 736a 2028 656e 762c 206c 6f63 302c disj (env, loc0,\n-00001ac0: 2073 3369 7330 2c20 7333 6973 7329 0a20 s3is0, s3iss). \n-00001ad0: 2065 6e64 202f 2f20 656e 6420 6f66 205b end // end of [\n-00001ae0: 6c69 7374 5f63 6f6e 735d 0a2f 2f0a 656e list_cons].//.en\n-00001af0: 6420 2f2f 2065 6e64 206f 6620 5b63 336e d // end of [c3n\n-00001b00: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst\n-00001b10: 5f64 6973 6a5d 0a0a 282a 202a 2a2a 2a2a _disj]..(* *****\n-00001b20: 2a20 2a2a 2a2a 2a2a 202a 290a 0a69 6d70 * ****** *)..imp\n-00001b30: 6c65 6d65 6e74 0a63 336e 7374 725f 736f lement.c3nstr_so\n-00001b40: 6c76 655f 736f 6c76 6572 6966 790a 2020 lve_solverify. \n-00001b50: 2865 6e76 2c20 6c6f 6330 2c20 7332 655f (env, loc0, s2e_\n-00001b60: 7072 6f70 2920 3d20 6c65 740a 2f2f 0a76 prop) = let.//.v\n-00001b70: 616c 2073 3265 5f70 726f 7020 3d0a 2020 al s2e_prop =. \n-00001b80: 666f 726d 756c 615f 6d61 6b65 5f73 3265 formula_make_s2e\n-00001b90: 7870 2028 656e 762c 2073 3265 5f70 726f xp (env, s2e_pro\n-00001ba0: 7029 0a2f 2f0a 696e 0a20 2073 6d74 656e p).//.in. smten\n-00001bb0: 765f 736f 6c76 655f 666f 726d 756c 6120 v_solve_formula \n-00001bc0: 2865 6e76 2c20 6c6f 6330 2c20 7332 655f (env, loc0, s2e_\n-00001bd0: 7072 6f70 290a 656e 6420 2f2f 2065 6e64 prop).end // end\n-00001be0: 206f 6620 5b63 336e 7374 725f 736f 6c76 of [c3nstr_solv\n-00001bf0: 655f 736f 6c76 6572 6966 795d 0a0a 282a e_solverify]..(*\n-00001c00: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00001c10: 290a 0a69 6d70 6c65 6d65 6e74 0a63 336e )..implement.c3n\n-00001c20: 7374 725f 736f 6c76 655f 6d61 696e 0a20 str_solve_main. \n-00001c30: 2028 656e 762c 2063 3374 2920 3d20 6c65 (env, c3t) = le\n-00001c40: 740a 2f2f 0a76 616c 0a6c 6f63 3020 3d20 t.//.val.loc0 = \n-00001c50: 6333 742e 6333 6e73 7472 5f6c 6f63 0a2f c3t.c3nstr_loc./\n-00001c60: 2f0a 696e 0a2f 2f0a 6361 7365 2b0a 6333 /.in.//.case+.c3\n-00001c70: 742e 6333 6e73 7472 5f6e 6f64 650a 6f66 t.c3nstr_node.of\n-00001c80: 2028 2a20 6361 7365 2b20 2a29 0a7c 2043 (* case+ *).| C\n-00001c90: 334e 5354 5270 726f 7028 7332 7029 203d 3NSTRprop(s2p) =\n-00001ca0: 3e0a 2020 2020 6333 6e73 7472 5f73 6f6c >. c3nstr_sol\n-00001cb0: 7665 5f70 726f 7028 656e 762c 206c 6f63 ve_prop(env, loc\n-00001cc0: 302c 2073 3270 290a 2020 2f2f 2065 6e64 0, s2p). // end\n-00001cd0: 206f 6620 5b43 334e 5354 5270 726f 705d of [C3NSTRprop]\n-00001ce0: 0a7c 2043 334e 5354 5269 746d 6c73 7428 .| C3NSTRitmlst(\n-00001cf0: 7333 6973 2920 3d3e 0a20 2020 2063 336e s3is) =>. c3n\n-00001d00: 7374 725f 736f 6c76 655f 6974 6d6c 7374 str_solve_itmlst\n-00001d10: 2865 6e76 2c20 6c6f 6330 2c20 7333 6973 (env, loc0, s3is\n-00001d20: 290a 2020 2f2f 2065 6e64 206f 6620 5b43 ). // end of [C\n-00001d30: 334e 5354 5269 746d 6c73 745d 0a7c 2043 3NSTRitmlst].| C\n-00001d40: 334e 5354 5273 6f6c 7665 7269 6679 2873 3NSTRsolverify(s\n-00001d50: 3265 5f70 726f 7029 203d 3e0a 2020 2020 2e_prop) =>. \n-00001d60: 6333 6e73 7472 5f73 6f6c 7665 5f73 6f6c c3nstr_solve_sol\n-00001d70: 7665 7269 6679 2865 6e76 2c20 6c6f 6330 verify(env, loc0\n-00001d80: 2c20 7332 655f 7072 6f70 290a 2f2f 0a65 , s2e_prop).//.e\n-00001d90: 6e64 202f 2f20 656e 6420 6f66 205b 6333 nd // end of [c3\n-00001da0: 6e73 7472 5f73 6f6c 7665 5f6d 6169 6e5d nstr_solve_main]\n-00001db0: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00001dc0: 2a2a 202a 290a 282a 0a2f 2f0a 6675 6e0a ** *).(*.//.fun.\n-00001dd0: 656d 6974 5f70 6f70 0a20 2028 6f75 743a emit_pop. (out:\n-00001de0: 2046 494c 4572 6566 2920 3d20 6670 7269 FILEref) = fpri\n-00001df0: 6e74 6c6e 2120 286f 7574 2c20 2228 706f ntln! (out, \"(po\n-00001e00: 7029 2229 0a2f 2f0a 6675 6e0a 656d 6974 p)\").//.fun.emit\n-00001e10: 5f70 7573 680a 2020 286f 7574 3a20 4649 _push. (out: FI\n-00001e20: 4c45 7265 6629 203d 2066 7072 696e 746c LEref) = fprintl\n-00001e30: 6e21 2028 6f75 742c 2022 2870 7573 6829 n! (out, \"(push)\n-00001e40: 2229 0a2f 2f0a 2a29 0a28 2a20 2a2a 2a2a \").//.*).(* ****\n-00001e50: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a 696d ** ****** *)..im\n-00001e60: 706c 656d 656e 740a 6333 6e73 7472 5f73 plement.c3nstr_s\n-00001e70: 6d74 325f 736f 6c76 650a 2020 286f 7574 mt2_solve. (out\n-00001e80: 2c20 6333 7430 2920 3d20 2829 2077 6865 , c3t0) = () whe\n-00001e90: 7265 0a7b 0a2f 2f0a 7661 6c20 656e 7620 re.{.//.val env \n-00001ea0: 3d20 736d 7465 6e76 5f63 7265 6174 6528 = smtenv_create(\n-00001eb0: 290a 2f2f 0a76 616c 2028 7066 7075 7368 ).//.val (pfpush\n-00001ec0: 7c28 2929 203d 2073 6d74 656e 765f 7075 |()) = smtenv_pu\n-00001ed0: 7368 2865 6e76 290a 2f2f 0a76 616c 2028 sh(env).//.val (\n-00001ee0: 282a 736f 6c76 6564 2a29 2920 3d20 6333 (*solved*)) = c3\n-00001ef0: 6e73 7472 5f73 6f6c 7665 5f6d 6169 6e28 nstr_solve_main(\n-00001f00: 656e 762c 2063 3374 3029 0a2f 2f0a 7661 env, c3t0).//.va\n-00001f10: 6c20 2828 2a70 6f70 7065 642a 2929 203d l ((*popped*)) =\n-00001f20: 2073 6d74 656e 765f 706f 7028 7066 7075 smtenv_pop(pfpu\n-00001f30: 7368 207c 2065 6e76 290a 2f2f 0a76 616c sh | env).//.val\n-00001f40: 2063 6d64 7320 3d20 736d 7465 6e76 5f64 cmds = smtenv_d\n-00001f50: 6573 7472 6f79 2865 6e76 290a 7661 6c20 estroy(env).val \n-00001f60: 636d 6473 203d 2073 6f6c 7665 7263 6d64 cmds = solvercmd\n-00001f70: 6c73 745f 7265 7665 7273 6528 636d 6473 lst_reverse(cmds\n-00001f80: 290a 2f2f 0a28 2a0a 2f2f 0a6c 6f63 616c ).//.(*.//.local\n-00001f90: 0a2f 2f0a 7661 6c0a 6f75 7420 3d20 7374 .//.val.out = st\n-00001fa0: 646f 7574 5f72 6566 0a2f 2f0a 696d 706c dout_ref.//.impl\n-00001fb0: 656d 656e 740a 6670 7269 6e74 5f6c 6973 ement.fprint_lis\n-00001fc0: 7424 7365 703c 3e0a 2020 286f 7574 2920 t$sep<>. (out) \n-00001fd0: 3d20 6670 7269 6e74 5f6e 6577 6c69 6e65 = fprint_newline\n-00001fe0: 286f 7574 290a 2f2f 0a69 6e0a 2f2f 0a76 (out).//.in.//.v\n-00001ff0: 616c 2028 282a 766f 6964 2a29 2920 3d0a al ((*void*)) =.\n-00002000: 2020 6670 7269 6e74 6c6e 2120 286f 7574 fprintln! (out\n-00002010: 2c20 636d 6473 290a 7661 6c20 2828 2a76 , cmds).val ((*v\n-00002020: 6f69 642a 2929 203d 0a20 2066 7072 696e oid*)) =. fprin\n-00002030: 746c 6e21 286f 7574 2c20 226c 656e 6774 tln!(out, \"lengt\n-00002040: 6828 636d 6473 2920 3d20 222c 206c 656e h(cmds) = \", len\n-00002050: 6774 6828 636d 6473 2929 0a2f 2f0a 656e gth(cmds)).//.en\n-00002060: 6420 2f2f 2065 6e64 206f 6620 5b6c 6f63 d // end of [loc\n-00002070: 616c 5d0a 2f2f 0a2a 290a 2f2f 0a76 616c al].//.*).//.val\n-00002080: 2028 2920 3d0a 656d 6974 5f70 7265 616d () =.emit_pream\n-00002090: 626c 6528 6f75 7429 0a2f 2f0a 7661 6c20 ble(out).//.val \n-000020a0: 2829 203d 0a28 0a69 6620 7468 655f 636f () =.(.if the_co\n-000020b0: 6e73 7472 6169 6e74 5f72 6561 6c28 2920 nstraint_real() \n-000020c0: 3e20 300a 2020 7468 656e 2065 6d69 745f > 0. then emit_\n-000020d0: 7072 6561 6d62 6c65 5f72 6561 6c28 6f75 preamble_real(ou\n-000020e0: 7429 0a29 0a2f 2f0a 7661 6c20 2829 203d t).).//.val () =\n-000020f0: 2065 6d69 745f 7468 655f 7332 6373 746d emit_the_s2cstm\n-00002100: 6170 286f 7574 290a 2f2f 0a76 616c 2028 ap(out).//.val (\n-00002110: 2920 3d20 6670 7269 6e74 6c6e 2120 286f ) = fprintln! (o\n-00002120: 7574 2c20 223b 3b22 290a 7661 6c20 2829 ut, \";;\").val ()\n-00002130: 203d 2066 7072 696e 746c 6e21 2028 6f75 = fprintln! (ou\n-00002140: 742c 2022 3b3b 4154 532d 636f 6e73 7472 t, \";;ATS-constr\n-00002150: 6169 6e74 7322 290a 7661 6c20 2829 203d aints\").val () =\n-00002160: 2066 7072 696e 746c 6e21 2028 6f75 742c fprintln! (out,\n-00002170: 2022 3b3b 6765 6e65 7261 7465 6420 6475 \";;generated du\n-00002180: 7269 6e67 2074 7970 6563 6865 636b 696e ring typecheckin\n-00002190: 6722 290a 7661 6c20 2829 203d 2066 7072 g\").val () = fpr\n-000021a0: 696e 746c 6e21 2028 6f75 742c 2022 3b3b intln! (out, \";;\n-000021b0: 2229 0a2f 2f0a 7661 6c20 2829 203d 2065 \").//.val () = e\n-000021c0: 6d69 745f 736f 6c76 6572 636d 646c 7374 mit_solvercmdlst\n-000021d0: 2028 6f75 742c 2024 554e 2e6c 6973 745f (out, $UN.list_\n-000021e0: 7674 3274 2863 6d64 7329 290a 2f2f 0a76 vt2t(cmds)).//.v\n-000021f0: 616c 2028 282a 6672 6565 642a 2929 203d al ((*freed*)) =\n-00002200: 206c 6973 745f 7674 5f66 7265 6528 636d list_vt_free(cm\n-00002210: 6473 290a 2f2f 0a7d 2028 2a20 656e 6420 ds).//.} (* end \n-00002220: 6f66 205b 6333 6e73 7472 5f73 6d74 325f of [c3nstr_smt2_\n-00002230: 736f 6c76 655d 202a 290a 0a28 2a20 2a2a solve] *)..(* **\n-00002240: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-00002250: 2364 6566 696e 6520 5041 5453 4f4c 5645 #define PATSOLVE\n-00002260: 5f53 4d54 325f 534f 4c56 494e 4720 310a _SMT2_SOLVING 1.\n-00002270: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00002280: 2a20 2a29 0a0a 6c6f 6361 6c0a 2f2f 0a23 * *)..local.//.#\n-00002290: 696e 636c 7564 6520 222e 2f53 4f4c 5649 include \"./SOLVI\n-000022a0: 4e47 2f70 6174 736f 6c76 655f 736d 7432 NG/patsolve_smt2\n-000022b0: 5f73 6f6c 7669 6e67 5f63 7478 2e64 6174 _solving_ctx.dat\n-000022c0: 7322 0a2f 2f0a 696e 0a20 202f 2f20 6e6f s\".//.in. // no\n-000022d0: 7468 696e 670a 656e 6420 2f2f 2065 6e64 thing.end // end\n-000022e0: 206f 6620 5b6c 6f63 616c 5d0a 0a28 2a20 of [local]..(* \n-000022f0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00002300: 0a0a 6c6f 6361 6c0a 2f2f 0a23 696e 636c ..local.//.#incl\n-00002310: 7564 6520 222e 2f53 4f4c 5649 4e47 2f70 ude \"./SOLVING/p\n-00002320: 6174 736f 6c76 655f 736d 7432 5f73 6f6c atsolve_smt2_sol\n-00002330: 7669 6e67 5f65 6d69 742e 6461 7473 220a ving_emit.dats\".\n-00002340: 2f2f 0a69 6e0a 2020 2f2f 206e 6f74 6869 //.in. // nothi\n-00002350: 6e67 0a65 6e64 202f 2f20 656e 6420 6f66 ng.end // end of\n-00002360: 205b 6c6f 6361 6c5d 0a0a 282a 202a 2a2a [local]..(* ***\n-00002370: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 0a6c *** ****** *)..l\n-00002380: 6f63 616c 0a2f 2f0a 2369 6e63 6c75 6465 ocal.//.#include\n-00002390: 2022 2e2f 534f 4c56 494e 472f 7061 7473 \"./SOLVING/pats\n-000023a0: 6f6c 7665 5f73 6d74 325f 736f 6c76 696e olve_smt2_solvin\n-000023b0: 675f 666f 726d 2e64 6174 7322 0a2f 2f0a g_form.dats\".//.\n-000023c0: 696e 0a20 202f 2f20 6e6f 7468 696e 670a in. // nothing.\n-000023d0: 656e 6420 2f2f 2065 6e64 206f 6620 5b6c end // end of [l\n-000023e0: 6f63 616c 5d0a 0a28 2a20 2a2a 2a2a 2a2a ocal]..(* ******\n-000023f0: 202a 2a2a 2a2a 2a20 2a29 0a0a 6c6f 6361 ****** *)..loca\n-00002400: 6c0a 2f2f 0a23 696e 636c 7564 6520 222e l.//.#include \".\n-00002410: 2f53 4f4c 5649 4e47 2f70 6174 736f 6c76 /SOLVING/patsolv\n-00002420: 655f 736d 7432 5f73 6f6c 7669 6e67 5f73 e_smt2_solving_s\n-00002430: 6d74 656e 762e 6461 7473 220a 2f2f 0a69 mtenv.dats\".//.i\n-00002440: 6e0a 2020 2f2f 206e 6f74 6869 6e67 0a65 n. // nothing.e\n-00002450: 6e64 202f 2f20 656e 6420 6f66 205b 6c6f nd // end of [lo\n-00002460: 6361 6c5d 0a0a 282a 202a 2a2a 2a2a 2a20 cal]..(* ****** \n-00002470: 2a2a 2a2a 2a2a 202a 290a 0a6c 6f63 616c ****** *)..local\n-00002480: 0a2f 2f0a 2369 6e63 6c75 6465 2022 2e2f .//.#include \"./\n-00002490: 534f 4c56 494e 472f 7061 7473 6f6c 7665 SOLVING/patsolve\n-000024a0: 5f73 6d74 325f 736f 6c76 696e 675f 696e _smt2_solving_in\n-000024b0: 7465 7270 2e64 6174 7322 0a2f 2f0a 696e terp.dats\".//.in\n-000024c0: 0a20 202f 2f20 6e6f 7468 696e 670a 656e . // nothing.en\n-000024d0: 6420 2f2f 2065 6e64 206f 6620 5b6c 6f63 d // end of [loc\n-000024e0: 616c 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a al]..(* ****** *\n-000024f0: 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 6e64 ***** *)..(* end\n-00002500: 206f 6620 5b70 6174 736f 6c76 655f 736d of [patsolve_sm\n-00002510: 7432 5f73 6f6c 7669 6e67 2e64 6174 735d t2_solving.dats]\n-00002520: 202a 290a *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/Makefile", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/Makefile", "has_internal_linenos": true, "unified_diff": "@@ -1,141 +0,0 @@\n-00000000: 2323 0a23 2320 4154 532d 6578 7473 6f6c ##.## ATS-extsol\n-00000010: 7665 2d73 6d74 323a 0a23 2320 536f 6c76 ve-smt2:.## Solv\n-00000020: 696e 6720 4154 532d 636f 6e73 7472 6169 ing ATS-constrai\n-00000030: 6e74 7320 7769 7468 2053 4d54 320a 2323 nts with SMT2.##\n-00000040: 0a0a 2323 2323 2323 0a23 230a 2323 2041 ..######.##.## A\n-00000050: 7574 686f 723a 2048 6f6e 6777 6569 2058 uthor: Hongwei X\n-00000060: 690a 2323 2041 7574 686f 7265 6d61 696c i.## Authoremail\n-00000070: 3a20 676d 6877 7869 4154 676d 6169 6c44 : gmhwxiATgmailD\n-00000080: 4f54 636f 6d0a 2323 0a23 2320 5374 6172 OTcom.##.## Star\n-00000090: 7420 7469 6d65 3a20 4d61 792c 2032 3031 t time: May, 201\n-000000a0: 350a 2323 0a23 2323 2323 230a 0a43 433d 5.##.######..CC=\n-000000b0: 6763 630a 0a23 2323 2323 230a 0a69 6664 gcc..######..ifd\n-000000c0: 6566 205c 0a50 4154 5348 4f4d 450a 5041 ef \\.PATSHOME.PA\n-000000d0: 5453 484f 4d45 513d 2224 2850 4154 5348 TSHOMEQ=\"$(PATSH\n-000000e0: 4f4d 4529 220a 656c 7365 0a69 6664 6566 OME)\".else.ifdef\n-000000f0: 2041 5453 484f 4d45 0a20 2050 4154 5348 ATSHOME. PATSH\n-00000100: 4f4d 4551 3d22 2428 4154 5348 4f4d 4529 OMEQ=\"$(ATSHOME)\n-00000110: 220a 656c 7365 0a20 2050 4154 5348 4f4d \".else. PATSHOM\n-00000120: 4551 3d22 2f75 7372 2f6c 6f63 616c 2f6c EQ=\"/usr/local/l\n-00000130: 6962 2f61 7473 322d 706f 7374 6961 7473 ib/ats2-postiats\n-00000140: 220a 656e 6469 660a 656e 6469 660a 0a23 \".endif.endif..#\n-00000150: 2323 2323 230a 0a50 4154 5343 433d 2428 #####..PATSCC=$(\n-00000160: 5041 5453 484f 4d45 5129 2f62 696e 2f70 PATSHOMEQ)/bin/p\n-00000170: 6174 7363 630a 5041 5453 4f50 543d 2428 atscc.PATSOPT=$(\n-00000180: 5041 5453 484f 4d45 5129 2f62 696e 2f70 PATSHOMEQ)/bin/p\n-00000190: 6174 736f 7074 0a0a 2323 2323 2323 0a0a atsopt..######..\n-000001a0: 616c 6c3a 3a0a 0a23 2323 2323 230a 230a all::..######.#.\n-000001b0: 4346 4c41 4753 203a 3d0a 4346 4c41 4753 CFLAGS :=.CFLAGS\n-000001c0: 202b 3d20 2d44 4154 535f 4d45 4d41 4c4c += -DATS_MEMALL\n-000001d0: 4f43 5f4c 4942 430a 230a 4346 4c41 4753 OC_LIBC.#.CFLAGS\n-000001e0: 3220 3a3d 0a43 464c 4147 5332 202b 3d2d 2 :=.CFLAGS2 +=-\n-000001f0: 4441 5453 5f4d 454d 414c 4c4f 435f 4c49 DATS_MEMALLOC_LI\n-00000200: 4243 0a43 464c 4147 5332 202b 3d5c 0a2d BC.CFLAGS2 +=\\.-\n-00000210: 4924 7b50 4154 5348 4f4d 4551 7d2f 636f I${PATSHOMEQ}/co\n-00000220: 6e74 7269 622f 6174 7363 6e74 7262 0a23 ntrib/atscntrb.#\n-00000230: 0a43 464c 4147 5332 202b 3d20 5c0a 2428 .CFLAGS2 += \\.$(\n-00000240: 7368 656c 6c20 706b 672d 636f 6e66 6967 shell pkg-config\n-00000250: 202d 2d63 666c 6167 7320 6a73 6f6e 2d63 --cflags json-c\n-00000260: 290a 230a 2323 2323 2323 0a0a 4558 5452 ).#.######..EXTR\n-00000270: 415f 4346 4c41 4753 203a 3d0a 0a23 2323 A_CFLAGS :=..###\n-00000280: 2323 230a 0a50 4154 5343 4332 203d 205c ###..PATSCC2 = \\\n-00000290: 0a24 2850 4154 5343 4329 205c 0a24 2843 .$(PATSCC) \\.$(C\n-000002a0: 464c 4147 5332 2920 2428 4558 5452 415f FLAGS2) $(EXTRA_\n-000002b0: 4346 4c41 4753 290a 0a23 2323 2323 230a CFLAGS)..######.\n-000002c0: 0a4c 4446 4c41 4753 203a 3d0a 4c44 464c .LDFLAGS :=.LDFL\n-000002d0: 4147 5320 2b3d 205c 0a24 2873 6865 6c6c AGS += \\.$(shell\n-000002e0: 2070 6b67 2d63 6f6e 6669 6720 2d2d 6c69 pkg-config --li\n-000002f0: 6273 206a 736f 6e2d 6329 0a4c 4446 4c41 bs json-c).LDFLA\n-00000300: 4753 202b 3d2d 6c67 630a 0a23 2323 2323 GS +=-lgc..#####\n-00000310: 230a 0a49 4e43 4c55 4445 203a 3d0a 494e #..INCLUDE :=.IN\n-00000320: 434c 5544 4520 2b3d 202d 4924 2850 4154 CLUDE += -I$(PAT\n-00000330: 5348 4f4d 4551 290a 494e 434c 5544 4520 SHOMEQ).INCLUDE \n-00000340: 2b3d 202d 4924 2850 4154 5348 4f4d 4551 += -I$(PATSHOMEQ\n-00000350: 292f 6363 6f6d 702f 7275 6e74 696d 650a )/ccomp/runtime.\n-00000360: 0a23 2323 2323 230a 0a50 4154 534f 4c56 .######..PATSOLV\n-00000370: 453d 2e2f 4154 532d 6578 7473 6f6c 7665 E=./ATS-extsolve\n-00000380: 0a0a 2323 2323 2323 0a0a 534f 5552 4345 ..######..SOURCE\n-00000390: 535f 5341 5453 3d20 5c0a 2428 5041 5453 S_SATS= \\.$(PATS\n-000003a0: 4f4c 5645 292f 5341 5453 2f70 6174 736f OLVE)/SATS/patso\n-000003b0: 6c76 655f 636e 7374 726e 742e 7361 7473 lve_cnstrnt.sats\n-000003c0: 205c 0a24 2850 4154 534f 4c56 4529 2f53 \\.$(PATSOLVE)/S\n-000003d0: 4154 532f 7061 7473 6f6c 7665 5f70 6172 ATS/patsolve_par\n-000003e0: 7369 6e67 2e73 6174 7320 5c0a 0a23 2323 sing.sats \\..###\n-000003f0: 2323 230a 0a53 4f55 5243 4553 5f43 4154 ###..SOURCES_CAT\n-00000400: 533d 205c 0a24 2850 4154 534f 4c56 4529 S= \\.$(PATSOLVE)\n-00000410: 2f43 4154 532f 7061 7473 6f6c 7665 5f63 /CATS/patsolve_c\n-00000420: 6e73 7472 6e74 5f64 6174 732e 6320 5c0a nstrnt_dats.c \\.\n-00000430: 2428 5041 5453 4f4c 5645 292f 4341 5453 $(PATSOLVE)/CATS\n-00000440: 2f70 6174 736f 6c76 655f 7061 7273 696e /patsolve_parsin\n-00000450: 675f 6461 7473 2e63 205c 0a0a 2323 2323 g_dats.c \\..####\n-00000460: 2323 0a0a 534f 5552 4345 535f 4441 5453 ##..SOURCES_DATS\n-00000470: 203a 3d0a 534f 5552 4345 535f 4441 5453 :=.SOURCES_DATS\n-00000480: 202b 3d20 7061 7473 6f6c 7665 5f73 6d74 += patsolve_smt\n-00000490: 325f 6d61 696e 2e64 6174 730a 534f 5552 2_main.dats.SOUR\n-000004a0: 4345 535f 4441 5453 202b 3d20 7061 7473 CES_DATS += pats\n-000004b0: 6f6c 7665 5f73 6d74 325f 6d79 6c69 622e olve_smt2_mylib.\n-000004c0: 6461 7473 0a53 4f55 5243 4553 5f44 4154 dats.SOURCES_DAT\n-000004d0: 5320 2b3d 2070 6174 736f 6c76 655f 736d S += patsolve_sm\n-000004e0: 7432 5f63 6f6d 6d61 7267 2e64 6174 730a t2_commarg.dats.\n-000004f0: 534f 5552 4345 535f 4441 5453 202b 3d20 SOURCES_DATS += \n-00000500: 7061 7473 6f6c 7665 5f73 6d74 325f 736f patsolve_smt2_so\n-00000510: 6c76 696e 672e 6461 7473 0a0a 2323 2323 lving.dats..####\n-00000520: 2323 0a0a 5441 5247 4554 535f 4441 5453 ##..TARGETS_DATS\n-00000530: 5f4f 203d 205c 0a24 2870 6174 7375 6273 _O = \\.$(patsubs\n-00000540: 7420 252e 6461 7473 2c20 255f 6461 7473 t %.dats, %_dats\n-00000550: 2e6f 2c20 2428 534f 5552 4345 535f 4441 .o, $(SOURCES_DA\n-00000560: 5453 2929 0a0a 2323 2323 2323 0a23 0a61 TS))..######.#.a\n-00000570: 6c6c 3a3a 203b 205c 0a24 284d 414b 4529 ll:: ; \\.$(MAKE)\n-00000580: 202d 4320 4154 532d 6578 7473 6f6c 7665 -C ATS-extsolve\n-00000590: 2044 4154 535f 430a 230a 616c 6c3a 3a20 DATS_C.#.all:: \n-000005a0: 5c0a 6269 6e5f 7061 7473 6f6c 7665 5f73 \\.bin_patsolve_s\n-000005b0: 6d74 320a 6269 6e5f 7061 7473 6f6c 7665 mt2.bin_patsolve\n-000005c0: 5f73 6d74 323a 205c 0a24 2854 4152 4745 _smt2: \\.$(TARGE\n-000005d0: 5453 5f44 4154 535f 4f29 3b20 5c0a 2428 TS_DATS_O); \\.$(\n-000005e0: 5041 5453 4343 3229 202d 4f32 202d 6f20 PATSCC2) -O2 -o \n-000005f0: 6269 6e2f 7061 7473 6f6c 7665 5f73 6d74 bin/patsolve_smt\n-00000600: 3220 5c0a 2428 534f 5552 4345 535f 5341 2 \\.$(SOURCES_SA\n-00000610: 5453 2920 2428 534f 5552 4345 535f 4341 TS) $(SOURCES_CA\n-00000620: 5453 2920 2428 5441 5247 4554 535f 4441 TS) $(TARGETS_DA\n-00000630: 5453 5f4f 2920 2428 4c44 464c 4147 5329 TS_O) $(LDFLAGS)\n-00000640: 0a23 0a63 6c65 616e 616c 6c3a 3a20 3b20 .#.cleanall:: ; \n-00000650: 2428 524d 4629 2062 696e 2f70 6174 736f $(RMF) bin/patso\n-00000660: 6c76 655f 736d 7432 0a23 0a23 2323 2323 lve_smt2.#.#####\n-00000670: 230a 230a 6e70 6d3a 3a20 616c 6c0a 6e70 #.#.npm:: all.np\n-00000680: 6d3a 3a20 3b20 2428 4350 4629 2070 6174 m:: ; $(CPF) pat\n-00000690: 736f 6c76 655f 736d 7432 5f2a 5f64 6174 solve_smt2_*_dat\n-000006a0: 732e 6320 6e70 6d2f 4341 5453 2f2e 0a6e s.c npm/CATS/..n\n-000006b0: 706d 3a3a 203b 2024 2843 5046 2920 7061 pm:: ; $(CPF) pa\n-000006c0: 7473 6f6c 7665 5f70 6172 7369 6e67 5f73 tsolve_parsing_s\n-000006d0: 6174 732e 6320 6e70 6d2f 4341 5453 2f2e ats.c npm/CATS/.\n-000006e0: 0a6e 706d 3a3a 203b 2024 2843 5046 2920 .npm:: ; $(CPF) \n-000006f0: 7061 7473 6f6c 7665 5f63 6e73 7472 6e74 patsolve_cnstrnt\n-00000700: 5f73 6174 732e 6320 6e70 6d2f 4341 5453 _sats.c npm/CATS\n-00000710: 2f2e 0a23 0a23 2323 2323 230a 0a25 5f64 /..#.######..%_d\n-00000720: 6174 732e 6f3a 2044 4154 532f 252e 6461 ats.o: DATS/%.da\n-00000730: 7473 3b20 2428 5041 5453 4343 3229 202d ts; $(PATSCC2) -\n-00000740: 6320 243c 0a0a 2323 2323 2323 0a0a 7465 c $<..######..te\n-00000750: 7374 616c 6c3a 3a20 616c 6c0a 7465 7374 stall:: all.test\n-00000760: 616c 6c3a 3a20 636c 6561 6e61 6c6c 0a0a all:: cleanall..\n-00000770: 2323 2323 2323 0a0a 4350 463d 6370 202d ######..CPF=cp -\n-00000780: 660a 524d 463d 726d 202d 660a 4d41 4b45 f.RMF=rm -f.MAKE\n-00000790: 3d6d 616b 650a 0a23 2323 2323 230a 0a63 =make..######..c\n-000007a0: 6c65 616e 3a3a 203b 2024 2852 4d46 2920 lean:: ; $(RMF) \n-000007b0: 2a7e 0a63 6c65 616e 3a3a 203b 2024 2852 *~.clean:: ; $(R\n-000007c0: 4d46 2920 2a5f 3f61 7473 2e6f 0a63 6c65 MF) *_?ats.o.cle\n-000007d0: 616e 3a3a 203b 2024 2852 4d46 2920 2a5f an:: ; $(RMF) *_\n-000007e0: 3f61 7473 2e63 0a0a 2323 2323 2323 0a0a ?ats.c..######..\n-000007f0: 636c 6561 6e61 6c6c 3a3a 2063 6c65 616e cleanall:: clean\n-00000800: 0a63 6c65 616e 616c 6c3a 3a20 3b20 2428 .cleanall:: ; $(\n-00000810: 524d 4629 202e 2f6e 706d 2f43 4154 532f RMF) ./npm/CATS/\n-00000820: 7061 7473 6f6c 7665 5f73 6d74 325f 2a5f patsolve_smt2_*_\n-00000830: 6461 7473 2e63 0a63 6c65 616e 616c 6c3a dats.c.cleanall:\n-00000840: 3a20 3b20 2428 524d 4629 202e 2f6e 706d : ; $(RMF) ./npm\n-00000850: 2f43 4154 532f 7061 7473 6f6c 7665 5f70 /CATS/patsolve_p\n-00000860: 6172 7369 6e67 5f73 6174 732e 630a 636c arsing_sats.c.cl\n-00000870: 6561 6e61 6c6c 3a3a 203b 2024 2852 4d46 eanall:: ; $(RMF\n-00000880: 2920 2e2f 6e70 6d2f 4341 5453 2f70 6174 ) ./npm/CATS/pat\n-00000890: 736f 6c76 655f 636e 7374 726e 745f 7361 solve_cnstrnt_sa\n-000008a0: 7473 2e63 0a0a 2323 2323 2323 0a0a 2323 ts.c..######..##\n-000008b0: 2065 6e64 206f 6620 5b4d 616b 6566 696c end of [Makefil\n-000008c0: 655d 2023 230a e] ##.\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_commarg.sats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_commarg.sats", "has_internal_linenos": true, "unified_diff": "@@ -1,77 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a0a 282a 0a2f 2f0a 2a2a 2041 7574 686f ..(*.//.** Autho\n-00000080: 723a 2048 6f6e 6777 6569 2058 690a 2a2a r: Hongwei Xi.**\n-00000090: 2041 7574 686f 7265 6d61 696c 3a20 676d Authoremail: gm\n-000000a0: 6877 7869 4154 676d 6169 6c44 4f54 636f hwxiATgmailDOTco\n-000000b0: 6d0a 2a2a 2053 7461 7274 2074 696d 653a m.** Start time:\n-000000c0: 204a 756e 652c 2032 3031 360a 2f2f 0a2a June, 2016.//.*\n-000000d0: 2a20 4175 7468 6f72 3a20 5769 6c6c 6961 * Author: Willia\n-000000e0: 6d20 426c 6169 720a 2a2a 2041 7574 686f m Blair.** Autho\n-000000f0: 7265 6d61 696c 3a20 7764 626c 6169 7241 remail: wdblairA\n-00000100: 5467 6d61 696c 444f 5463 6f6d 0a2a 2a20 TgmailDOTcom.** \n-00000110: 5374 6172 7420 7469 6d65 3a20 536f 6d65 Start time: Some\n-00000120: 2074 696d 6520 696e 2032 3031 350a 2f2f time in 2015.//\n-00000130: 0a2a 290a 0a28 2a20 2a2a 2a2a 2a2a 202a .*)..(* ****** *\n-00000140: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2364 6566 ***** *).//.#def\n-00000150: 696e 650a 4154 535f 5041 434b 4e41 4d45 ine.ATS_PACKNAME\n-00000160: 2022 5041 5453 4f4c 5645 5f53 4d54 325f \"PATSOLVE_SMT2_\n-00000170: 434f 4d4d 4152 4722 0a2f 2f0a 282a 202a COMMARG\".//.(* *\n-00000180: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000190: 0a64 6174 6174 7970 650a 636f 6d6d 6172 .datatype.commar\n-000001a0: 6720 3d0a 2f2f 0a20 207c 2043 4168 656c g =.//. | CAhel\n-000001b0: 7020 6f66 2028 7374 7269 6e67 290a 2f2f p of (string).//\n-000001c0: 0a20 207c 2043 4167 6974 656d 206f 6620 . | CAgitem of \n-000001d0: 2873 7472 696e 6729 0a2f 2f0a 2020 7c20 (string).//. | \n-000001e0: 4341 696e 7075 7420 6f66 2028 7374 7269 CAinput of (stri\n-000001f0: 6e67 290a 2020 7c20 4341 6f75 7470 7574 ng). | CAoutput\n-00000200: 206f 6620 2869 6e74 282a 6b6e 642a 292c of (int(*knd*),\n-00000210: 2073 7472 696e 6729 0a2f 2f0a 2020 7c20 string).//. | \n-00000220: 4341 7072 696e 746c 6e20 6f66 2028 7374 CAprintln of (st\n-00000230: 7269 6e67 290a 2020 7c20 4341 7072 696e ring). | CAprin\n-00000240: 7466 696c 6520 6f66 2028 7374 7269 6e67 tfile of (string\n-00000250: 290a 2f2f 0a20 207c 2043 4161 7267 656e ).//. | CAargen\n-00000260: 6420 6f66 2028 282a 766f 6964 2a29 290a d of ((*void*)).\n-00000270: 2f2f 2065 6e64 206f 6620 5b63 6f6d 6d61 // end of [comma\n-00000280: 7267 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a rg]..(* ****** *\n-00000290: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 7479 7065 ***** *).//.type\n-000002a0: 6465 660a 636f 6d6d 6172 676c 7374 203d def.commarglst =\n-000002b0: 204c 6973 7430 2863 6f6d 6d61 7267 290a List0(commarg).\n-000002c0: 7674 7970 6564 6566 0a63 6f6d 6d61 7267 vtypedef.commarg\n-000002d0: 6c73 745f 7674 203d 204c 6973 7430 5f76 lst_vt = List0_v\n-000002e0: 7428 636f 6d6d 6172 6729 0a2f 2f0a 282a t(commarg).//.(*\n-000002f0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000300: 290a 2f2f 0a66 756e 0a66 7072 696e 745f ).//.fun.fprint_\n-00000310: 636f 6d6d 6172 670a 280a 2020 6f75 743a commarg.(. out:\n-00000320: 2046 494c 4572 6566 2c20 6361 3a20 636f FILEref, ca: co\n-00000330: 6d6d 6172 670a 2920 3a20 766f 6964 202f mmarg.) : void /\n-00000340: 2f20 656e 642d 6f66 2d66 756e 0a2f 2f0a / end-of-fun.//.\n-00000350: 6f76 6572 6c6f 6164 2066 7072 696e 7420 overload fprint \n-00000360: 7769 7468 2066 7072 696e 745f 636f 6d6d with fprint_comm\n-00000370: 6172 670a 2f2f 0a28 2a20 2a2a 2a2a 2a2a arg.//.(* ******\n-00000380: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 ****** *).//.fu\n-00000390: 6e0a 7061 7473 6f6c 7665 5f73 6d74 325f n.patsolve_smt2_\n-000003a0: 636d 646c 696e 650a 2020 7b6e 3a6e 6174 cmdline. {n:nat\n-000003b0: 7d0a 280a 2020 6172 6763 3a20 696e 7428 }.(. argc: int(\n-000003c0: 6e29 2c20 6172 6776 3a20 2161 7267 7628 n), argv: !argv(\n-000003d0: 6e29 0a29 203a 2063 6f6d 6d61 7267 6c73 n).) : commargls\n-000003e0: 745f 7674 202f 2f20 656e 642d 6f66 2d66 t_vt // end-of-f\n-000003f0: 756e 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 un.//.(* ****** \n-00000400: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a66 756e ****** *).//.fun\n-00000410: 0a70 6174 736f 6c76 655f 736d 7432 5f63 .patsolve_smt2_c\n-00000420: 6f6d 6d61 7267 6c73 740a 2020 2861 7267 ommarglst. (arg\n-00000430: 6c73 743a 2063 6f6d 6d61 7267 6c73 745f lst: commarglst_\n-00000440: 7674 293a 2076 6f69 640a 2f2f 200a 282a vt): void.// .(*\n-00000450: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000460: 290a 2f2f 0a66 756e 0a74 6865 5f63 6f6e ).//.fun.the_con\n-00000470: 7374 7261 696e 745f 7265 616c 2828 2a76 straint_real((*v\n-00000480: 6f69 642a 2929 3a20 696e 740a 2f2f 0a28 oid*)): int.//.(\n-00000490: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-000004a0: 2a29 0a0a 282a 2065 6e64 206f 6620 5b70 *)..(* end of [p\n-000004b0: 6174 736f 6c76 655f 736d 7432 5f63 6f6d atsolve_smt2_com\n-000004c0: 6d61 7267 2e73 6174 735d 202a 290a marg.sats] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_solving.sats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/ATS-extsolve-smt2/SATS/patsolve_smt2_solving.sats", "has_internal_linenos": true, "unified_diff": "@@ -1,479 +0,0 @@\n-00000000: 282a 0a23 230a 2323 2041 5453 2d65 7874 (*.##.## ATS-ext\n-00000010: 736f 6c76 652d 736d 7432 3a0a 2323 204f solve-smt2:.## O\n-00000020: 7574 7075 7469 6e67 2041 5453 2d63 6f6e utputing ATS-con\n-00000030: 7374 7261 696e 7473 0a23 2320 696e 2074 straints.## in t\n-00000040: 6865 2066 6f72 6d61 7420 6f66 2073 6d74 he format of smt\n-00000050: 2d6c 6962 320a 2323 0a2a 290a 0a28 2a20 -lib2.##.*)..(* \n-00000060: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000070: 0a0a 282a 0a2a 2a20 4175 7468 6f72 3a20 ..(*.** Author: \n-00000080: 486f 6e67 7765 6920 5869 0a2a 2a20 4175 Hongwei Xi.** Au\n-00000090: 7468 6f72 656d 6169 6c3a 2067 6d68 7778 thoremail: gmhwx\n-000000a0: 6941 5467 6d61 696c 444f 5463 6f6d 0a2a iATgmailDOTcom.*\n-000000b0: 2a20 5374 6172 7420 7469 6d65 3a20 4a75 * Start time: Ju\n-000000c0: 6e65 2c20 3230 3136 0a2a 290a 0a28 2a20 ne, 2016.*)..(* \n-000000d0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-000000e0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_\n-000000f0: 5041 434b 4e41 4d45 0a22 5041 5453 4f4c PACKNAME.\"PATSOL\n-00000100: 5645 5f53 4d54 325f 534f 4c56 494e 4722 VE_SMT2_SOLVING\"\n-00000110: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000120: 2a2a 2a2a 202a 290a 2f2f 0a23 6465 6669 **** *).//.#defi\n-00000130: 6e65 0a50 4154 534f 4c56 455f 7461 7267 ne.PATSOLVE_targ\n-00000140: 6574 6c6f 6320 222e 2f2e 2e2f 4154 532d etloc \"./../ATS-\n-00000150: 6578 7473 6f6c 7665 220a 2f2f 0a28 2a20 extsolve\".//.(* \n-00000160: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000170: 0a2f 2f0a 2373 7461 6c6f 6164 0a22 7b24 .//.#staload.\"{$\n-00000180: 5041 5453 4f4c 5645 7d2f 5341 5453 2f70 PATSOLVE}/SATS/p\n-00000190: 6174 736f 6c76 655f 636e 7374 726e 742e atsolve_cnstrnt.\n-000001a0: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats\".//.(* ****\n-000001b0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-000001c0: 6675 6e0a 6333 6e73 7472 5f73 6d74 325f fun.c3nstr_smt2_\n-000001d0: 736f 6c76 650a 2020 286f 7574 3a20 4649 solve. (out: FI\n-000001e0: 4c45 7265 662c 2063 3374 303a 2063 336e LEref, c3t0: c3n\n-000001f0: 7374 7229 3a20 766f 6964 0a2f 2f0a 282a str): void.//.(*\n-00000200: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000210: 290a 2f2f 0a64 6174 6174 7970 6520 666f ).//.datatype fo\n-00000220: 726d 203d 0a2f 2f0a 2020 7c20 464f 524d rm =.//. | FORM\n-00000230: 696e 7420 6f66 2028 696e 7429 0a20 207c int of (int). |\n-00000240: 2046 4f52 4d62 6f6f 6c20 6f66 2062 6f6f FORMbool of boo\n-00000250: 6c0a 2020 7c20 464f 524d 696e 7472 6570 l. | FORMintrep\n-00000260: 206f 6620 2873 7472 696e 6728 2a72 6570 of (string(*rep\n-00000270: 2a29 290a 2f2f 0a20 207c 2046 4f52 4d73 *)).//. | FORMs\n-00000280: 3276 6172 206f 6620 2873 3276 6172 290a 2var of (s2var).\n-00000290: 2020 7c20 464f 524d 7332 6373 7420 6f66 | FORMs2cst of\n-000002a0: 2028 7332 6373 7429 0a2f 2f20 282a 0a20 (s2cst).// (*. \n-000002b0: 207c 2046 4f52 4d73 3265 7870 206f 6620 | FORMs2exp of \n-000002c0: 2873 3265 7870 2920 2f2f 2075 6e70 726f (s2exp) // unpro\n-000002d0: 6365 7373 6564 0a2f 2f20 2a29 0a2f 2f0a cessed.// *).//.\n-000002e0: 2020 7c20 464f 524d 6e6f 7420 6f66 2028 | FORMnot of (\n-000002f0: 666f 726d 290a 2020 7c20 464f 524d 636f form). | FORMco\n-00000300: 6e6a 206f 6620 2866 6f72 6d2c 2066 6f72 nj of (form, for\n-00000310: 6d29 0a20 207c 2046 4f52 4d64 6973 6a20 m). | FORMdisj \n-00000320: 6f66 2028 666f 726d 2c20 666f 726d 290a of (form, form).\n-00000330: 2020 7c20 464f 524d 696d 706c 206f 6620 | FORMimpl of \n-00000340: 2866 6f72 6d2c 2066 6f72 6d29 0a2f 2f0a (form, form).//.\n-00000350: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000360: 202a 290a 2f2f 0a74 7970 6564 6566 2066 *).//.typedef f\n-00000370: 6f72 6d6c 7374 203d 204c 6973 7430 2028 ormlst = List0 (\n-00000380: 666f 726d 290a 7674 7970 6564 6566 2066 form).vtypedef f\n-00000390: 6f72 6d6c 7374 5f76 7420 3d20 4c69 7374 ormlst_vt = List\n-000003a0: 305f 7674 2028 666f 726d 290a 2f2f 0a28 0_vt (form).//.(\n-000003b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-000003c0: 2a29 0a2f 2f0a 6675 6e20 7072 696e 745f *).//.fun print_\n-000003d0: 666f 726d 203a 2066 6f72 6d20 2d3e 2076 form : form -> v\n-000003e0: 6f69 640a 6675 6e20 7072 6572 725f 666f oid.fun prerr_fo\n-000003f0: 726d 203a 2066 6f72 6d20 2d3e 2076 6f69 rm : form -> voi\n-00000400: 640a 6675 6e20 6670 7269 6e74 5f66 6f72 d.fun fprint_for\n-00000410: 6d20 3a20 6670 7269 6e74 5f74 7970 6528 m : fprint_type(\n-00000420: 666f 726d 290a 2f2f 0a6f 7665 726c 6f61 form).//.overloa\n-00000430: 6420 7072 696e 7420 7769 7468 2070 7269 d print with pri\n-00000440: 6e74 5f66 6f72 6d0a 6f76 6572 6c6f 6164 nt_form.overload\n-00000450: 2070 7265 7272 2077 6974 6820 7072 6572 prerr with prer\n-00000460: 725f 666f 726d 0a6f 7665 726c 6f61 6420 r_form.overload \n-00000470: 6670 7269 6e74 2077 6974 6820 6670 7269 fprint with fpri\n-00000480: 6e74 5f66 6f72 6d0a 2f2f 0a28 2a20 2a2a nt_form.//.(* **\n-00000490: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-000004a0: 6675 6e20 666f 726d 756c 615f 6e75 6c6c fun formula_null\n-000004b0: 2028 293a 2066 6f72 6d0a 0a66 756e 2066 (): form..fun f\n-000004c0: 6f72 6d75 6c61 5f74 7275 6520 2829 3a20 ormula_true (): \n-000004d0: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula\n-000004e0: 5f66 616c 7365 2028 293a 2066 6f72 6d0a _false (): form.\n-000004f0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000500: 2a20 2a29 0a0a 6675 6e20 666f 726d 756c * *)..fun formul\n-00000510: 615f 696e 7420 2869 3a20 696e 7429 3a20 a_int (i: int): \n-00000520: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula\n-00000530: 5f69 6e74 7265 7020 2872 6570 3a20 7374 _intrep (rep: st\n-00000540: 7269 6e67 293a 2066 6f72 6d0a 0a28 2a20 ring): form..(* \n-00000550: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000560: 0a2f 2f0a 6675 6e20 666f 726d 756c 615f .//.fun formula_\n-00000570: 6e6f 7420 2866 6f72 6d29 3a20 666f 726d not (form): form\n-00000580: 0a66 756e 2066 6f72 6d75 6c61 5f64 6973 .fun formula_dis\n-00000590: 6a20 2866 6f72 6d2c 2066 6f72 6d29 3a20 j (form, form): \n-000005a0: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula\n-000005b0: 5f63 6f6e 6a20 2866 6f72 6d2c 2066 6f72 _conj (form, for\n-000005c0: 6d29 3a20 666f 726d 0a66 756e 2066 6f72 m): form.fun for\n-000005d0: 6d75 6c61 5f69 6d70 6c20 2866 6f72 6d2c mula_impl (form,\n-000005e0: 2066 6f72 6d29 3a20 666f 726d 0a2f 2f0a form): form.//.\n-000005f0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000600: 202a 290a 0a66 756e 2066 6f72 6d75 6c61 *)..fun formula\n-00000610: 5f63 6f6e 6a5f 6c69 7374 2028 666f 726d _conj_list (form\n-00000620: 6c73 7429 3a20 666f 726d 0a66 756e 2066 lst): form.fun f\n-00000630: 6f72 6d75 6c61 5f63 6f6e 6a5f 6c69 7374 ormula_conj_list\n-00000640: 3120 2866 6f72 6d6c 7374 2c20 666f 726d 1 (formlst, form\n-00000650: 293a 2066 6f72 6d0a 6675 6e20 666f 726d ): form.fun form\n-00000660: 756c 615f 696d 706c 5f6c 6973 7431 2028 ula_impl_list1 (\n-00000670: 666f 726d 6c73 742c 2066 6f72 6d29 3a20 formlst, form): \n-00000680: 666f 726d 0a0a 282a 202a 2a2a 2a2a 2a20 form..(* ****** \n-00000690: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a66 756e ****** *).//.fun\n-000006a0: 2066 6f72 6d75 6c61 5f69 6e65 6720 2866 formula_ineg (f\n-000006b0: 6f72 6d29 3a20 666f 726d 0a2f 2f0a 6675 orm): form.//.fu\n-000006c0: 6e20 666f 726d 756c 615f 6961 6464 2028 n formula_iadd (\n-000006d0: 666f 726d 2c20 666f 726d 293a 2066 6f72 form, form): for\n-000006e0: 6d0a 6675 6e20 666f 726d 756c 615f 6973 m.fun formula_is\n-000006f0: 7562 2028 666f 726d 2c20 666f 726d 293a ub (form, form):\n-00000700: 2066 6f72 6d0a 2f2f 0a66 756e 2066 6f72 form.//.fun for\n-00000710: 6d75 6c61 5f69 6d75 6c20 2866 6f72 6d2c mula_imul (form,\n-00000720: 2066 6f72 6d29 3a20 666f 726d 0a2f 2f0a form): form.//.\n-00000730: 6675 6e20 666f 726d 756c 615f 6964 6976 fun formula_idiv\n-00000740: 2028 666f 726d 2c20 666f 726d 293a 2066 (form, form): f\n-00000750: 6f72 6d0a 6675 6e20 666f 726d 756c 615f orm.fun formula_\n-00000760: 6e64 6976 2028 666f 726d 2c20 666f 726d ndiv (form, form\n-00000770: 293a 2066 6f72 6d0a 2f2f 0a66 756e 2066 ): form.//.fun f\n-00000780: 6f72 6d75 6c61 5f69 6c74 2028 666f 726d ormula_ilt (form\n-00000790: 2c20 666f 726d 293a 2066 6f72 6d0a 6675 , form): form.fu\n-000007a0: 6e20 666f 726d 756c 615f 696c 7465 2028 n formula_ilte (\n-000007b0: 666f 726d 2c20 666f 726d 293a 2066 6f72 form, form): for\n-000007c0: 6d0a 6675 6e20 666f 726d 756c 615f 6967 m.fun formula_ig\n-000007d0: 7420 2866 6f72 6d2c 2066 6f72 6d29 3a20 t (form, form): \n-000007e0: 666f 726d 0a66 756e 2066 6f72 6d75 6c61 form.fun formula\n-000007f0: 5f69 6774 6520 2866 6f72 6d2c 2066 6f72 _igte (form, for\n-00000800: 6d29 3a20 666f 726d 0a66 756e 2066 6f72 m): form.fun for\n-00000810: 6d75 6c61 5f69 6571 2028 666f 726d 2c20 mula_ieq (form, \n-00000820: 666f 726d 293a 2066 6f72 6d0a 6675 6e20 form): form.fun \n-00000830: 666f 726d 756c 615f 696e 6571 2028 666f formula_ineq (fo\n-00000840: 726d 2c20 666f 726d 293a 2066 6f72 6d0a rm, form): form.\n-00000850: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-00000860: 2a2a 2a20 2a29 0a2f 2f0a 6675 6e20 666f *** *).//.fun fo\n-00000870: 726d 756c 615f 6961 6273 2028 666f 726d rmula_iabs (form\n-00000880: 293a 2066 6f72 6d0a 2f2f 0a66 756e 2066 ): form.//.fun f\n-00000890: 6f72 6d75 6c61 5f69 7367 6e20 2866 6f72 ormula_isgn (for\n-000008a0: 6d29 3a20 666f 726d 0a2f 2f0a 6675 6e20 m): form.//.fun \n-000008b0: 666f 726d 756c 615f 696d 6178 2028 666f formula_imax (fo\n-000008c0: 726d 2c20 666f 726d 293a 2066 6f72 6d0a rm, form): form.\n-000008d0: 6675 6e20 666f 726d 756c 615f 696d 696e fun formula_imin\n-000008e0: 2028 666f 726d 2c20 666f 726d 293a 2066 (form, form): f\n-000008f0: 6f72 6d0a 2f2f 0a28 2a20 2a2a 2a2a 2a2a orm.//.(* ******\n-00000900: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 ****** *).//.fu\n-00000910: 6e20 666f 726d 756c 615f 626e 6567 2028 n formula_bneg (\n-00000920: 666f 726d 293a 2066 6f72 6d0a 2f2f 0a66 form): form.//.f\n-00000930: 756e 2066 6f72 6d75 6c61 5f62 6164 6420 un formula_badd \n-00000940: 2866 6f72 6d2c 2066 6f72 6d29 3a20 666f (form, form): fo\n-00000950: 726d 0a66 756e 2066 6f72 6d75 6c61 5f62 rm.fun formula_b\n-00000960: 6d75 6c20 2866 6f72 6d2c 2066 6f72 6d29 mul (form, form)\n-00000970: 3a20 666f 726d 0a2f 2f0a 6675 6e20 666f : form.//.fun fo\n-00000980: 726d 756c 615f 626c 7420 2866 6f72 6d2c rmula_blt (form,\n-00000990: 2066 6f72 6d29 3a20 666f 726d 0a66 756e form): form.fun\n-000009a0: 2066 6f72 6d75 6c61 5f62 6c74 6520 2866 formula_blte (f\n-000009b0: 6f72 6d2c 2066 6f72 6d29 3a20 666f 726d orm, form): form\n-000009c0: 0a66 756e 2066 6f72 6d75 6c61 5f62 6774 .fun formula_bgt\n-000009d0: 2028 666f 726d 2c20 666f 726d 293a 2066 (form, form): f\n-000009e0: 6f72 6d0a 6675 6e20 666f 726d 756c 615f orm.fun formula_\n-000009f0: 6267 7465 2028 666f 726d 2c20 666f 726d bgte (form, form\n-00000a00: 293a 2066 6f72 6d0a 6675 6e20 666f 726d ): form.fun form\n-00000a10: 756c 615f 6265 7120 2866 6f72 6d2c 2066 ula_beq (form, f\n-00000a20: 6f72 6d29 3a20 666f 726d 0a66 756e 2066 orm): form.fun f\n-00000a30: 6f72 6d75 6c61 5f62 6e65 7120 2866 6f72 ormula_bneq (for\n-00000a40: 6d2c 2066 6f72 6d29 3a20 666f 726d 0a2f m, form): form./\n-00000a50: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-00000a60: 2a2a 202a 290a 2f2f 0a66 756e 0a66 6f72 ** *).//.fun.for\n-00000a70: 6d75 6c61 5f72 6561 6c0a 2020 7b70 2c71 mula_real. {p,q\n-00000a80: 3a69 6e74 207c 2071 203e 2030 7d0a 2020 :int | q > 0}. \n-00000a90: 286e 756d 3a20 696e 7428 7029 2c20 6465 (num: int(p), de\n-00000aa0: 6e3a 2069 6e74 2871 2929 3a20 666f 726d n: int(q)): form\n-00000ab0: 0a2f 2f0a 6675 6e20 666f 726d 756c 615f .//.fun formula_\n-00000ac0: 696e 7432 7265 616c 3a20 2866 6f72 6d29 int2real: (form)\n-00000ad0: 202d 3e20 666f 726d 0a2f 2f0a 6675 6e20 -> form.//.fun \n-00000ae0: 666f 726d 756c 615f 6e65 675f 7265 616c formula_neg_real\n-00000af0: 3a20 2866 6f72 6d29 202d 3e20 666f 726d : (form) -> form\n-00000b00: 0a66 756e 2066 6f72 6d75 6c61 5f61 6273 .fun formula_abs\n-00000b10: 5f72 6561 6c3a 2028 666f 726d 2920 2d3e _real: (form) ->\n-00000b20: 2066 6f72 6d0a 2f2f 0a66 756e 0a66 6f72 form.//.fun.for\n-00000b30: 6d75 6c61 5f61 6464 5f72 6561 6c5f 7265 mula_add_real_re\n-00000b40: 616c 2866 6f72 6d2c 2066 6f72 6d29 3a20 al(form, form): \n-00000b50: 666f 726d 0a66 756e 0a66 6f72 6d75 6c61 form.fun.formula\n-00000b60: 5f73 7562 5f72 6561 6c5f 7265 616c 2866 _sub_real_real(f\n-00000b70: 6f72 6d2c 2066 6f72 6d29 3a20 666f 726d orm, form): form\n-00000b80: 0a66 756e 0a66 6f72 6d75 6c61 5f6d 756c .fun.formula_mul\n-00000b90: 5f72 6561 6c5f 7265 616c 2866 6f72 6d2c _real_real(form,\n-00000ba0: 2066 6f72 6d29 3a20 666f 726d 0a66 756e form): form.fun\n-00000bb0: 0a66 6f72 6d75 6c61 5f64 6976 5f72 6561 .formula_div_rea\n-00000bc0: 6c5f 7265 616c 2866 6f72 6d2c 2066 6f72 l_real(form, for\n-00000bd0: 6d29 3a20 666f 726d 0a2f 2f0a 6675 6e20 m): form.//.fun \n-00000be0: 666f 726d 756c 615f 6164 645f 696e 745f formula_add_int_\n-00000bf0: 7265 616c 2866 6f72 6d2c 2066 6f72 6d29 real(form, form)\n-00000c00: 3a20 666f 726d 0a66 756e 2066 6f72 6d75 : form.fun formu\n-00000c10: 6c61 5f61 6464 5f72 6561 6c5f 696e 7428 la_add_real_int(\n-00000c20: 666f 726d 2c20 666f 726d 293a 2066 6f72 form, form): for\n-00000c30: 6d0a 6675 6e20 666f 726d 756c 615f 7375 m.fun formula_su\n-00000c40: 625f 696e 745f 7265 616c 2866 6f72 6d2c b_int_real(form,\n-00000c50: 2066 6f72 6d29 3a20 666f 726d 0a66 756e form): form.fun\n-00000c60: 2066 6f72 6d75 6c61 5f73 7562 5f72 6561 formula_sub_rea\n-00000c70: 6c5f 696e 7428 666f 726d 2c20 666f 726d l_int(form, form\n-00000c80: 293a 2066 6f72 6d0a 6675 6e20 666f 726d ): form.fun form\n-00000c90: 756c 615f 6d75 6c5f 696e 745f 7265 616c ula_mul_int_real\n-00000ca0: 2866 6f72 6d2c 2066 6f72 6d29 3a20 666f (form, form): fo\n-00000cb0: 726d 0a66 756e 2066 6f72 6d75 6c61 5f64 rm.fun formula_d\n-00000cc0: 6976 5f72 6561 6c5f 696e 7428 666f 726d iv_real_int(form\n-00000cd0: 2c20 666f 726d 293a 2066 6f72 6d0a 2f2f , form): form.//\n-00000ce0: 0a66 756e 0a66 6f72 6d75 6c61 5f6c 745f .fun.formula_lt_\n-00000cf0: 7265 616c 5f72 6561 6c3a 2028 666f 726d real_real: (form\n-00000d00: 2c20 666f 726d 2920 2d3e 2066 6f72 6d0a , form) -> form.\n-00000d10: 6675 6e0a 666f 726d 756c 615f 6c74 655f fun.formula_lte_\n-00000d20: 7265 616c 5f72 6561 6c3a 2028 666f 726d real_real: (form\n-00000d30: 2c20 666f 726d 2920 2d3e 2066 6f72 6d0a , form) -> form.\n-00000d40: 6675 6e0a 666f 726d 756c 615f 6774 5f72 fun.formula_gt_r\n-00000d50: 6561 6c5f 7265 616c 3a20 2866 6f72 6d2c eal_real: (form,\n-00000d60: 2066 6f72 6d29 202d 3e20 666f 726d 0a66 form) -> form.f\n-00000d70: 756e 0a66 6f72 6d75 6c61 5f67 7465 5f72 un.formula_gte_r\n-00000d80: 6561 6c5f 7265 616c 3a20 2866 6f72 6d2c eal_real: (form,\n-00000d90: 2066 6f72 6d29 202d 3e20 666f 726d 0a66 form) -> form.f\n-00000da0: 756e 0a66 6f72 6d75 6c61 5f65 715f 7265 un.formula_eq_re\n-00000db0: 616c 5f72 6561 6c3a 2028 666f 726d 2c20 al_real: (form, \n-00000dc0: 666f 726d 2920 2d3e 2066 6f72 6d0a 6675 form) -> form.fu\n-00000dd0: 6e0a 666f 726d 756c 615f 6e65 715f 7265 n.formula_neq_re\n-00000de0: 616c 5f72 6561 6c3a 2028 666f 726d 2c20 al_real: (form, \n-00000df0: 666f 726d 2920 2d3e 2066 6f72 6d0a 2f2f form) -> form.//\n-00000e00: 0a66 756e 2066 6f72 6d75 6c61 5f6c 745f .fun formula_lt_\n-00000e10: 7265 616c 5f69 6e74 3a20 2866 6f72 6d2c real_int: (form,\n-00000e20: 2066 6f72 6d29 202d 3e20 666f 726d 0a66 form) -> form.f\n-00000e30: 756e 2066 6f72 6d75 6c61 5f6c 7465 5f72 un formula_lte_r\n-00000e40: 6561 6c5f 696e 743a 2028 666f 726d 2c20 eal_int: (form, \n-00000e50: 666f 726d 2920 2d3e 2066 6f72 6d0a 6675 form) -> form.fu\n-00000e60: 6e20 666f 726d 756c 615f 6774 5f72 6561 n formula_gt_rea\n-00000e70: 6c5f 696e 743a 2028 666f 726d 2c20 666f l_int: (form, fo\n-00000e80: 726d 2920 2d3e 2066 6f72 6d0a 6675 6e20 rm) -> form.fun \n-00000e90: 666f 726d 756c 615f 6774 655f 7265 616c formula_gte_real\n-00000ea0: 5f69 6e74 3a20 2866 6f72 6d2c 2066 6f72 _int: (form, for\n-00000eb0: 6d29 202d 3e20 666f 726d 0a66 756e 2066 m) -> form.fun f\n-00000ec0: 6f72 6d75 6c61 5f65 715f 7265 616c 5f69 ormula_eq_real_i\n-00000ed0: 6e74 3a20 2866 6f72 6d2c 2066 6f72 6d29 nt: (form, form)\n-00000ee0: 202d 3e20 666f 726d 0a66 756e 2066 6f72 -> form.fun for\n-00000ef0: 6d75 6c61 5f6e 6571 5f72 6561 6c5f 696e mula_neq_real_in\n-00000f00: 743a 2028 666f 726d 2c20 666f 726d 2920 t: (form, form) \n-00000f10: 2d3e 2066 6f72 6d0a 2f2f 0a28 2a20 2a2a -> form.//.(* **\n-00000f20: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./\n-00000f30: 2f0a 6675 6e0a 666f 726d 756c 615f 636f /.fun.formula_co\n-00000f40: 6e64 0a28 0a20 2066 5f63 6f6e 643a 2066 nd.(. f_cond: f\n-00000f50: 6f72 6d2c 2066 5f74 6865 6e3a 2066 6f72 orm, f_then: for\n-00000f60: 6d2c 2066 5f65 6c73 653a 2066 6f72 6d0a m, f_else: form.\n-00000f70: 2920 3a20 666f 726d 202f 2f20 656e 6420 ) : form // end \n-00000f80: 6f66 205b 666f 726d 756c 615f 636f 6e64 of [formula_cond\n-00000f90: 5d0a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a ].//.(* ****** *\n-00000fa0: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 6e0a ***** *).//.fun.\n-00000fb0: 666f 726d 756c 615f 6571 6571 2873 3265 formula_eqeq(s2e\n-00000fc0: 313a 2066 6f72 6d2c 2073 3265 323a 2066 1: form, s2e2: f\n-00000fd0: 6f72 6d29 3a20 666f 726d 0a2f 2f0a 282a orm): form.//.(*\n-00000fe0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000ff0: 290a 2f2f 0a66 756e 0a66 6f72 6d75 6c61 ).//.fun.formula\n-00001000: 5f73 697a 656f 665f 7430 7970 6528 7332 _sizeof_t0ype(s2\n-00001010: 655f 7430 7970 653a 2066 6f72 6d29 3a20 e_t0ype: form): \n-00001020: 666f 726d 0a2f 2f0a 282a 202a 2a2a 2a2a form.//.(* *****\n-00001030: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a64 * ****** *).//.d\n-00001040: 6174 6174 7970 650a 736f 6c76 6572 636d atatype.solvercm\n-00001050: 6420 3d0a 2f2f 0a7c 2053 4f4c 5645 5243 d =.//.| SOLVERC\n-00001060: 4d44 706f 7020 6f66 2028 290a 7c20 534f MDpop of ().| SO\n-00001070: 4c56 4552 434d 4470 7573 6820 6f66 2028 LVERCMDpush of (\n-00001080: 290a 2f2f 0a7c 2053 4f4c 5645 5243 4d44 ).//.| SOLVERCMD\n-00001090: 6173 7365 7274 206f 6620 2866 6f72 6d29 assert of (form)\n-000010a0: 0a7c 2053 4f4c 5645 5243 4d44 6368 6563 .| SOLVERCMDchec\n-000010b0: 6b73 6174 206f 6620 2829 0a2f 2f0a 7c20 ksat of ().//.| \n-000010c0: 534f 4c56 4552 434d 4465 6368 6f6c 6f63 SOLVERCMDecholoc\n-000010d0: 206f 6620 286c 6f63 5f74 290a 2f2f 0a7c of (loc_t).//.|\n-000010e0: 2053 4f4c 5645 5243 4d44 706f 7065 6e76 SOLVERCMDpopenv\n-000010f0: 206f 6620 2873 3276 6172 6c73 7429 0a7c of (s2varlst).|\n-00001100: 2053 4f4c 5645 5243 4d44 7075 7368 656e SOLVERCMDpushen\n-00001110: 7620 6f66 2028 282a 766f 6964 2a29 290a v of ((*void*)).\n-00001120: 2f2f 0a7c 2053 4f4c 5645 5243 4d44 706f //.| SOLVERCMDpo\n-00001130: 7065 6e76 3220 6f66 2028 282a 766f 6964 penv2 of ((*void\n-00001140: 2a29 290a 7c20 534f 4c56 4552 434d 4470 *)).| SOLVERCMDp\n-00001150: 7573 6865 6e76 3220 6f66 2028 7332 7661 ushenv2 of (s2va\n-00001160: 726c 7374 290a 2f2f 0a28 2a20 2a2a 2a2a rlst).//.(* ****\n-00001170: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-00001180: 6675 6e0a 7072 696e 745f 736f 6c76 6572 fun.print_solver\n-00001190: 636d 6420 2873 6f6c 7665 7263 6d64 293a cmd (solvercmd):\n-000011a0: 2076 6f69 640a 616e 640a 7072 6572 725f void.and.prerr_\n-000011b0: 736f 6c76 6572 636d 6420 2873 6f6c 7665 solvercmd (solve\n-000011c0: 7263 6d64 293a 2076 6f69 640a 6675 6e0a rcmd): void.fun.\n-000011d0: 6670 7269 6e74 5f73 6f6c 7665 7263 6d64 fprint_solvercmd\n-000011e0: 203a 2066 7072 696e 745f 7479 7065 2873 : fprint_type(s\n-000011f0: 6f6c 7665 7263 6d64 290a 2f2f 0a6f 7665 olvercmd).//.ove\n-00001200: 726c 6f61 6420 7072 696e 7420 7769 7468 rload print with\n-00001210: 2070 7269 6e74 5f73 6f6c 7665 7263 6d64 print_solvercmd\n-00001220: 0a6f 7665 726c 6f61 6420 7072 6572 7220 .overload prerr \n-00001230: 7769 7468 2070 7265 7272 5f73 6f6c 7665 with prerr_solve\n-00001240: 7263 6d64 0a6f 7665 726c 6f61 6420 6670 rcmd.overload fp\n-00001250: 7269 6e74 2077 6974 6820 6670 7269 6e74 rint with fprint\n-00001260: 5f73 6f6c 7665 7263 6d64 0a2f 2f0a 282a _solvercmd.//.(*\n-00001270: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00001280: 290a 2f2f 0a66 756e 0a73 6f6c 7665 7263 ).//.fun.solverc\n-00001290: 6d64 6c73 745f 7265 7665 7273 650a 2020 mdlst_reverse. \n-000012a0: 284c 6973 745f 7674 2873 6f6c 7665 7263 (List_vt(solverc\n-000012b0: 6d64 2929 3a20 4c69 7374 305f 7674 2873 md)): List0_vt(s\n-000012c0: 6f6c 7665 7263 6d64 290a 2f2f 0a28 2a20 olvercmd).//.(* \n-000012d0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-000012e0: 0a0a 6162 7376 7479 7065 2073 6d74 656e ..absvtype smten\n-000012f0: 765f 7674 7970 6520 3d20 7074 720a 7674 v_vtype = ptr.vt\n-00001300: 7970 6564 6566 2073 6d74 656e 7620 3d20 ypedef smtenv = \n-00001310: 736d 7465 6e76 5f76 7479 7065 0a0a 282a smtenv_vtype..(*\n-00001320: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00001330: 290a 2f2f 0a66 756e 0a73 6d74 656e 765f ).//.fun.smtenv_\n-00001340: 6372 6561 7465 2829 3a20 736d 7465 6e76 create(): smtenv\n-00001350: 0a66 756e 0a73 6d74 656e 765f 6465 7374 .fun.smtenv_dest\n-00001360: 726f 7928 656e 763a 2073 6d74 656e 7629 roy(env: smtenv)\n-00001370: 3a20 4c69 7374 305f 7674 2873 6f6c 7665 : List0_vt(solve\n-00001380: 7263 6d64 290a 2f2f 0a28 2a20 2a2a 2a2a rcmd).//.(* ****\n-00001390: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-000013a0: 282a 0a66 756e 0a73 3276 6172 5f70 6f70 (*.fun.s2var_pop\n-000013b0: 5f70 6179 6c6f 6164 2873 3276 6172 293a _payload(s2var):\n-000013c0: 2066 6f72 6d0a 6675 6e0a 7332 7661 725f form.fun.s2var_\n-000013d0: 746f 705f 7061 796c 6f61 6428 7332 7661 top_payload(s2va\n-000013e0: 7229 3a20 666f 726d 0a66 756e 0a73 3276 r): form.fun.s2v\n-000013f0: 6172 5f70 7573 685f 7061 796c 6f61 6428 ar_push_payload(\n-00001400: 7332 7661 722c 2066 6f72 6d29 3a20 766f s2var, form): vo\n-00001410: 6964 0a2a 290a 2f2f 0a28 2a20 2a2a 2a2a id.*).//.(* ****\n-00001420: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-00001430: 6675 6e0a 736d 7465 6e76 5f61 6464 5f73 fun.smtenv_add_s\n-00001440: 3276 6172 0a20 2028 656e 763a 2021 736d 2var. (env: !sm\n-00001450: 7465 6e76 2c20 7332 763a 2073 3276 6172 tenv, s2v: s2var\n-00001460: 293a 2076 6f69 640a 6675 6e0a 736d 7465 ): void.fun.smte\n-00001470: 6e76 5f61 6464 5f73 3265 7870 0a20 2028 nv_add_s2exp. (\n-00001480: 656e 763a 2021 736d 7465 6e76 2c20 7332 env: !smtenv, s2\n-00001490: 653a 2073 3265 7870 293a 2076 6f69 640a e: s2exp): void.\n-000014a0: 6675 6e0a 736d 7465 6e76 5f61 6464 5f68 fun.smtenv_add_h\n-000014b0: 3379 706f 0a20 2028 656e 763a 2021 736d 3ypo. (env: !sm\n-000014c0: 7465 6e76 2c20 6833 703a 2068 3379 706f tenv, h3p: h3ypo\n-000014d0: 293a 2076 6f69 640a 2f2f 0a28 2a20 2a2a ): void.//.(* **\n-000014e0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./\n-000014f0: 2f0a 6675 6e0a 666f 726d 756c 615f 6572 /.fun.formula_er\n-00001500: 726f 725f 7332 6373 7428 7332 6330 3a20 ror_s2cst(s2c0: \n-00001510: 7332 6373 7429 3a20 666f 726d 0a66 756e s2cst): form.fun\n-00001520: 0a66 6f72 6d75 6c61 5f65 7272 6f72 5f73 .formula_error_s\n-00001530: 3265 7870 2873 3265 303a 2073 3265 7870 2exp(s2e0: s2exp\n-00001540: 293a 2066 6f72 6d0a 2f2f 0a6f 7665 726c ): form.//.overl\n-00001550: 6f61 6420 666f 726d 756c 615f 6572 726f oad formula_erro\n-00001560: 7220 7769 7468 2066 6f72 6d75 6c61 5f65 r with formula_e\n-00001570: 7272 6f72 5f73 3263 7374 0a6f 7665 726c rror_s2cst.overl\n-00001580: 6f61 6420 666f 726d 756c 615f 6572 726f oad formula_erro\n-00001590: 7220 7769 7468 2066 6f72 6d75 6c61 5f65 r with formula_e\n-000015a0: 7272 6f72 5f73 3265 7870 0a2f 2f0a 282a rror_s2exp.//.(*\n-000015b0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-000015c0: 290a 2f2f 0a66 756e 0a66 6f72 6d75 6c61 ).//.fun.formula\n-000015d0: 5f6d 616b 655f 7332 6373 740a 2020 2865 _make_s2cst. (e\n-000015e0: 6e76 3a20 2173 6d74 656e 762c 2073 3263 nv: !smtenv, s2c\n-000015f0: 3a20 7332 6373 7429 3a20 666f 726d 0a28 : s2cst): form.(\n-00001600: 2a0a 6675 6e0a 666f 726d 756c 615f 6d61 *.fun.formula_ma\n-00001610: 6b65 5f73 3263 7374 5f66 7265 7368 0a20 ke_s2cst_fresh. \n-00001620: 2028 656e 763a 2021 736d 7465 6e76 2c20 (env: !smtenv, \n-00001630: 7332 633a 2073 3263 7374 293a 2066 6f72 s2c: s2cst): for\n-00001640: 6d0a 2a29 0a2f 2f0a 6675 6e0a 666f 726d m.*).//.fun.form\n-00001650: 756c 615f 6d61 6b65 5f73 3276 6172 0a20 ula_make_s2var. \n-00001660: 2028 656e 763a 2021 736d 7465 6e76 2c20 (env: !smtenv, \n-00001670: 7332 763a 2073 3276 6172 293a 2066 6f72 s2v: s2var): for\n-00001680: 6d0a 282a 0a66 756e 0a66 6f72 6d75 6c61 m.(*.fun.formula\n-00001690: 5f6d 616b 655f 7332 7661 725f 6672 6573 _make_s2var_fres\n-000016a0: 680a 2020 2865 6e76 3a20 2173 6d74 656e h. (env: !smten\n-000016b0: 762c 2073 3276 3a20 7332 7661 7229 3a20 v, s2v: s2var): \n-000016c0: 666f 726d 0a2a 290a 2f2f 0a66 756e 0a66 form.*).//.fun.f\n-000016d0: 6f72 6d75 6c61 5f6d 616b 655f 7332 5661 ormula_make_s2Va\n-000016e0: 725f 6672 6573 680a 2020 2865 6e76 3a20 r_fresh. (env: \n-000016f0: 2173 6d74 656e 762c 2073 3256 3a20 7332 !smtenv, s2V: s2\n-00001700: 5661 722c 2073 3274 3a20 7332 7274 293a Var, s2t: s2rt):\n-00001710: 2066 6f72 6d0a 2f2f 0a28 2a20 2a2a 2a2a form.//.(* ****\n-00001720: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-00001730: 6675 6e0a 666f 726d 756c 615f 6d61 6b65 fun.formula_make\n-00001740: 5f73 3265 7870 0a20 2028 656e 763a 2021 _s2exp. (env: !\n-00001750: 736d 7465 6e76 2c20 7332 653a 2073 3265 smtenv, s2e: s2e\n-00001760: 7870 293a 2066 6f72 6d0a 6675 6e0a 666f xp): form.fun.fo\n-00001770: 726d 756c 6173 5f6d 616b 655f 7332 6578 rmulas_make_s2ex\n-00001780: 706c 7374 0a20 2028 656e 763a 2021 736d plst. (env: !sm\n-00001790: 7465 6e76 2c20 7332 6573 3a20 7332 6578 tenv, s2es: s2ex\n-000017a0: 706c 7374 293a 2066 6f72 6d6c 7374 0a66 plst): formlst.f\n-000017b0: 756e 0a66 6f72 6d75 6c61 735f 6d61 6b65 un.formulas_make\n-000017c0: 5f6c 6162 7332 6578 706c 7374 0a20 2028 _labs2explst. (\n-000017d0: 656e 763a 2021 736d 7465 6e76 2c20 6c73 env: !smtenv, ls\n-000017e0: 3265 733a 206c 6162 7332 6578 706c 7374 2es: labs2explst\n-000017f0: 293a 2066 6f72 6d6c 7374 0a2f 2f0a 6675 ): formlst.//.fu\n-00001800: 6e0a 666f 726d 756c 615f 6d61 6b65 5f73 n.formula_make_s\n-00001810: 3263 7374 5f73 3265 7870 6c73 740a 2020 2cst_s2explst. \n-00001820: 2865 6e76 3a20 2173 6d74 656e 762c 2073 (env: !smtenv, s\n-00001830: 3263 3a20 7332 6373 742c 2073 3265 733a 2c: s2cst, s2es:\n-00001840: 2073 3265 7870 6c73 7429 3a20 666f 726d s2explst): form\n-00001850: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00001860: 2a2a 2a2a 202a 290a 2f2f 0a66 756e 0a74 **** *).//.fun.t\n-00001870: 6865 5f73 3263 696e 7465 7270 5f69 6e69 he_s2cinterp_ini\n-00001880: 7469 7a65 2829 3a20 766f 6964 0a2f 2f0a tize(): void.//.\n-00001890: 6675 6e0a 7332 6373 745f 6765 745f 7332 fun.s2cst_get_s2\n-000018a0: 6369 6e74 6572 7028 7332 633a 2073 3263 cinterp(s2c: s2c\n-000018b0: 7374 293a 2073 3263 7374 6f70 740a 2f2f st): s2cstopt.//\n-000018c0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-000018d0: 2a20 2a29 0a0a 6162 7376 6965 7720 736d * *)..absview sm\n-000018e0: 7465 6e76 5f70 7573 685f 760a 0a28 2a20 tenv_push_v..(* \n-000018f0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00001900: 0a2f 2f0a 6675 6e0a 736d 7465 6e76 5f70 .//.fun.smtenv_p\n-00001910: 6f70 2873 6d74 656e 765f 7075 7368 5f76 op(smtenv_push_v\n-00001920: 207c 2021 736d 7465 6e76 293a 2076 6f69 | !smtenv): voi\n-00001930: 640a 2f2f 0a66 756e 0a73 6d74 656e 765f d.//.fun.smtenv_\n-00001940: 7075 7368 2865 6e76 3a20 2173 6d74 656e push(env: !smten\n-00001950: 7629 3a20 2873 6d74 656e 765f 7075 7368 v): (smtenv_push\n-00001960: 5f76 207c 2076 6f69 6429 0a2f 2f0a 282a _v | void).//.(*\n-00001970: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00001980: 290a 2f2f 0a66 756e 0a73 6d74 656e 765f ).//.fun.smtenv_\n-00001990: 736f 6c76 655f 666f 726d 756c 610a 280a solve_formula.(.\n-000019a0: 2020 656e 763a 2021 736d 7465 6e76 2c20 env: !smtenv, \n-000019b0: 6c6f 6330 3a20 6c6f 635f 742c 2066 6d6c loc0: loc_t, fml\n-000019c0: 3a20 666f 726d 0a29 203a 2076 6f69 6420 : form.) : void \n-000019d0: 2f2f 2065 6e64 2d6f 662d 6675 6e63 7469 // end-of-functi\n-000019e0: 6f6e 0a2f 2f20 0a28 2a20 2a2a 2a2a 2a2a on.// .(* ******\n-000019f0: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 6675 ****** *).//.fu\n-00001a00: 6e20 656d 6974 5f66 6f72 6d28 6f75 743a n emit_form(out:\n-00001a10: 2046 494c 4572 6566 2c20 666d 6c3a 2066 FILEref, fml: f\n-00001a20: 6f72 6d29 3a20 766f 6964 0a2f 2f0a 6675 orm): void.//.fu\n-00001a30: 6e20 656d 6974 5f73 3272 7428 6f75 743a n emit_s2rt(out:\n-00001a40: 2046 494c 4572 6566 2c20 7332 743a 2073 FILEref, s2t: s\n-00001a50: 3272 7429 3a20 766f 6964 0a66 756e 2065 2rt): void.fun e\n-00001a60: 6d69 745f 7332 7274 6c73 7428 6f75 743a mit_s2rtlst(out:\n-00001a70: 2046 494c 4572 6566 2c20 7332 7473 3a20 FILEref, s2ts: \n-00001a80: 7332 7274 6c73 7429 3a20 766f 6964 0a2f s2rtlst): void./\n-00001a90: 2f0a 6675 6e20 656d 6974 5f73 3263 7374 /.fun emit_s2cst\n-00001aa0: 286f 7574 3a20 4649 4c45 7265 662c 2073 (out: FILEref, s\n-00001ab0: 3265 3a20 7332 6373 7429 3a20 766f 6964 2e: s2cst): void\n-00001ac0: 0a66 756e 2065 6d69 745f 7332 7661 7228 .fun emit_s2var(\n-00001ad0: 6f75 743a 2046 494c 4572 6566 2c20 7332 out: FILEref, s2\n-00001ae0: 653a 2073 3276 6172 293a 2076 6f69 640a e: s2var): void.\n-00001af0: 6675 6e20 656d 6974 5f73 3265 7870 286f fun emit_s2exp(o\n-00001b00: 7574 3a20 4649 4c45 7265 662c 2073 3265 ut: FILEref, s2e\n-00001b10: 3a20 7332 6578 7029 3a20 766f 6964 0a2f : s2exp): void./\n-00001b20: 2f0a 6675 6e20 656d 6974 5f64 6563 6c5f /.fun emit_decl_\n-00001b30: 7332 6373 7428 6f75 743a 2046 494c 4572 s2cst(out: FILEr\n-00001b40: 6566 2c20 7332 633a 2073 3263 7374 293a ef, s2c: s2cst):\n-00001b50: 2076 6f69 640a 6675 6e20 656d 6974 5f64 void.fun emit_d\n-00001b60: 6563 6c5f 7332 6373 746c 7374 286f 7574 ecl_s2cstlst(out\n-00001b70: 3a20 4649 4c45 7265 662c 2073 3263 733a : FILEref, s2cs:\n-00001b80: 2073 3263 7374 6c73 7429 3a20 766f 6964 s2cstlst): void\n-00001b90: 0a2f 2f0a 6675 6e20 656d 6974 5f64 6563 .//.fun emit_dec\n-00001ba0: 6c5f 7332 7661 7228 6f75 743a 2046 494c l_s2var(out: FIL\n-00001bb0: 4572 6566 2c20 7332 763a 2073 3276 6172 Eref, s2v: s2var\n-00001bc0: 293a 2076 6f69 640a 6675 6e20 656d 6974 ): void.fun emit\n-00001bd0: 5f64 6563 6c5f 7332 7661 726c 7374 286f _decl_s2varlst(o\n-00001be0: 7574 3a20 4649 4c45 7265 662c 2073 3276 ut: FILEref, s2v\n-00001bf0: 733a 2073 3276 6172 6c73 7429 3a20 766f s: s2varlst): vo\n-00001c00: 6964 0a2f 2f0a 6675 6e20 656d 6974 5f73 id.//.fun emit_s\n-00001c10: 6f6c 7665 7263 6d64 286f 7574 3a20 4649 olvercmd(out: FI\n-00001c20: 4c45 7265 662c 2063 6d64 3a20 736f 6c76 LEref, cmd: solv\n-00001c30: 6572 636d 6429 3a20 766f 6964 0a66 756e ercmd): void.fun\n-00001c40: 2065 6d69 745f 736f 6c76 6572 636d 646c emit_solvercmdl\n-00001c50: 7374 286f 7574 3a20 4649 4c45 7265 662c st(out: FILEref,\n-00001c60: 2063 6d64 733a 204c 6973 7428 736f 6c76 cmds: List(solv\n-00001c70: 6572 636d 6429 293a 2076 6f69 640a 2f2f ercmd)): void.//\n-00001c80: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00001c90: 2a20 2a29 0a2f 2f0a 6675 6e20 656d 6974 * *).//.fun emit\n-00001ca0: 5f70 7265 616d 626c 6528 4649 4c45 7265 _preamble(FILEre\n-00001cb0: 6629 3a20 766f 6964 0a2f 2f0a 6675 6e20 f): void.//.fun \n-00001cc0: 656d 6974 5f70 7265 616d 626c 655f 7265 emit_preamble_re\n-00001cd0: 616c 2846 494c 4572 6566 293a 2076 6f69 al(FILEref): voi\n-00001ce0: 640a 2f2f 0a28 2a0a 6675 6e20 656d 6974 d.//.(*.fun emit\n-00001cf0: 5f70 7265 616d 626c 655f 7365 7428 4649 _preamble_set(FI\n-00001d00: 4c45 7265 6629 3a20 766f 6964 0a66 756e LEref): void.fun\n-00001d10: 2065 6d69 745f 7072 6561 6d62 6c65 5f6d emit_preamble_m\n-00001d20: 7365 7428 4649 4c45 7265 6629 3a20 766f set(FILEref): vo\n-00001d30: 6964 0a66 756e 2065 6d69 745f 7072 6561 id.fun emit_prea\n-00001d40: 6d62 6c65 5f61 7272 6179 2846 494c 4572 mble_array(FILEr\n-00001d50: 6566 293a 2076 6f69 640a 2a29 0a2f 2f0a ef): void.*).//.\n-00001d60: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00001d70: 202a 290a 2f2f 0a66 756e 2065 6d69 745f *).//.fun emit_\n-00001d80: 7468 655f 7332 6373 746d 6170 286f 7574 the_s2cstmap(out\n-00001d90: 3a20 4649 4c45 7265 6629 3a20 766f 6964 : FILEref): void\n-00001da0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00001db0: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end \n-00001dc0: 6f66 205b 7061 7473 6f6c 7665 5f73 6d74 of [patsolve_smt\n-00001dd0: 325f 736f 6c76 696e 672e 7361 7473 5d20 2_solving.sats] \n-00001de0: 2a29 0a *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/PYlist.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/PYlist.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,57 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D\n-00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(*\n-00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014-\n-00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo\n-000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names\n-000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_\n-000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX \"a\n-000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_\".#defi\n-000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR\n-000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX \"_ats2pypre\n-00000100: 5f50 596c 6973 745f 220a 2f2f 0a28 2a20 _PYlist_\".//.(* \n-00000110: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000120: 0a2f 2f0a 2364 6566 696e 650a 4c49 4241 .//.#define.LIBA\n-00000130: 5453 4343 5f74 6172 6765 746c 6f63 0a22 TSCC_targetloc.\"\n-00000140: 2450 4154 5348 4f4d 455c 0a2f 636f 6e74 $PATSHOME\\./cont\n-00000150: 7269 622f 6c69 6261 7473 6363 2f41 5453 rib/libatscc/ATS\n-00000160: 322d 302e 332e 3222 0a2f 2f0a 282a 202a 2-0.3.2\".//.(* *\n-00000170: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000180: 2f2f 0a23 7374 616c 6f61 640a 554e 203d //.#staload.UN =\n-00000190: 2022 7072 656c 7564 652f 5341 5453 2f75 \"prelude/SATS/u\n-000001a0: 6e73 6166 652e 7361 7473 220a 2f2f 0a28 nsafe.sats\".//.(\n-000001b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-000001c0: 2a29 0a0a 2373 7461 6c6f 6164 2022 2e2f *)..#staload \"./\n-000001d0: 2e2e 2f62 6173 6963 735f 7079 2e73 6174 ../basics_py.sat\n-000001e0: 7322 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a s\"..(* ****** **\n-000001f0: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal\n-00000200: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f69 oad \"./../SATS/i\n-00000210: 6e74 6567 6572 2e73 6174 7322 0a2f 2f0a nteger.sats\".//.\n-00000220: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000230: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload \n-00000240: 222e 2f2e 2e2f 5341 5453 2f70 7269 6e74 \"./../SATS/print\n-00000250: 2e73 6174 7322 0a23 7374 616c 6f61 6420 .sats\".#staload \n-00000260: 222e 2f2e 2e2f 5341 5453 2f66 696c 6562 \"./../SATS/fileb\n-00000270: 6173 2e73 6174 7322 0a2f 2f0a 282a 202a as.sats\".//.(* *\n-00000280: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000290: 0a23 7374 616c 6f61 6420 222e 2f2e 2e2f .#staload \"./../\n-000002a0: 5341 5453 2f6c 6973 742e 7361 7473 220a SATS/list.sats\".\n-000002b0: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload \"./../S\n-000002c0: 4154 532f 5059 6c69 7374 2e73 6174 7322 ATS/PYlist.sats\"\n-000002d0: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-000002e0: 2a2a 202a 290a 2f2f 0a69 6d70 6c65 6d65 ** *).//.impleme\n-000002f0: 6e74 0a7b 617d 282a 746d 702a 290a 5059 nt.{a}(*tmp*).PY\n-00000300: 6c69 7374 5f73 6f72 745f 3128 7873 2920 list_sort_1(xs) \n-00000310: 3d20 0a50 596c 6973 745f 736f 7274 5f32 = .PYlist_sort_2\n-00000320: 0a20 2028 7873 2c20 6c61 6d28 7831 2c20 . (xs, lam(x1, \n-00000330: 7832 2920 3d3e 2067 636f 6d70 6172 655f x2) => gcompare_\n-00000340: 7661 6c5f 7661 6c3c 613e 2878 312c 2078 val_val(x1, x\n-00000350: 3229 290a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 2)).//.(* ******\n-00000360: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e\n-00000370: 6e64 206f 6620 5b50 596c 6973 742e 6461 nd of [PYlist.da\n-00000380: 7473 5d20 2a29 0a ts] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/basics.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/basics.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,77 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 204a 6176 6173 6372 6970 740a 2a29 to Javascript.*)\n-00000040: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00000050: 2a2a 202a 290a 0a23 6465 6669 6e65 2041 ** *)..#define A\n-00000060: 5453 5f44 594e 4c4f 4144 464c 4147 2030 TS_DYNLOADFLAG 0\n-00000070: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00000080: 2a2a 202a 290a 2f2f 0a2f 2f20 4858 2d32 ** *).//.// HX-2\n-00000090: 3031 342d 3038 3a0a 2f2f 2070 7265 6669 014-08:.// prefi\n-000000a0: 7820 666f 7220 6578 7465 726e 616c 206e x for external n\n-000000b0: 616d 6573 0a2f 2f0a 2364 6566 696e 650a ames.//.#define.\n-000000c0: 4154 535f 4558 5445 524e 5f50 5245 4649 ATS_EXTERN_PREFI\n-000000d0: 5820 2261 7473 3270 7970 7265 5f22 0a23 X \"ats2pypre_\".#\n-000000e0: 6465 6669 6e65 0a41 5453 5f53 5441 5449 define.ATS_STATI\n-000000f0: 435f 5052 4546 4958 2022 5f61 7473 3270 C_PREFIX \"_ats2p\n-00000100: 7970 7265 5f62 6173 6963 735f 220a 2f2f ypre_basics_\".//\n-00000110: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000120: 2a20 2a29 0a2f 2f0a 2364 6566 696e 650a * *).//.#define.\n-00000130: 4c49 4241 5453 4343 5f74 6172 6765 746c LIBATSCC_targetl\n-00000140: 6f63 0a22 2450 4154 5348 4f4d 455c 0a2f oc.\"$PATSHOME\\./\n-00000150: 636f 6e74 7269 622f 6c69 6261 7473 6363 contrib/libatscc\n-00000160: 2f41 5453 322d 302e 332e 3222 0a2f 2f0a /ATS2-0.3.2\".//.\n-00000170: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000180: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload \n-00000190: 222e 2f2e 2e2f 6261 7369 6373 5f70 792e \"./../basics_py.\n-000001a0: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats\".//.(* ****\n-000001b0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-000001c0: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload \"./../S\n-000001d0: 4154 532f 696e 7465 6765 722e 7361 7473 ATS/integer.sats\n-000001e0: 220a 2f2f 0a23 7374 616c 6f61 6420 222e \".//.#staload \".\n-000001f0: 2f2e 2e2f 5341 5453 2f62 6f6f 6c2e 7361 /../SATS/bool.sa\n-00000200: 7473 220a 2373 7461 6c6f 6164 2022 2e2f ts\".#staload \"./\n-00000210: 2e2e 2f53 4154 532f 666c 6f61 742e 7361 ../SATS/float.sa\n-00000220: 7473 220a 2373 7461 6c6f 6164 2022 2e2f ts\".#staload \"./\n-00000230: 2e2e 2f53 4154 532f 7374 7269 6e67 2e73 ../SATS/string.s\n-00000240: 6174 7322 0a2f 2f0a 282a 202a 2a2a 2a2a ats\".//.(* *****\n-00000250: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 * ****** *).//.#\n-00000260: 696e 636c 7564 6520 227b 244c 4942 4154 include \"{$LIBAT\n-00000270: 5343 437d 2f44 4154 532f 6261 7369 6373 SCC}/DATS/basics\n-00000280: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats\".//.(* ***\n-00000290: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000002a0: 0a69 6d70 6c65 6d65 6e74 0a67 636f 6d70 .implement.gcomp\n-000002b0: 6172 655f 7661 6c5f 7661 6c3c 696e 743e are_val_val\n-000002c0: 0a20 2028 782c 2079 2920 3d0a 2020 2465 . (x, y) =. $e\n-000002d0: 6666 6d61 736b 5f61 6c6c 2863 6f6d 7061 ffmask_all(compa\n-000002e0: 7265 5f69 6e74 305f 696e 7430 2878 2c20 re_int0_int0(x, \n-000002f0: 7929 290a 2f2f 0a28 2a20 2a2a 2a2a 2a2a y)).//.(* ******\n-00000300: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 696d ****** *).//.im\n-00000310: 706c 656d 656e 740a 6763 6f6d 7061 7265 plement.gcompare\n-00000320: 5f76 616c 5f76 616c 3c62 6f6f 6c3e 0a20 _val_val. \n-00000330: 2028 782c 2079 2920 3d0a 280a 2f2f 0a69 (x, y) =.(.//.i\n-00000340: 6620 2878 290a 2020 7468 656e 2028 6966 f (x). then (if\n-00000350: 2079 2074 6865 6e20 3028 2a74 2f74 2a29 y then 0(*t/t*)\n-00000360: 2065 6c73 6520 3128 2a74 2f66 2a29 290a else 1(*t/f*)).\n-00000370: 2020 656c 7365 2028 6966 2079 2074 6865 else (if y the\n-00000380: 6e20 7e31 282a 662f 742a 2920 656c 7365 n ~1(*f/t*) else\n-00000390: 2030 282a 662f 662a 2929 0a2f 2f0a 2920 0(*f/f*)).//.) \n-000003a0: 282a 2067 636f 6d70 6172 655f 7661 6c5f (* gcompare_val_\n-000003b0: 7661 6c3c 626f 6f6c 3e20 2a29 0a2f 2f0a val *).//.\n-000003c0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-000003d0: 202a 290a 2f2f 0a69 6d70 6c65 6d65 6e74 *).//.implement\n-000003e0: 0a67 636f 6d70 6172 655f 7661 6c5f 7661 .gcompare_val_va\n-000003f0: 6c3c 646f 7562 6c65 3e0a 2020 2878 2c20 l. (x, \n-00000400: 7929 203d 0a20 2024 6566 666d 6173 6b5f y) =. $effmask_\n-00000410: 616c 6c28 636f 6d70 6172 655f 646f 7562 all(compare_doub\n-00000420: 6c65 5f64 6f75 626c 6528 782c 2079 2929 le_double(x, y))\n-00000430: 0a2f 2f0a 696d 706c 656d 656e 740a 6763 .//.implement.gc\n-00000440: 6f6d 7061 7265 5f76 616c 5f76 616c 3c73 ompare_val_val. (x, y) \n-00000460: 3d0a 2020 2465 6666 6d61 736b 5f61 6c6c =. $effmask_all\n-00000470: 2863 6f6d 7061 7265 5f73 7472 696e 675f (compare_string_\n-00000480: 7374 7269 6e67 2878 2c20 7929 290a 2f2f string(x, y)).//\n-00000490: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-000004a0: 2a20 2a29 0a0a 282a 2065 6e64 206f 6620 * *)..(* end of \n-000004b0: 5b62 6173 6963 732e 6461 7473 5d20 2a29 [basics.dats] *)\n-000004c0: 0a .\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/funarray.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/funarray.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,50 +0,0 @@\n-00000000: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000010: 202a 290a 282a 0a2a 2a20 466f 7220 7772 *).(*.** For wr\n-00000020: 6974 696e 6720 4154 5320 636f 6465 0a2a iting ATS code.*\n-00000030: 2a20 7468 6174 2074 7261 6e73 6c61 7465 * that translate\n-00000040: 7320 696e 746f 2050 7974 686f 6e33 0a2a s into Python3.*\n-00000050: 290a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ).(* ****** ****\n-00000060: 2a2a 202a 290a 0a23 6465 6669 6e65 2041 ** *)..#define A\n-00000070: 5453 5f44 594e 4c4f 4144 464c 4147 2030 TS_DYNLOADFLAG 0\n-00000080: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00000090: 2a2a 202a 290a 2f2f 0a2f 2f20 4858 2d32 ** *).//.// HX-2\n-000000a0: 3031 342d 3038 3a0a 2f2f 2070 7265 6669 014-08:.// prefi\n-000000b0: 7820 666f 7220 6578 7465 726e 616c 206e x for external n\n-000000c0: 616d 6573 0a2f 2f0a 2364 6566 696e 650a ames.//.#define.\n-000000d0: 4154 535f 4558 5445 524e 5f50 5245 4649 ATS_EXTERN_PREFI\n-000000e0: 5820 2261 7473 3270 7970 7265 5f22 0a23 X \"ats2pypre_\".#\n-000000f0: 6465 6669 6e65 0a41 5453 5f53 5441 5449 define.ATS_STATI\n-00000100: 435f 5052 4546 4958 2022 5f61 7473 3270 C_PREFIX \"_ats2p\n-00000110: 7970 7265 5f66 756e 6172 7261 795f 220a ypre_funarray_\".\n-00000120: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-00000130: 2a2a 2a20 2a29 0a2f 2f0a 2364 6566 696e *** *).//.#defin\n-00000140: 650a 4c49 4241 5453 4343 5f74 6172 6765 e.LIBATSCC_targe\n-00000150: 746c 6f63 0a22 2450 4154 5348 4f4d 455c tloc.\"$PATSHOME\\\n-00000160: 0a2f 636f 6e74 7269 622f 6c69 6261 7473 ./contrib/libats\n-00000170: 6363 2f41 5453 322d 302e 332e 3222 0a2f cc/ATS2-0.3.2\"./\n-00000180: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-00000190: 2a2a 202a 290a 2f2f 0a23 7374 616c 6f61 ** *).//.#staloa\n-000001a0: 640a 554e 203d 2022 7072 656c 7564 652f d.UN = \"prelude/\n-000001b0: 5341 5453 2f75 6e73 6166 652e 7361 7473 SATS/unsafe.sats\n-000001c0: 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a \".//.(* ****** *\n-000001d0: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 ***** *).//.#sta\n-000001e0: 6c6f 6164 2022 2e2f 2e2e 2f53 4154 532f load \"./../SATS/\n-000001f0: 696e 7465 6765 722e 7361 7473 220a 2f2f integer.sats\".//\n-00000200: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000210: 2a20 2a29 0a2f 2f0a 282a 0a23 7374 616c * *).//.(*.#stal\n-00000220: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f70 oad \"./../SATS/p\n-00000230: 7269 6e74 2e73 6174 7322 0a23 7374 616c rint.sats\".#stal\n-00000240: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f66 oad \"./../SATS/f\n-00000250: 696c 6562 6173 2e73 6174 7322 0a2a 290a ilebas.sats\".*).\n-00000260: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-00000270: 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 6c6f *** *).//.#stalo\n-00000280: 6164 2022 2e2f 2e2e 2f53 4154 532f 6675 ad \"./../SATS/fu\n-00000290: 6e61 7272 6179 2e73 6174 7322 0a2f 2f0a narray.sats\".//.\n-000002a0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-000002b0: 202a 290a 2f2f 0a23 696e 636c 7564 6520 *).//.#include \n-000002c0: 227b 244c 4942 4154 5343 437d 2f44 4154 \"{$LIBATSCC}/DAT\n-000002d0: 532f 6675 6e61 7272 6179 2e64 6174 7322 S/funarray.dats\"\n-000002e0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-000002f0: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end \n-00000300: 6f66 205b 6675 6e61 7272 6179 2e64 6174 of [funarray.dat\n-00000310: 735d 202a 290a s] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/intrange.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/intrange.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,39 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D\n-00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(*\n-00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014-\n-00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo\n-000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names\n-000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_\n-000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX \"a\n-000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_\".#defi\n-000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR\n-000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX \"_ats2pypre\n-00000100: 5f69 6e74 7261 6e67 655f 220a 2f2f 0a28 _intrange_\".//.(\n-00000110: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000120: 2a29 0a2f 2f0a 2364 6566 696e 650a 4c49 *).//.#define.LI\n-00000130: 4241 5453 4343 5f74 6172 6765 746c 6f63 BATSCC_targetloc\n-00000140: 0a22 2450 4154 5348 4f4d 455c 0a2f 636f .\"$PATSHOME\\./co\n-00000150: 6e74 7269 622f 6c69 6261 7473 6363 2f41 ntrib/libatscc/A\n-00000160: 5453 322d 302e 332e 3222 0a2f 2f0a 282a TS2-0.3.2\".//.(*\n-00000170: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000180: 290a 2f2f 0a23 696e 636c 7564 6520 222e ).//.#include \".\n-00000190: 2f2e 2e2f 7374 616c 6f61 6461 6c6c 2e68 /../staloadall.h\n-000001a0: 6174 7322 0a2f 2f0a 282a 202a 2a2a 2a2a ats\".//.(* *****\n-000001b0: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 * ****** *).//.#\n-000001c0: 6465 6669 6e65 2041 5453 4343 5f53 5452 define ATSCC_STR\n-000001d0: 4541 4d20 310a 2364 6566 696e 6520 4154 EAM 1.#define AT\n-000001e0: 5343 435f 5354 5245 414d 5f56 5420 310a SCC_STREAM_VT 1.\n-000001f0: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-00000200: 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 6c75 *** *).//.#inclu\n-00000210: 6465 2022 7b24 4c49 4241 5453 4343 7d2f de \"{$LIBATSCC}/\n-00000220: 4441 5453 2f69 6e74 7261 6e67 652e 6461 DATS/intrange.da\n-00000230: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts\".//.(* ******\n-00000240: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e\n-00000250: 6e64 206f 6620 5b69 6e74 7261 6e67 652e nd of [intrange.\n-00000260: 6461 7473 5d20 2a29 0a dats] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/matrixref.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/matrixref.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,150 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e33 0a2a 290a 0a28 to Python3.*)..(\n-00000040: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000050: 2a29 0a0a 2364 6566 696e 6520 4154 535f *)..#define ATS_\n-00000060: 4459 4e4c 4f41 4446 4c41 4720 300a 0a28 DYNLOADFLAG 0..(\n-00000070: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000080: 2a29 0a2f 2f0a 2f2f 2048 582d 3230 3134 *).//.// HX-2014\n-00000090: 2d30 383a 0a2f 2f20 7072 6566 6978 2066 -08:.// prefix f\n-000000a0: 6f72 2065 7874 6572 6e61 6c20 6e61 6d65 or external name\n-000000b0: 730a 2f2f 0a23 6465 6669 6e65 0a41 5453 s.//.#define.ATS\n-000000c0: 5f45 5854 4552 4e5f 5052 4546 4958 2022 _EXTERN_PREFIX \"\n-000000d0: 6174 7332 7079 7072 655f 220a 2364 6566 ats2pypre_\".#def\n-000000e0: 696e 650a 4154 535f 5354 4154 4943 5f50 ine.ATS_STATIC_P\n-000000f0: 5245 4649 5820 225f 6174 7332 7079 7072 REFIX \"_ats2pypr\n-00000100: 655f 6d61 7472 6978 7265 665f 220a 2f2f e_matrixref_\".//\n-00000110: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000120: 2a20 2a29 0a2f 2f0a 2364 6566 696e 650a * *).//.#define.\n-00000130: 4c49 4241 5453 4343 5f74 6172 6765 746c LIBATSCC_targetl\n-00000140: 6f63 0a22 2450 4154 5348 4f4d 455c 0a2f oc.\"$PATSHOME\\./\n-00000150: 636f 6e74 7269 622f 6c69 6261 7473 6363 contrib/libatscc\n-00000160: 2f41 5453 322d 302e 332e 3222 0a2f 2f0a /ATS2-0.3.2\".//.\n-00000170: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000180: 202a 290a 2f2f 0a23 7374 616c 6f61 640a *).//.#staload.\n-00000190: 554e 203d 2022 7072 656c 7564 652f 5341 UN = \"prelude/SA\n-000001a0: 5453 2f75 6e73 6166 652e 7361 7473 220a TS/unsafe.sats\".\n-000001b0: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-000001c0: 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 6c6f *** *).//.#stalo\n-000001d0: 6164 2022 2e2f 2e2e 2f62 6173 6963 735f ad \"./../basics_\n-000001e0: 7079 2e73 6174 7322 0a2f 2f0a 2373 7461 py.sats\".//.#sta\n-000001f0: 6c6f 6164 2022 2e2f 2e2e 2f53 4154 532f load \"./../SATS/\n-00000200: 696e 7465 6765 722e 7361 7473 220a 2f2f integer.sats\".//\n-00000210: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000220: 2a20 2a29 0a2f 2f0a 2373 7461 6c6f 6164 * *).//.#staload\n-00000230: 2022 2e2f 2e2e 2f53 4154 532f 5059 6c69 \"./../SATS/PYli\n-00000240: 7374 2e73 6174 7322 0a23 7374 616c 6f61 st.sats\".#staloa\n-00000250: 6420 222e 2f2e 2e2f 5341 5453 2f69 6e74 d \"./../SATS/int\n-00000260: 7261 6e67 652e 7361 7473 220a 2f2f 0a28 range.sats\".//.(\n-00000270: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000280: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 2022 *).//.#staload \"\n-00000290: 2e2f 2e2e 2f53 4154 532f 6d61 7472 6978 ./../SATS/matrix\n-000002a0: 7265 662e 7361 7473 220a 2f2f 0a28 2a20 ref.sats\".//.(* \n-000002b0: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-000002c0: 0a2f 2f0a 2369 6e63 6c75 6465 2022 7b24 .//.#include \"{$\n-000002d0: 4c49 4241 5453 4343 7d2f 4441 5453 2f6d LIBATSCC}/DATS/m\n-000002e0: 6174 7269 7872 6566 2e64 6174 7322 0a2f atrixref.dats\"./\n-000002f0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-00000300: 2a2a 202a 290a 2f2f 0a28 2a0a 6173 7375 ** *).//.(*.assu\n-00000310: 6d65 0a6d 6174 7269 7872 6566 5f76 7430 me.matrixref_vt0\n-00000320: 7970 655f 7479 7065 2861 2c20 6d2c 206e ype_type(a, m, n\n-00000330: 2920 3d20 5059 6c69 7374 2861 290a 2a29 ) = PYlist(a).*)\n-00000340: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000350: 2a2a 2a2a 202a 290a 257b 5e0a 2323 2323 **** *).%{^.####\n-00000360: 2323 0a64 6566 2061 7473 3270 7970 7265 ##.def ats2pypre\n-00000370: 5f6d 6174 7269 7872 6566 5f6d 616b 655f _matrixref_make_\n-00000380: 656c 7428 6d2c 206e 2c20 7830 293a 0a20 elt(m, n, x0):. \n-00000390: 204d 203d 205b 5d0a 2020 6930 203d 2030 M = []. i0 = 0\n-000003a0: 0a20 206d 6e20 3d20 6d20 2a20 6e0a 2020 . mn = m * n. \n-000003b0: 7768 696c 6520 2869 3020 3c20 6d6e 293a while (i0 < mn):\n-000003c0: 2069 3020 3d20 6930 202b 2031 3b20 4d2e i0 = i0 + 1; M.\n-000003d0: 6170 7065 6e64 2878 3029 0a20 2072 6574 append(x0). ret\n-000003e0: 7572 6e20 4d0a 2323 2323 2323 0a25 7d20 urn M.######.%} \n-000003f0: 2f2f 2065 6e64 206f 6620 5b25 7b5e 5d0a // end of [%{^].\n-00000400: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000410: 2a20 2a29 0a0a 696d 706c 656d 656e 740a * *)..implement.\n-00000420: 6d61 7472 6978 7265 665f 6765 745f 6174 matrixref_get_at\n-00000430: 0a20 207b 617d 2841 2c20 692c 206e 2c20 . {a}(A, i, n, \n-00000440: 6a29 203d 206c 6574 0a20 2076 616c 2041 j) = let. val A\n-00000450: 203d 2024 554e 2e63 6173 747b 5059 6c69 = $UN.cast{PYli\n-00000460: 7374 2861 297d 2841 2920 696e 2050 596c st(a)}(A) in PYl\n-00000470: 6973 745f 6765 745f 6174 2841 2c20 692a ist_get_at(A, i*\n-00000480: 6e2b 6a29 0a65 6e64 202f 2f20 656e 6420 n+j).end // end \n-00000490: 6f66 205b 6d61 7472 6978 7265 665f 6765 of [matrixref_ge\n-000004a0: 745f 6174 5d0a 0a28 2a20 2a2a 2a2a 2a2a t_at]..(* ******\n-000004b0: 202a 2a2a 2a2a 2a20 2a29 0a0a 696d 706c ****** *)..impl\n-000004c0: 656d 656e 740a 6d61 7472 6978 7265 665f ement.matrixref_\n-000004d0: 7365 745f 6174 0a20 207b 617d 2841 2c20 set_at. {a}(A, \n-000004e0: 692c 206e 2c20 6a2c 2078 2920 3d20 6c65 i, n, j, x) = le\n-000004f0: 740a 2020 7661 6c20 4120 3d20 2455 4e2e t. val A = $UN.\n-00000500: 6361 7374 7b50 596c 6973 7428 6129 7d28 cast{PYlist(a)}(\n-00000510: 4129 2069 6e20 5059 6c69 7374 5f73 6574 A) in PYlist_set\n-00000520: 5f61 7428 412c 2069 2a6e 2b6a 2c20 7829 _at(A, i*n+j, x)\n-00000530: 0a65 6e64 202f 2f20 656e 6420 6f66 205b .end // end of [\n-00000540: 6d61 7472 6978 7265 665f 7365 745f 6174 matrixref_set_at\n-00000550: 5d0a 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a ]..(* ****** ***\n-00000560: 2a2a 2a20 2a29 0a0a 257b 5e0a 2323 2323 *** *)..%{^.####\n-00000570: 2323 0a64 6566 2061 7473 3270 7970 7265 ##.def ats2pypre\n-00000580: 5f6d 7472 7873 7a72 6566 5f6d 616b 655f _mtrxszref_make_\n-00000590: 6d61 7472 6978 7265 6628 4d2c 206d 2c20 matrixref(M, m, \n-000005a0: 6e29 3a0a 2020 7265 7475 726e 207b 2027 n):. return { '\n-000005b0: 6d61 7472 6978 2720 3a20 4d2c 2027 6e72 matrix' : M, 'nr\n-000005c0: 6f77 2720 3a20 6d2c 2027 6e63 6f6c 2720 ow' : m, 'ncol' \n-000005d0: 3a20 6e20 7d0a 2323 2323 2323 0a64 6566 : n }.######.def\n-000005e0: 2061 7473 3270 7970 7265 5f6d 7472 7873 ats2pypre_mtrxs\n-000005f0: 7a72 6566 5f67 6574 5f6e 726f 7728 4d53 zref_get_nrow(MS\n-00000600: 5a29 3a20 7265 7475 726e 204d 535a 5b27 Z): return MSZ['\n-00000610: 6e72 6f77 275d 0a64 6566 2061 7473 3270 nrow'].def ats2p\n-00000620: 7970 7265 5f6d 7472 7873 7a72 6566 5f67 ypre_mtrxszref_g\n-00000630: 6574 5f6e 636f 6c28 4d53 5a29 3a20 7265 et_ncol(MSZ): re\n-00000640: 7475 726e 204d 535a 5b27 6e63 6f6c 275d turn MSZ['ncol']\n-00000650: 0a23 2323 2323 230a 6465 6620 6174 7332 .######.def ats2\n-00000660: 7079 7072 655f 6d74 7278 737a 7265 665f pypre_mtrxszref_\n-00000670: 6765 745f 6174 284d 535a 2c20 692c 206a get_at(MSZ, i, j\n-00000680: 293a 0a20 206e 726f 7720 3d20 4d53 5a5b ):. nrow = MSZ[\n-00000690: 276e 726f 7727 5d0a 2020 6e63 6f6c 203d 'nrow']. ncol =\n-000006a0: 204d 535a 5b27 6e63 6f6c 275d 0a20 2069 MSZ['ncol']. i\n-000006b0: 6620 2869 203c 2030 293a 2072 6169 7365 f (i < 0): raise\n-000006c0: 2049 6e64 6578 4572 726f 7228 276d 7472 IndexError('mtr\n-000006d0: 7873 7a72 6566 5f67 6574 5f61 7427 290a xszref_get_at').\n-000006e0: 2020 6966 2028 6a20 3c20 3029 3a20 7261 if (j < 0): ra\n-000006f0: 6973 6520 496e 6465 7845 7272 6f72 2827 ise IndexError('\n-00000700: 6d74 7278 737a 7265 665f 6765 745f 6174 mtrxszref_get_at\n-00000710: 2729 0a20 2069 6620 2869 203e 3d20 6e72 '). if (i >= nr\n-00000720: 6f77 293a 2072 6169 7365 2049 6e64 6578 ow): raise Index\n-00000730: 4572 726f 7228 276d 7472 7873 7a72 6566 Error('mtrxszref\n-00000740: 5f67 6574 5f61 7427 290a 2020 6966 2028 _get_at'). if (\n-00000750: 6a20 3e3d 206e 636f 6c29 3a20 7261 6973 j >= ncol): rais\n-00000760: 6520 496e 6465 7845 7272 6f72 2827 6d74 e IndexError('mt\n-00000770: 7278 737a 7265 665f 6765 745f 6174 2729 rxszref_get_at')\n-00000780: 0a20 2072 6574 7572 6e20 4d53 5a5b 276d . return MSZ['m\n-00000790: 6174 7269 7827 5d5b 692a 6e63 6f6c 2b6a atrix'][i*ncol+j\n-000007a0: 5d0a 2323 2323 2323 0a64 6566 2061 7473 ].######.def ats\n-000007b0: 3270 7970 7265 5f6d 7472 7873 7a72 6566 2pypre_mtrxszref\n-000007c0: 5f73 6574 5f61 7428 4d53 5a2c 2069 2c20 _set_at(MSZ, i, \n-000007d0: 6a2c 2078 3029 3a0a 2020 6e72 6f77 203d j, x0):. nrow =\n-000007e0: 204d 535a 5b27 6e72 6f77 275d 0a20 206e MSZ['nrow']. n\n-000007f0: 636f 6c20 3d20 4d53 5a5b 276e 636f 6c27 col = MSZ['ncol'\n-00000800: 5d0a 2020 6966 2028 6920 3c20 3029 3a20 ]. if (i < 0): \n-00000810: 7261 6973 6520 496e 6465 7845 7272 6f72 raise IndexError\n-00000820: 2827 6d74 7278 737a 7265 665f 7365 745f ('mtrxszref_set_\n-00000830: 6174 2729 0a20 2069 6620 286a 203c 2030 at'). if (j < 0\n-00000840: 293a 2072 6169 7365 2049 6e64 6578 4572 ): raise IndexEr\n-00000850: 726f 7228 276d 7472 7873 7a72 6566 5f73 ror('mtrxszref_s\n-00000860: 6574 5f61 7427 290a 2020 6966 2028 6920 et_at'). if (i \n-00000870: 3e3d 206e 726f 7729 3a20 7261 6973 6520 >= nrow): raise \n-00000880: 496e 6465 7845 7272 6f72 2827 6d74 7278 IndexError('mtrx\n-00000890: 737a 7265 665f 7365 745f 6174 2729 0a20 szref_set_at'). \n-000008a0: 2069 6620 286a 203e 3d20 6e63 6f6c 293a if (j >= ncol):\n-000008b0: 2072 6169 7365 2049 6e64 6578 4572 726f raise IndexErro\n-000008c0: 7228 276d 7472 7873 7a72 6566 5f73 6574 r('mtrxszref_set\n-000008d0: 5f61 7427 290a 2020 4d53 5a5b 276d 6174 _at'). MSZ['mat\n-000008e0: 7269 7827 5d5b 692a 6e63 6f6c 2b6a 5d20 rix'][i*ncol+j] \n-000008f0: 3d20 7830 3b20 7265 7475 726e 235f 766f = x0; return#_vo\n-00000900: 6964 0a23 2323 2323 230a 257d 202f 2f20 id.######.%} // \n-00000910: 656e 6420 6f66 205b 257b 5e5d 0a0a 282a end of [%{^]..(*\n-00000920: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000930: 290a 0a28 2a20 656e 6420 6f66 205b 6d61 )..(* end of [ma\n-00000940: 7472 6978 7265 662e 6461 7473 5d20 2a29 trixref.dats] *)\n-00000950: 0a .\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/option.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/option.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,44 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D\n-00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(*\n-00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014-\n-00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo\n-000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names\n-000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_\n-000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX \"a\n-000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_\".#defi\n-000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR\n-000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX \"_ats2pypre\n-00000100: 5f6f 7074 696f 6e5f 220a 2f2f 0a28 2a20 _option_\".//.(* \n-00000110: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000120: 0a2f 2f0a 2364 6566 696e 650a 4c49 4241 .//.#define.LIBA\n-00000130: 5453 4343 5f74 6172 6765 746c 6f63 0a22 TSCC_targetloc.\"\n-00000140: 2450 4154 5348 4f4d 455c 0a2f 636f 6e74 $PATSHOME\\./cont\n-00000150: 7269 622f 6c69 6261 7473 6363 2f41 5453 rib/libatscc/ATS\n-00000160: 322d 302e 332e 3222 0a2f 2f0a 282a 202a 2-0.3.2\".//.(* *\n-00000170: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000180: 2f2f 0a23 7374 616c 6f61 640a 554e 203d //.#staload.UN =\n-00000190: 2022 7072 656c 7564 652f 5341 5453 2f75 \"prelude/SATS/u\n-000001a0: 6e73 6166 652e 7361 7473 220a 2f2f 0a28 nsafe.sats\".//.(\n-000001b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-000001c0: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 2022 *).//.#staload \"\n-000001d0: 2e2f 2e2e 2f53 4154 532f 626f 6f6c 2e73 ./../SATS/bool.s\n-000001e0: 6174 7322 0a23 7374 616c 6f61 6420 222e ats\".#staload \".\n-000001f0: 2f2e 2e2f 5341 5453 2f69 6e74 6567 6572 /../SATS/integer\n-00000200: 2e73 6174 7322 0a2f 2f0a 282a 202a 2a2a .sats\".//.(* ***\n-00000210: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-00000220: 0a23 7374 616c 6f61 6420 222e 2f2e 2e2f .#staload \"./../\n-00000230: 5341 5453 2f6f 7074 696f 6e2e 7361 7473 SATS/option.sats\n-00000240: 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a \".//.(* ****** *\n-00000250: 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 6e63 ***** *).//.#inc\n-00000260: 6c75 6465 2022 7b24 4c49 4241 5453 4343 lude \"{$LIBATSCC\n-00000270: 7d2f 4441 5453 2f6f 7074 696f 6e2e 6461 }/DATS/option.da\n-00000280: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts\".//.(* ******\n-00000290: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e\n-000002a0: 6e64 206f 6620 5b6f 7074 696f 6e2e 6461 nd of [option.da\n-000002b0: 7473 5d20 2a29 0a ts] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/qlistref.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/qlistref.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,44 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 2f2f 0a2f 2f20 4858 3a20 6c69 7374 ).//.// HX: list\n-00000060: 2d62 6173 6564 2071 7565 7565 0a2f 2f0a -based queue.//.\n-00000070: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000080: 202a 290a 0a23 6465 6669 6e65 2041 5453 *)..#define ATS\n-00000090: 5f44 594e 4c4f 4144 464c 4147 2030 0a0a _DYNLOADFLAG 0..\n-000000a0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-000000b0: 202a 290a 2f2f 0a2f 2f20 4858 2d32 3031 *).//.// HX-201\n-000000c0: 342d 3038 3a0a 2f2f 2070 7265 6669 7820 4-08:.// prefix \n-000000d0: 666f 7220 6578 7465 726e 616c 206e 616d for external nam\n-000000e0: 6573 0a2f 2f0a 2364 6566 696e 650a 4154 es.//.#define.AT\n-000000f0: 535f 5041 434b 4e41 4d45 0a22 4154 5343 S_PACKNAME.\"ATSC\n-00000100: 4332 5059 332e 716c 6973 7472 6566 220a C2PY3.qlistref\".\n-00000110: 2364 6566 696e 650a 4154 535f 4558 5445 #define.ATS_EXTE\n-00000120: 524e 5f50 5245 4649 5820 2261 7473 3270 RN_PREFIX \"ats2p\n-00000130: 7970 7265 5f22 0a23 6465 6669 6e65 0a41 ypre_\".#define.A\n-00000140: 5453 5f53 5441 5449 435f 5052 4546 4958 TS_STATIC_PREFIX\n-00000150: 2022 5f61 7473 3270 7970 7265 5f71 6c69 \"_ats2pypre_qli\n-00000160: 7374 7265 665f 220a 2f2f 0a28 2a20 2a2a stref_\".//.(* **\n-00000170: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./\n-00000180: 2f0a 2364 6566 696e 650a 4c49 4241 5453 /.#define.LIBATS\n-00000190: 4343 5f74 6172 6765 746c 6f63 0a22 2450 CC_targetloc.\"$P\n-000001a0: 4154 5348 4f4d 455c 0a2f 636f 6e74 7269 ATSHOME\\./contri\n-000001b0: 622f 6c69 6261 7473 6363 2f41 5453 322d b/libatscc/ATS2-\n-000001c0: 302e 332e 3222 0a2f 2f0a 282a 202a 2a2a 0.3.2\".//.(* ***\n-000001d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000001e0: 0a23 7374 616c 6f61 640a 554e 203d 2022 .#staload.UN = \"\n-000001f0: 7072 656c 7564 652f 5341 5453 2f75 6e73 prelude/SATS/uns\n-00000200: 6166 652e 7361 7473 220a 2f2f 0a28 2a20 afe.sats\".//.(* \n-00000210: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000220: 0a2f 2f0a 2369 6e63 6c75 6465 2022 2e2f .//.#include \"./\n-00000230: 2e2e 2f73 7461 6c6f 6164 616c 6c2e 6861 ../staloadall.ha\n-00000240: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts\".//.(* ******\n-00000250: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 ****** *).//.#i\n-00000260: 6e63 6c75 6465 2022 7b24 4c49 4241 5453 nclude \"{$LIBATS\n-00000270: 4343 7d2f 4441 5453 2f71 6c69 7374 7265 CC}/DATS/qlistre\n-00000280: 662e 6461 7473 220a 2f2f 0a28 2a20 2a2a f.dats\".//.(* **\n-00000290: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-000002a0: 282a 2065 6e64 206f 6620 5b71 6c69 7374 (* end of [qlist\n-000002b0: 7265 662e 6461 7473 5d20 2a29 0a ref.dats] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/reference.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/reference.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,77 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D\n-00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(*\n-00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014-\n-00000090: 3038 3a0a 2f2f 2070 7265 6669 7820 666f 08:.// prefix fo\n-000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names\n-000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_\n-000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX \"a\n-000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_\".#defi\n-000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR\n-000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX \"_ats2pypre\n-00000100: 5f72 6566 6572 656e 6365 5f22 0a2f 2f0a _reference_\".//.\n-00000110: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000120: 202a 290a 2f2f 0a23 7374 616c 6f61 640a *).//.#staload.\n-00000130: 554e 203d 2022 7072 656c 7564 652f 5341 UN = \"prelude/SA\n-00000140: 5453 2f75 6e73 6166 652e 7361 7473 220a TS/unsafe.sats\".\n-00000150: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-00000160: 2a2a 2a20 2a29 0a2f 2f0a 2373 7461 6c6f *** *).//.#stalo\n-00000170: 6164 2022 2e2f 2e2e 2f62 6173 6963 735f ad \"./../basics_\n-00000180: 7079 2e73 6174 7322 0a23 7374 616c 6f61 py.sats\".#staloa\n-00000190: 6420 222e 2f2e 2e2f 5341 5453 2f50 596c d \"./../SATS/PYl\n-000001a0: 6973 742e 7361 7473 220a 2373 7461 6c6f ist.sats\".#stalo\n-000001b0: 6164 2022 2e2f 2e2e 2f53 4154 532f 7265 ad \"./../SATS/re\n-000001c0: 6665 7265 6e63 652e 7361 7473 220a 2f2f ference.sats\".//\n-000001d0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-000001e0: 2a20 2a29 0a2f 2f0a 282a 0a61 7373 756d * *).//.(*.assum\n-000001f0: 650a 7265 665f 7674 3079 7065 5f74 7970 e.ref_vt0ype_typ\n-00000200: 6528 613a 7440 7970 6529 203d 2050 596c e(a:t@ype) = PYl\n-00000210: 6973 7428 6129 0a2a 290a 2f2f 0a28 2a20 ist(a).*).//.(* \n-00000220: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000230: 0a28 2a0a 2f2f 0a69 6d70 6c65 6d65 6e74 .(*.//.implement\n-00000240: 0a72 6566 7b61 7d28 7829 203d 2024 554e .ref{a}(x) = $UN\n-00000250: 2e63 6173 747b 7265 6628 6129 7d28 5059 .cast{ref(a)}(PY\n-00000260: 6c69 7374 5f73 696e 6728 7829 290a 696d list_sing(x)).im\n-00000270: 706c 656d 656e 740a 7265 665f 6d61 6b65 plement.ref_make\n-00000280: 5f65 6c74 7b61 7d28 7829 203d 2024 554e _elt{a}(x) = $UN\n-00000290: 2e63 6173 747b 7265 6628 6129 7d28 5059 .cast{ref(a)}(PY\n-000002a0: 6c69 7374 5f73 696e 6728 7829 290a 2f2f list_sing(x)).//\n-000002b0: 0a69 6d70 6c65 6d65 6e74 0a72 6566 5f67 .implement.ref_g\n-000002c0: 6574 5f65 6c74 7b61 7d28 7229 203d 206c et_elt{a}(r) = l\n-000002d0: 6574 0a20 2076 616c 2072 203d 2024 554e et. val r = $UN\n-000002e0: 2e63 6173 747b 5059 6c69 7374 2861 297d .cast{PYlist(a)}\n-000002f0: 2872 2920 696e 2050 596c 6973 745f 6765 (r) in PYlist_ge\n-00000300: 745f 6174 2872 2c20 3029 0a65 6e64 202f t_at(r, 0).end /\n-00000310: 2f20 656e 6420 6f66 205b 7265 665f 6765 / end of [ref_ge\n-00000320: 745f 656c 745d 0a2f 2f0a 696d 706c 656d t_elt].//.implem\n-00000330: 656e 740a 7265 665f 7365 745f 656c 747b ent.ref_set_elt{\n-00000340: 617d 2872 2c20 7830 2920 3d20 6c65 740a a}(r, x0) = let.\n-00000350: 2020 7661 6c20 7220 3d20 2455 4e2e 6361 val r = $UN.ca\n-00000360: 7374 7b50 596c 6973 7428 6129 7d28 7229 st{PYlist(a)}(r)\n-00000370: 2069 6e20 5059 6c69 7374 5f73 6574 5f61 in PYlist_set_a\n-00000380: 7428 722c 2030 2c20 7830 290a 656e 6420 t(r, 0, x0).end \n-00000390: 2f2f 2065 6e64 206f 6620 5b72 6566 5f73 // end of [ref_s\n-000003a0: 6574 5f65 6c74 5d0a 2f2f 0a69 6d70 6c65 et_elt].//.imple\n-000003b0: 6d65 6e74 0a72 6566 5f65 7863 685f 656c ment.ref_exch_el\n-000003c0: 747b 617d 2872 2c20 7830 2920 3d20 6c65 t{a}(r, x0) = le\n-000003d0: 740a 2020 7661 6c20 7220 3d0a 2020 2020 t. val r =. \n-000003e0: 2455 4e2e 6361 7374 7b50 596c 6973 7428 $UN.cast{PYlist(\n-000003f0: 613f 297d 2872 290a 2020 2f2f 2065 6e64 a?)}(r). // end\n-00000400: 206f 6620 5b76 616c 5d0a 2020 7661 6c20 of [val]. val \n-00000410: 7831 203d 2050 596c 6973 745f 6765 745f x1 = PYlist_get_\n-00000420: 6174 2872 2c20 3029 0a69 6e0a 2020 5059 at(r, 0).in. PY\n-00000430: 6c69 7374 5f73 6574 5f61 7428 722c 2030 list_set_at(r, 0\n-00000440: 2c20 2455 4e2e 6361 7374 7677 7470 307b , $UN.castvwtp0{\n-00000450: 613f 7d28 7830 2929 3b20 2455 4e2e 6361 a?}(x0)); $UN.ca\n-00000460: 7374 7677 7470 307b 617d 2878 3129 0a65 stvwtp0{a}(x1).e\n-00000470: 6e64 202f 2f20 656e 6420 6f66 205b 7265 nd // end of [re\n-00000480: 665f 6578 6368 5f65 6c74 5d0a 2f2f 0a2a f_exch_elt].//.*\n-00000490: 290a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ).(* ****** ****\n-000004a0: 2a2a 202a 290a 0a28 2a20 656e 6420 6f66 ** *)..(* end of\n-000004b0: 205b 7265 6665 7265 6e63 652e 6461 7473 [reference.dats\n-000004c0: 5d20 2a29 0a ] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/slistref.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/slistref.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,44 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 2f2f 0a2f 2f20 4858 3a20 6c69 7374 ).//.// HX: list\n-00000060: 2d62 6173 6564 2073 7461 636b 0a2f 2f0a -based stack.//.\n-00000070: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000080: 202a 290a 0a23 6465 6669 6e65 2041 5453 *)..#define ATS\n-00000090: 5f44 594e 4c4f 4144 464c 4147 2030 0a0a _DYNLOADFLAG 0..\n-000000a0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-000000b0: 202a 290a 2f2f 0a2f 2f20 4858 2d32 3031 *).//.// HX-201\n-000000c0: 342d 3038 3a0a 2f2f 2070 7265 6669 7820 4-08:.// prefix \n-000000d0: 666f 7220 6578 7465 726e 616c 206e 616d for external nam\n-000000e0: 6573 0a2f 2f0a 2364 6566 696e 650a 4154 es.//.#define.AT\n-000000f0: 535f 5041 434b 4e41 4d45 0a22 4154 5343 S_PACKNAME.\"ATSC\n-00000100: 4332 5059 332e 736c 6973 7472 6566 220a C2PY3.slistref\".\n-00000110: 2364 6566 696e 650a 4154 535f 4558 5445 #define.ATS_EXTE\n-00000120: 524e 5f50 5245 4649 5820 2261 7473 3270 RN_PREFIX \"ats2p\n-00000130: 7970 7265 5f22 0a23 6465 6669 6e65 0a41 ypre_\".#define.A\n-00000140: 5453 5f53 5441 5449 435f 5052 4546 4958 TS_STATIC_PREFIX\n-00000150: 2022 5f61 7473 3270 7970 7265 5f73 6c69 \"_ats2pypre_sli\n-00000160: 7374 7265 665f 220a 2f2f 0a28 2a20 2a2a stref_\".//.(* **\n-00000170: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./\n-00000180: 2f0a 2364 6566 696e 650a 4c49 4241 5453 /.#define.LIBATS\n-00000190: 4343 5f74 6172 6765 746c 6f63 0a22 2450 CC_targetloc.\"$P\n-000001a0: 4154 5348 4f4d 455c 0a2f 636f 6e74 7269 ATSHOME\\./contri\n-000001b0: 622f 6c69 6261 7473 6363 2f41 5453 322d b/libatscc/ATS2-\n-000001c0: 302e 332e 3222 0a2f 2f0a 282a 202a 2a2a 0.3.2\".//.(* ***\n-000001d0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000001e0: 0a23 7374 616c 6f61 640a 554e 203d 2022 .#staload.UN = \"\n-000001f0: 7072 656c 7564 652f 5341 5453 2f75 6e73 prelude/SATS/uns\n-00000200: 6166 652e 7361 7473 220a 2f2f 0a28 2a20 afe.sats\".//.(* \n-00000210: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000220: 0a2f 2f0a 2369 6e63 6c75 6465 2022 2e2f .//.#include \"./\n-00000230: 2e2e 2f73 7461 6c6f 6164 616c 6c2e 6861 ../staloadall.ha\n-00000240: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts\".//.(* ******\n-00000250: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2369 ****** *).//.#i\n-00000260: 6e63 6c75 6465 2022 7b24 4c49 4241 5453 nclude \"{$LIBATS\n-00000270: 4343 7d2f 4441 5453 2f73 6c69 7374 7265 CC}/DATS/slistre\n-00000280: 662e 6461 7473 220a 2f2f 0a28 2a20 2a2a f.dats\".//.(* **\n-00000290: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-000002a0: 282a 2065 6e64 206f 6620 5b73 6c69 7374 (* end of [slist\n-000002b0: 7265 662e 6461 7473 5d20 2a29 0a ref.dats] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,55 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D\n-00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(*\n-00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014-\n-00000090: 3131 3a0a 2f2f 2070 7265 6669 7820 666f 11:.// prefix fo\n-000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names\n-000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_\n-000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX \"a\n-000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_\".#defi\n-000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR\n-000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX \"_ats2pypre\n-00000100: 5f73 7472 6561 6d5f 220a 2f2f 0a28 2a20 _stream_\".//.(* \n-00000110: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000120: 0a2f 2f0a 2364 6566 696e 650a 4c49 4241 .//.#define.LIBA\n-00000130: 5453 4343 5f74 6172 6765 746c 6f63 0a22 TSCC_targetloc.\"\n-00000140: 2450 4154 5348 4f4d 455c 0a2f 636f 6e74 $PATSHOME\\./cont\n-00000150: 7269 622f 6c69 6261 7473 6363 2f41 5453 rib/libatscc/ATS\n-00000160: 322d 302e 332e 3222 0a2f 2f0a 282a 202a 2-0.3.2\".//.(* *\n-00000170: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-00000180: 2f2f 0a23 7374 616c 6f61 640a 554e 203d //.#staload.UN =\n-00000190: 2022 7072 656c 7564 652f 5341 5453 2f75 \"prelude/SATS/u\n-000001a0: 6e73 6166 652e 7361 7473 220a 2f2f 0a28 nsafe.sats\".//.(\n-000001b0: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-000001c0: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 2022 *).//.#staload \"\n-000001d0: 2e2f 2e2e 2f62 6173 6963 735f 7079 2e73 ./../basics_py.s\n-000001e0: 6174 7322 0a2f 2f0a 282a 202a 2a2a 2a2a ats\".//.(* *****\n-000001f0: 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 * ****** *).//.#\n-00000200: 7374 616c 6f61 6420 222e 2f2e 2e2f 5341 staload \"./../SA\n-00000210: 5453 2f69 6e74 6567 6572 2e73 6174 7322 TS/integer.sats\"\n-00000220: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000230: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal\n-00000240: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f70 oad \"./../SATS/p\n-00000250: 7269 6e74 2e73 6174 7322 0a2f 2f0a 282a rint.sats\".//.(*\n-00000260: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000270: 290a 2f2f 0a23 7374 616c 6f61 6420 222e ).//.#staload \".\n-00000280: 2f2e 2e2f 5341 5453 2f6c 6973 742e 7361 /../SATS/list.sa\n-00000290: 7473 220a 2373 7461 6c6f 6164 2022 2e2f ts\".#staload \"./\n-000002a0: 2e2e 2f53 4154 532f 7265 6665 7265 6e63 ../SATS/referenc\n-000002b0: 652e 7361 7473 220a 2f2f 0a28 2a20 2a2a e.sats\".//.(* **\n-000002c0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-000002d0: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload \"./../S\n-000002e0: 4154 532f 7374 7265 616d 2e73 6174 7322 ATS/stream.sats\"\n-000002f0: 0a0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a ..(* ****** ****\n-00000300: 2a2a 202a 290a 2f2f 0a23 696e 636c 7564 ** *).//.#includ\n-00000310: 6520 227b 244c 4942 4154 5343 437d 2f44 e \"{$LIBATSCC}/D\n-00000320: 4154 532f 7374 7265 616d 2e64 6174 7322 ATS/stream.dats\"\n-00000330: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-00000340: 2a2a 2a2a 202a 290a 0a28 2a20 656e 6420 **** *)..(* end \n-00000350: 6f66 205b 7374 7265 616d 2e64 6174 735d of [stream.dats]\n-00000360: 202a 290a *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream_vt.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/stream_vt.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,55 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e0a 2a29 0a0a 282a to Python.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 0a23 6465 6669 6e65 2041 5453 5f44 )..#define ATS_D\n-00000060: 594e 4c4f 4144 464c 4147 2030 0a0a 282a YNLOADFLAG 0..(*\n-00000070: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000080: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014-\n-00000090: 3131 3a0a 2f2f 2070 7265 6669 7820 666f 11:.// prefix fo\n-000000a0: 7220 6578 7465 726e 616c 206e 616d 6573 r external names\n-000000b0: 0a2f 2f0a 2364 6566 696e 650a 4154 535f .//.#define.ATS_\n-000000c0: 4558 5445 524e 5f50 5245 4649 5820 2261 EXTERN_PREFIX \"a\n-000000d0: 7473 3270 7970 7265 5f22 0a23 6465 6669 ts2pypre_\".#defi\n-000000e0: 6e65 0a41 5453 5f53 5441 5449 435f 5052 ne.ATS_STATIC_PR\n-000000f0: 4546 4958 2022 5f61 7473 3270 7970 7265 EFIX \"_ats2pypre\n-00000100: 5f73 7472 6561 6d5f 7674 5f22 0a2f 2f0a _stream_vt_\".//.\n-00000110: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000120: 202a 290a 2f2f 0a23 6465 6669 6e65 0a4c *).//.#define.L\n-00000130: 4942 4154 5343 435f 7461 7267 6574 6c6f IBATSCC_targetlo\n-00000140: 630a 2224 5041 5453 484f 4d45 5c0a 2f63 c.\"$PATSHOME\\./c\n-00000150: 6f6e 7472 6962 2f6c 6962 6174 7363 632f ontrib/libatscc/\n-00000160: 4154 5332 2d30 2e33 2e32 220a 2f2f 0a28 ATS2-0.3.2\".//.(\n-00000170: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000180: 2a29 0a2f 2f0a 2373 7461 6c6f 6164 0a55 *).//.#staload.U\n-00000190: 4e20 3d20 2270 7265 6c75 6465 2f53 4154 N = \"prelude/SAT\n-000001a0: 532f 756e 7361 6665 2e73 6174 7322 0a2f S/unsafe.sats\"./\n-000001b0: 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a /.(* ****** ****\n-000001c0: 2a2a 202a 290a 2f2f 0a23 7374 616c 6f61 ** *).//.#staloa\n-000001d0: 6420 222e 2f2e 2e2f 6261 7369 6373 5f70 d \"./../basics_p\n-000001e0: 792e 7361 7473 220a 2f2f 0a28 2a20 2a2a y.sats\".//.(* **\n-000001f0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f **** ****** *)./\n-00000200: 2f0a 2373 7461 6c6f 6164 2022 2e2f 2e2e /.#staload \"./..\n-00000210: 2f53 4154 532f 696e 7465 6765 722e 7361 /SATS/integer.sa\n-00000220: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts\".//.(* ******\n-00000230: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s\n-00000240: 7461 6c6f 6164 2022 2e2f 2e2e 2f53 4154 taload \"./../SAT\n-00000250: 532f 7072 696e 742e 7361 7473 220a 2f2f S/print.sats\".//\n-00000260: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000270: 2a20 2a29 0a2f 2f0a 2373 7461 6c6f 6164 * *).//.#staload\n-00000280: 2022 2e2f 2e2e 2f53 4154 532f 6c69 7374 \"./../SATS/list\n-00000290: 2e73 6174 7322 0a23 7374 616c 6f61 6420 .sats\".#staload \n-000002a0: 222e 2f2e 2e2f 5341 5453 2f6c 6973 745f \"./../SATS/list_\n-000002b0: 7674 2e73 6174 7322 0a2f 2f0a 282a 202a vt.sats\".//.(* *\n-000002c0: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a ***** ****** *).\n-000002d0: 0a23 7374 616c 6f61 6420 222e 2f2e 2e2f .#staload \"./../\n-000002e0: 5341 5453 2f73 7472 6561 6d5f 7674 2e73 SATS/stream_vt.s\n-000002f0: 6174 7322 0a0a 282a 202a 2a2a 2a2a 2a20 ats\"..(* ****** \n-00000300: 2a2a 2a2a 2a2a 202a 290a 2f2f 0a23 696e ****** *).//.#in\n-00000310: 636c 7564 6520 227b 244c 4942 4154 5343 clude \"{$LIBATSC\n-00000320: 437d 2f44 4154 532f 7374 7265 616d 5f76 C}/DATS/stream_v\n-00000330: 742e 6461 7473 220a 2f2f 0a28 2a20 2a2a t.dats\".//.(* **\n-00000340: 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 0a0a **** ****** *)..\n-00000350: 282a 2065 6e64 206f 6620 5b73 7472 6561 (* end of [strea\n-00000360: 6d5f 7674 2e64 6174 735d 202a 290a m_vt.dats] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/string.dats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/DATS/string.dats", "has_internal_linenos": true, "unified_diff": "@@ -1,62 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 6e33 0a2a 290a 0a28 to Python3.*)..(\n-00000040: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000050: 2a29 0a0a 2364 6566 696e 6520 4154 535f *)..#define ATS_\n-00000060: 4459 4e4c 4f41 4446 4c41 4720 300a 0a28 DYNLOADFLAG 0..(\n-00000070: 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 * ****** ****** \n-00000080: 2a29 0a2f 2f0a 2f2f 2048 582d 3230 3136 *).//.// HX-2016\n-00000090: 2d31 313a 0a2f 2f20 7072 6566 6978 2066 -11:.// prefix f\n-000000a0: 6f72 2065 7874 6572 6e61 6c20 6e61 6d65 or external name\n-000000b0: 730a 2f2f 0a23 6465 6669 6e65 0a41 5453 s.//.#define.ATS\n-000000c0: 5f45 5854 4552 4e5f 5052 4546 4958 2022 _EXTERN_PREFIX \"\n-000000d0: 6174 7332 7079 7072 655f 220a 2364 6566 ats2pypre_\".#def\n-000000e0: 696e 650a 4154 535f 5354 4154 4943 5f50 ine.ATS_STATIC_P\n-000000f0: 5245 4649 5820 225f 6174 7332 7079 7072 REFIX \"_ats2pypr\n-00000100: 655f 7374 7269 6e67 5f22 0a2f 2f0a 282a e_string_\".//.(*\n-00000110: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000120: 290a 2f2f 0a23 6465 6669 6e65 0a4c 4942 ).//.#define.LIB\n-00000130: 4154 5343 435f 7461 7267 6574 6c6f 630a ATSCC_targetloc.\n-00000140: 2224 5041 5453 484f 4d45 5c0a 2f63 6f6e \"$PATSHOME\\./con\n-00000150: 7472 6962 2f6c 6962 6174 7363 632f 4154 trib/libatscc/AT\n-00000160: 5332 2d30 2e33 2e32 220a 2f2f 0a28 2a20 S2-0.3.2\".//.(* \n-00000170: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000180: 0a2f 2f0a 2373 7461 6c6f 6164 0a55 4e20 .//.#staload.UN \n-00000190: 3d0a 2270 7265 6c75 6465 2f53 4154 532f =.\"prelude/SATS/\n-000001a0: 756e 7361 6665 2e73 6174 7322 0a2f 2f0a unsafe.sats\".//.\n-000001b0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-000001c0: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload \n-000001d0: 222e 2f2e 2e2f 6261 7369 6373 5f70 792e \"./../basics_py.\n-000001e0: 7361 7473 220a 2f2f 0a28 2a20 2a2a 2a2a sats\".//.(* ****\n-000001f0: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-00000200: 2373 7461 6c6f 6164 2022 2e2f 2e2e 2f53 #staload \"./../S\n-00000210: 4154 532f 696e 7465 6765 722e 7361 7473 ATS/integer.sats\n-00000220: 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a \".//.(* ****** *\n-00000230: 2a2a 2a2a 2a20 2a29 0a0a 2373 7461 6c6f ***** *)..#stalo\n-00000240: 6164 2022 2e2f 2e2e 2f53 4154 532f 7374 ad \"./../SATS/st\n-00000250: 7269 6e67 2e73 6174 7322 0a23 7374 616c ring.sats\".#stal\n-00000260: 6f61 6420 222e 2f2e 2e2f 5341 5453 2f50 oad \"./../SATS/P\n-00000270: 596c 6973 742e 7361 7473 220a 0a28 2a20 Ylist.sats\"..(* \n-00000280: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 2a29 ****** ****** *)\n-00000290: 0a0a 696d 706c 656d 656e 740a 7374 7269 ..implement.stri\n-000002a0: 6e67 5f66 7365 745f 6174 0a20 207b 6e7d ng_fset_at. {n}\n-000002b0: 7b69 7d0a 280a 2020 7374 7230 2c20 6930 {i}.(. str0, i0\n-000002c0: 2c20 6330 0a29 203d 206c 6574 0a2f 2f0a , c0.) = let.//.\n-000002d0: 7661 6c20 6e30 203d 2073 7472 696e 675f val n0 = string_\n-000002e0: 6c65 6e67 7468 2873 7472 3029 0a76 616c length(str0).val\n-000002f0: 2066 3020 3d20 7374 7269 6e67 5f73 7562 f0 = string_sub\n-00000300: 7374 7269 6e67 5f62 6567 5f65 6e64 2873 string_beg_end(s\n-00000310: 7472 302c 2030 2c20 6930 290a 7661 6c20 tr0, 0, i0).val \n-00000320: 7230 203d 2073 7472 696e 675f 7375 6273 r0 = string_subs\n-00000330: 7472 696e 675f 6265 675f 656e 6428 7374 tring_beg_end(st\n-00000340: 7230 2c20 6930 2b31 2c20 6e30 290a 2f2f r0, i0+1, n0).//\n-00000350: 0a69 6e0a 2020 2455 4e2e 6361 7374 7b73 .in. $UN.cast{s\n-00000360: 7472 696e 6728 6e29 7d28 7374 7269 6e67 tring(n)}(string\n-00000370: 5f61 7070 656e 645f 3328 6630 2c20 6330 _append_3(f0, c0\n-00000380: 2c20 7230 2929 0a65 6e64 202f 2f20 656e , r0)).end // en\n-00000390: 6420 6f66 205b 7374 7269 6e67 5f66 7365 d of [string_fse\n-000003a0: 745f 6174 5d0a 0a28 2a20 2a2a 2a2a 2a2a t_at]..(* ******\n-000003b0: 202a 2a2a 2a2a 2a20 2a29 0a0a 282a 2065 ****** *)..(* e\n-000003c0: 6e64 206f 6620 5b73 7472 696e 672e 6461 nd of [string.da\n-000003d0: 7473 5d20 2a29 0a ts] *).\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/Makefile", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/Makefile", "has_internal_linenos": true, "unified_diff": "@@ -1,298 +0,0 @@\n-00000000: 230a 2320 466f 7220 6765 6e65 7261 7469 #.# For generati\n-00000010: 6e67 206c 6962 6174 7363 6332 7079 0a23 ng libatscc2py.#\n-00000020: 0a0a 2323 2323 2323 0a0a 5041 5453 4f50 ..######..PATSOP\n-00000030: 543d 2428 5041 5453 484f 4d45 292f 6269 T=$(PATSHOME)/bi\n-00000040: 6e2f 7061 7473 6f70 740a 4154 5343 4332 n/patsopt.ATSCC2\n-00000050: 5059 3d24 2850 4154 5348 4f4d 4529 2f62 PY=$(PATSHOME)/b\n-00000060: 696e 2f61 7473 6363 3270 7933 0a0a 2323 in/atscc2py3..##\n-00000070: 2323 2323 0a0a 4341 543d 6361 740a 4350 ####..CAT=cat.CP\n-00000080: 463d 6370 202d 660a 524d 463d 726d 202d F=cp -f.RMF=rm -\n-00000090: 660a 5343 5052 3d73 6370 202d 720a 0a23 f.SCPR=scp -r..#\n-000000a0: 2323 2323 230a 230a 616c 6c3a 3a20 3b20 #####.#.all:: ; \n-000000b0: 5c0a 2428 5041 5453 4f50 5429 202d 6420 \\.$(PATSOPT) -d \n-000000c0: 2e2f 4441 5453 2f73 7472 696e 672e 6461 ./DATS/string.da\n-000000d0: 7473 207c 205c 0a24 2841 5453 4343 3250 ts | \\.$(ATSCC2P\n-000000e0: 5929 202d 6f20 2e2f 6f75 7470 7574 2f44 Y) -o ./output/D\n-000000f0: 4154 532f 7374 7269 6e67 5f64 6174 732e ATS/string_dats.\n-00000100: 7079 202d 690a 230a 2323 2323 2323 0a23 py -i.#.######.#\n-00000110: 0a61 6c6c 3a3a 203b 205c 0a24 2850 4154 .all:: ; \\.$(PAT\n-00000120: 534f 5054 2920 2d64 202e 2f44 4154 532f SOPT) -d ./DATS/\n-00000130: 5059 6c69 7374 2e64 6174 7320 7c20 5c0a PYlist.dats | \\.\n-00000140: 2428 4154 5343 4332 5059 2920 2d6f 202e $(ATSCC2PY) -o .\n-00000150: 2f6f 7574 7075 742f 4441 5453 2f50 596c /output/DATS/PYl\n-00000160: 6973 745f 6461 7473 2e70 7920 2d69 0a61 ist_dats.py -i.a\n-00000170: 6c6c 3a3a 203b 205c 0a24 2850 4154 534f ll:: ; \\.$(PATSO\n-00000180: 5054 2920 2d64 202e 2f44 4154 532f 7265 PT) -d ./DATS/re\n-00000190: 6665 7265 6e63 652e 6461 7473 207c 205c ference.dats | \\\n-000001a0: 0a24 2841 5453 4343 3250 5929 202d 6f20 .$(ATSCC2PY) -o \n-000001b0: 2e2f 6f75 7470 7574 2f44 4154 532f 7265 ./output/DATS/re\n-000001c0: 6665 7265 6e63 655f 6461 7473 2e70 7920 ference_dats.py \n-000001d0: 2d69 0a23 0a61 6c6c 3a3a 203b 205c 0a24 -i.#.all:: ; \\.$\n-000001e0: 2850 4154 534f 5054 2920 2d64 202e 2f44 (PATSOPT) -d ./D\n-000001f0: 4154 532f 6c69 7374 2e64 6174 7320 7c20 ATS/list.dats | \n-00000200: 5c0a 2428 4154 5343 4332 5059 2920 2d6f \\.$(ATSCC2PY) -o\n-00000210: 202e 2f6f 7574 7075 742f 4441 5453 2f6c ./output/DATS/l\n-00000220: 6973 745f 6461 7473 2e70 7920 2d69 0a61 ist_dats.py -i.a\n-00000230: 6c6c 3a3a 203b 205c 0a24 2850 4154 534f ll:: ; \\.$(PATSO\n-00000240: 5054 2920 2d64 202e 2f44 4154 532f 6c69 PT) -d ./DATS/li\n-00000250: 7374 5f76 742e 6461 7473 207c 205c 0a24 st_vt.dats | \\.$\n-00000260: 2841 5453 4343 3250 5929 202d 6f20 2e2f (ATSCC2PY) -o ./\n-00000270: 6f75 7470 7574 2f44 4154 532f 6c69 7374 output/DATS/list\n-00000280: 5f76 745f 6461 7473 2e70 7920 2d69 0a23 _vt_dats.py -i.#\n-00000290: 0a61 6c6c 3a3a 203b 205c 0a24 2850 4154 .all:: ; \\.$(PAT\n-000002a0: 534f 5054 2920 2d64 202e 2f44 4154 532f SOPT) -d ./DATS/\n-000002b0: 6f70 7469 6f6e 2e64 6174 7320 7c20 5c0a option.dats | \\.\n-000002c0: 2428 4154 5343 4332 5059 2920 2d6f 202e $(ATSCC2PY) -o .\n-000002d0: 2f6f 7574 7075 742f 4441 5453 2f6f 7074 /output/DATS/opt\n-000002e0: 696f 6e5f 6461 7473 2e70 7920 2d69 0a23 ion_dats.py -i.#\n-000002f0: 0a61 6c6c 3a3a 203b 205c 0a24 2850 4154 .all:: ; \\.$(PAT\n-00000300: 534f 5054 2920 2d64 202e 2f44 4154 532f SOPT) -d ./DATS/\n-00000310: 7374 7265 616d 2e64 6174 7320 7c20 5c0a stream.dats | \\.\n-00000320: 2428 4154 5343 4332 5059 2920 2d6f 202e $(ATSCC2PY) -o .\n-00000330: 2f6f 7574 7075 742f 4441 5453 2f73 7472 /output/DATS/str\n-00000340: 6561 6d5f 6461 7473 2e70 7920 2d69 0a61 eam_dats.py -i.a\n-00000350: 6c6c 3a3a 203b 205c 0a24 2850 4154 534f ll:: ; \\.$(PATSO\n-00000360: 5054 2920 2d64 202e 2f44 4154 532f 7374 PT) -d ./DATS/st\n-00000370: 7265 616d 5f76 742e 6461 7473 207c 205c ream_vt.dats | \\\n-00000380: 0a24 2841 5453 4343 3250 5929 202d 6f20 .$(ATSCC2PY) -o \n-00000390: 2e2f 6f75 7470 7574 2f44 4154 532f 7374 ./output/DATS/st\n-000003a0: 7265 616d 5f76 745f 6461 7473 2e70 7920 ream_vt_dats.py \n-000003b0: 2d69 0a23 0a61 6c6c 3a3a 203b 205c 0a24 -i.#.all:: ; \\.$\n-000003c0: 2850 4154 534f 5054 2920 2d64 202e 2f44 (PATSOPT) -d ./D\n-000003d0: 4154 532f 696e 7472 616e 6765 2e64 6174 ATS/intrange.dat\n-000003e0: 7320 7c20 5c0a 2428 4154 5343 4332 5059 s | \\.$(ATSCC2PY\n-000003f0: 2920 2d6f 202e 2f6f 7574 7075 742f 4441 ) -o ./output/DA\n-00000400: 5453 2f69 6e74 7261 6e67 655f 6461 7473 TS/intrange_dats\n-00000410: 2e70 7920 2d69 0a23 0a61 6c6c 3a3a 203b .py -i.#.all:: ;\n-00000420: 205c 0a24 2850 4154 534f 5054 2920 2d64 \\.$(PATSOPT) -d\n-00000430: 202e 2f44 4154 532f 6172 7261 7972 6566 ./DATS/arrayref\n-00000440: 2e64 6174 7320 7c20 5c0a 2428 4154 5343 .dats | \\.$(ATSC\n-00000450: 4332 5059 2920 2d6f 202e 2f6f 7574 7075 C2PY) -o ./outpu\n-00000460: 742f 4441 5453 2f61 7272 6179 7265 665f t/DATS/arrayref_\n-00000470: 6461 7473 2e70 7920 2d69 0a61 6c6c 3a3a dats.py -i.all::\n-00000480: 203b 205c 0a24 2850 4154 534f 5054 2920 ; \\.$(PATSOPT) \n-00000490: 2d64 202e 2f44 4154 532f 6d61 7472 6978 -d ./DATS/matrix\n-000004a0: 7265 662e 6461 7473 207c 205c 0a24 2841 ref.dats | \\.$(A\n-000004b0: 5453 4343 3250 5929 202d 6f20 2e2f 6f75 TSCC2PY) -o ./ou\n-000004c0: 7470 7574 2f44 4154 532f 6d61 7472 6978 tput/DATS/matrix\n-000004d0: 7265 665f 6461 7473 2e70 7920 2d69 0a23 ref_dats.py -i.#\n-000004e0: 0a23 2323 2323 230a 230a 616c 6c3a 3a20 .######.#.all:: \n-000004f0: 3b20 5c0a 2428 5041 5453 4f50 5429 202d ; \\.$(PATSOPT) -\n-00000500: 6420 2e2f 4441 5453 2f66 756e 6172 7261 d ./DATS/funarra\n-00000510: 792e 6461 7473 207c 205c 0a24 2841 5453 y.dats | \\.$(ATS\n-00000520: 4343 3250 5929 202d 6f20 2e2f 6f75 7470 CC2PY) -o ./outp\n-00000530: 7574 2f44 4154 532f 6675 6e61 7272 6179 ut/DATS/funarray\n-00000540: 5f64 6174 732e 7079 202d 690a 616c 6c3a _dats.py -i.all:\n-00000550: 3a20 3b20 5c0a 2428 5041 5453 4f50 5429 : ; \\.$(PATSOPT)\n-00000560: 202d 6420 2e2f 4441 5453 2f73 6c69 7374 -d ./DATS/slist\n-00000570: 7265 662e 6461 7473 207c 205c 0a24 2841 ref.dats | \\.$(A\n-00000580: 5453 4343 3250 5929 202d 6f20 2e2f 6f75 TSCC2PY) -o ./ou\n-00000590: 7470 7574 2f44 4154 532f 736c 6973 7472 tput/DATS/slistr\n-000005a0: 6566 5f64 6174 732e 7079 202d 690a 616c ef_dats.py -i.al\n-000005b0: 6c3a 3a20 3b20 5c0a 2428 5041 5453 4f50 l:: ; \\.$(PATSOP\n-000005c0: 5429 202d 6420 2e2f 4441 5453 2f71 6c69 T) -d ./DATS/qli\n-000005d0: 7374 7265 662e 6461 7473 207c 205c 0a24 stref.dats | \\.$\n-000005e0: 2841 5453 4343 3250 5929 202d 6f20 2e2f (ATSCC2PY) -o ./\n-000005f0: 6f75 7470 7574 2f44 4154 532f 716c 6973 output/DATS/qlis\n-00000600: 7472 6566 5f64 6174 732e 7079 202d 690a tref_dats.py -i.\n-00000610: 230a 2323 2323 2323 0a0a 616c 6c3a 3a20 #.######..all:: \n-00000620: 3b20 5c0a 2428 5041 5453 4f50 5429 202d ; \\.$(PATSOPT) -\n-00000630: 6420 2e2f 4441 5453 2f4d 4c2f 6c69 7374 d ./DATS/ML/list\n-00000640: 302e 6461 7473 207c 205c 0a24 2841 5453 0.dats | \\.$(ATS\n-00000650: 4343 3250 5929 202d 6f20 2e2f 6f75 7470 CC2PY) -o ./outp\n-00000660: 7574 2f44 4154 532f 4d4c 2f6c 6973 7430 ut/DATS/ML/list0\n-00000670: 5f64 6174 732e 7079 202d 690a 616c 6c3a _dats.py -i.all:\n-00000680: 3a20 3b20 5c0a 2428 5041 5453 4f50 5429 : ; \\.$(PATSOPT)\n-00000690: 202d 6420 2e2f 4441 5453 2f4d 4c2f 6172 -d ./DATS/ML/ar\n-000006a0: 7261 7930 2e64 6174 7320 7c20 5c0a 2428 ray0.dats | \\.$(\n-000006b0: 4154 5343 4332 5059 2920 2d6f 202e 2f6f ATSCC2PY) -o ./o\n-000006c0: 7574 7075 742f 4441 5453 2f4d 4c2f 6172 utput/DATS/ML/ar\n-000006d0: 7261 7930 5f64 6174 732e 7079 202d 690a ray0_dats.py -i.\n-000006e0: 616c 6c3a 3a20 3b20 5c0a 2428 5041 5453 all:: ; \\.$(PATS\n-000006f0: 4f50 5429 202d 6420 2e2f 4441 5453 2f4d OPT) -d ./DATS/M\n-00000700: 4c2f 6f70 7469 6f6e 302e 6461 7473 207c L/option0.dats |\n-00000710: 205c 0a24 2841 5453 4343 3250 5929 202d \\.$(ATSCC2PY) -\n-00000720: 6f20 2e2f 6f75 7470 7574 2f44 4154 532f o ./output/DATS/\n-00000730: 4d4c 2f6f 7074 696f 6e30 5f64 6174 732e ML/option0_dats.\n-00000740: 7079 202d 690a 0a23 2323 2323 230a 230a py -i..######.#.\n-00000750: 4c49 4241 5453 4343 3250 5933 5f41 4c4c LIBATSCC2PY3_ALL\n-00000760: 5f50 593d 5c0a 6f75 7470 7574 2f6c 6962 _PY=\\.output/lib\n-00000770: 6174 7363 6332 7079 335f 616c 6c2e 7079 atscc2py3_all.py\n-00000780: 0a4c 4942 4154 5343 4332 5059 335f 414c .LIBATSCC2PY3_AL\n-00000790: 4c5f 5059 4c49 4243 5f50 593d 5c0a 6f75 L_PYLIBC_PY=\\.ou\n-000007a0: 7470 7574 2f6c 6962 6174 7363 6332 7079 tput/libatscc2py\n-000007b0: 335f 616c 6c5f 7079 6c69 6263 2e70 790a 3_all_pylibc.py.\n-000007c0: 4c49 4241 5453 4343 3250 5933 5f41 4c4c LIBATSCC2PY3_ALL\n-000007d0: 5f50 5947 414d 455f 5059 3d5c 0a6f 7574 _PYGAME_PY=\\.out\n-000007e0: 7075 742f 6c69 6261 7473 6363 3270 7933 put/libatscc2py3\n-000007f0: 5f61 6c6c 5f70 7967 616d 652e 7079 0a23 _all_pygame.py.#\n-00000800: 0a23 2323 2323 230a 0a61 6c6c 5f69 6e5f .######..all_in_\n-00000810: 6f6e 653a 3a20 6c69 6261 7473 6363 3270 one:: libatscc2p\n-00000820: 7933 5f61 6c6c 0a61 6c6c 5f69 6e5f 6f6e y3_all.all_in_on\n-00000830: 653a 3a20 6c69 6261 7473 6363 3270 7933 e:: libatscc2py3\n-00000840: 5f61 6c6c 5f70 796c 6962 630a 616c 6c5f _all_pylibc.all_\n-00000850: 696e 5f6f 6e65 3a3a 206c 6962 6174 7363 in_one:: libatsc\n-00000860: 6332 7079 335f 616c 6c5f 7079 6761 6d65 c2py3_all_pygame\n-00000870: 0a0a 2323 2323 2323 0a23 0a44 4154 453d ..######.#.DATE=\n-00000880: 2f62 696e 2f64 6174 650a 4543 484f 3d2f /bin/date.ECHO=/\n-00000890: 6269 6e2f 6563 686f 202d 656e 0a23 0a50 bin/echo -en.#.P\n-000008a0: 5249 4e54 463d 7072 696e 7466 0a23 0a23 RINTF=printf.#.#\n-000008b0: 2323 2323 230a 230a 2320 6c69 6261 7473 #####.#.# libats\n-000008c0: 6363 3270 7933 5f61 6c6c 3a3a 203b 205c cc2py3_all:: ; \\\n-000008d0: 0a23 2024 2845 4348 4f29 2027 5c6e 2720 .# $(ECHO) '\\n' \n-000008e0: 7c20 2428 4341 5429 202d 203e 2428 4c49 | $(CAT) - >$(LI\n-000008f0: 4241 5453 4343 3250 5933 5f41 4c4c 5f50 BATSCC2PY3_ALL_P\n-00000900: 5929 0a23 0a6c 6962 6174 7363 6332 7079 Y).#.libatscc2py\n-00000910: 335f 616c 6c3a 3a20 3b20 5c0a 2428 5052 3_all:: ; \\.$(PR\n-00000920: 494e 5446 2920 275c 6e27 207c 2024 2843 INTF) '\\n' | $(C\n-00000930: 4154 2920 2d20 3e24 284c 4942 4154 5343 AT) - >$(LIBATSC\n-00000940: 4332 5059 335f 414c 4c5f 5059 290a 6c69 C2PY3_ALL_PY).li\n-00000950: 6261 7473 6363 3270 7933 5f61 6c6c 3a3a batscc2py3_all::\n-00000960: 203b 205c 0a24 2850 5249 4e54 4629 2027 ; \\.$(PRINTF) '\n-00000970: 2323 2323 2323 5c6e 2720 7c20 2428 4341 ######\\n' | $(CA\n-00000980: 5429 202d 203e 3e24 284c 4942 4154 5343 T) - >>$(LIBATSC\n-00000990: 4332 5059 335f 414c 4c5f 5059 290a 6c69 C2PY3_ALL_PY).li\n-000009a0: 6261 7473 6363 3270 7933 5f61 6c6c 3a3a batscc2py3_all::\n-000009b0: 203b 205c 0a24 2850 5249 4e54 4629 2027 ; \\.$(PRINTF) '\n-000009c0: 235c 6e27 207c 2024 2843 4154 2920 2d20 #\\n' | $(CAT) - \n-000009d0: 3e3e 2428 4c49 4241 5453 4343 3250 5933 >>$(LIBATSCC2PY3\n-000009e0: 5f41 4c4c 5f50 5929 0a6c 6962 6174 7363 _ALL_PY).libatsc\n-000009f0: 6332 7079 335f 616c 6c3a 3a20 3b20 5c0a c2py3_all:: ; \\.\n-00000a00: 2428 5052 494e 5446 2920 2723 2054 696d $(PRINTF) '# Tim\n-00000a10: 6520 6f66 2047 656e 6572 6174 696f 6e3a e of Generation:\n-00000a20: 5c6e 2720 7c20 2428 4341 5429 202d 203e \\n' | $(CAT) - >\n-00000a30: 3e24 284c 4942 4154 5343 4332 5059 335f >$(LIBATSCC2PY3_\n-00000a40: 414c 4c5f 5059 290a 6c69 6261 7473 6363 ALL_PY).libatscc\n-00000a50: 3270 7933 5f61 6c6c 3a3a 203b 205c 0a28 2py3_all:: ; \\.(\n-00000a60: 2428 5052 494e 5446 2920 2723 2027 207c $(PRINTF) '# ' |\n-00000a70: 2024 2843 4154 2920 2d20 3e3e 2428 4c49 $(CAT) - >>$(LI\n-00000a80: 4241 5453 4343 3250 5933 5f41 4c4c 5f50 BATSCC2PY3_ALL_P\n-00000a90: 5929 3b20 2428 4441 5445 2920 7c20 2428 Y); $(DATE) | $(\n-00000aa0: 4341 5429 202d 203e 3e24 284c 4942 4154 CAT) - >>$(LIBAT\n-00000ab0: 5343 4332 5059 335f 414c 4c5f 5059 2929 SCC2PY3_ALL_PY))\n-00000ac0: 0a6c 6962 6174 7363 6332 7079 335f 616c .libatscc2py3_al\n-00000ad0: 6c3a 3a20 3b20 5c0a 2428 5052 494e 5446 l:: ; \\.$(PRINTF\n-00000ae0: 2920 2723 5c6e 2720 7c20 2428 4341 5429 ) '#\\n' | $(CAT)\n-00000af0: 202d 203e 3e24 284c 4942 4154 5343 4332 - >>$(LIBATSCC2\n-00000b00: 5059 335f 414c 4c5f 5059 290a 6c69 6261 PY3_ALL_PY).liba\n-00000b10: 7473 6363 3270 7933 5f61 6c6c 3a3a 203b tscc2py3_all:: ;\n-00000b20: 205c 0a24 2850 5249 4e54 4629 2027 2323 \\.$(PRINTF) '##\n-00000b30: 2323 2323 5c6e 5c6e 2720 7c20 2428 4341 ####\\n\\n' | $(CA\n-00000b40: 5429 202d 203e 3e24 284c 4942 4154 5343 T) - >>$(LIBATSC\n-00000b50: 4332 5059 335f 414c 4c5f 5059 290a 230a C2PY3_ALL_PY).#.\n-00000b60: 2323 2323 2323 0a0a 6c69 6261 7473 6363 ######..libatscc\n-00000b70: 3270 7933 5f61 6c6c 3a3a 203b 205c 0a24 2py3_all:: ; \\.$\n-00000b80: 2843 4154 2920 3e3e 2428 4c49 4241 5453 (CAT) >>$(LIBATS\n-00000b90: 4343 3250 5933 5f41 4c4c 5f50 5929 205c CC2PY3_ALL_PY) \\\n-00000ba0: 0a43 4154 532f 6261 7369 6373 5f63 6174 .CATS/basics_cat\n-00000bb0: 732e 7079 205c 0a43 4154 532f 696e 7465 s.py \\.CATS/inte\n-00000bc0: 6765 725f 6361 7473 2e70 7920 5c0a 4341 ger_cats.py \\.CA\n-00000bd0: 5453 2f62 6f6f 6c5f 6361 7473 2e70 7920 TS/bool_cats.py \n-00000be0: 5c0a 4341 5453 2f63 6861 725f 6361 7473 \\.CATS/char_cats\n-00000bf0: 2e70 7920 5c0a 4341 5453 2f66 6c6f 6174 .py \\.CATS/float\n-00000c00: 5f63 6174 732e 7079 205c 0a43 4154 532f _cats.py \\.CATS/\n-00000c10: 7374 7269 6e67 5f63 6174 732e 7079 205c string_cats.py \\\n-00000c20: 0a43 4154 532f 7072 696e 745f 6361 7473 .CATS/print_cats\n-00000c30: 2e70 7920 5c0a 4341 5453 2f66 696c 6562 .py \\.CATS/fileb\n-00000c40: 6173 5f63 6174 732e 7079 205c 0a43 4154 as_cats.py \\.CAT\n-00000c50: 532f 5059 6c69 7374 5f63 6174 732e 7079 S/PYlist_cats.py\n-00000c60: 205c 0a43 4154 532f 7265 6665 7265 6e63 \\.CATS/referenc\n-00000c70: 655f 6361 7473 2e70 7920 5c0a 0a23 2323 e_cats.py \\..###\n-00000c80: 2323 230a 0a6c 6962 6174 7363 6332 7079 ###..libatscc2py\n-00000c90: 335f 616c 6c3a 3a20 3b20 5c0a 2428 4341 3_all:: ; \\.$(CA\n-00000ca0: 5429 203e 3e24 284c 4942 4154 5343 4332 T) >>$(LIBATSCC2\n-00000cb0: 5059 335f 414c 4c5f 5059 2920 5c0a 6f75 PY3_ALL_PY) \\.ou\n-00000cc0: 7470 7574 2f44 4154 532f 7374 7269 6e67 tput/DATS/string\n-00000cd0: 5f64 6174 732e 7079 205c 0a6f 7574 7075 _dats.py \\.outpu\n-00000ce0: 742f 4441 5453 2f50 596c 6973 745f 6461 t/DATS/PYlist_da\n-00000cf0: 7473 2e70 7920 5c0a 6f75 7470 7574 2f44 ts.py \\.output/D\n-00000d00: 4154 532f 7265 6665 7265 6e63 655f 6461 ATS/reference_da\n-00000d10: 7473 2e70 7920 5c0a 6f75 7470 7574 2f44 ts.py \\.output/D\n-00000d20: 4154 532f 6c69 7374 5f64 6174 732e 7079 ATS/list_dats.py\n-00000d30: 205c 0a6f 7574 7075 742f 4441 5453 2f6c \\.output/DATS/l\n-00000d40: 6973 745f 7674 5f64 6174 732e 7079 205c ist_vt_dats.py \\\n-00000d50: 0a6f 7574 7075 742f 4441 5453 2f6f 7074 .output/DATS/opt\n-00000d60: 696f 6e5f 6461 7473 2e70 7920 5c0a 6f75 ion_dats.py \\.ou\n-00000d70: 7470 7574 2f44 4154 532f 7374 7265 616d tput/DATS/stream\n-00000d80: 5f64 6174 732e 7079 205c 0a6f 7574 7075 _dats.py \\.outpu\n-00000d90: 742f 4441 5453 2f73 7472 6561 6d5f 7674 t/DATS/stream_vt\n-00000da0: 5f64 6174 732e 7079 205c 0a6f 7574 7075 _dats.py \\.outpu\n-00000db0: 742f 4441 5453 2f69 6e74 7261 6e67 655f t/DATS/intrange_\n-00000dc0: 6461 7473 2e70 7920 5c0a 6f75 7470 7574 dats.py \\.output\n-00000dd0: 2f44 4154 532f 6172 7261 7972 6566 5f64 /DATS/arrayref_d\n-00000de0: 6174 732e 7079 205c 0a6f 7574 7075 742f ats.py \\.output/\n-00000df0: 4441 5453 2f6d 6174 7269 7872 6566 5f64 DATS/matrixref_d\n-00000e00: 6174 732e 7079 205c 0a6f 7574 7075 742f ats.py \\.output/\n-00000e10: 4441 5453 2f66 756e 6172 7261 795f 6461 DATS/funarray_da\n-00000e20: 7473 2e70 7920 5c0a 6f75 7470 7574 2f44 ts.py \\.output/D\n-00000e30: 4154 532f 736c 6973 7472 6566 5f64 6174 ATS/slistref_dat\n-00000e40: 732e 7079 205c 0a6f 7574 7075 742f 4441 s.py \\.output/DA\n-00000e50: 5453 2f71 6c69 7374 7265 665f 6461 7473 TS/qlistref_dats\n-00000e60: 2e70 7920 5c0a 6f75 7470 7574 2f44 4154 .py \\.output/DAT\n-00000e70: 532f 4d4c 2f6c 6973 7430 5f64 6174 732e S/ML/list0_dats.\n-00000e80: 7079 205c 0a6f 7574 7075 742f 4441 5453 py \\.output/DATS\n-00000e90: 2f4d 4c2f 6172 7261 7930 5f64 6174 732e /ML/array0_dats.\n-00000ea0: 7079 205c 0a6f 7574 7075 742f 4441 5453 py \\.output/DATS\n-00000eb0: 2f4d 4c2f 6f70 7469 6f6e 305f 6461 7473 /ML/option0_dats\n-00000ec0: 2e70 7920 5c0a 0a23 2323 2323 230a 230a .py \\..######.#.\n-00000ed0: 6c69 6261 7473 6363 3270 7933 5f61 6c6c libatscc2py3_all\n-00000ee0: 3a3a 203b 205c 0a24 2850 5249 4e54 4629 :: ; \\.$(PRINTF)\n-00000ef0: 2027 5c6e 2720 7c20 2428 4341 5429 202d '\\n' | $(CAT) -\n-00000f00: 203e 3e24 284c 4942 4154 5343 4332 5059 >>$(LIBATSCC2PY\n-00000f10: 335f 414c 4c5f 5059 290a 6c69 6261 7473 3_ALL_PY).libats\n-00000f20: 6363 3270 7933 5f61 6c6c 3a3a 203b 205c cc2py3_all:: ; \\\n-00000f30: 0a24 2850 5249 4e54 4629 2027 2323 2023 .$(PRINTF) '## #\n-00000f40: 2323 2323 2320 2323 2323 2323 2023 2327 ##### ###### ##'\n-00000f50: 207c 2024 2843 4154 2920 2d20 3e3e 2428 | $(CAT) - >>$(\n-00000f60: 4c49 4241 5453 4343 3250 5933 5f41 4c4c LIBATSCC2PY3_ALL\n-00000f70: 5f50 5929 0a6c 6962 6174 7363 6332 7079 _PY).libatscc2py\n-00000f80: 335f 616c 6c3a 3a20 3b20 5c0a 2428 5052 3_all:: ; \\.$(PR\n-00000f90: 494e 5446 2920 275c 6e27 207c 2024 2843 INTF) '\\n' | $(C\n-00000fa0: 4154 2920 2d20 3e3e 2428 4c49 4241 5453 AT) - >>$(LIBATS\n-00000fb0: 4343 3250 5933 5f41 4c4c 5f50 5929 0a23 CC2PY3_ALL_PY).#\n-00000fc0: 0a6c 6962 6174 7363 6332 7079 335f 616c .libatscc2py3_al\n-00000fd0: 6c3a 3a20 3b20 5c0a 2428 5052 494e 5446 l:: ; \\.$(PRINTF\n-00000fe0: 2920 275c 6e23 2320 656e 6420 6f66 205b ) '\\n## end of [\n-00000ff0: 6c69 6261 7473 6363 3270 7933 5f61 6c6c libatscc2py3_all\n-00001000: 2e70 795d 2023 235c 6e27 207c 2024 2843 .py] ##\\n' | $(C\n-00001010: 4154 2920 2d20 3e3e 2428 4c49 4241 5453 AT) - >>$(LIBATS\n-00001020: 4343 3250 5933 5f41 4c4c 5f50 5929 0a23 CC2PY3_ALL_PY).#\n-00001030: 0a23 2323 2323 230a 0a6c 6962 6174 7363 .######..libatsc\n-00001040: 6332 7079 335f 616c 6c5f 7079 6c69 6263 c2py3_all_pylibc\n-00001050: 3a3a 203b 205c 0a24 2843 4154 2920 3e24 :: ; \\.$(CAT) >$\n-00001060: 284c 4942 4154 5343 4332 5059 335f 414c (LIBATSCC2PY3_AL\n-00001070: 4c5f 5059 4c49 4243 5f50 5929 205c 0a43 L_PYLIBC_PY) \\.C\n-00001080: 4154 532f 5059 4c49 4243 5f72 616e 646f ATS/PYLIBC_rando\n-00001090: 6d5f 6361 7473 2e70 7920 5c0a 4341 5453 m_cats.py \\.CATS\n-000010a0: 2f50 594c 4942 435f 6461 7465 7469 6d65 /PYLIBC_datetime\n-000010b0: 5f63 6174 732e 7079 205c 0a0a 2323 2323 _cats.py \\..####\n-000010c0: 2323 0a0a 6c69 6261 7473 6363 3270 7933 ##..libatscc2py3\n-000010d0: 5f61 6c6c 5f70 7967 616d 653a 3a20 3b20 _all_pygame:: ; \n-000010e0: 5c0a 2428 4341 5429 203e 2428 4c49 4241 \\.$(CAT) >$(LIBA\n-000010f0: 5453 4343 3250 5933 5f41 4c4c 5f50 5947 TSCC2PY3_ALL_PYG\n-00001100: 414d 455f 5059 2920 5c0a 4341 5453 2f50 AME_PY) \\.CATS/P\n-00001110: 5947 414d 455f 7079 6761 6d65 5f63 6174 YGAME_pygame_cat\n-00001120: 732e 7079 205c 0a0a 2323 2323 2323 0a0a s.py \\..######..\n-00001130: 636c 6561 6e3a 3a20 3b20 2428 524d 4629 clean:: ; $(RMF)\n-00001140: 202a 7e20 2a2f 2a7e 0a0a 2323 2323 2323 *~ */*~..######\n-00001150: 0a23 0a63 6c65 616e 616c 6c3a 3a20 636c .#.cleanall:: cl\n-00001160: 6561 6e0a 230a 636c 6561 6e61 6c6c 3a3a ean.#.cleanall::\n-00001170: 203b 2072 6d20 2d72 6620 6f75 7470 7574 ; rm -rf output\n-00001180: 2f5f 5f70 7963 6163 6865 5f5f 0a23 0a63 /__pycache__.#.c\n-00001190: 6c65 616e 616c 6c3a 3a20 3b20 2428 524d leanall:: ; $(RM\n-000011a0: 4629 206f 7574 7075 742f 4441 5453 2f2a F) output/DATS/*\n-000011b0: 5f3f 6174 732e 7079 0a63 6c65 616e 616c _?ats.py.cleanal\n-000011c0: 6c3a 3a20 3b20 2428 524d 4629 206f 7574 l:: ; $(RMF) out\n-000011d0: 7075 742f 4441 5453 2f4d 4c2f 2a5f 3f61 put/DATS/ML/*_?a\n-000011e0: 7473 2e70 790a 230a 636c 6561 6e61 6c6c ts.py.#.cleanall\n-000011f0: 3a3a 203b 2024 2852 4d46 2920 2428 4c49 :: ; $(RMF) $(LI\n-00001200: 4241 5453 4343 3250 5933 5f41 4c4c 5f50 BATSCC2PY3_ALL_P\n-00001210: 5929 0a63 6c65 616e 616c 6c3a 3a20 3b20 Y).cleanall:: ; \n-00001220: 2428 524d 4629 2024 284c 4942 4154 5343 $(RMF) $(LIBATSC\n-00001230: 4332 5059 335f 414c 4c5f 5059 4c49 4243 C2PY3_ALL_PYLIBC\n-00001240: 5f50 5929 0a63 6c65 616e 616c 6c3a 3a20 _PY).cleanall:: \n-00001250: 3b20 2428 524d 4629 2024 284c 4942 4154 ; $(RMF) $(LIBAT\n-00001260: 5343 4332 5059 335f 414c 4c5f 5059 4741 SCC2PY3_ALL_PYGA\n-00001270: 4d45 5f50 5929 0a23 0a23 2323 2323 2320 ME_PY).#.###### \n-00001280: 656e 6420 6f66 205b 4d61 6b65 6669 6c65 end of [Makefile\n-00001290: 5d20 2323 2323 2323 0a ] ######.\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/staloadall.hats", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2py3/ATS2-0.3.2/staloadall.hats", "has_internal_linenos": true, "unified_diff": "@@ -1,93 +0,0 @@\n-00000000: 282a 0a2a 2a20 466f 7220 7772 6974 696e (*.** For writin\n-00000010: 6720 4154 5320 636f 6465 0a2a 2a20 7468 g ATS code.** th\n-00000020: 6174 2074 7261 6e73 6c61 7465 7320 696e at translates in\n-00000030: 746f 2050 7974 686f 640a 2a29 0a0a 282a to Pythod.*)..(*\n-00000040: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 202a ****** ****** *\n-00000050: 290a 2f2f 0a2f 2f20 4858 2d32 3031 342d ).//.// HX-2014-\n-00000060: 3039 2d30 390a 2f2f 0a28 2a20 2a2a 2a2a 09-09.//.(* ****\n-00000070: 2a2a 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a ** ****** *).//.\n-00000080: 2373 7461 6c6f 6164 2022 2e2f 6261 7369 #staload \"./basi\n-00000090: 6373 5f70 792e 7361 7473 220a 2373 7461 cs_py.sats\".#sta\n-000000a0: 6c6f 6164 205f 203d 2022 2e2f 4441 5453 load _ = \"./DATS\n-000000b0: 2f62 6173 6963 732e 6461 7473 220a 2f2f /basics.dats\".//\n-000000c0: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-000000d0: 2a20 2a29 0a2f 2f0a 2373 7461 6c6f 6164 * *).//.#staload\n-000000e0: 2022 2e2f 5341 5453 2f69 6e74 6567 6572 \"./SATS/integer\n-000000f0: 2e73 6174 7322 0a2f 2f0a 282a 202a 2a2a .sats\".//.(* ***\n-00000100: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-00000110: 0a23 7374 616c 6f61 6420 222e 2f53 4154 .#staload \"./SAT\n-00000120: 532f 626f 6f6c 2e73 6174 7322 0a23 7374 S/bool.sats\".#st\n-00000130: 616c 6f61 6420 222e 2f53 4154 532f 6368 aload \"./SATS/ch\n-00000140: 6172 2e73 6174 7322 0a23 7374 616c 6f61 ar.sats\".#staloa\n-00000150: 6420 222e 2f53 4154 532f 666c 6f61 742e d \"./SATS/float.\n-00000160: 7361 7473 220a 2373 7461 6c6f 6164 2022 sats\".#staload \"\n-00000170: 2e2f 5341 5453 2f73 7472 696e 672e 7361 ./SATS/string.sa\n-00000180: 7473 220a 2f2f 0a28 2a20 2a2a 2a2a 2a2a ts\".//.(* ******\n-00000190: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s\n-000001a0: 7461 6c6f 6164 2022 2e2f 5341 5453 2f70 taload \"./SATS/p\n-000001b0: 7269 6e74 2e73 6174 7322 0a23 7374 616c rint.sats\".#stal\n-000001c0: 6f61 6420 222e 2f53 4154 532f 6669 6c65 oad \"./SATS/file\n-000001d0: 6261 732e 7361 7473 220a 2f2f 0a23 7374 bas.sats\".//.#st\n-000001e0: 616c 6f61 6420 5f20 3d20 222e 2f44 4154 aload _ = \"./DAT\n-000001f0: 532f 7072 696e 742e 6461 7473 220a 2f2f S/print.dats\".//\n-00000200: 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .(* ****** *****\n-00000210: 2a20 2a29 0a0a 2373 7461 6c6f 6164 2022 * *)..#staload \"\n-00000220: 2e2f 5341 5453 2f67 7072 696e 742e 7361 ./SATS/gprint.sa\n-00000230: 7473 220a 2373 7461 6c6f 6164 205f 203d ts\".#staload _ =\n-00000240: 2022 2e2f 4441 5453 2f67 7072 696e 742e \"./DATS/gprint.\n-00000250: 6461 7473 220a 0a28 2a20 2a2a 2a2a 2a2a dats\"..(* ******\n-00000260: 202a 2a2a 2a2a 2a20 2a29 0a2f 2f0a 2373 ****** *).//.#s\n-00000270: 7461 6c6f 6164 2022 2e2f 5341 5453 2f6c taload \"./SATS/l\n-00000280: 6973 742e 7361 7473 220a 2373 7461 6c6f ist.sats\".#stalo\n-00000290: 6164 205f 203d 2022 2e2f 4441 5453 2f6c ad _ = \"./DATS/l\n-000002a0: 6973 742e 6461 7473 220a 2f2f 0a23 7374 ist.dats\".//.#st\n-000002b0: 616c 6f61 6420 222e 2f53 4154 532f 5059 aload \"./SATS/PY\n-000002c0: 6c69 7374 2e73 6174 7322 0a23 7374 616c list.sats\".#stal\n-000002d0: 6f61 6420 5f20 3d20 222e 2f44 4154 532f oad _ = \"./DATS/\n-000002e0: 5059 6c69 7374 2e64 6174 7322 0a2f 2f0a PYlist.dats\".//.\n-000002f0: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000300: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload \n-00000310: 222e 2f53 4154 532f 7374 7265 616d 2e73 \"./SATS/stream.s\n-00000320: 6174 7322 0a23 7374 616c 6f61 6420 5f20 ats\".#staload _ \n-00000330: 3d20 222e 2f44 4154 532f 7374 7265 616d = \"./DATS/stream\n-00000340: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats\".//.(* ***\n-00000350: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-00000360: 0a23 7374 616c 6f61 6420 222e 2f53 4154 .#staload \"./SAT\n-00000370: 532f 7374 7265 616d 5f76 742e 7361 7473 S/stream_vt.sats\n-00000380: 220a 2373 7461 6c6f 6164 205f 203d 2022 \".#staload _ = \"\n-00000390: 2e2f 4441 5453 2f73 7472 6561 6d5f 7674 ./DATS/stream_vt\n-000003a0: 2e64 6174 7322 0a2f 2f0a 282a 202a 2a2a .dats\".//.(* ***\n-000003b0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000003c0: 0a23 7374 616c 6f61 6420 222e 2f53 4154 .#staload \"./SAT\n-000003d0: 532f 696e 7472 616e 6765 2e73 6174 7322 S/intrange.sats\"\n-000003e0: 0a2f 2f0a 282a 202a 2a2a 2a2a 2a20 2a2a .//.(* ****** **\n-000003f0: 2a2a 2a2a 202a 290a 2f2f 0a23 7374 616c **** *).//.#stal\n-00000400: 6f61 6420 222e 2f53 4154 532f 6172 7261 oad \"./SATS/arra\n-00000410: 7972 6566 2e73 6174 7322 0a23 7374 616c yref.sats\".#stal\n-00000420: 6f61 6420 222e 2f53 4154 532f 6d61 7472 oad \"./SATS/matr\n-00000430: 6978 7265 662e 7361 7473 220a 2373 7461 ixref.sats\".#sta\n-00000440: 6c6f 6164 2022 2e2f 5341 5453 2f72 6566 load \"./SATS/ref\n-00000450: 6572 656e 6365 2e73 6174 7322 0a2f 2f0a erence.sats\".//.\n-00000460: 282a 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a (* ****** ******\n-00000470: 202a 290a 2f2f 0a23 7374 616c 6f61 6420 *).//.#staload \n-00000480: 222e 2f53 4154 532f 736c 6973 7472 6566 \"./SATS/slistref\n-00000490: 2e73 6174 7322 0a23 7374 616c 6f61 6420 .sats\".#staload \n-000004a0: 222e 2f53 4154 532f 716c 6973 7472 6566 \"./SATS/qlistref\n-000004b0: 2e73 6174 7322 0a2f 2f0a 282a 202a 2a2a .sats\".//.(* ***\n-000004c0: 2a2a 2a20 2a2a 2a2a 2a2a 202a 290a 2f2f *** ****** *).//\n-000004d0: 0a2f 2f20 4858 3a20 756e 2d69 6e64 6578 .// HX: un-index\n-000004e0: 6564 206c 6973 740a 2f2f 2048 583a 2075 ed list.// HX: u\n-000004f0: 6e2d 696e 6465 7865 6420 6172 7261 790a n-indexed array.\n-00000500: 2f2f 0a23 7374 616c 6f61 6420 222e 2f53 //.#staload \"./S\n-00000510: 4154 532f 4d4c 2f6c 6973 7430 2e73 6174 ATS/ML/list0.sat\n-00000520: 7322 0a23 7374 616c 6f61 6420 222e 2f53 s\".#staload \"./S\n-00000530: 4154 532f 4d4c 2f61 7272 6179 302e 7361 ATS/ML/array0.sa\n-00000540: 7473 220a 2f2f 0a23 7374 616c 6f61 6420 ts\".//.#staload \n-00000550: 5f20 3d20 222e 2f44 4154 532f 4d4c 2f6c _ = \"./DATS/ML/l\n-00000560: 6973 7430 2e64 6174 7322 0a23 7374 616c ist0.dats\".#stal\n-00000570: 6f61 6420 5f20 3d20 222e 2f44 4154 532f oad _ = \"./DATS/\n-00000580: 4d4c 2f61 7272 6179 302e 6461 7473 220a ML/array0.dats\".\n-00000590: 2f2f 0a28 2a20 2a2a 2a2a 2a2a 202a 2a2a //.(* ****** ***\n-000005a0: 2a2a 2a20 2a29 0a0a 282a 2065 6e64 206f *** *)..(* end o\n-000005b0: 6620 5b73 7461 6c6f 6164 616c 6c2e 6861 f [staloadall.ha\n-000005c0: 7473 5d20 2a29 0a0a ts] *)..\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMlist_cats.scm", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/SCMlist_cats.scm", "has_internal_linenos": true, "unified_diff": "@@ -1,147 +0,0 @@\n-00000000: 3b3b 3b3b 3b3b 0a3b 0a3b 2048 582d 3230 ;;;;;;.;.; HX-20\n-00000010: 3136 2d30 363a 0a3b 2066 6f72 2053 6368 16-06:.; for Sch\n-00000020: 656d 6520 636f 6465 2074 7261 6e73 6c61 eme code transla\n-00000030: 7465 6420 6672 6f6d 2041 5453 0a3b 0a3b ted from ATS.;.;\n-00000040: 3b3b 3b3b 3b0a 0a3b 3b3b 3b3b 3b0a 3b20 ;;;;;..;;;;;;.; \n-00000050: 6265 6720 6f66 205b 5343 4d6c 6973 745f beg of [SCMlist_\n-00000060: 6361 7473 2e73 636d 5d0a 3b3b 3b3b 3b3b cats.scm].;;;;;;\n-00000070: 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ..;;;;;;;;;;;;;;\n-00000080: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000090: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 0a3b ;;;;;;;;;;;;;;.;\n-000000a0: 3b0a 2864 6566 696e 652d 6d61 6372 6f0a ;.(define-macro.\n-000000b0: 2028 6174 7332 7363 6d70 7265 5f53 434d (ats2scmpre_SCM\n-000000c0: 6c69 7374 5f6e 696c 2920 6028 6c69 7374 list_nil) `(list\n-000000d0: 2929 0a28 6465 6669 6e65 2d6d 6163 726f )).(define-macro\n-000000e0: 0a20 2861 7473 3273 636d 7072 655f 5343 . (ats2scmpre_SC\n-000000f0: 4d6c 6973 745f 7369 6e67 2078 2920 6028 Mlist_sing x) `(\n-00000100: 6c69 7374 202c 7829 290a 2864 6566 696e list ,x)).(defin\n-00000110: 652d 6d61 6372 6f0a 2028 6174 7332 7363 e-macro. (ats2sc\n-00000120: 6d70 7265 5f53 434d 6c69 7374 5f70 6169 mpre_SCMlist_pai\n-00000130: 7220 7831 2078 3229 2060 286c 6973 7420 r x1 x2) `(list \n-00000140: 2c78 3120 2c78 3229 290a 3b3b 0a3b 3b3b ,x1 ,x2)).;;.;;;\n-00000150: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000160: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000170: 3b3b 3b3b 3b3b 3b3b 3b0a 0a28 6465 6669 ;;;;;;;;;..(defi\n-00000180: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-00000190: 636d 7072 655f 5343 4d6c 6973 745f 636f cmpre_SCMlist_co\n-000001a0: 6e73 2078 3020 7873 2920 6028 636f 6e73 ns x0 xs) `(cons\n-000001b0: 202c 7830 202c 7873 2929 0a0a 3b3b 3b3b ,x0 ,xs))..;;;;\n-000001c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-000001d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-000001e0: 3b3b 3b3b 3b3b 3b3b 0a3b 3b0a 3b3b 2028 ;;;;;;;;.;;.;; (\n-000001f0: 6465 6669 6e65 0a3b 3b20 2028 6174 7332 define.;; (ats2\n-00000200: 7363 6d70 7265 5f53 434d 6c69 7374 5f6d scmpre_SCMlist_m\n-00000210: 616b 655f 656c 7420 6e20 7830 290a 3b3b ake_elt n x0).;;\n-00000220: 2020 286c 6574 7265 630a 3b3b 2020 2020 (letrec.;; \n-00000230: 2828 6c6f 6f70 0a3b 3b20 2020 2020 2028 ((loop.;; (\n-00000240: 6c61 6d62 6461 286e 2072 6573 290a 3b3b lambda(n res).;;\n-00000250: 2020 2020 2020 2028 6966 2028 3e20 6e20 (if (> n \n-00000260: 3029 2028 6c6f 6f70 2028 2d20 6e20 3129 0) (loop (- n 1)\n-00000270: 2028 6174 7332 7363 6d70 7265 5f53 434d (ats2scmpre_SCM\n-00000280: 6c69 7374 5f63 6f6e 7320 7830 2072 6573 list_cons x0 res\n-00000290: 2929 2072 6573 2929 0a3b 3b20 2020 2020 )) res)).;; \n-000002a0: 290a 3b3b 2020 2020 2920 286c 6f6f 7020 ).;; ) (loop \n-000002b0: 6e20 2861 7473 3273 636d 7072 655f 5343 n (ats2scmpre_SC\n-000002c0: 4d6c 6973 745f 6e69 6c29 290a 3b3b 2020 Mlist_nil)).;; \n-000002d0: 2920 3b3b 206c 6574 7265 630a 3b3b 2029 ) ;; letrec.;; )\n-000002e0: 203b 3b20 6465 6669 6e65 2d61 7473 3273 ;; define-ats2s\n-000002f0: 636d 7072 655f 5343 4d6c 6973 745f 6d61 cmpre_SCMlist_ma\n-00000300: 6b65 5f65 6c74 0a28 6465 6669 6e65 2d6d ke_elt.(define-m\n-00000310: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-00000320: 655f 5343 4d6c 6973 745f 6d61 6b65 5f65 e_SCMlist_make_e\n-00000330: 6c74 206e 2078 3029 2060 286d 616b 652d lt n x0) `(make-\n-00000340: 6c69 7374 202c 6e20 2c78 3029 290a 3b3b list ,n ,x0)).;;\n-00000350: 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;;;;;;;;;;;;;;\n-00000360: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000370: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a 0a28 ;;;;;;;;;;;;;..(\n-00000380: 6465 6669 6e65 2d6d 6163 726f 0a20 2861 define-macro. (a\n-00000390: 7473 3273 636d 7072 655f 5343 4d6c 6973 ts2scmpre_SCMlis\n-000003a0: 745f 6973 5f6e 696c 2078 7329 2060 286e t_is_nil xs) `(n\n-000003b0: 756c 6c3f 202c 7873 2929 0a28 6465 6669 ull? ,xs)).(defi\n-000003c0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-000003d0: 636d 7072 655f 5343 4d6c 6973 745f 6973 cmpre_SCMlist_is\n-000003e0: 5f63 6f6e 7320 7873 2920 6028 6e6f 7420 _cons xs) `(not \n-000003f0: 286e 756c 6c3f 202c 7873 2929 290a 2864 (null? ,xs))).(d\n-00000400: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at\n-00000410: 7332 7363 6d70 7265 5f53 434d 6c69 7374 s2scmpre_SCMlist\n-00000420: 5f69 736e 6f74 5f6e 696c 2078 7329 2060 _isnot_nil xs) `\n-00000430: 286e 6f74 2028 6e75 6c6c 3f20 2c78 7329 (not (null? ,xs)\n-00000440: 2929 0a0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ))..;;;;;;;;;;;;\n-00000450: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000460: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000470: 0a3b 3b0a 2864 6566 696e 652d 6d61 6372 .;;.(define-macr\n-00000480: 6f0a 2028 6174 7332 7363 6d70 7265 5f53 o. (ats2scmpre_S\n-00000490: 434d 6c69 7374 5f6c 656e 6774 6820 7873 CMlist_length xs\n-000004a0: 2920 6028 6c65 6e67 7468 202c 7873 2929 ) `(length ,xs))\n-000004b0: 0a3b 3b0a 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b .;;.;;;;;;;;;;;;\n-000004c0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-000004d0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-000004e0: 0a0a 2864 6566 696e 652d 6d61 6372 6f20 ..(define-macro \n-000004f0: 2861 7473 3273 636d 7072 655f 5343 4d6c (ats2scmpre_SCMl\n-00000500: 6973 745f 6865 6164 2078 7329 2060 2863 ist_head xs) `(c\n-00000510: 6172 202c 7873 2929 0a28 6465 6669 6e65 ar ,xs)).(define\n-00000520: 2d6d 6163 726f 2028 6174 7332 7363 6d70 -macro (ats2scmp\n-00000530: 7265 5f53 434d 6c69 7374 5f74 6169 6c20 re_SCMlist_tail \n-00000540: 7873 2920 6028 6364 7220 2c78 7329 290a xs) `(cdr ,xs)).\n-00000550: 2864 6566 696e 652d 6d61 6372 6f20 2861 (define-macro (a\n-00000560: 7473 3273 636d 7072 655f 5343 4d6c 6973 ts2scmpre_SCMlis\n-00000570: 745f 6c61 7374 5f70 6169 7220 7873 2920 t_last_pair xs) \n-00000580: 6028 6c61 7374 2d70 6169 7220 2c78 7329 `(last-pair ,xs)\n-00000590: 290a 0a3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b )..;;;;;;;;;;;;;\n-000005a0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-000005b0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b0a ;;;;;;;;;;;;;;;.\n-000005c0: 3b3b 0a28 6465 6669 6e65 2d6d 6163 726f ;;.(define-macro\n-000005d0: 0a20 2861 7473 3273 636d 7072 655f 5343 . (ats2scmpre_SC\n-000005e0: 4d6c 6973 745f 6765 745f 6174 2078 7320 Mlist_get_at xs \n-000005f0: 6929 2060 286c 6973 742d 7265 6620 2c78 i) `(list-ref ,x\n-00000600: 7320 2c69 2929 0a28 6465 6669 6e65 2d6d s ,i)).(define-m\n-00000610: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-00000620: 655f 5343 4d6c 6973 745f 7365 745f 6174 e_SCMlist_set_at\n-00000630: 2078 7320 6920 7830 2920 6028 6c69 7374 xs i x0) `(list\n-00000640: 2d73 6574 2120 2c78 7320 2c69 202c 7830 -set! ,xs ,i ,x0\n-00000650: 2929 0a3b 3b0a 3b3b 3b3b 3b3b 3b3b 3b3b )).;;.;;;;;;;;;;\n-00000660: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000670: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000680: 3b3b 0a3b 3b0a 2864 6566 696e 652d 6d61 ;;.;;.(define-ma\n-00000690: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre\n-000006a0: 5f53 434d 6c69 7374 5f61 7070 656e 6420 _SCMlist_append \n-000006b0: 7873 2079 7329 2060 2861 7070 656e 6420 xs ys) `(append \n-000006c0: 2c78 7320 2c79 7329 290a 3b3b 0a28 6465 ,xs ,ys)).;;.(de\n-000006d0: 6669 6e65 2d6d 6163 726f 2028 6174 7332 fine-macro (ats2\n-000006e0: 7363 6d70 7265 5f53 434d 6c69 7374 5f72 scmpre_SCMlist_r\n-000006f0: 6576 6572 7365 2078 7329 2060 2872 6576 everse xs) `(rev\n-00000700: 6572 7365 202c 7873 2929 0a3b 3b0a 3b3b erse ,xs)).;;.;;\n-00000710: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000720: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000730: 3b3b 3b3b 3b3b 3b3b 3b3b 0a0a 3b3b 0a3b ;;;;;;;;;;..;;.;\n-00000740: 3b20 4e6f 7465 2074 6861 7420 5b66 6f6c ; Note that [fol\n-00000750: 645d 2069 7320 6973 2053 5246 492d 310a d] is is SRFI-1.\n-00000760: 3b3b 2053 6f20 7468 6973 206f 6e65 2069 ;; So this one i\n-00000770: 7320 696d 706c 656d 656e 7465 6420 696e s implemented in\n-00000780: 206c 6973 742e 6461 7473 0a3b 3b20 0a3b list.dats.;; .;\n-00000790: 3b28 6465 6669 6e65 2d6d 6163 726f 0a3b ;(define-macro.;\n-000007a0: 3b20 2861 7473 3273 636d 7072 655f 5343 ; (ats2scmpre_SC\n-000007b0: 4d6c 6973 7432 6c69 7374 5f72 6576 2078 Mlist2list_rev x\n-000007c0: 7329 0a3b 3b60 2866 6f6c 6420 286c 616d s).;;`(fold (lam\n-000007d0: 6264 6120 2878 2078 7329 2028 636f 6e73 bda (x xs) (cons\n-000007e0: 2078 2078 7329 2920 2728 2920 2c78 7329 x xs)) '() ,xs)\n-000007f0: 0a3b 3b29 203b 2064 6566 696e 652d 6d61 .;;) ; define-ma\n-00000800: 6372 6f0a 3b3b 0a0a 3b3b 3b3b 3b3b 3b3b cro.;;..;;;;;;;;\n-00000810: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000820: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000830: 3b3b 3b3b 0a0a 2864 6566 696e 652d 6d61 ;;;;..(define-ma\n-00000840: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre\n-00000850: 5f53 434d 6c69 7374 5f73 6f72 745f 3220 _SCMlist_sort_2 \n-00000860: 7873 2063 6d70 290a 6028 6c65 7420 2828 xs cmp).`(let ((\n-00000870: 636d 7020 2861 7473 3273 636d 7072 655f cmp (ats2scmpre_\n-00000880: 636c 6f72 6566 3266 756e 3220 2c63 6d70 cloref2fun2 ,cmp\n-00000890: 2929 290a 2020 2020 2873 6f72 7420 2c78 ))). (sort ,x\n-000008a0: 7320 286c 616d 6264 6128 7831 2078 3229 s (lambda(x1 x2)\n-000008b0: 2028 3c20 2863 6d70 2078 3120 7832 2920 (< (cmp x1 x2) \n-000008c0: 3029 2929 290a 2920 3b20 6465 6669 6e65 0)))).) ; define\n-000008d0: 2d6d 6163 726f 0a0a 3b3b 3b3b 3b3b 3b3b -macro..;;;;;;;;\n-000008e0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-000008f0: 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b 3b3b ;;;;;;;;;;;;;;;;\n-00000900: 3b3b 3b3b 0a0a 3b3b 3b3b 3b3b 2065 6e64 ;;;;..;;;;;; end\n-00000910: 206f 6620 5b53 434d 6c69 7374 5f63 6174 of [SCMlist_cat\n-00000920: 732e 7363 6d5d 203b 3b3b 3b3b 3b0a s.scm] ;;;;;;.\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/bool_cats.scm", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/bool_cats.scm", "has_internal_linenos": true, "unified_diff": "@@ -1,19 +0,0 @@\n-00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX\n-00000010: 2d32 3031 362d 3036 3a0a 3b20 666f 7220 -2016-06:.; for \n-00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr\n-00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT\n-00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..;\n-00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o\n-00000060: 6620 5b62 6f6f 6c5f 6361 7473 2e73 636d f [bool_cats.scm\n-00000070: 5d0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b 3b20 ].;;;;;;.;;..;; \n-00000080: 2a2a 2a2a 2a2a 202a 2a2a 2a2a 2a20 3b3b ****** ****** ;;\n-00000090: 0a0a 2864 6566 696e 652d 6d61 6372 6f0a ..(define-macro.\n-000000a0: 2028 6174 7332 7363 6d70 7265 5f6e 6567 (ats2scmpre_neg\n-000000b0: 5f62 6f6f 6c30 2078 2920 6028 6e6f 7420 _bool0 x) `(not \n-000000c0: 2c78 290a 290a 2864 6566 696e 652d 6d61 ,x).).(define-ma\n-000000d0: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre\n-000000e0: 5f6e 6567 5f62 6f6f 6c31 2078 2920 6028 _neg_bool1 x) `(\n-000000f0: 6e6f 7420 2c78 290a 290a 0a3b 3b20 2a2a not ,x).)..;; **\n-00000100: 2a2a 2a2a 202a 2a2a 2a2a 2a20 3b3b 0a0a **** ****** ;;..\n-00000110: 3b3b 2065 6e64 206f 6620 5b62 6f6f 6c5f ;; end of [bool_\n-00000120: 6361 7473 2e73 636d 5d20 3b3b 0a cats.scm] ;;.\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/integer_cats.scm", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/integer_cats.scm", "has_internal_linenos": true, "unified_diff": "@@ -1,160 +0,0 @@\n-00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX\n-00000010: 2d32 3031 362d 3035 3a0a 3b20 666f 7220 -2016-05:.; for \n-00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr\n-00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT\n-00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..;\n-00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o\n-00000060: 6620 5b69 6e74 6567 6572 5f63 6174 732e f [integer_cats.\n-00000070: 7363 6d5d 0a3b 3b3b 3b3b 3b0a 3b3b 0a0a scm].;;;;;;.;;..\n-00000080: 3b3b 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a ;; ****** ******\n-00000090: 203b 3b0a 3b3b 0a3b 3b20 4858 3a20 666f ;;.;;.;; HX: fo\n-000000a0: 7220 7369 676e 6564 2069 6e74 6567 6572 r signed integer\n-000000b0: 730a 3b3b 0a3b 3b20 2a2a 2a2a 2a2a 202a s.;;.;; ****** *\n-000000c0: 2a2a 2a2a 2a20 3b3b 0a3b 3b0a 2864 6566 ***** ;;.;;.(def\n-000000d0: 696e 652d 6d61 6372 6f0a 2028 6174 7332 ine-macro. (ats2\n-000000e0: 7363 6d70 7265 5f6e 6567 5f69 6e74 3020 scmpre_neg_int0 \n-000000f0: 7829 2060 282d 202c 7829 0a29 0a28 6465 x) `(- ,x).).(de\n-00000100: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats\n-00000110: 3273 636d 7072 655f 6e65 675f 696e 7431 2scmpre_neg_int1\n-00000120: 2078 2920 6028 2d20 2c78 290a 290a 3b3b x) `(- ,x).).;;\n-00000130: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** *****\n-00000140: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define-\n-00000150: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp\n-00000160: 7265 5f61 6273 5f69 6e74 3020 7829 2060 re_abs_int0 x) `\n-00000170: 2861 6273 202c 7829 0a29 0a28 6465 6669 (abs ,x).).(defi\n-00000180: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-00000190: 636d 7072 655f 6162 735f 696e 7431 2078 cmpre_abs_int1 x\n-000001a0: 2920 6028 6162 7320 2c78 290a 290a 3b3b ) `(abs ,x).).;;\n-000001b0: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** *****\n-000001c0: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define-\n-000001d0: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp\n-000001e0: 7265 5f73 7563 635f 696e 7430 2078 2920 re_succ_int0 x) \n-000001f0: 6028 2b20 2c78 2031 290a 290a 2864 6566 `(+ ,x 1).).(def\n-00000200: 696e 652d 6d61 6372 6f0a 2028 6174 7332 ine-macro. (ats2\n-00000210: 7363 6d70 7265 5f70 7265 645f 696e 7430 scmpre_pred_int0\n-00000220: 2078 2920 6028 2d20 2c78 2031 290a 290a x) `(- ,x 1).).\n-00000230: 3b3b 0a28 6465 6669 6e65 2d6d 6163 726f ;;.(define-macro\n-00000240: 0a20 2861 7473 3273 636d 7072 655f 7375 . (ats2scmpre_su\n-00000250: 6363 5f69 6e74 3120 7829 2060 282b 202c cc_int1 x) `(+ ,\n-00000260: 7820 3129 0a29 0a28 6465 6669 6e65 2d6d x 1).).(define-m\n-00000270: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-00000280: 655f 7072 6564 5f69 6e74 3120 7829 2060 e_pred_int1 x) `\n-00000290: 282d 202c 7820 3129 0a29 0a3b 3b0a 3b3b (- ,x 1).).;;.;;\n-000002a0: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 203b ****** ****** ;\n-000002b0: 3b0a 3b3b 0a28 6465 6669 6e65 2d6d 6163 ;.;;.(define-mac\n-000002c0: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_\n-000002d0: 6164 645f 696e 7430 5f69 6e74 3020 7820 add_int0_int0 x \n-000002e0: 7929 2060 282b 202c 7820 2c79 290a 290a y) `(+ ,x ,y).).\n-000002f0: 2864 6566 696e 652d 6d61 6372 6f0a 2028 (define-macro. (\n-00000300: 6174 7332 7363 6d70 7265 5f73 7562 5f69 ats2scmpre_sub_i\n-00000310: 6e74 305f 696e 7430 2078 2079 2920 6028 nt0_int0 x y) `(\n-00000320: 2d20 2c78 202c 7929 0a29 0a28 6465 6669 - ,x ,y).).(defi\n-00000330: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-00000340: 636d 7072 655f 6d75 6c5f 696e 7430 5f69 cmpre_mul_int0_i\n-00000350: 6e74 3020 7820 7929 2060 282a 202c 7820 nt0 x y) `(* ,x \n-00000360: 2c79 290a 290a 2864 6566 696e 652d 6d61 ,y).).(define-ma\n-00000370: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre\n-00000380: 5f64 6976 5f69 6e74 305f 696e 7430 2078 _div_int0_int0 x\n-00000390: 2079 2920 6028 7175 6f74 6965 6e74 202c y) `(quotient ,\n-000003a0: 7820 2c79 290a 290a 3b3b 0a28 6465 6669 x ,y).).;;.(defi\n-000003b0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-000003c0: 636d 7072 655f 6d6f 645f 696e 7430 5f69 cmpre_mod_int0_i\n-000003d0: 6e74 3020 7820 7929 2060 286d 6f64 756c nt0 x y) `(modul\n-000003e0: 6f20 2c78 202c 7929 0a29 0a28 6465 6669 o ,x ,y).).(defi\n-000003f0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-00000400: 636d 7072 655f 7265 6d5f 696e 7430 5f69 cmpre_rem_int0_i\n-00000410: 6e74 3020 7820 7929 2060 2872 656d 6169 nt0 x y) `(remai\n-00000420: 6e64 6572 202c 7820 2c79 290a 290a 3b3b nder ,x ,y).).;;\n-00000430: 0a28 6465 6669 6e65 2d6d 6163 726f 0a20 .(define-macro. \n-00000440: 2861 7473 3273 636d 7072 655f 6164 645f (ats2scmpre_add_\n-00000450: 696e 7431 5f69 6e74 3120 7820 7929 2060 int1_int1 x y) `\n-00000460: 282b 202c 7820 2c79 290a 290a 2864 6566 (+ ,x ,y).).(def\n-00000470: 696e 652d 6d61 6372 6f0a 2028 6174 7332 ine-macro. (ats2\n-00000480: 7363 6d70 7265 5f73 7562 5f69 6e74 315f scmpre_sub_int1_\n-00000490: 696e 7431 2078 2079 2920 6028 2d20 2c78 int1 x y) `(- ,x\n-000004a0: 202c 7929 0a29 0a28 6465 6669 6e65 2d6d ,y).).(define-m\n-000004b0: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-000004c0: 655f 6d75 6c5f 696e 7431 5f69 6e74 3120 e_mul_int1_int1 \n-000004d0: 7820 7929 2060 282a 202c 7820 2c79 290a x y) `(* ,x ,y).\n-000004e0: 290a 2864 6566 696e 652d 6d61 6372 6f0a ).(define-macro.\n-000004f0: 2028 6174 7332 7363 6d70 7265 5f64 6976 (ats2scmpre_div\n-00000500: 5f69 6e74 315f 696e 7431 2078 2079 2920 _int1_int1 x y) \n-00000510: 6028 7175 6f74 6965 6e74 202c 7820 2c79 `(quotient ,x ,y\n-00000520: 290a 290a 3b3b 0a28 6465 6669 6e65 2d6d ).).;;.(define-m\n-00000530: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-00000540: 655f 6d6f 645f 696e 7431 5f69 6e74 3120 e_mod_int1_int1 \n-00000550: 7820 7929 2060 286d 6f64 756c 6f20 2c78 x y) `(modulo ,x\n-00000560: 202c 7929 0a29 0a28 6465 6669 6e65 2d6d ,y).).(define-m\n-00000570: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-00000580: 655f 6e6d 6f64 5f69 6e74 315f 696e 7431 e_nmod_int1_int1\n-00000590: 2078 2079 2920 6028 6d6f 6475 6c6f 202c x y) `(modulo ,\n-000005a0: 7820 2c79 290a 290a 3b3b 0a28 6465 6669 x ,y).).;;.(defi\n-000005b0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-000005c0: 636d 7072 655f 7265 6d5f 696e 7431 5f69 cmpre_rem_int1_i\n-000005d0: 6e74 3120 7820 7929 2060 2872 656d 6169 nt1 x y) `(remai\n-000005e0: 6e64 6572 202c 7820 2c79 290a 290a 3b3b nder ,x ,y).).;;\n-000005f0: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** *****\n-00000600: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define-\n-00000610: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp\n-00000620: 7265 5f6c 745f 696e 7430 5f69 6e74 3020 re_lt_int0_int0 \n-00000630: 7820 7929 2060 283c 202c 7820 2c79 290a x y) `(< ,x ,y).\n-00000640: 290a 2864 6566 696e 652d 6d61 6372 6f0a ).(define-macro.\n-00000650: 2028 6174 7332 7363 6d70 7265 5f6c 7465 (ats2scmpre_lte\n-00000660: 5f69 6e74 305f 696e 7430 2078 2079 2920 _int0_int0 x y) \n-00000670: 6028 3c3d 202c 7820 2c79 290a 290a 2864 `(<= ,x ,y).).(d\n-00000680: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at\n-00000690: 7332 7363 6d70 7265 5f67 745f 696e 7430 s2scmpre_gt_int0\n-000006a0: 5f69 6e74 3020 7820 7929 2060 283e 202c _int0 x y) `(> ,\n-000006b0: 7820 2c79 290a 290a 2864 6566 696e 652d x ,y).).(define-\n-000006c0: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp\n-000006d0: 7265 5f67 7465 5f69 6e74 305f 696e 7430 re_gte_int0_int0\n-000006e0: 2078 2079 2920 6028 3e3d 202c 7820 2c79 x y) `(>= ,x ,y\n-000006f0: 290a 290a 3b3b 0a28 6465 6669 6e65 2d6d ).).;;.(define-m\n-00000700: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-00000710: 655f 6571 5f69 6e74 305f 696e 7430 2078 e_eq_int0_int0 x\n-00000720: 2079 2920 6028 3d20 2c78 202c 7929 0a29 y) `(= ,x ,y).)\n-00000730: 0a28 6465 6669 6e65 2d6d 6163 726f 0a20 .(define-macro. \n-00000740: 2861 7473 3273 636d 7072 655f 6e65 715f (ats2scmpre_neq_\n-00000750: 696e 7430 5f69 6e74 3020 7820 7929 2060 int0_int0 x y) `\n-00000760: 286e 6f74 2028 3d20 2c78 202c 7929 290a (not (= ,x ,y)).\n-00000770: 290a 3b3b 0a28 6465 6669 6e65 2d6d 6163 ).;;.(define-mac\n-00000780: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_\n-00000790: 6c74 5f69 6e74 315f 696e 7431 2078 2079 lt_int1_int1 x y\n-000007a0: 2920 6028 3c20 2c78 202c 7929 0a29 0a28 ) `(< ,x ,y).).(\n-000007b0: 6465 6669 6e65 2d6d 6163 726f 0a20 2861 define-macro. (a\n-000007c0: 7473 3273 636d 7072 655f 6c74 655f 696e ts2scmpre_lte_in\n-000007d0: 7431 5f69 6e74 3120 7820 7929 2060 283c t1_int1 x y) `(<\n-000007e0: 3d20 2c78 202c 7929 0a29 0a28 6465 6669 = ,x ,y).).(defi\n-000007f0: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-00000800: 636d 7072 655f 6774 5f69 6e74 315f 696e cmpre_gt_int1_in\n-00000810: 7431 2078 2079 2920 6028 3e20 2c78 202c t1 x y) `(> ,x ,\n-00000820: 7929 0a29 0a28 6465 6669 6e65 2d6d 6163 y).).(define-mac\n-00000830: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_\n-00000840: 6774 655f 696e 7431 5f69 6e74 3120 7820 gte_int1_int1 x \n-00000850: 7929 2060 283e 3d20 2c78 202c 7929 0a29 y) `(>= ,x ,y).)\n-00000860: 0a3b 3b0a 2864 6566 696e 652d 6d61 6372 .;;.(define-macr\n-00000870: 6f0a 2028 6174 7332 7363 6d70 7265 5f65 o. (ats2scmpre_e\n-00000880: 715f 696e 7431 5f69 6e74 3120 7820 7929 q_int1_int1 x y)\n-00000890: 2060 283d 202c 7820 2c79 290a 290a 2864 `(= ,x ,y).).(d\n-000008a0: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at\n-000008b0: 7332 7363 6d70 7265 5f6e 6571 5f69 6e74 s2scmpre_neq_int\n-000008c0: 315f 696e 7431 2078 2079 2920 6028 6e6f 1_int1 x y) `(no\n-000008d0: 7420 283d 202c 7820 2c79 2929 0a29 0a3b t (= ,x ,y)).).;\n-000008e0: 3b0a 2864 6566 696e 652d 6d61 6372 6f0a ;.(define-macro.\n-000008f0: 2028 6174 7332 7363 6d70 7265 5f63 6f6d (ats2scmpre_com\n-00000900: 7061 7265 5f69 6e74 305f 696e 7430 2078 pare_int0_int0 x\n-00000910: 2079 290a 6028 6c65 7420 2828 7831 202c y).`(let ((x1 ,\n-00000920: 7829 2028 7931 202c 7929 2920 2869 6620 x) (y1 ,y)) (if \n-00000930: 283c 2078 3120 7931 2920 2d31 2028 6966 (< x1 y1) -1 (if\n-00000940: 2028 3c3d 2078 3120 7931 2920 3020 3129 (<= x1 y1) 0 1)\n-00000950: 2929 0a29 0a28 6465 6669 6e65 2d6d 6163 )).).(define-mac\n-00000960: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_\n-00000970: 636f 6d70 6172 655f 696e 7431 5f69 6e74 compare_int1_int\n-00000980: 3120 7820 7929 0a60 286c 6574 2028 2878 1 x y).`(let ((x\n-00000990: 3120 2c78 2920 2879 3120 2c79 2929 2028 1 ,x) (y1 ,y)) (\n-000009a0: 6966 2028 3c20 7831 2079 3129 202d 3120 if (< x1 y1) -1 \n-000009b0: 2869 6620 283c 3d20 7831 2079 3129 2030 (if (<= x1 y1) 0\n-000009c0: 2031 2929 290a 290a 3b3b 0a3b 3b20 2a2a 1))).).;;.;; **\n-000009d0: 2a2a 2a2a 202a 2a2a 2a2a 2a20 3b3b 0a0a **** ****** ;;..\n-000009e0: 3b3b 2065 6e64 206f 6620 5b69 6e74 6567 ;; end of [integ\n-000009f0: 6572 5f63 6174 732e 7363 6d5d 203b 3b0a er_cats.scm] ;;.\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/print_cats.scm", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/print_cats.scm", "has_internal_linenos": true, "unified_diff": "@@ -1,75 +0,0 @@\n-00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX\n-00000010: 2d32 3031 362d 3036 3a0a 3b20 666f 7220 -2016-06:.; for \n-00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr\n-00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT\n-00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..;\n-00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o\n-00000060: 6620 5b70 7269 6e74 5f63 6174 732e 7363 f [print_cats.sc\n-00000070: 6d5d 0a3b 3b3b 3b3b 3b0a 3b3b 0a0a 3b3b m].;;;;;;.;;..;;\n-00000080: 202a 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 203b ****** ****** ;\n-00000090: 3b0a 3b3b 0a28 6465 6669 6e65 2d6d 6163 ;.;;.(define-mac\n-000000a0: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_\n-000000b0: 7072 696e 745f 696e 7420 7829 2060 2864 print_int x) `(d\n-000000c0: 6973 706c 6179 202c 7829 290a 3b3b 0a28 isplay ,x)).;;.(\n-000000d0: 6465 6669 6e65 2d6d 6163 726f 0a20 2861 define-macro. (a\n-000000e0: 7473 3273 636d 7072 655f 7072 696e 745f ts2scmpre_print_\n-000000f0: 626f 6f6c 2078 290a 6028 6469 7370 6c61 bool x).`(displa\n-00000100: 7920 2869 6620 2c78 2022 7472 7565 2220 y (if ,x \"true\" \n-00000110: 2266 616c 7365 2229 2929 0a28 6465 6669 \"false\"))).(defi\n-00000120: 6e65 2d6d 6163 726f 0a20 2861 7473 3273 ne-macro. (ats2s\n-00000130: 636d 7072 655f 7072 696e 745f 6368 6172 cmpre_print_char\n-00000140: 2078 2920 6028 6469 7370 6c61 7920 2c78 x) `(display ,x\n-00000150: 2929 0a3b 3b0a 2864 6566 696e 652d 6d61 )).;;.(define-ma\n-00000160: 6372 6f0a 2028 6174 7332 7363 6d70 7265 cro. (ats2scmpre\n-00000170: 5f70 7269 6e74 5f64 6f75 626c 6520 7829 _print_double x)\n-00000180: 2060 2864 6973 706c 6179 202c 7829 290a `(display ,x)).\n-00000190: 2864 6566 696e 652d 6d61 6372 6f0a 2028 (define-macro. (\n-000001a0: 6174 7332 7363 6d70 7265 5f70 7269 6e74 ats2scmpre_print\n-000001b0: 5f73 7472 696e 6720 7829 2060 2864 6973 _string x) `(dis\n-000001c0: 706c 6179 202c 7829 290a 3b3b 0a28 6465 play ,x)).;;.(de\n-000001d0: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats\n-000001e0: 3273 636d 7072 655f 7072 696e 745f 5343 2scmpre_print_SC\n-000001f0: 4d76 616c 2078 2920 6028 6469 7370 6c61 Mval x) `(displa\n-00000200: 7920 2c78 2929 0a3b 3b0a 3b3b 202a 2a2a y ,x)).;;.;; ***\n-00000210: 2a2a 2a20 2a2a 2a2a 2a2a 203b 3b0a 3b3b *** ****** ;;.;;\n-00000220: 0a28 6465 6669 6e65 2d6d 6163 726f 2028 .(define-macro (\n-00000230: 6174 7332 7363 6d70 7265 5f70 7269 6e74 ats2scmpre_print\n-00000240: 5f6e 6577 6c69 6e65 2920 6028 6e65 776c _newline) `(newl\n-00000250: 696e 6529 290a 3b3b 0a3b 3b20 2a2a 2a2a ine)).;;.;; ****\n-00000260: 2a2a 202a 2a2a 2a2a 2a20 3b3b 0a0a 2864 ** ****** ;;..(d\n-00000270: 6566 696e 652d 6d61 6372 6f0a 2028 6174 efine-macro. (at\n-00000280: 7332 7363 6d70 7265 5f66 7072 696e 745f s2scmpre_fprint_\n-00000290: 696e 7420 6f75 7420 7829 2060 2864 6973 int out x) `(dis\n-000002a0: 706c 6179 202c 7820 2c6f 7574 2929 0a3b play ,x ,out)).;\n-000002b0: 3b0a 2864 6566 696e 652d 6d61 6372 6f0a ;.(define-macro.\n-000002c0: 2028 6174 7332 7363 6d70 7265 5f66 7072 (ats2scmpre_fpr\n-000002d0: 696e 745f 626f 6f6c 206f 7574 2078 290a int_bool out x).\n-000002e0: 6028 6469 7370 6c61 7920 2869 6620 2c78 `(display (if ,x\n-000002f0: 2022 7472 7565 2220 2266 616c 7365 2229 \"true\" \"false\")\n-00000300: 202c 6f75 7429 290a 2864 6566 696e 652d ,out)).(define-\n-00000310: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp\n-00000320: 7265 5f66 7072 696e 745f 6368 6172 206f re_fprint_char o\n-00000330: 7574 2078 2920 6028 6469 7370 6c61 7920 ut x) `(display \n-00000340: 2c78 202c 6f75 7429 290a 3b3b 0a28 6465 ,x ,out)).;;.(de\n-00000350: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats\n-00000360: 3273 636d 7072 655f 6670 7269 6e74 5f64 2scmpre_fprint_d\n-00000370: 6f75 626c 6520 6f75 7420 7829 2060 2864 ouble out x) `(d\n-00000380: 6973 706c 6179 202c 7820 2c6f 7574 2929 isplay ,x ,out))\n-00000390: 0a28 6465 6669 6e65 2d6d 6163 726f 0a20 .(define-macro. \n-000003a0: 2861 7473 3273 636d 7072 655f 6670 7269 (ats2scmpre_fpri\n-000003b0: 6e74 5f73 7472 696e 6720 6f75 7420 7829 nt_string out x)\n-000003c0: 2060 2864 6973 706c 6179 202c 7820 2c6f `(display ,x ,o\n-000003d0: 7574 2929 0a28 6465 6669 6e65 2d6d 6163 ut)).(define-mac\n-000003e0: 726f 0a20 2861 7473 3273 636d 7072 655f ro. (ats2scmpre_\n-000003f0: 6670 7269 6e74 5f53 434d 7661 6c20 6f75 fprint_SCMval ou\n-00000400: 7420 7829 2060 2864 6973 706c 6179 202c t x) `(display ,\n-00000410: 7820 2c6f 7574 2929 0a3b 3b0a 3b3b 202a x ,out)).;;.;; *\n-00000420: 2a2a 2a2a 2a20 2a2a 2a2a 2a2a 203b 3b0a ***** ****** ;;.\n-00000430: 3b3b 0a28 6465 6669 6e65 2d6d 6163 726f ;;.(define-macro\n-00000440: 2028 6174 7332 7363 6d70 7265 5f66 7072 (ats2scmpre_fpr\n-00000450: 696e 745f 6e65 776c 696e 6520 6f75 7429 int_newline out)\n-00000460: 2060 286e 6577 6c69 6e65 202c 6f75 7429 `(newline ,out)\n-00000470: 290a 3b3b 0a3b 3b20 2a2a 2a2a 2a2a 202a ).;;.;; ****** *\n-00000480: 2a2a 2a2a 2a20 3b3b 0a0a 3b3b 2065 6e64 ***** ;;..;; end\n-00000490: 206f 6620 5b70 7269 6e74 5f63 6174 732e of [print_cats.\n-000004a0: 7363 6d5d 203b 3b0a scm] ;;.\n"}, {"source1": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/reference_cats.scm", "source2": "./usr/lib/ats2-postiats-0.4.2/contrib/libatscc2scm/ATS2-0.3.2/CATS/reference_cats.scm", "has_internal_linenos": true, "unified_diff": "@@ -1,37 +0,0 @@\n-00000000: 3b3b 0a3b 3b3b 3b3b 3b0a 3b0a 3b20 4858 ;;.;;;;;;.;.; HX\n-00000010: 2d32 3031 362d 3035 3a0a 3b20 666f 7220 -2016-05:.; for \n-00000020: 5363 6865 6d65 2063 6f64 650a 3b20 7472 Scheme code.; tr\n-00000030: 616e 736c 6174 6564 2066 726f 6d20 4154 anslated from AT\n-00000040: 530a 3b0a 3b3b 3b3b 3b3b 0a3b 3b0a 0a3b S.;.;;;;;;.;;..;\n-00000050: 3b0a 3b3b 3b3b 3b3b 0a3b 2062 6567 206f ;.;;;;;;.; beg o\n-00000060: 6620 5b72 6566 6572 656e 6365 5f63 6174 f [reference_cat\n-00000070: 732e 7363 6d5d 0a3b 3b3b 3b3b 3b0a 3b3b s.scm].;;;;;;.;;\n-00000080: 0a0a 3b3b 202a 2a2a 2a2a 2a20 2a2a 2a2a ..;; ****** ****\n-00000090: 2a2a 203b 3b0a 3b3b 0a28 6465 6669 6e65 ** ;;.;;.(define\n-000000a0: 2d6d 6163 726f 0a20 2861 7473 3273 636d -macro. (ats2scm\n-000000b0: 7072 655f 7265 6620 7829 2060 286c 6973 pre_ref x) `(lis\n-000000c0: 7420 2c78 2929 0a28 6465 6669 6e65 2d6d t ,x)).(define-m\n-000000d0: 6163 726f 0a20 2861 7473 3273 636d 7072 acro. (ats2scmpr\n-000000e0: 655f 7265 665f 6d61 6b65 5f65 6c74 2078 e_ref_make_elt x\n-000000f0: 2920 6028 6c69 7374 202c 7829 290a 3b3b ) `(list ,x)).;;\n-00000100: 0a3b 3b20 2a2a 2a2a 2a2a 202a 2a2a 2a2a .;; ****** *****\n-00000110: 2a20 3b3b 0a3b 3b0a 2864 6566 696e 652d * ;;.;;.(define-\n-00000120: 6d61 6372 6f0a 2028 6174 7332 7363 6d70 macro. (ats2scmp\n-00000130: 7265 5f72 6566 5f67 6574 5f65 6c74 2072 re_ref_get_elt r\n-00000140: 2920 6028 6361 7220 2c72 2929 0a28 6465 ) `(car ,r)).(de\n-00000150: 6669 6e65 2d6d 6163 726f 0a20 2861 7473 fine-macro. (ats\n-00000160: 3273 636d 7072 655f 7265 665f 7365 745f 2scmpre_ref_set_\n-00000170: 656c 7420 7220 7830 2920 6028 7365 742d elt r x0) `(set-\n-00000180: 6361 7221 202c 7220 2c78 3029 290a 3b3b car! ,r ,x0)).;;\n-00000190: 0a28 6465 6669 6e65 2d73 796e 7461 780a .(define-syntax.\n-000001a0: 2061 7473 3273 636d 7072 655f 7265 665f ats2scmpre_ref_\n-000001b0: 6578 6368 5f65 6c74 0a20 2873 796e 7461 exch_elt. (synta\n-000001c0: 782d 7275 6c65 7320 2829 0a20 2028 285f x-rules (). ((_\n-000001d0: 2072 2078 3029 2028 6c65 7420 2828 746d r x0) (let ((tm\n-000001e0: 7020 2863 6172 2072 2929 2920 2873 6574 p (car r))) (set\n-000001f0: 2d63 6172 2120 7220 7830 2920 746d 7029 -car! r x0) tmp)\n-00000200: 290a 2029 0a29 0a3b 3b0a 3b3b 202a 2a2a ). ).).;;.;; ***\n-00000210: 2a2a 2a20 2a2a 2a2a 2a2a 203b 3b0a 0a3b *** ****** ;;..;\n-00000220: 3b20 656e 6420 6f66 205b 7265 6665 7265 ; end of [refere\n-00000230: 6e63 655f 6361 7473 2e73 636d 5d20 3b3b nce_cats.scm] ;;\n-00000240: 0a .\n"}]}]}]}]}