SQLite format 3@  .  B p--tableisabelle_exportsisabelle_exportsCREATE TABLE "isabelle_exports" ("session_name" TEXT NOT NULL, "theory_name" TEXT NOT NULL, "name" TEXT NOT NULL, "compressed" INTEGER, "body" BLOB, PRIMARY KEY (session_name, theory_name, name))?S-indexsqlite_autoindex_isabelle_exports_1isabelle_exportsh77otableisabelle_session_infoisabelle_session_infoCREATE TABLE "isabelle_session_info" ("session_name" TEXT NOT NULL, "session_timing" BLOB, "command_timings" BLOB, "theory_timings" BLOB, "ml_statistics" BLOB, "task_statistics" BLOB, "errors" BLOB, "sources" TEXT, "input_heaps" TEXT, "output_heap" TEXT, "return_code" INTEGER, PRIMARY KEY (session_name))I]7indexsqlite_autoindex_isabelle_session_info_1isabelle_session_info WdL ]% HOL-ex:threads=6elapsed=162.373cpu=790.760gc=40.996factor=4.877zXZִF! )]ŗXf1-q恉<:P _X7D *-R~x=ҮCS"|]4#1 ^7FB.RM\n5>5C-'tDW":d;?_I&MTa\ ^/-[x`I|4\s)ꘫF5Ez\b65pY)Qk/ZoDH5ΔNIg?^pzkgB٫c)Ѓ Ƀ'ZN1O}^"V_I`(Ѽ L\_ ::?)SO"q^GK7yPq ,|j(@@u_]cCp(҂1sV.vWzOa0c{L=U.ge]<5hȷ1<ψ? HORV> >w#@lCϣS-_ROd4 ¡嵈03| +SrĺJY,0M ់ڿP6U฿.`{f*QBKK78[^qsKҶ`nCWG^GŦFPO `_Sv)BE^ P\ݐ%sdAP _> ~<1Ny,&:Y9gTz'VxPJE1ZI .ؑ4{ܐQRe]S:ԍ^xHv"ZWk`$vEEѥyR,9GǚHRJo7}FOQ K ;]]$:qGʏbuK78]!my\C&}_~\YUΌ)Jk&ƁTkv @L9a$)a[Eye˝QVJI+Ow'>ynЈg8S]#e~HPԤ|*2~{jNcsD(ՠ"{J(=nAAL~un8-cU2;nձc]>*CKm1:26G@;mnZ++1_K럦HƑQ׆'ѹ&kHL̔ϯ$eFRQ䡚C.Ӯ!gB[O%_tQ臝}ᇙEQuXEj Aq~Q콭e"3]Y80 秷"Zu Wm"^pU&ڧ޶-VlMY=AGUU "jEahd`>ߟo|`p ld&uL;wLP¸ؔ`) tBk)"sʑ{4젍FNq2,V`m31Tt[;9޼.VhRWb꾇*xy4\rϧE^n2zY]X o}QG2~t aN8Dysc5MҖJIDV$KhiS;+m)0iq:D)9.h)s ŷߏ~*<_\+{l`Wbiѳ)s   HOL-ex 7/FHOL-exHOL-ex.Code_Lazy_DemoGenerated_Code.MLsignature LAZY = sig type 'a lazy; val lazy : (unit -> 'a) -> 'a lazy; val force : 'a lazy -> 'a; val peek : 'a lazy -> 'a option val termify_lazy : (string -> 'typerep -> 'term) -> ('term -> 'term -> 'term) -> (string -> 'typerep -> 'term -> 'term) -> 'typerep -> ('typerep -> 'typerep -> 'typerep) -> ('typerep -> 'typerep) -> ('a -> 'term) -> 'typerep -> 'a lazy -> 'term -> 'term; end; structure Lazy : LAZY = struct datatype 'a content = Delay of unit -> 'a | Value of 'a | Exn of exn; datatype 'a lazy = Lazy of 'a content ref; fun lazy f = Lazy (ref (Delay f)); fun force (Lazy x) = case !x of Delay f => ( let val res = f (); val _ = x := Value res; in res end handle exn => (x := Exn exn; raise exn)) | Value x => x | Exn exn => raise exn; fun peek (Lazy x) = case !x of Value x => SOME x | _ => NONE; fun termify_lazy const app abs unitT funT lazyT term_of T x _ = app (const "Code_Lazy.delay" (funT (funT unitT T) (lazyT T))) (case peek x of SOME y => abs "_" unitT (term_of y) | _ => const "Pure.dummy_pattern" (funT unitT T)); end; structure Code_Lazy_Demo : sig type 'a llist type 'a llist_lazy val lfilter : ('a -> bool) -> 'a llist -> 'a llist end = struct datatype 'a llist = Lazy_llist of 'a llist_lazy Lazy.lazy and 'a llist_lazy = LNil_Lazy | LCons_Lazy of 'a * 'a llist; fun unlazy_llist (Lazy_llist uu) = uu; fun lfilter x1ba xaa = (case Lazy.force (unlazy_llist xaa) of LNil_Lazy => Lazy_llist (Lazy.lazy (fn _ => LNil_Lazy)) | LCons_Lazy (x3a, x2ba) => (if x1ba x3a then Lazy_llist (Lazy.lazy (fn _ => LCons_Lazy (x3a, lfilter x1ba x2ba))) else lfilter x1ba x2ba)); end; (*struct Code_Lazy_Demo*) 17/ HOL-exHOL-ex.Code_Lazy_DemoGenerated_Code.MLzyu{Ǔ;yr{|5 ؁EL7@b`JTȹ(Sp|5p |t_/CT{1>@kw; &׏hK I&ɏE ^N+/K%d~WL`cyE~˔G=N$svgLVϬđE*^UsN;cqBB*%Xà~Ls~l8*6Zړ.+3Zq`ю"sRII$D+OAɒT71 pe@_Oۯ-*LW(c8;v Wz" 1i.Hl!UsTV΁enR=wݾ%7L16+e>az΍DJ')QoîH&gHYb> Z !WR2"4d$, #ZNR^͋~߷8hx*?J:ur { LCz%M$ i@7Z zM) >%i8sKMݷ/~]s6[3(6^?mnLvOkT~|pàP KMN(sMqv/F CZsk]C~SO1/P66?8h&7RjόFNQ"g(_d gO4z=HDB+/4'er(JLb.T>o&e#`ѺL{ia9sɋ)ff__ < s4eD|⨈3d)]~*KJWީ\YȨs$(p#X0"Ug[DmY~5ŴIX^{ K);п.@6++P[oi?uIk6E3.!r_dP5> S \8RO(z۱[aS/zh#Fr1o~OPeJhXkPKxSFy2* _ @*h"<މ4J\YKå}{/+=> S嫭܏0j :nDKsҾ¯B鏋:eԊ1+ vx  73SHĞwn͝} G_0чTKqWRsR|.IEϩ[/Fܠ]upA_!²)i\rL$h)ۂ+W_R%PL$]A$onC >Z2wI*|8Dv̲y}ƫpF6hQc>t{x\p:Q?$;q)dF9@ =ξ28nn7˧f!U ZNXKFE&MF !!?j˜A1-^X@7ߧwYK.(j;I ˀx{GH,%ӊ=k8v}dS[Gly- Kq\;4a! C-d"8CgnX :F%&u VĂs>#Xr(:gtI*JF@J 72ֈkPxr<{>dW)~΅!4)$n@?gQR5=UpFRP3$_A'cjA _7*}Qw(ߪȫ'Uvif!+FpLNV{q"mr`E\Ԗe~v noy s S+VZho B$@2$SoՋ8㥗~ _ ^N7} ZKz |ӱ`F%fdlr`J|f3$hC8]Q*X\g5 K4){+##׃HTo A75|ᨠUQiccVca3")=0?δty8O/g5UFLQ+0Y?h%%B >_нت?mR.,niuS=_YE;}vur/"}nB1)D|Jm<CT $&vK"%vnq{j6dll;v=n^ \ˍQt/H(΢A}}ɤ䋑8Vnʥ޽K Bmy=/OHE9hfDu M`F^]v{~;:'?EKdg`WD8HƦYεPH!Wj{Znذ'`c!iZM6J(\DHեBᣖ\ѼLCk?X4S)} KrAxlFy&\gYZ7zXZִF! |]ŗXiɟ1 Uu-Dٜ4H5пl#Afi7j}(f/4GBg,#W@u )J (hmז}a@(A'{qէhvjt[ {J\L2q7ytMw2y _;X̡syM4x"[b.QOPn-MUR1)7;Z⾀(XCjI}=qsuT;F| zbJdPyh -#e.iF!'Øң, 4Eo!,KcSaL?OHpGt켦ɔ}+"BHVך'&s{ӌyI)0߲m{S.kL5%O~.U7 r RGf"d@ V^%Z;ܼǙ0cOAeȕآ$VȊڪֳkZ~'Q;r/bVUO0U'HOT= e .^wзVYY8nYաJFa$NoYNyqj{wB^ 2HBB5S~hVf!6,y͋)EςxH%>o,bivhHt$N,7&<,847]Wtz GXHvИeR٤ȵRA5d?1VD44 t"fkSAaLLH\m -5rO:Ľ.Iv=8@ Flf`-X *cYE# *h/\̋*Yhc!Dirm ûpSP.F@Af@αjvCVhC93?J גb(9-7u2XA@l9P52Y ]z.ճV: 4o>?Ț\ܒ&@cSm&$֝pjFR$~8LʔB G0n Cy(XFSǛ/#&4yMxJ] { qR0i`' ɍ-q^El {75{җ~( 4ln#F=o|BkyUʱQxs}#ߺQk߯ > 4d2QnZ螺#[Ք”akA[9k)^ k R|DGC wM6^9]3o,4B^'g2 I\bVU$PQmr>Idh<25b)`បX '=g˼6;, X˃(rKؐLauF?=H-~]/kz_SɜA4{3f$BqP*ȉdCr盥dp.urկKNzs\IorC"z+s%ULKˤڴ";sFn{Fӽ7eSBplKWe rg3}Wwf#ܲ)OFW*i~$@mMDM hsօT0{:Daަ<( i#[>Ydrv(lU^c[GX=}i˱˙f:r?jTvϦ{`1_$y..ec\V) -K86$bv󍘖_{btpH7Mº<`~P'SlfހBuNjb<(D'PeK.`X\=} TbzwވX`Ύiː1jOj^^FhݨR_kd3 4X=Y~=8<ێcÎWXZT@4/7|&S.P-1e[0L>ٺ_^h9_F:<#xܾRW|EE4qo8;P]ͪ ^3% Of`ɴEƭI:8­isMD[R}/L2Z_2 QfTt};Ǚ/%U* *EӀM4g?/8vHYJaIV3 #fӸYjo=V;g; A%vH:^e b2䴭6+>^6H3JY;WlU% zQI۰m^^4$9D w94uDAKUVX?[lO-~F΀wmdZYG"-_L4¼7<9 aY̤wxt[*r#?M]nod}5 Vl2#(0Gi/&`cm{=\Ǚ#IM+[gYFX3iJPʞ$D^O/[N= ,"@ c9S!َ|&MŨsa- ? ~j6H3lj\<;usuԊԛ~X+gpf>Ý{S7&8;(ꖴ^%l|YNڑN~l͓O>и-D~ ?5Ԍ4LST]*\ی[^G!89L}872-޳YP"^ }ML5 i/[~Tv[9:M׷E Ǥ€(EYi5W<.k:EFS3 !bJ:(b X=SxtikG{P+U'\߁_ m~;ϸrFuia8+;țv;ZҺ⫭Ro"tYt0!vH%>'x,OjW|A'P6 ¾I/(ua;7f/mfȚD?ʪ^XJE80 #?fs>P0azG: cP":qqV@ hw  (Ruh3- "T>"E'x5qi}b!VPMάw_1} ߂Lu9 nUAy/wSy]{7H=`&*veiLiMҶB~{\а=~'h5Ŗ-c+U^@j->wKWӉ-tAScg]h/f껵~+qqG 'C'c/r1d恖o1ČTÎ_%'H3Yhsx$p(V-Zt>RbqawY[}joiê'YJ0P)kzi^>YO3ȝ{GbriQ_a;rg .}GvI Gr3>. X ,WG;n5k? '@3|r0:A ,\=+\$fzō`|@*D zb k3sˬ bRVh6˿U8{(2둊*^?:hѝM x8*#`CbZUJIR&m}'9MxV쮗#Eᷲ ; POqTC<! qIڹJ }f PK11:y#\pb vPKeEU%98ys 0#2tRP5*{-_XYsDPv/EVnvaRxeWiLY{GE?[e.[wL0钚Zcìݛ}}cK ɶmϾ>44ٻX;Ubj@gC$sxRdanf4ANeq⭊` Kgȓaь\ ƳE5;:%}i$~Sm0؂ Cs;˵ބzoT||/G&\YGW(i},Bg"d;>qF1!;+b47hr^p,.{s`8ri#9޾*'tX-M>ςЧnu MC*h碤%+~I|CHJТDUaQ'ci愥~_/Vr:k9'*煗j$ix2 Pd3I^Tș a%6AXIܿf >;k7Q>7qa@  eG˴"/>̞yks/i33qtY\m,ߣ6-fd`Iy>NXc\NnH2 ¶vk9vbPȁd,@ %\P.2n cd ޖo Q^`P&H//ؐa"R|r)Pr7EARh)cjSl.<3|+}Avv~fֶ5h }Uբwb |j8‹l(:0}|ekr#mΊxq8X[;DA5m^Nsf͢G"/Ň2)N%ƢRp]oZG$ Q9Ua$@'X?vyuZἉeMq?]ɡ3  hCķXqݪ@> =] Y-y}m7 SX@,#)Q(X K "t4( oצlc= dC }:pSc4/ .Vy Fdi>[E 2xq:p/C? z =@Ec ". q>ɹJdo;6k|C"JC4Lx@`Rg}rS\mq(k6i*,H`PIB9<eu[b}25* ׭eyfeC>(o0aK :7BZgC@ˊboWԤҏX#~B)+'5Yu Go:,@zm1 `+p#꼏8bmU"~u~͌2z }ft<#&G놟8bhEG~IoNKuRb1#bF19O\elĄQJUУzڿu&@7\+lr#qNf%;θ!twN!綻@l6oPwGlU XL+?Vz%(pȈkнӦN`7 sk3}cW@\[<=Vƿ5MF(gN#s. ,agw"(puU Ny, 0$z:LqLY"vg^+#œ&īnh~WHS%@=4=NR32rn%xW$D'__I`WPKRq[bC$'H[LLԺW c=tSLQi-">5jiZI3 3bGܶ/  D>oS{ƽdyOkQdD .~, m;t7QcAnPI)nH9[$ډan F3*4{݌&qt4?뼜0V2SMP cE=0=Khb (FG78`{xo< 2qeI}nJ@ B7ͲU,~>4;$vd-c|orqK!PP7Es\¾y+RHv]Hv˫oSZoi/<7aXAsȄL3n~nR S } ~h 81x ބ%F4U/pq㥭kQ&|"C&FvNGrZMd:NM'=8eZ?p lD9'D{\~mz-#c'UBDG_ ^,6B=TRխbdb|@0c|c+%9IFjAjm<>/Vo*'kN2bd98ƷZ܇Ǐ0F(6✳3~ל#޷4jƜ8sk9d3;nMlYaI@1{GMU9_C.7ϕjн9Usԇ,?7Dɏ%laf݂ A)WV N7Ҳ(-n f?oL$G=(ڕ"I8 hku_#Z-餚 (RQѼD6Ss 9 m/QΌuqbZ^&C%gMOYb3i2_+= u\>&ȡHI~(i>bb9Fd1xFuv[ĭO 35A}!rB$i]l>aߢok$tͪɤ9Pi)0i/}Fn_kl~;4VBU_<@3 ?DB?)g"+z'FfU:|鞊w ~˚vwzBp;hY {}@J%wKN[VsCPe7~8yQE{N7 r[4!(.̬!:_P|XҖ6]-OngB$p^k6)4Û#:I yYrCsalǢ1a*u\n:[;*{;JQ` ڏ^4TVU0ҺX~Y``S?j9O鉭oN ˫y?u RgORxFtFLz5i OsYXHY:2]'-;)sZï~X_i ZL>dU!>g/;j^{(2,M ޘkHgXF{,Ɲŀ(RDy9.r#ВPfS[yrP"Mbw <巼0>W_5ImHD n0 # Ɔ: \H6o(-v@j0)XAcqh_{u8oմw?1")^w(!+T[^[-@PQ'KjA1D6 R} ]ީÚ]U׶ĬĔ/9O勻7Rey [$ G6| [~%`ԸS[T,=4lM^[f/I7u.gGE'i1l=M`$Sg7BX=8ln]ToOZf5iygPBb<_Qr.o#dJ{:-0™Ezw$ ZV')CtMb ~oR;{\VP-W:Lع+lEF%8?~"O]cn@eD>uE_*azvln秣t~nIw`Yz1/Q`jf9n+m^`PӇ9e3tYOl>S}7o|\m2 i1{>~3~[r QAˋ.K}FvS!*)t T1?+10:)s: O'02ް/ ['[Jr.hƥo{"2r,i7m+a ćf4`OF\\dJBµlwD.,yMVmuC~xVOЯ 4F @~*cYMuۃm>y⁛n]OSA嫎xItIZ|SyDEk =jT4Ӝ~. ӎXIu@d7n@ԴX `sM YP[pRmt|,*HV+]C~|X{ZT:f`!T.b!A]*ͷ6GOxp^Jo [$HS"7ɜgj (uư Э OZ M~D)FI,'yYRݳsVvA=qh:Ȟ֓Jp0 UDc'\ðAB6 OZirT"f2?j58|sJbISѶ5<\7yO.Fvx+%(;8G期4 ;$x+o =BCopȅc.ÎݝLķxGĤYXDd bWO,r"i*U ;/N'%}+B8"_{}%rBR@Z0FUԌ_e뒼`0Fj>D,~Aq;دre.)).'n_PMS0K@C#{w)}t4CȔ*o6'wD &;t|fQM'u1(d 44\F 7+jc{j CHzKۺA=5pK}WhKf[L֜('["ՒLlR}rl~˲dcδaiQKLv@Ncw-1G=Q;Վ޽$ofh><#'-)K-1[;n+ =AB(kv̙k/I.X i;9[!d, AIw+Qi%vSs֚/S<8_8l9OqK3j{#b0*jEŞE~,auVn+-@E* 2ٚYDBHլm!.K 'OϾrÈA,fZ%ǟ"fAhQd=㣅WCf | t$3BbSu8=bGJN<#< 8VE1>bN'e (G!aJS;hP3~@C@S.d:l֓ ٽXTV-;\HMBsnq}uvN U0`N8+raӳջ)PV)B8M&?622?ނ`W/ 84N=X4,֌5CIeSDv)ld=;2?+ZL:ئCa7Qb|)59S"۬͛s_~N^x.~jYx0ZacJ\r ) 2^nɅڒ\I L{sl/p^hG_Lޟe˂9pՋ(Sj&a0R2Ӧ3BoL/ ŜQe׏ oQ3})M$meanmeu9WST.*C( F [j8xI% wG-@U}Iњ]c6n]f:eGMw*KAF@WwbK Ȧ\➄r)@|'N} n5g] z<°rա.O[`aQ!T3l<9 >vx YݒS=k^y+J8} j4Ǝ0%^c\p>8d N7ZxyFBs=ߚg